Content deleted Content added
commutative property, not some inverse thing |
|||
(11 intermediate revisions by 10 users not shown) | |||
Line 1:
{{Short description|1999 public-key cryptography algorithm}}
{{One source|date=October 2019}}
The '''Cayley–Purser algorithm''' was a [[public-key cryptography]] [[algorithm]] published in early 1999 by 16-year-old [[Ireland|Irishwoman]] [[Sarah Flannery]], based on an unpublished work by [[Michael Purser]], founder of [[Baltimore Technologies]], a [[Dublin]] data security company. Flannery named it for [[mathematician]] [[Arthur Cayley]]. It has since been found to be flawed as a public-key algorithm, but was the subject of considerable media attention.
== History ==
During a work-experience placement with
Before this placement, Flannery had attended the 1998 [[Young Scientist and Technology Exhibition|ESAT Young Scientist and Technology Exhibition]] with a project describing already existing
On advice from her mathematician father, Flannery decided to use [[Matrix (mathematics)|matrices]] to implement Purser's scheme as [[matrix multiplication]] has the necessary property of being non-commutative. As the resulting algorithm would depend on multiplication it would be a great deal faster than the
Returning to the ESAT Young Scientist and Technology Exhibition in 1999, Flannery formalised Cayley-Purser's runtime and analyzed a variety of known attacks, none of which were determined to be effective.
Line 21 ⟶ 23:
=== Key generation ===
Like
:<math>
:<math>
This group is chosen because it has large order (for large semiprime ''n''), equal to (''p''<sup>2</sup>
Let <math>\chi</math> and <math>\alpha</math> be two such matrices from GL(2,''n'') chosen such that <math>\chi\alpha
:<math>\beta = \chi^{-1}\alpha^{-1}\chi,</math>
Line 63 ⟶ 65:
== Security ==
Recovering the private key <math>\chi</math> from <math>\gamma</math> is computationally infeasible, at least as hard as finding square roots mod ''n'' (see [[quadratic residue]]). It could be recovered from <math>\alpha</math> and <math>\beta</math> if the system <math>\chi\beta = \alpha^{-1}\chi</math> could be solved, but the number of solutions to this system is large as long as elements in the group have a large order, which can be guaranteed for almost every element.
However, the system can be broken by finding a multiple <math>\chi'</math> of <math>\chi</math> by solving for <math>d</math> in the following congruence:
:<math>
Observe that a solution exists if for some <math>i, j \in \left|\gamma\right|</math> and <math>x, y \in \mathbb{Z}_n</math>
for <math>\delta</math>, where <math>\alpha_{11}, \beta_{11}</math> are the top-left elements of <math>\alpha, \beta</math>. Since any multiple of <math>\chi</math> can be used to decipher, this presents a fatal weakness for the system that has not yet been reconciled.▼
:<math>x\left(\beta_{ij}^{-1} - \alpha_{ij}\right) \equiv y \pmod n.</math>
▲
This flaw does not preclude the algorithm's use as a mixed private-key/public-key algorithm, if the sender transmits <math>\epsilon</math> secretly, but this approach presents no advantage over the common approach of transmitting a [[symmetric encryption]] key using a public-key encryption scheme and then switching to symmetric encryption, which is faster than Cayley-Purser.
==See
* [[Non-commutative cryptography]]
== References ==
* Sarah Flannery and David Flannery. ''In Code: A Mathematical Journey''. {{ISBN
{{Cryptography navbox | public-key}}
Line 82 ⟶ 89:
{{DEFAULTSORT:Cayley-Purser algorithm}}
[[Category:Public-key encryption schemes]]
[[Category:Broken cryptography algorithms]]
|