[prev in list] [next in list] [prev in thread] [next in thread]
List: cypherpunks
Subject: Block key generation algorithms
From: Julian Assange <proff () suburbia ! net>
Date: 2002-04-27 1:03:00
[Download RAW message or body]
> which is encrypted disk drives. You could encrypt each block of the disk
> with a block cypher using the same key (presumably in CBC or some similar
> mode),
> but that just feels weak. So you need some kind of generator of
> pretty-random-looking keys so that each block of the disk gets a different
> key,
What I employ in rubberhose is a hardened version of this:
Take two encryption functions (or one encryption and one decryption
function), e_1, and e_2, and some salt. For each lsb in
the block number:
block_key = block_key xor salt_n
if (lsb == 0)
block_key = e_1(master_key, block_key)
else
block_key = e_2(master_key2, block_key)
This provides a n^2 tree of keys such that even if you break one
of the leaves traveling up the branches to other leaves remains
very difficult. It also protects against yet to be discovered
related key, related plain-text attacks.
If you have blind faith in your ciphers:
block_key = e(master_key, block_num)
Or:
block_key = hash(master_key || block_num)
Is just fine.
--
Julian Assange |If you want to build a ship, don't drum up people
|together to collect wood or assign them tasks and
proff@iq.org |work, but rather teach them to long for the endless
proff@gnu.ai.mit.edu |immensity of the sea. -- Antoine de Saint Exupery
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic