]> Cypherpunks.ru repositories - govpn.git/blob - doc/developer.texi
[DOC] Refactoring and some info on russian
[govpn.git] / doc / developer.texi
1 @node Developer
2 @unnumbered Developer manual
3
4 Pay attention how to get @ref{Sources, development source code}.
5
6 @table @asis
7 @item Nonce and identity encryption
8 @url{http://143.53.36.235:8080/tea.htm, XTEA}.
9 @item Data encryption
10 @url{http://cr.yp.to/snuffle.html, Salsa20}.
11 @item Message authentication
12 @url{http://cr.yp.to/mac.html, Poly1305}.
13 @item Password authenticated key agreement
14 DH-A-EKE powered by @url{http://cr.yp.to/ecdh.html, Curve25519}
15 and @url{http://ed25519.cr.yp.to/, Ed25519}.
16 @item DH elliptic-curve point encoding for public keys
17 @url{http://elligator.cr.yp.to/, Elligator}.
18 @item Key derivation function for verifier generation
19 @url{https://en.wikipedia.org/wiki/PBKDF2, PBKDF2} based on
20 @url{https://en.wikipedia.org/wiki/SHA-2, SHA-512}.
21 @item Packet overhead
22 26 bytes per packet. Two more bytes in TCP mode.
23 @item Handshake overhead
24 4 UDP (2 from client, 2 from server) packets (round-trips for TCP),
25 264 bytes total payload (8 bytes more in TCP mode).
26 @item Entropy required
27 832 bits in average on client, 832 bits in average on server side per
28 handshake.
29 @end table
30
31 @menu
32 * Verifier structure::
33 * Transport protocol: Transport.
34 * Handshake protocol: Handshake.
35 @end menu
36
37 @include verifierstruct.texi
38 @include transport.texi
39 @include handshake.texi