Content deleted Content added
→Security: some confusion here |
commutative property, not some inverse thing |
||
(9 intermediate revisions by 8 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:
Line 69 ⟶ 71:
:<math>d \left(\beta - \alpha^{-1}\right) \equiv \left(\alpha^{-1}\gamma - \gamma\beta\right) \pmod n</math>
Observe that a solution exists
:<math>x\left(\beta_{ij}^{-1} - \alpha_{ij}\right) \equiv y \pmod n.</math>
If <math>d</math> is known, <math>d \mathrm{I} + \gamma = \chi'</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 also==
* [[Non-commutative cryptography]]
== References ==
▲* Sarah Flannery and David Flannery. ''In Code: A Mathematical Journey''. ISBN 0-7611-2384-9
{{Cryptography navbox | public-key}}
Line 89:
{{DEFAULTSORT:Cayley-Purser algorithm}}
[[Category:Public-key encryption schemes]]
[[Category:Broken cryptography algorithms]]
|