netdev
[Top] [All Lists]

Re: [PATCH] OpenBSD Networking-related randomization port

To: linux@xxxxxxxxxxx
Subject: Re: [PATCH] OpenBSD Networking-related randomization port
From: Roland Dreier <roland@xxxxxxxxxxx>
Date: Sat, 12 Feb 2005 16:18:14 -0800
Cc: ak@xxxxxx, arjan@xxxxxxxxxxxxx, bunk@xxxxxxxxx, chrisw@xxxxxxxx, davem@xxxxxxxxxx, hlein@xxxxxxxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx, netdev@xxxxxxxxxxx, shemminger@xxxxxxxx, Valdis.Kletnieks@xxxxxx
In-reply-to: <20050212232518.10838.qmail@science.horizon.com> (linux@horizon.com's message of "12 Feb 2005 23:25:18 -0000")
References: <20050212232518.10838.qmail@science.horizon.com>
Sender: netdev-bounce@xxxxxxxxxxx
User-agent: Gnus/5.1006 (Gnus v5.10.6) XEmacs/21.4 (Jumbo Shrimp, linux)
    linux> It's easy to make a smaller hash by just thowing bits away,
    linux> but a block cipher is a permutation, and has to be
    linux> invertible.

    linux> For example, if I take a k-bit counter and encrypt it with
    linux> a k-bit block cipher, the output is guaranteed not to
    linux> repeat in less than 2^k steps, but the value after a given
    linux> value is hard to predict.

Huh?  What if my cipher consists of XOR-ing with a k-bit pattern?
That's a permutation on the set of k-bit blocks but it happens to
decompose as a product of (non-overlapping) swaps.

In general for more realistic block ciphers like DES it seems
extremely unlikely that the cipher has only a single orbit when viewed
as a permutation.  I would expect a real block cipher to behave more
like a random permutation, which means that the expected number of
orbits for a k-bit cipher should be about ln(2^k) or roughly .7 * k.

 - R.

<Prev in Thread] Current Thread [Next in Thread>