Re: ciphers with keys modifying control flow?

2010-09-29 Thread Jerry Leichter

On Sep 22, 2010, at 9:34 AM, Steven Bellovin wrote:

Does anyone know of any ciphers where bits of keys modify the  
control path, rather than just data operations?  Yes, I know that  
that's a slippery concept, since ultimately things like addition and  
multiplication can be implemented with loops in the hardware or  
firmware.  I also suspect that it's potentially dangerous, since it  
might create very hard-to-spot classes of weak keys.  The closest I  
can think of is SIGABA, where some of the keying controlled the  
stepping of the other rotors.
This reminds me of an old, apparently-abandoned idea for producing one- 
way hash functions:  Choose two functions f_0 and f_1 that don't  
commute.  For input b_0 b_1 ... b_k, the hash is  
f_b_k(f_b_k-1(...f_b_0(0)...)).


Obviously, saying the functions don't commute isn't enough.  What  
you really want is that if you consider the group generated by f_0 and  
f_1, then there are no short non-trivial relations (or, same thing,  
cycles).  Also, of course, you can use more functions - e.g., use four  
functions and pull off successive pairs of bits.


A variant uses the input itself as the initial value, rather than 0 -  
though that limits the domain.  Alternatively, you could start with  
the length of the input, eliminating trivial extension attacks.


This idea goes back to the early 70's at least.  There was really no  
theory of how to produce or analyze one-way hash functions in those  
days, but this one clearly comes from an approach to designing  
encryption functions (alternating substitutions and permutations)  
suggested by Shannon in his seminal work on cryptography.  Shannon, in  
turn, credits a theorem of Hopf's on mixing functions for the basic  
idea - which is ultimately at the root of most encryption functions in  
use today.


On its face, this approach has much to recommend it.  It's a pure  
stream computation.  You can use any group for your functions.   
There's a ton of theory on group presentations that might apply.  (Of  
course, many interesting questions about group presentations turn out  
to be non-computable; not just any group will work.  Given what we've  
learned since the '70's, using two different representatives from a  
universal class of hash functions might be an interesting starting  
point.)


Anyone aware of why, back in the pre-history of one-way functions,  
this design approach was abandoned?  Perhaps there really are  
fundamental problems with it; or perhaps it's just that the MD-style  
approach was so successful that it just took over.

-- Jerry

-
The Cryptography Mailing List
Unsubscribe by sending unsubscribe cryptography to majord...@metzdowd.com


Re: ciphers with keys modifying control flow?

2010-09-29 Thread Florian Weimer
* Steven Bellovin:

 Does anyone know of any ciphers where bits of keys modify the
 control path, rather than just data operations?

AES.  See François Koeune, Jean-Jacques Quisqater, A timing attack
aganst Rijndael. Université catholique de Louvain, Technicl Report
CG-1999.

-
The Cryptography Mailing List
Unsubscribe by sending unsubscribe cryptography to majord...@metzdowd.com


ciphers with keys modifying control flow?

2010-09-27 Thread Steven Bellovin
Does anyone know of any ciphers where bits of keys modify the control path, 
rather than just data operations?  Yes, I know that that's a slippery concept, 
since ultimately things like addition and multiplication can be implemented 
with loops in the hardware or firmware.  I also suspect that it's potentially 
dangerous, since it might create very hard-to-spot classes of weak keys.  The 
closest I can think of is SIGABA, where some of the keying controlled the 
stepping of the other rotors.

--Steve Bellovin, http://www.cs.columbia.edu/~smb





-
The Cryptography Mailing List
Unsubscribe by sending unsubscribe cryptography to majord...@metzdowd.com