Method and system for key agreement utilizing semigroups
AssigneeCerticom Corp.
InventorDaniel Richard L. BROWN
Life of this patent
Estimating the term…
Abstract
A method for key agreement between a first party and a second party over a public communications channel, the method including selecting, by the first party, from a semigroup, a first value “a”; multiplying the first value “a” by a second value “b” to create a third value “d”, the second value “b” being selected from the semigroup; sending the third value “d” to the second party; receiving, from the second party, a fourth value “e”, the fourth value comprising the second value “b” multiplied by a fifth value “c” selected by the second party from the semigroup; and creating a shared secret by multiplying the first value “a” with the fourth value “e”, wherein the shared secret matches the third value “d” multiplied by the fifth value “c”.
Claims21
A method for key agreement between a first party and a second party over a public communications channel, the method comprising:
- selecting, by the first party, from a semigroup, a first value “a”;
- multiplying the first value “a” by a second value “b” to create a third value “d”, the second value “b” being selected from the semigroup;
- sending the third value “d” to the second party;
- receiving, from the second party, a fourth value “e”, the fourth value comprising the second value “b” multiplied by a fifth value “c” selected by the second party from the semigroup;
- and
- creating a shared secret by multiplying the first value “a” with the fourth value “e”,
- wherein the shared secret matches the third value “d” multiplied by the fifth value “c”.
A computing device configured for key agreement between a first party and a second party over a public communications channel, the computing device comprising:
- a processor;
- and
- a communications subsystem,
- wherein the computing device is configured to:
- select, from a semigroup, a first value “a”;
- multiply the first value “a” by a second value “b” to create a third value “d”, the second value “b” being selected from the semigroup;
- send the third value “d” to the second party;
- receive, from the second party, a fourth value “e”, the fourth value comprising the second value “b” multiplied by a fifth value “c” selected by the second party from the semigroup;
- and
- create a shared secret by multiplying the first value “a” with the fourth value “e”,
- wherein the shared secret matches the third value “d” multiplied by the fifth value “c”.
A computer readable medium for storing instruction code for key agreement between a first party and a second party over a public communications channel, the instruction code, when executed by a processor of a computing device cause the computing device to:
- select, from a semigroup, a first value “a”;
- multiply the first value “a” by a second value “b” to create a third value “d”, the second value “b” being selected from the semigroup;
- send the third value “d” to the second party;
- receive, from the second party, a fourth value “e”, the fourth value comprising the second value “b” multiplied by a fifth value “c” selected by the second party from the semigroup;
- and
- create a shared secret by multiplying the first value “a” with the fourth value “e”,
- wherein the shared secret matches the third value “d” multiplied by the fifth value “c”.
Dependencies are inferred from the claim text.