← back to all posts

Readable implementation of the Noise protocol framework

blog

I wrote an implementation of the Noise Protocol Framework. If you don’t know what that is, it is a framework to create lightweight TLS-like protocols. If you do not want to use TLS because it is unnecessarily complicated, and you know what you’re doing, Noise is the solution. You have different patterns for different usecase and everything is well explained for you to implement it smoothly.

To learn more about Noise you can also check this screencast I shot last year:

My current research includes merging this framework with the Strobe protocol framework I’ve talked about previously.

This led me to first implement a readable and understandable version of Noise here.

Note that this is highly experimental and it has not been thoroughly tested.

I also had to deviate from the specification when naming things because Golang:

  • doesn’t use snake_case, but Noise does.
  • capitalizes function names to make them public, Noise does it for different reasons.
suggested reads:
→ Noise+Strobe=Disco • blog
→ Strobe's padding • blog
← back to all posts blog • 2017-06-19

recent posts

elsewhere

book Real-World Cryptography Applied cryptography, from Manning. podcast Two And A Half Coins Crypto, banking & distributed systems. youtube Cryptography videos Concepts & security, explained.