Method and apparatus for geometric key establishment protocols based on topological groups
First Claim
Patent Images
1. A method of secure distribution of encryption/decryption keys among two communicating parties comprising of:
- public (non-secret) selecting a natural number n;
public (non-secret) selecting a natural number k;
public (non-secret) selecting a k-tuple S=(S1, S2, . . . , Sk) of pairwise-commuting n×
n matrices with integer coefficients;
private (non-public) generating the polynomial p(x1, x2, . . . , xk) in k variables x1, x2, . . . , xk and with integer coefficients by the first communicating party;
private (non-public) generating the polynomial q(x1, x2, . . . , xk) in k variables x1, x2, . . . , kk and with integer coefficients by the second communicating party;
private (non-public) generating n×
n matrix A with integer coefficients by the first communicating party according to the formula;
A=p(S1, S2, . . . , Sk);
private (non-public) generating n×
n matrix B with integer coefficients by the second communicating party;
B=q(S1S2, . . . , Sk), (therefore, A·
B=B·
A);
public (non-secret) selecting a compact topological monoid G by both communicating parties;
public (non-secret) selecting an n-tuple g=(g1, g2, . . . , gn) of pairwise commuting elements in G by both communicating parties;
generating the n-tuple gA by the first communicating party by the formula;
gA=(y1, y2, . . . , yn), where
yj=g1A1,j·
g2A2,j·
. . . ·
gnAn,j for j=1, 2, . . . , n, where each Aij is a corresponding matrix coefficient of the matrix A;
generating the n-tuple gB by the second communicating party by the formula;
gB=(z1, z2, . . . , zn),
where
zj=g1B1,j·
g2B2,j·
. . . ·
gnBn,j for j=1, 2, . . . , n, where each Bij is a corresponding matrix coefficient of the matrix B;
public (non-secret) transmitting the n-tuple gA from the first communicating party to the second communicating party;
public (non-secret) transmitting the n-tuple gB from the second communicating party to the first communicating party;
creating the shared secrete key gA·
B by the communicating parties;
generating the n-tuple (gA)B by the second communicating party and generating the n-tuple (gB)A by the first communicating party (since (gA)B=gA·
B=gB·
A=(gB)A, both communicating parties possess this n-tuple gA·
B).
0 Assignments
0 Petitions
Accused Products
Abstract
The present invention proposes a continuous multi-parameter version of Diffie-Hellman protocol based on topological groups. In its turn, based on this continuous protocol, a method for public establishment and distribution of keys for encryption systems is implemented. An embodiment of the method, while providing an extremely high security level, is several orders of magnitude faster than the existing key establishment systems.
20 Citations
41 Claims
-
1. A method of secure distribution of encryption/decryption keys among two communicating parties comprising of:
-
public (non-secret) selecting a natural number n;
public (non-secret) selecting a natural number k;
public (non-secret) selecting a k-tuple S=(S1, S2, . . . , Sk) of pairwise-commuting n×
n matrices with integer coefficients;
private (non-public) generating the polynomial p(x1, x2, . . . , xk) in k variables x1, x2, . . . , xk and with integer coefficients by the first communicating party;
private (non-public) generating the polynomial q(x1, x2, . . . , xk) in k variables x1, x2, . . . , kk and with integer coefficients by the second communicating party;
private (non-public) generating n×
n matrix A with integer coefficients by the first communicating party according to the formula;
A=p(S1, S2, . . . , Sk);
private (non-public) generating n×
n matrix B with integer coefficients by the second communicating party;
B=q(S1S2, . . . , Sk),(therefore, A·
B=B·
A);
public (non-secret) selecting a compact topological monoid G by both communicating parties;
public (non-secret) selecting an n-tuple g=(g1, g2, . . . , gn) of pairwise commuting elements in G by both communicating parties;
generating the n-tuple gA by the first communicating party by the formula;
gA=(y1, y2, . . . , yn),where
yj=g1A1,j·
g2A2,j·
. . . ·
gnAn,jfor j=1, 2, . . . , n, where each Aij is a corresponding matrix coefficient of the matrix A;
generating the n-tuple gB by the second communicating party by the formula;
gB=(z1, z2, . . . , zn),
where
zj=g1B1,j·
g2B2,j·
. . . ·
gnBn,jfor j=1, 2, . . . , n, where each Bij is a corresponding matrix coefficient of the matrix B;
public (non-secret) transmitting the n-tuple gA from the first communicating party to the second communicating party;
public (non-secret) transmitting the n-tuple gB from the second communicating party to the first communicating party;
creating the shared secrete key gA·
B by the communicating parties;
generating the n-tuple (gA)B by the second communicating party and generating the n-tuple (gB)A by the first communicating party (since (gA)B=gA·
B=gB·
A=(gB)A, both communicating parties possess this n-tuple gA·
B). - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41)
-
Specification