Adlemen Algorithm - the first sub-exponential discrete logarithm algorithm in the residue ring modulo a prime number . The algorithm was proposed by Leonard Max Adleman (born Leonard Adleman - Aidleman ) in 1979 . Leonard Max Adleman ( born Leonard Adleman - Aidleman ; born December 31, 1945 ) is an American computer science theorist , professor of computer science and molecular biology at the University of Southern California . He is known as a co-author of the RSA encryption system (Rivest - Shamir - Adleman, 1977 ) and DNA computing . RSA is widely used in computer security applications, including the HTTPS protocol .
Content
Mathematical apparatus
The reduced residue system modulo m is the set of all numbers of the complete residue system modulo m coprime to m . The reduced residue system modulo m consists of φ ( m ) numbers, where φ (·) is the Euler function . Any φ (m) pairwise incomparable modulo m and mutually prime numbers with this module represent a reduced system of residues. As a reduced system of residues modulo m, we usually take mutually prime numbers from m from 1 to . If a and x runs through the reduced residue system modulo m, then ax also takes the values that form the reduced residue system modulo [1] .
The reduced residue system with multiplication modulo m forms a group called the multiplicative group or the group of invertible elements of the residue ring modulo m , which is denoted by or .
Factorization of a polynomial is a representation of a given polynomial in the form of a product of polynomials of lower degrees.
The basic theorem of algebra states that each polynomial over the field of complex numbers can be represented as a product of linear polynomials, moreover, uniquely up to a constant factor and order of factors.
The opposite of factorization of polynomials is their extension , multiplication of polynomial factors to obtain an “extended” polynomial written as the sum of summands.
Task
Let polynomials be given such that
- - irreducible normalized polynomial of degree
- - generator of a multiplicative group of degree less
- - generator of a multiplicative group of degree less
It is necessary to find (if such exists) a natural number satisfying comparison
Algorithm Description
Stage 1. Put
2 stage. Find a lot irreducible normalized polynomials degree no higher and number them with numbers from before Where
3 stage. Put Randomly select numbers and such that
and calculate the polynomial such that
4th stage. If the polynomial obtained is the product of all irreducible polynomials out of many i.e
Where - senior coefficient (to factorize unitary polynomials over a finite field, you can use, for example, the Berlekamp algorithm ), then put Otherwise, we choose other random and and repeat steps 3 and 4. Then set and repeat steps 3 and 4. Repeat until Thus we get the sets , and for
5 stage. We calculate such that GCD and
6 stage. Calculate the number such that
7th stage. If GCD then we go to step 3 and pick up new sets , and for Otherwise, calculate the numbers and polynomial such that
-
- {\ displaystyle s \ equiv \ alpha ^ {k} \ beta ^ {l} {\ pmod {f}},}
- {\ displaystyle s \ equiv \ alpha ^ {k} \ beta ^ {l} {\ pmod {f}},}
8 stage. We calculate the desired number
Another version of the algorithm
Source data
Let a comparison be given
| ((one)) |
It is necessary to find a natural number x satisfying the comparison (1).
Algorithm Description
Stage 1. Form a factor base consisting of all primes q :
2 stage. Using enumeration, find natural numbers such that
i.e laid out on a factor basis. It follows that
| ((2)) |
3 stage. Having collected a lot of relations (2), solve the resulting system of linear equations for unknown discrete logarithms of the elements of the factor base ( )
4th stage. Using some enumeration, find one value of r for which
Where - prime numbers of "average" size, that is where - also some subexponential boundary,
5 stage. Using calculations similar to steps 2 and 3, find discrete logarithms .
6 stage. Determine the desired discrete logarithm:
Computational complexity
Adleman's algorithm has a heuristic complexity estimate arithmetic operations where Is some constant. In practice, it is not effective enough.
Applications
The discrete logarithm problem is one of the main tasks on which public key cryptography is based.
Discrete Logarithm
Discrete Logarithm (DLOG) - Function Inversion Problem in some finite multiplicative group .
Most often, the discrete logarithm problem is considered in the multiplicative group of residue rings or a finite field , as well as in the group of points of an elliptic curve above a finite field. Effective algorithms for solving the discrete logarithm problem are generally unknown.
For given g and a, the solution x of the equation is called the discrete logarithm of the element a at the base g . In the case when G is a multiplicative group of the residue ring modulo m , the solution is also called the index of the number a along the base g . The base number index a is guaranteed to exist if g is a primitive root modulo m .
Public Key Cryptography
A public key cryptographic system (or asymmetric encryption , asymmetric cipher ) is an encryption and / or electronic signature (ES) system in which the public key is transmitted over an open (i.e., insecure, observable) channel and is used to verify ES and for encryption messages. To generate the electronic signature and to decrypt the message, the private key is used [2] . Public key cryptographic systems are now widely used in various network protocols , in particular, in the TLS protocols and its predecessor SSL (underlying HTTPS ), in SSH . Also used in PGP , S / MIME. Classical cryptographic schemes based on it are the Diffie-Hellman common key generation scheme, El-Gamal electronic signature scheme, the Massey-Omura cryptosystem for transmitting messages. Their cryptographic strength is based on the supposedly high computational complexity of the exponential function .
Diffie-Hellman Protocol
The Diffie-Hellman Protocol ( Diffie-Hellman , DH ) is a cryptographic protocol that allows two or more parties to obtain a shared secret key using an unprotected communication channel. The received key is used to encrypt further exchanges using symmetric encryption algorithms.
The open key distribution scheme proposed by Diffie and Hellman made a real revolution in the encryption world, as it removed the main problem of classical cryptography - the problem of key distribution.
In its pure form, the Diffie-Hellman algorithm is vulnerable to data modification in the communication channel, including the Man in the Middle attack, therefore, schemes using it use additional methods of one-way or two-way authentication.
El Gamal Scheme
The Elgamal scheme is an open-key cryptosystem based on the difficulty of computing discrete logarithms in a finite field . The cryptosystem includes an encryption algorithm and a digital signature algorithm. The El-Gamal scheme is the basis of the former standards of electronic digital signature in the USA ( DSA ) and Russia ( GOST R 34.10-94 ).
The scheme was proposed by Taher El-Gamal in 1985 . [3] El-Gamal developed one of the variants of the Diffie-Hellman algorithm . He improved the Diffie-Hellman system and obtained two algorithms that were used for encryption and for authentication. Unlike RSA, the El-Gamal algorithm was not patented and, therefore, became a cheaper alternative, since it did not require payment of license fees. It is believed that the algorithm is subject to the Diffie-Hellman patent.
Notes
- ↑ Buchstaff, A.A. Number Theory. - M.: Education, 1966 .-- 385 p.
- ↑ Bruce Schneier. Applied cryptography. 2nd ed. Protocols, algorithms and source codes in the C language. Chapter 2.7 Digital Signatures and Encryption.
- ↑ Taher ElGamal. A Public-Key Cryptosystem and a Signature Scheme Based on Discrete Logarithms (English) // IEEE Transactions on Information Theory : journal. - 1985. - Vol. 31 , no. 4 . - P. 469-472 . - DOI : 10.1109 / TIT.1985.1057074 .
Literature
- Leonard M. Adleman, Jonathan Demarrais. A subexponential algorithm for discrete logarithms over all finite fields (English) // Mathematics of computation. - 1993.
- Vasilenko O.N. Number-theoretic algorithms in cryptography (Russian) . - 2003. (unavailable link)
- Coppersmith D. Fast evaluation of discrete logarithms in fields of characteristic two. - 1984.