Non-commutative cryptographic protocols have been developed for solving various cryptographic problems like key exchange, encryption-decryption, and authentication. These protocols are very similar to the corresponding protocols in the commutative case.
This a key exchange protocol using a non-abelian group G. It is significant because it does not require two commuting subgroups A and B of G as in the case of the protocol due to Ko, Lee, et al.
Elements a1, a2, . . . , ak, b1, b2, . . . , bm from G are selected and published.
Alice picks a private x in G as a word in a1, a2, . . . , ak; that is, x = x( a1, a2, . . . , ak ).
Alice sends b1x, b2x, . . . , bmx to Bob.
Bob picks a private y in G as a word in b1, b2, . . . , bm; that is y = y ( b1, b2, . . . , bm ).
Bob sends a1y, a2y, . . . , aky to Alice.
Alice and Bob share the common secret key K = x−1y−1xy.
Alice computes x ( a1y, a2y, . . . , aky ) = y−1xy. Pre-multiplying it with x−1, Alice gets K.
Bob computes y ( b1x, b2x, . . . , bmx) = x−1yx. Pre-multiplying it with y−1 and then taking the inverse, Bob gets K.
This protocol describes how to encrypt a secret message and then decrypt using a non-commutative group. Let Alice want to send a secret message m to Bob.
Let G be a non-commutative group. Let A and B be public subgroups of G such that ab = ba for all a in A and b in B.
An element x from G is chosen and published.
Bob chooses a secret key b from A and publishes z = xb as his public key.
Alice chooses a random r from B and computes t = zr.
The encrypted message is C = (xr, H(t) m), where H is some hash function and denotes the XOR operation. Alice sends C to Bob.
To decrypt C, Bob recovers t as follows: (xr)b = xrb = xbr = (xb)r = zr = t. The plain text message send by Alice is P = ( H(t) m ) H(t) = m.
The basis for the security and strength of the various protocols presented above is the difficulty of the following two problems:
The conjugacy decision problem (also called the conjugacy problem): Given two elements u and v in a group G determine whether there exists an element x in G such that v = ux, that is, such that v = x−1ux.
The conjugacy search problem: Given two elements u and v in a group G find an element x in G such that v = ux, that is, such that v = x−1ux.
If no algorithm is known to solve the conjugacy search problem, then the function x → ux can be considered as a one-way function.
A non-commutative group that is used in a particular cryptographic protocol is called the platform group of that protocol. Only groups having certain properties can be used as the platform groups for the implementation of non-commutative cryptographic protocols. Let G be a group suggested as a platform group for a certain non-commutative cryptographic system. The following is a list of the properties expected of G.
The group G must be well-known and well-studied.
The word problem in G should have a fast solution by a deterministic algorithm. There should be an efficiently computable "normal form" for elements of G.
It should be impossible to recover the factors x and y from the product xy in G.
The number of elements of length n in G should grow faster than any polynomial in n. (Here "length n" is the length of a word representing a group element.)
Let T denote the infinite rootedbinary tree. The set V of vertices is the set of all finite binary sequences. Let A(T) denote the set of all automorphisms of T. (An automorphism of T permutes vertices preserving connectedness.) The Grigorchuk's group Γ is the subgroup of A(T) generated by the automorphisms a, b, c, d defined as follows:
Cao, Zhenfu (2012). New Directions of Modern Cryptography. CRC Press. ISBN978-1-4665-0140-9.
Benjamin Fine; et al. (2011). "Aspects of Nonabelian Group Based Cryptography: A Survey and Open Problems". arXiv:1103.4093 [cs.CR].
Myasnikov, Alexei G.; Shpilrain, Vladimir; Ushakov, Alexander (2011). Non-commutative Cryptography and Complexity of Group-theoretic Problems. American Mathematical Society. ISBN9780821853603.