Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add AES GCM to the SRT API. #2483

Merged
merged 4 commits into from
Oct 26, 2022

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 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