Skip to content

Conversation

@pabuhler
Copy link
Member

The current wolfssl integration fails to encrypt multiple packets correctly on Apple silicon with "--enable-armasm".
A multi packet test is added to cipher_driver to verify this.

libSRTP will allocate and initialize a cipher once and then use it to encrypt or decrypt multiple packets. Between each operation a new IV will be set, the IV is unique for each packet. This test will ensure that cipher implementations support this.

The test vectors are based on examples in RFC 9335 .

libSRTP will allocate and initialize a cipher once and then use it
to encrypt or decrypt multiple packets. Between each operation
a new IV will be set, the IV is unique for each packet. This test will
ensure that cipher implementations support this.

The test vectors are based on examples in RFC 9335 .
When building using wolfssl on Apple silicon and armasm enabled, a call
to wc_AesSetIV was not enough to reset the context between each operation.
Calling wc_AesSetKey will reset it but may incur a performance penalty.
@pabuhler
Copy link
Member Author

@SparkiDev could you please review this PR since you added the wolfssl integration, thanks!

@pabuhler pabuhler merged commit 9a0c37a into cisco:main Jan 28, 2025
39 checks passed
@pabuhler pabuhler deleted the wolfssl-icm-multi-encrypt branch January 28, 2025 21:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants