DarkRiftNetworking / Hazel-Networking

Hazel Networking is a low level networking library for C# providing connection orientated, message based communication via TCP, UDP and RUDP.
http://www.darkriftnetworking.com
MIT License
206 stars 44 forks source link

Dtls #16

Closed mendsley closed 3 years ago

mendsley commented 3 years ago

This series of changes adds DTLS support to Hazel. Specifically for the single cipher suite TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256.

The history is organized in a way that hopefully allows one to follow along the various phases of feature development:

  1. Add the core AES_GCM and x25519 primitives in Hazel.Crypto - these are the low level blocks
  2. Add the x25519 version of ECDHE_RSA_256 key agreement algorithm
  3. Add the pseudo random function key expansion function
  4. Add the AES_GCM record protection implementation
  5. Some changes to the underlying ConnectionListener to support overriding send/recv behavior
mendsley commented 3 years ago

Forgot to change the the PR base to willardf/Hazel-Networking. Safe to ignore this here