All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jack Lloyd <lloyd@randombit.net>
To: linux-kernel@vger.kernel.org
Subject: Re: [PATCH] Delete cryptoloop
Date: Thu, 22 Jul 2004 10:58:43 -0400	[thread overview]
Message-ID: <20040722145843.GA24834@acm.jhu.edu> (raw)
In-Reply-To: <cdoi4i$iic$1@terminus.zytor.com>

On Thu, Jul 22, 2004 at 02:14:42PM +0000, H. Peter Anvin wrote:

> So does cryptoloop use a different IV for different blocks?  The need
> for the IV to be secret is different for different ciphers, but for
> block ciphers the rule is that is must not repeat, and at least
> according to some people must not be trivially predictable.  One way
> to do that is to use a secure hash of (key,block #) as the IV.

Using an HMAC for this (with the input being the block #) seems like a better
idea, as there is less risk of leaking bits of the key if any attack on the
hash is found. Since secure hash == SHA-1 or better, you would have to truncate
it to use as an IV for a 64 or 128 bit cipher, which would make it harder for
someone looking at the IVs to make a guess on the key, but HMAC is pretty
cheap.

For block ciphers in CBC mode, simply not repeating and being somewhat
non-predictable is sufficient. That's easy enough.

For something like, say, counter mode, you have to make sure that they never
overlap; not only will a repeated IV cause trouble, but if one block is
encrypted with a particular IV, and another block is encrypted with IV + n
(viewing them as integers), then you'll leak some of the plaintext, because the
cipher stream will get reused. The obvious solution is to just use the (block
ID << log2(sector_size)) as the IV. The IV doesn't have to be unpredictable at
all for counter mode. The shift is needed, otherwise the second block of sector
2 will be encrypted with the same counter as the first block of sector one.

I'm not aware of any cipher or cipher mode where the IV or nonce has to be kept
secret from an attacker.

Jack

  reply	other threads:[~2004-07-22 14:58 UTC|newest]

Thread overview: 67+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-07-21 20:16 [PATCH] Delete cryptoloop James Morris
2004-07-21 23:44 ` David S. Miller
2004-07-22  6:00 ` Andrew Morton
2004-07-22  3:30   ` James Morris
2004-07-22  7:43     ` Matthias Urlichs
2004-07-22 14:14       ` H. Peter Anvin
2004-07-22 14:58         ` Jack Lloyd [this message]
2004-07-28 20:24     ` David Wagner
2004-07-29  0:27       ` James Morris
2004-07-29 15:50         ` Christophe Saout
2004-07-29 21:15           ` David Wagner
2004-07-30 13:13             ` Christophe Saout
2004-07-31  0:44               ` David Wagner
2004-07-31  2:05                 ` Matt Mackall
2004-07-31 17:29                   ` Marc Ballarin
2004-08-02 22:54                   ` David Wagner
2004-08-02 23:16                     ` James Morris
2004-08-07 16:27                       ` Jean-Luc Cooke
2004-07-22  4:26   ` dpf-lkml
2004-07-22  5:22     ` James Morris
2004-07-22 11:58       ` Paul Rolland
2004-07-22 20:40         ` Martin Schlemmer
2004-07-22  8:46     ` Andrew Morton
2004-07-22  6:13       ` Dale Fountain
2004-07-22  6:47         ` Tim Connors
2004-07-22 15:02           ` Petr Baudis
2004-07-22 11:36         ` Aiko Barz
2004-07-24 15:11           ` Andreas Jellinghaus
2004-07-24 15:53       ` gadgeteer
2004-07-29 16:12       ` Andries Brouwer
2004-07-29 17:23         ` James Morris
2004-07-29 19:48           ` Andries Brouwer
2004-07-22 22:13 ` Bill Davidsen
2004-07-24 12:41 ` Fruhwirth Clemens
2004-07-24 16:52   ` Andrew Morton
2004-07-24 14:08     ` Andreas Henriksson
2004-07-24 19:54       ` Paul Jackson
2004-07-27 20:02     ` Bill Davidsen
2004-07-25 11:42   ` Jari Ruusu
2004-07-25 13:24     ` Fruhwirth Clemens
2004-07-25 15:24       ` Marc Ballarin
2004-07-25 16:57       ` Andreas Jellinghaus
2004-07-25 17:25       ` Jari Ruusu
2004-07-25 18:02         ` Fruhwirth Clemens
2004-07-25 19:09           ` Lee Revell
2004-07-25 19:15             ` Fruhwirth Clemens
2004-07-25 19:44           ` Marc Ballarin
2004-07-25 20:58             ` Fruhwirth Clemens
2004-07-26 10:54           ` Jari Ruusu
2004-07-26 12:45             ` Fruhwirth Clemens
2004-07-26 18:11               ` Jari Ruusu
2004-07-26 22:59                 ` Fruhwirth Clemens
2004-07-26 20:01               ` Matt Mackall
     [not found]                 ` <fa.edslbgp.q763qd@ifi.uio.no>
2004-07-27  8:40                   ` Junio C Hamano
2004-07-27  8:53                     ` Matt Mackall
2004-07-27 10:10                     ` Marc Ballarin
2004-07-26 22:04               ` Marc Ballarin
2004-07-27 19:56   ` Bill Davidsen
     [not found] <2kMAw-rl-15@gated-at.bofh.it>
2004-07-22 19:44 ` Pascal Brisset
  -- strict thread matches above, loose matches on Subject: below --
2004-07-23 10:59 Thomas Habets
     [not found] <2kvT4-5AY-1@gated-at.bofh.it>
     [not found] ` <2kC85-1AH-11@gated-at.bofh.it>
     [not found]   ` <2kDxa-2sB-1@gated-at.bofh.it>
     [not found]     ` <2kECW-3a0-7@gated-at.bofh.it>
2004-07-23 12:34       ` Walter Hofmann
2004-07-23 14:01         ` Kevin Corry
2004-07-23 18:20           ` Christophe Saout
2004-07-27 19:47         ` Bill Davidsen
2004-07-23 12:50 mattia
2004-07-26  7:13 Adam J. Richter
2004-07-30  8:43 Markku-Juhani O. Saarinen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20040722145843.GA24834@acm.jhu.edu \
    --to=lloyd@randombit.net \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.