[2853] in cryptography@c2.net mail archive

home help back first fref pref prev next nref lref last post

Brute forcing half a Clipper key.

daemon@ATHENA.MIT.EDU (Trei, Peter)
Thu Jun 25 14:34:29 1998

From: "Trei, Peter" <ptrei@securitydynamics.com>
To: "'Colin Plumb'" <colin@nyx.net>
Cc: "'cryptography@c2.net'" <cryptography@c2.net>
Date: Thu, 25 Jun 1998 10:14:41 -0400



> -----Original Message-----
> From:	Colin Plumb [SMTP:colin@nyx.net]
> Sent:	Wednesday, June 24, 1998 8:16 PM
> To:	cryptography@c2.net; jya@pipeline.com
> Subject:	RE: "damn the bitmaps..."
> 
> As for speed, I'm currently getting 1.36 us/byte (encrypting the same
> block
> over and over to make 10 MB) on a (non-MMX) Pentium 133 with C code.
> 
> You can *almost* do a good assembly implementation using the 8 byte
> registers on an x86, leaving si di and bp available for indexing,
> pointers, and so on, but you need a 9th byte to hold the g2 ^ *key++
> part of g1 ^= F[g2 ^ *key++] in the inner loop.
> 
> Perhaps some work on key scheduling to move the location of the key XOR
> around would work.
> 
> The algorithm is *almost* self-inverse, with just a reversed key schedule.
> I wonder how the hardware does the switch?
> 
> It seems easiest to me to swap the input bytes around (to achieve the
> effect
> of swapping the halves in the G operation) and then just change which byte
> the counter gets added to.
> -- 
> 	-Colin
	[Trei, Peter]  
	I wouldn't touch bp, but have always considered si and di fair
	game. 

	The almost non-existant key scheduling has interesting implications:

	1.36 us/byte @ 133 MHz
	-> 10.88 us/block
	= 1447 clocks/block

	-> 2^39 blocks = 8E14 clocks

	-> on average, 69 machine-days on a 133 MHz machine to brute force
	a Clipper key if half the bits are known. Note that this is using
	what I expect is a far-from-optimized implementation - I would not
	be at all astonished if it could be speeded up by a factor of 4 or
	more.

	The bottom line is: Splitting the key in two, and storing the two
	halves in different agencies wouldn't have made people much more
	secure from corrupt government agents, or an 'escrow'
	agency compromised by other criminals or terrorists. With 
	half the key and a dozen high-end machines you could brute 
	force a complete unit key in a few hours, after 
	which all communications from that Clipper chip would be
	compromised.

	This is assuming a known plaintext attack on EBC or CBC mode
	Clipper, similar to the RSA DES challenges.

	Peter Trei




home help back first fref pref prev next nref lref last post