The Cayley–Purser algorithm was a
public-key cryptography
Public-key cryptography, or asymmetric cryptography, is the field of cryptographic systems that use pairs of related keys. Each key pair consists of a public key and a corresponding private key. Key pairs are generated with cryptographic alg ...
algorithm
In mathematics and computer science, an algorithm () is a finite sequence of Rigour#Mathematics, mathematically rigorous instructions, typically used to solve a class of specific Computational problem, problems or to perform a computation. Algo ...
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
Dublin is the capital and largest city of Republic of Ireland, Ireland. Situated on Dublin Bay at the mouth of the River Liffey, it is in the Provinces of Ireland, province of Leinster, and is bordered on the south by the Dublin Mountains, pa ...
data security company. Flannery named it for
mathematician
A mathematician is someone who uses an extensive knowledge of mathematics in their work, typically to solve mathematical problems. Mathematicians are concerned with numbers, data, quantity, mathematical structure, structure, space, Mathematica ...
Arthur Cayley
Arthur Cayley (; 16 August 1821 – 26 January 1895) was a British mathematician who worked mostly on algebra. He helped found the modern British school of pure mathematics, and was a professor at Trinity College, Cambridge for 35 years.
He ...
. 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
Public-key cryptography, or asymmetric cryptography, is the field of cryptographic systems that use pairs of related keys. Each key pair consists of a public key and a corresponding private key. Key pairs are generated with cryptographic alg ...
cryptographic scheme using
non-commutative
In mathematics, a binary operation is commutative if changing the order of the operands does not change the result. It is a fundamental property of many binary operations, and many mathematical proofs depend on it. Perhaps most familiar as a pr ...
multiplication. She was asked to write an implementation of this scheme in
Mathematica
Wolfram (previously known as Mathematica and Wolfram Mathematica) is a software system with built-in libraries for several areas of technical computing that allows machine learning, statistics, symbolic computation, data manipulation, network ...
.
Before this placement, Flannery had attended the 1998
ESAT Young Scientist and Technology Exhibition with a project describing already existing cryptographic techniques from the
Caesar cipher
In cryptography, a Caesar cipher, also known as Caesar's cipher, the shift cipher, Caesar's code, or Caesar shift, is one of the simplest and most widely known encryption techniques. It is a type of substitution cipher in which each letter in t ...
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
The Regeneron International Science and Engineering Fair (ISEF) is an annual science fair in the United States. It is owned and administered by the Society for Science, a 501(c)(3) non-profit organization based in Washington, D.C.
Each May, more ...
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
Matrix (: matrices or matrixes) or MATRIX may refer to:
Science and mathematics
* Matrix (mathematics), a rectangular array of numbers, symbols or expressions
* Matrix (logic), part of a formula in prenex normal form
* Matrix (biology), the ...
to implement Purser's scheme as
matrix multiplication
In mathematics, specifically in linear algebra, matrix multiplication is a binary operation that produces a matrix (mathematics), matrix from two matrices. For matrix multiplication, the number of columns in the first matrix must be equal to the n ...
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
exponent
In mathematics, exponentiation, denoted , is an operation involving two numbers: the ''base'', , and the ''exponent'' or ''power'', . When is a positive integer, exponentiation corresponds to repeated multiplication of the base: that is, i ...
ial 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
In mathematics, a semiprime is a natural number that is the product of exactly two prime numbers. The two primes in the product may equal each other, so the semiprimes include the squares of prime numbers.
Because there are infinitely many prime n ...
. Next, consider
GL(2,''n''), the
general linear group
In mathematics, the general linear group of degree n is the set of n\times n invertible matrices, together with the operation of ordinary matrix multiplication. This forms a group, because the product of two invertible matrices is again inve ...
of 2×2 matrices with integer elements and
modular arithmetic
In mathematics, modular arithmetic is a system of arithmetic operations for integers, other than the usual ones from elementary arithmetic, where numbers "wrap around" when reaching a certain value, called the modulus. The modern approach to mo ...
mod ''n''. For example, if ''n''=5, we could write:
:
:
This group is chosen because it has large order (for large semiprime ''n''), equal to (''p''
2−1)(''p''
2−''p'')(''q''
2−1)(''q''
2−''q'').
Let
and
be two such matrices from GL(2,''n'') chosen such that
. Choose some natural number ''r'' and compute:
:
:
The public key is
,
,
, and
. The private key is
.
Encryption
The sender begins by generating a random natural number ''s'' and computing:
:
:
:
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
. Each
is encrypted using:
:
Then
and
are sent to the receiver.
Decryption
The receiver recovers the original plaintext matrix
via:
:
:
Security
Recovering the private key
from
is computationally infeasible, at least as hard as finding square roots mod ''n'' (see
quadratic residue
In number theory, an integer ''q'' is a quadratic residue modulo operation, modulo ''n'' if it is Congruence relation, congruent to a Square number, perfect square modulo ''n''; that is, if there exists an integer ''x'' such that
:x^2\equiv q \pm ...
). It could be recovered from
and
if the system
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
of
by solving for
in the following congruence:
:
Observe that a solution exists if for some
and
:
If
is known,
— a multiple of
. Any multiple of
yields
. This presents a fatal weakness for the system, which 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
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''.
{{DEFAULTSORT:Cayley-Purser algorithm
Public-key encryption schemes
Broken cryptography algorithms