]> Cypherpunks.ru repositories - govpn.git/blob - doc/encless.texi
[DOC] Encryptionless mode
[govpn.git] / doc / encless.texi
1 @node Encless
2 @subsection Encryptionless mode
3
4 Some jurisdictions can force user to reveal his encryption keys. However
5 they can not ask for authentication (signing) keys. So you are safe to
6 use authentication algorithms, but not the encryption ones. Moreover
7 some countries forbids usage of encryption (but again not the
8 authentication).
9
10 GoVPN provides special encryptionless mode of operation. In this mode it
11 replaces Salsa20 function used for confidentiality with rather
12 well-known @url{http://people.csail.mit.edu/rivest/chaffing-980701.txt,
13 Chaffing-and-Winnowing} (CnW) technology. This is rather traffic and
14 resource hungry algorithm, so we use it after
15 @url{http://theory.lcs.mit.edu/~cis/pubs/rivest/fusion.ps,
16 All-Or-Nothing-Transformation} (based on
17 @url{http://cseweb.ucsd.edu/~mihir/papers/oaep.html, Optimal Asymmetric
18 Encryption Padding}) on the data. It is confidentiality preserving
19 encoding.
20
21 AONT is just a keyless encoding of the data. CnW uses only
22 authentication function. Handshake additionally uses Diffie-Hellman and
23 signature algorithms. No encryption and steganography involved.
24
25 In this mode each outgoing packet became larger on 4128 bytes and
26 @ref{Noise, noise} is forcefully enabled. So this is rather resource
27 hungry mode!
28
29 @strong{Beware}: by default packet serial numbers are still processed
30 through the XTEA encryption. It is not required for confidentiality and
31 security, but for randomizing some parts of the traffic to make it
32 indistinguishable from the noise, for making it more DPI-proof. It
33 safely can be disabled, turned off or maybe its keys even can be
34 revealed without security and forward secrecy loss.
35
36 See @code{src/govpn/chaffing} and @code{src/govpn/aont} packages for
37 details of AONT and chaffing operations.