Anshel–Anshel–Goldfeld key exchange

Anshel–Anshel–Goldfeld protocol, also known as a commutator key exchange, is a key-exchange protocol using nonabelian groups. It was invented by Drs. Michael Anshel, Iris Anshel, and Dorian Goldfeld. Unlike other group-based protocols, it does not employ any commuting or commutative subgroups of a given platform group and can use any nonabelian group with efficiently computable normal forms. It is often discussed specifically in application of braid groups, which notably are infinite (and the group elements can take variable quantities of space to represent). The computed shared secret is an element of the group, so in practice this scheme must be accompanied with a sufficiently secure compressive hash function to normalize the group element to a usable bitstring.

Description

Let G be a fixed nonabelian group called a platform group.

Alice's public/private information:

  • Alice's public key is a tuple of elements in G.
  • Alice's private key is a sequence of elements from and their inverses: , where and . Based on that sequence she computes the product .

Bob's public/private information:

  • Bob's public key is a tuple of elements in .
  • Bob's private key is a sequence of elements from and their inverses: , where and . Based on that sequence he computes the product .

Transitions:

  • Alice sends a tuple to Bob.
  • Bob sends a tuple to Alice.

Shared key:

The key shared by Alice and Bob is the group element called the commutator of and .

  • Alice computes as a product .
  • Bob computes as a product .

Security

From the standpoint of an attacker trying to attack the protocol, they usually learn the public keys and , and the conjugated public keys and . A direct attack then consists of trying to find a suitable that is generated by the elements of , and that produces the appropriate conjugations when applied. (An 'indirect' attack would consist of trying to find directly, which would require some additional special structure of the group.) For this reason the public keys and must be chosen to generate a large subgroup of — ideally, they form a full set of generators, so that cannot be constrained just by knowing that is generated from .

Solving for a suitable given the conjugation relations is called the conjugation problem, and substantial research has been done on attacks to the conjugacy problem on braid groups, although no full efficient solution has achieved.

gollark: My webserver seems to have decided to stop webserving and just has some cryptic error about goroutines and a stack trace. What joy.
gollark: The bug (at least in the form everyone was using) was affecting iOS.
gollark: It's not a kernel one, it's in their text rendering library.
gollark: In the "effective power" one, the problem was apparently some issue with processing text for display in shortened form in notifications where it accessed the wrong memory address, which made the entire process doing that exit, and apparently for some bizarre reason when the notification process exited it brought the entire OS down.
gollark: True, true, you'd expect them to have better sandboxing or something.

See also

References

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.