Skip to content

Conversation

@maxsharabayko
Copy link
Collaborator

@maxsharabayko maxsharabayko commented Oct 7, 2022

API Changes

  • Socket option SRTO_CRYPTOMODE where 0 means the standard AES-CTR; 1 enables AES GCM.
  • SRT_KM_S_BADCRYPTOMODE to signal rejection due to crypto mode mismatch.
  • New rejection reason SRT_REJ_CRYPTO.

Functional Changes

  • Encrypt/decrypt using the AES GCM mode.
  • When TSBPD is disabled, exclude the timestamp field from the encryption (Receiver, Sender).
  • Exclude the retransmission flag from decryption (Receiver).
  • Maybe temporarily disable AEAD if TSBPD is disabled.
  • Break the connection if AEAD decryption has failed.

Documentation Updates

  • Socket option SRTO_CRYPTOMODE.
  • SRT_KM_S_BADCRYPTOMODE rejection reason.

Sample Applications

  • Add URI query option cryptomode.

Unit Tests

  • Test AES GCM via the CCryptoControl.

To Consider

  • Maybe SRTO_CIPHERSUITE instead of SRTO_CRYPTOMODE?

@maxsharabayko maxsharabayko added Type: Enhancement Indicates new feature requests [API] Area: Changes in SRT library API labels Oct 7, 2022
@maxsharabayko maxsharabayko added this to the v1.6.0 milestone Oct 7, 2022
@maxsharabayko maxsharabayko force-pushed the develop/sockopt-gcm branch 2 times, most recently from 6988112 to 7871b5b Compare October 10, 2022 11:51
@maxsharabayko maxsharabayko force-pushed the develop/sockopt-gcm branch 4 times, most recently from 4440cfc to 8c0176d Compare October 10, 2022 14:17
@codecov-commenter

This comment was marked as off-topic.

@maxsharabayko maxsharabayko marked this pull request as ready for review October 25, 2022 10:45
@maxsharabayko maxsharabayko merged commit 11701a6 into Haivision:master Oct 26, 2022
@maxsharabayko maxsharabayko deleted the develop/sockopt-gcm branch October 26, 2022 10:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

[API] Area: Changes in SRT library API Type: Enhancement Indicates new feature requests

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants