Metalnem / noise

.NET Standard 1.3 implementation of the Noise Protocol Framework (revision 33 of the spec)
https://www.nuget.org/packages/Noise.NET
MIT License
152 stars 26 forks source link

Out of order counter #5

Open Zetanova opened 3 years ago

Zetanova commented 3 years ago

Add binary compatible support for user defined transport nonces/counters.

This feature is required for transfers over UDP. UDP has out-of-order messaging.

A new unit test TestOutOfOrder is included.

My CPU does not support Aes256Gcm and some vCPU's do not have Aes256Gcm enabled. There is now an optional exclusion for Aes256GcmSupport in the NoiseTests.

One thing to mention is that only symmetric transports need to share the same counter, but asymmetric transports should normally track two different counters for sending and receiving.