]> Cypherpunks.ru repositories - nncp.git/blobdiff - doc/eblob.texi
Replace Twofish/HKDF with ChaCha20/BLAKE2X for speed and simplicity
[nncp.git] / doc / eblob.texi
index baaa718907e820411b32e324bb11711b3475c71f..06c4a452a2bdbf2f2de9ede3d744af1330d34b0c 100644 (file)
@@ -56,12 +56,9 @@ Eblob is an @url{https://tools.ietf.org/html/rfc4506, XDR}-encoded structure:
     BLAKE2b-256 MAC of encrypted blob
 @end multitable
 
-Blob's encryption is done using
-@url{https://www.schneier.com/academic/twofish/, Twofish} algorithm with
-256-bit key in
-@url{https://en.wikipedia.org/wiki/Counter_mode#Counter_.28CTR.29, CTR}
-mode of operation with zero initialization vector.
-@code{balloon(BLAKE2b-256, S, T, P, salt, password)} gives the main key,
-that is fed to @url{https://en.wikipedia.org/wiki/HKDF,
-HKDF}-BLAKE2b-256 KDF. Actual encryption key for Twofish and
-authentication key for MAC are derived from that KDF.
+Blob's encryption is done using @url{https://cr.yp.to/chacha.html,
+ChaCha20} algorithm. Data is splitted on 128 KiB blocks. Each block is
+encrypted with increasing nonce counter. @code{balloon(BLAKE2b-256, S,
+T, P, salt, password)} gives the main key, that is fed to
+@url{https://blake2.net/, BLAKE2Xb} XOF Actual encryption key for
+ChaCha20 and authentication key for MAC are derived from that XOF.