Crypto in DragonFlyBSD

Robin Carey robin.carey1 at googlemail.com
Wed Mar 31 09:52:57 PDT 2010


There is some talk on the kernel-mailing list about implementing Cryptography in DragonFlyBSD. I would like to add my input in this discussion; Most cryptography implementations use block-ciphers. But I consider block-ciphers (even AES) bad, because
they are just a code-book. I consider Stream Ciphers to be the best way to encrypt data, as these are "the next best thing" to aone-time-pad (one-time-pad is a provably secure encryption method).
 So if DragonFly were to support encrypting the hard-disk-drive/file-system, I would recommenda Stream-Cipher implementation. There is more than one way to go about this; read up on CSPRNG on www.wikipedia.org.
 For me, the limiting factor is the cycle-length of the Stream-Cipher/CSPRNG. If you go via the method outlined in wikipedia for a CSPRNG (a block-cipher likeAES in counter mode) then the limitation of the cycle-length is the limitation of
the size of the counter. So in todays world of 64-bit computing that's 64-bits,generally speaking. Alternatively, you could use IBAA64 which is available from: http://www.leopard.uk.com/IBAA64
 (or any other good CSPRNG with a guaranteed cycle-length). If DragonFlyBSD was to go down the stream-cipher/CSPRNG route (as opposedto the block-cipher route which everyone else has chosen), I would like to point
out an improved version of the usual Stream-Cipher technique which I inventedand have called "Cipher-Packet"; The algorithm/implementation is available from: http://www.leopard.uk.com/C12

Cheers !-- Sincerely,Robin Carey




More information about the Kernel mailing list