{"repo":"mzattahri/srp","free":true,"listed":false,"github":"https://github.com/mzattahri/srp","clone":"git clone https://github.com/mzattahri/srp.git","description":"Go and Typescript implementation of the Secure Remote Password (SRP) protocol.","language":"TypeScript","stars":45,"topics":["golang","security","authentication","cryptography","encryption","ts"],"license":"MIT","category":"security-tools","readme_excerpt":"Secure Remote Password Package srp is a Go implementation of Secure Remote Password protocol as defined by RFC 2945 and RFC 5054. SRP is an authentication method that allows the use of user names and passwords over unencrypted channels without revealing the password to an eavesdropper. SRP also supplies a shared secret at the end of the authentication sequence that can be used to generate encryption keys. SRP is used by leading privacy-conscious companies such as Apple, 1Password, and ProtonMail. Protocol Conceptually, SRP is not different from how most of us think about authentication; the client signs up by storing a secret on the server, and to login, it must prove to that server that it knows it. With SRP, the client first registers by storing a cryptographic value ( verifier ) derived from its password on the server. To login, they both exchange a series of opaque values but never the user's password or the verifier . Trust can be established at the end of the process because for the server, only the client who knows the verifier could have sent those values, and vice versa. SRP comes with four major benefits: 1. For the end-user, the familiar experience of using a username and a password remains fundamentally the same; 2. Server cannot leak a password it never saw; 3. After registration, both client and server can formally verify each other's identities without needing a third-party (e.g. CA); 4. Sessions can be secured with an extra layer of encryption on top of TLS. P","default_branch":null,"files":null,"tree":[],"storefront":"/r/mzattahri","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/mzattahri/srp/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}