1. 8

  2. 1

    Great to see security implementations moving along in Go. But the main question, as with any implementation, is… can we trust it? Has anyone reviewed it yet? Who is this “kyle” guy?

    1. 4

      That’s why I’ve submitted it here. The implementation is straightforward:

      1. Generate ephemeral keypair, R
      2. Generate keying data with ECDH(R, pub)
      3. Generate symmetric encryption keys and HMAC key with NIST SP 800-56a concatenation KDF.
      4. Encrypt the message with the selected symmetric algorithm (I’ve chosen to only support AES in CTR mode as per the suite B guide).
      5. Tag the message with an HMAC.
      6. Roll all this together.

      The references section of the README contains everything you need to know to check and verify it.

      1. 2

        Oh, I didn’t realize you were both the submitter and author! Yeah, I glanced through the code, and it looked like you were more composing cryptographic primitives than writing stuff from scratch, which is a good sign, but I’m not confident enough in my abilities to trust any evaluation beyond that.

        I also checked out your website to get a feel for your credentials, and it looks like you have a pretty nice looking cryptography/Go book coming out, which was positive, but of course not anything to base a serious decision on.

        Thanks for your work!