Cayley-Purser algorithm

Cayley-Purser algorithm

The Cayley-Purser algorithm was a public-key cryptography algorithm published in early 1999 by 16-year-old 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 Baltimore Technologies, Flannery was shown an unpublished paper by Michael Purser which outlined a new public-key cryptographic scheme using non-commutative multiplication. She was asked to write an implementation of this scheme in Mathematica.

Before this placement, Flannery had attended the 1998 ESAT Young Scientist and Technology Exhibition with a project describing already existing crytographic techniques from Caesar cipher to RSA. This had won her the Intel Student Award which included the opportunity to compete in the 1998 Intel International Science and Engineering Fair in the United States. Feeling that she needed some original work to add to her exhibition project, Flannery asked Michael Purser for permission to include work based on his cryptographic scheme.

On advice from her mathematician father, Flannery decided to use 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 RSA algorithm which uses an exponential step. For her Intel Science Fair project Flannery prepared a demonstration where the same plaintext was enciphered using both RSA and her new Cayley-Purser algorithm and it did indeed show a significant time improvement.

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.

Flannery did not make any claims that the Cayley-Purser algorithm would replace RSA, knowing that any new cryptographic system would need to stand the test of time before it could be acknowledged as a secure system. The media were not so circumspect however and when she received first prize at the ESAT exhibition, newspapers around the world reported the story that a young girl genius had revolutionised cryptography.

In fact an attack on the algorithm was discovered shortly afterwards but she analyzed it and included it as an appendix in later competitions, including a Europe-wide competition in which she won a major award.

Overview

Notation used in this discussion is as in Flannery's original paper.

Key generation

Like RSA, Cayley-Purser begins by generating two large primes "p" and "q" and their product "n", a semiprime. Next, consider GL(2,"n"), the general linear group of 2×2 matrices with integer elements and modular arithmetic mod "n". For example, if "n"=5, we could write:

:left [egin{matrix}0 & 1 \ 2 & 3end{matrix} ight] +left [egin{matrix}1 & 2 \ 3 & 4end{matrix} ight] =left [egin{matrix}1 & 3 \ 5 & 7end{matrix} ight] =left [egin{matrix}1 & 3 \ 0 & 2end{matrix} ight] :left [egin{matrix}0 & 1 \ 2 & 3end{matrix} ight] left [egin{matrix}1 & 2 \ 3 & 4end{matrix} ight] =left [egin{matrix}3 & 4 \ 11 & 16end{matrix} ight] =left [egin{matrix}3 & 4 \ 1 & 1end{matrix} ight]

This group is chosen because it has large order for large semiprime "n", equal to:

:nphi(n)^2(p+1)(q+1)

where phi is Euler's totient function.

Let chi and alpha be two such matrices from GL(2,"n") chosen such that chialpha^{-1} ot= alphachi. Choose some natural number "r" and compute:

:eta = chi^{-1}alpha^{-1}chi,:gamma = chi^r.

The public key is n, alpha, eta, and gamma. The private key is chi.

Encryption

The sender begins by generating a random natural number "s" and computing:

:delta = gamma^s:epsilon = delta^{-1}alphadelta:kappa = delta^{-1}etadelta

Then, to encrypt a message, each message block is encoded as a number (as in RSA) and they are placed four at a time as elements of a plaintext matrix mu. Each mu is encrypted using:

:mu' = kappamukappa.

Then mu' and epsilon are sent to the receiver.

Decryption

The receiver recovers the original plaintext matrix mu via:

:lambda = chi^{-1}epsilonchi,:mu = lambdamu'lambda.

Security

Recovering the private key chi from gamma is computationally infeasible, at least as hard as finding square roots mod "n" (see quadratic residue). It could be recovered from alpha and eta if the system chieta = alpha^{-1}chi 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 was broken when a method for finding a multiple chi' of chi using the public parameters by solving the congruence:

:deltaleft(eta_{11}^{-1} - alpha_{11} ight) equiv epsilon pmod n

for delta, where alpha_{11}, eta_{11} are the top-left elements of alpha, eta. Since any multiple of chi can be used to decipher, this presents a fatal weakness for the system that has not yet been reconciled.

This flaw does not preclude the algorithm's use as a mixed private-key/public-key algorithm, if the sender transmits epsilon 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.

References

* Sarah Flannery. [http://cryptome.org/flannery-cp.htm Cryptography: An Investigation of a New Algorithm vs. the RSA] . ( [http://cryptome.org/flannery-cp.pdf original pdf] )
* Sarah Flannery and David Flannery. "In Code: A Mathematical Journey". ISBN 0-7611-2384-9


Wikimedia Foundation. 2010.

Игры ⚽ Поможем написать реферат

Look at other dictionaries:

  • Arthur Cayley — Pour les articles homonymes, voir Cayley.  Ne doit pas être confondu avec Arthur Caley. Arthur Cayley …   Wikipédia en Français

  • Arthur Cayley — Infobox Scientist name = Arthur Cayley |242px image width = 242px caption = Portrait in London by Barraud Jerrard birth date = birth date|1821|8|16|mf=y birth place = Richmond, Surrey, UK residence = England nationality = British death date =… …   Wikipedia

  • Cailey-Purser — Der Cayley Purser Algorithmus wurde Anfang 1999 von der damals 16 jährigen Sarah Flannery aus Irland veröffentlicht. Der Algorithmus wurde von ihr nach dem Mathematiker Arthur Cayley und nach Michael Purser, dem Gründer der Fa. Baltimore, benannt …   Deutsch Wikipedia

  • Digital Signature Algorithm — The Digital Signature Algorithm (DSA) is a United States Federal Government standard or FIPS for digital signatures. It was proposed by the National Institute of Standards and Technology (NIST) in August 1991 for use in their Digital Signature… …   Wikipedia

  • Sarah Flannery — (born 1982, County Cork, Ireland) was, at sixteen years old, the winner of the 1999 Esat Young Scientist Exhibition for development of the Cayley–Purser algorithm, based on work she had done with researchers at Baltimore Technologies during a… …   Wikipedia

  • Флэннери, Сара — Сара Флэннери (англ. Sarah Flannery, род. 1982, графство Корк, Ирландия) в возрасте 16 лет стала победителем Выставки молодых ученых Исат (Esat Young Scientist Exhibition) 1999 года за разработку алгоритма Кайли Пёсе (Cayley Purser algorithm),… …   Википедия

  • Baltimore Technologies — Infobox Company company name = Baltimore Technologies, Plc company company type = Public company slogan = N/A foundation = Dublin, Ireland (1976) location = Dublin, Ireland num employees = 12 (2006) products = Cryptographic toolkits Public Key… …   Wikipedia

  • Young Scientist and Technology Exhibition — The BT Young Scientist and Technology Exhibition ( ga. Taispeántas na nEolaí Óga agus Teicneoilíochta), commonly called the Young Scientist , is an annual competition held in Dublin, Ireland every January for encouraging interest in science in… …   Wikipedia

  • List of terms relating to algorithms and data structures — The [http://www.nist.gov/dads/ NIST Dictionary of Algorithms and Data Structures] is a reference work maintained by the U.S. National Institute of Standards and Technology. It defines a large number of terms relating to algorithms and data… …   Wikipedia

  • Список терминов, относящихся к алгоритмам и структурам данных —   Это служебный список статей, созданный для координации работ по развитию темы.   Данное предупреждение не устанавливается на информационные списки и глоссарии …   Википедия

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”