[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Thoughts on a basic encryption mode



Perry E. Metzger says:
> > Due to patent issues I suggest we use DES just for now, and in the [near]
> > future it's likely we'll see new [stream] algorithm[s] faster than IDEA
> > and at least as secure. But at least we won't have to worry about
> > being sued if our implementations end up in a product (:-).
> I assume you are refering to Coppersmith's SEAL algorithm -- which
> sounds rather neat...

That's correct, SEAL by Coppersmith and Rogaway.

[From SEAL docs by Coppersmith and Rogaway, all the errors are mine]

SEAL is a length-increasing pseudo-random function. Under control of
a 160-bit key A it maps 32-bit string N to an L-bit string. The
number L can be made as large or as small as is needed for a
target application, but output lengths ranging from 512 to
4096 bytes are anticipated.

As a pseudo-random function, SEALa(.) should "look like a random function"
if A is random and unknown. Forst a key A is taken at random (a 16-bit
long bit sequence). Next the adversary is given  at random either a
black-box for the function SEALa(.), or a black-box for a truly
random funcrion R(.). Either one maps 32 bits to L bits. The
adversary's job is to guess which type of box she has. The
adversary wins, if she correctly guesses "Random" or
"Pseudorandom".

A pseudorandom function can be used to make a good stream cipher. In a
stream cipher the encryption of a message depends not only on the key A
and the message X, but also on the message's position in the data stream.
This position is often a sequence number, present already in the application
that would be useing the cryptographic method...

The cipher is optimized for 32-bit processor. The algorithm is table-driven
and uses approximately 3Kbytes of table space. Computational cost on a 32-bit
processor is about 5 elementary machine instructions per byte of text...
--
Regards,
Uri         uri@watson.ibm.com      acheron!angmar!uri 	N2RIU
-----------
<Disclamer>



References: