In this thread, Tom Ptacek explains what Password-Authenticated Key Exchanges are, and it got me really interested in them. If I'd like to start learning about how to build them into real world software communication protocols, where can I find a starting point for information on understanding and implementing TLS-SRP? I'm ideally looking for a hierarchically-structured tutorial that couples the understanding with the implementing, but I'd appreciate any quality materials you can provide.

  • I'm not sure what other tags are appropriate, but feel free to add more. – user3025492 Dec 22 '13 at 7:22

As with most crypto stuff you shouldn't implement it yourself but use a well-known library instead.

OpenSSL has SRP-support since version 1.0.1. An example is contained in ssl/ssltest.c and there is also a file crypto/srp/srptest.c.

GnuTLS seems to support SRP since over a decade and the implementation has been constantly improved. Examples can be found under doc/examples/ex-client-srp.c and doc/examples/ex-serv-srp.c.

Not the answer you're looking for? Browse other questions tagged or ask your own question.