Skip to content

Instantly share code, notes, and snippets.

@cryptoquick
Last active November 14, 2021 19:19
Show Gist options
  • Save cryptoquick/a7f1868590fb20c066cc3b3fccd2ef69 to your computer and use it in GitHub Desktop.
Save cryptoquick/a7f1868590fb20c066cc3b3fccd2ef69 to your computer and use it in GitHub Desktop.
crypto research notes - noise

just some notes on some research i've been doing as an application developer looking to better understand crypto libraries and cipher suites

crypto

with a focus on noise protocol

noise adds additional higher-level constructs to common ciphers used in other cipher suites that are useful for transport encryption (replacing openssl more than libsodium)

useful concepts

  • AEAD
  • handshake patterns
  • EC key-derivation functions

noise-specific

general crypto

alternatives

  • monocypher
  • libsodium

questions?

  • p-521 (NIST) vs ed25519 (Edwards / DJB) vs secp256k1 (BTC)
  • blake2s vs blake2b (in the context of wasm32)
  • AESGCM vs ChaCha20
  • ChaCha20 vs XChaCha20
  • Poly1305 vs HMAC?
  • handshake

practical use

all in the asymmetric context:

  • key generation?
  • key encryption with a passcode? (symmetric secret? with a hash, right?)
  • signing data? (does noise provide signatures?) - 7.7
    • ed25519
  • encrypting data?

thoughts

perhaps monocypher might be better, since it uses more orthogonal algorithm constructs (like EdDSA with Blake2b instead of SHA512). also, noise protocol focuses on a different problem than the ones I'm looking to solve, in terms of E2EE and general application crypto suites.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment