Update README.md

This commit is contained in:
kokke
2017-11-07 21:27:45 +01:00
committed by GitHub
parent ac6a11c3f5
commit 21aafe5f74

View File

@@ -2,9 +2,12 @@
This is a small and portable implementation of the [Elliptic-Curve Diffie-Hellman key agreement algorithm](https://en.wikipedia.org/wiki/Elliptic-curve_Diffie%E2%80%93Hellman) written in C.
It is especially usable for generating ephemeral session keys and encrypting communications symmetrically after agreement.
Description from Wikipedia:
You can choose between 10 standard NIST curves of different sizes. 5 "pseudo-random" curves and 5 Koblitz curves providing from ~80 to ~256 bits symmetrically equivalent security. See [ecdh.h](https://github.com/kokke/tiny-ECDH-c/blob/master/ecdh.h) for clarification.
> Elliptic-curve DiffieHellman (ECDH) is an anonymous key agreement protocol that allows two parties, each having an elliptic-curve publicprivate key pair, to establish a shared secret over an insecure channel. This shared secret may be directly used as a key, or to derive another key. The key, or the derived key, can then be used to encrypt subsequent communications using a symmetric-key cipher. It is a variant of the DiffieHellman protocol using elliptic-curve cryptography.
`
You can choose between 10 standard NIST curves of different sizes. 5 pseudo-random curves and 5 Koblitz curves providing from 80 to 256 bits symmetrically equivalent security. See [ecdh.h](https://github.com/kokke/tiny-ECDH-c/blob/master/ecdh.h) for clarification.
The API is very simple and looks like this (I am using C99 `<stdint.h>`-style annotated types):