Re: Public Key Exchange by Exchanging Hash Functions
 From: Mike Playle <usenet@xxxxxxxxxx>
 Date: Tue, 15 Mar 2011 20:40:55 +0000
On 15/03/11 04:40, Jim Steuert wrote:
This is another simple generalization of DiffieHellman.
This idea is to have both Bob and Alice start with a common
public hash function which is symmetric in two inputs. That is fairly
easy to construct. Then, using their respective secret keys, each
creates
a different singleinput "obscured" version of the originally
symmetric
twoinput hash function which he/she sends to the other party.
This reminds me of an idea I had a few years ago.
Start with a block cypher such as AES. It can be represented as a
"circuit diagram" graph of AND/OR/NOT/etc gates, with the plaintext
and key bits as inputs, and the cyphertext bits as output. Hardware
engineers do this sort of thing all the time.
Fix the key bits to known values, and apply constantfolding and other
optimisations to the graph. The key schedule is now determined, so it
gets optimised out; the cypher will be optimised too, and we'll end up
with a "specialised" AES function that encrypts a plaintext block with
the key we provided.
How hard would it be to determine the AES key from the graph?
I doubt it would be very hard at all, since AES wasn't designed with
this usecase in mind, but if the cypher had the property that it was
hard for an attacker to determine the original key after optimisation,
you could publish the resulting graph as your public key and keep the
original key private.
Mike
.
 FollowUps:
 Re: Public Key Exchange by Exchanging Hash Functions
 From: kg
 Re: Public Key Exchange by Exchanging Hash Functions
 From: Globemaker
 Re: Public Key Exchange by Exchanging Hash Functions
 Prev by Date: Uncovering Spoken Phrases in Encrypted Voice over IP Conversations
 Next by Date: Re: Public Key Exchange by Exchanging Hash Functions
 Previous by thread: Uncovering Spoken Phrases in Encrypted Voice over IP Conversations
 Next by thread: Re: Public Key Exchange by Exchanging Hash Functions
 Index(es):
Relevant Pages
