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