Algorithm
•
Computational science
•
Number theory
•
History of number theory
Computational number theory
In mathematics and computer science, computational number theory, also known as algorithmic number theory, is the study of algorithms for performing number theoretic computations. The best known probl...
Computer arithmetic algorithms
•
Number theoretic algorithms
Computer arithmetic algorithms
Number theoretic algorithms
Decision Linear assumption
The Decision Linear (DLIN) assumption is a mathematical assumption used in elliptic curve cryptography. In particular, the DLIN assumption is useful in settings where the decisional Diffie–Hellm...
Diffie–Hellman problem
The Diffie–Hellman problem (DHP) is a mathematical problem first proposed by Whitfield Diffie and Martin Hellman in the context of cryptography. The motivation for this problem is that many security s...
Double dabble
In computer science, the double dabble algorithm is used to convert binary numbers into binary-coded decimal (BCD) notation. It is also known as the shift and add 3 algorithm, and can be implemented u...
Quadratic residuosity problem
The quadratic residuosity problem in computational number theory is the question of distinguishing by calculating the quadratic residues modulo N, where N is a composite number. This is an important c...
Quadratic residuosity problem - Wikipedia
Pollard's rho algorithm for logarithms
Pollard's rho algorithm for logarithms is an algorithm introduced by John Pollard in 1978 for solving the discrete logarithm problem analogous to Pollard's rho algorithm for solving the Integer factor...
Pocklington's algorithm
Pocklington's algorithm is a technique for solving a congruence of the formwhere x and a are integers and a is a quadratic residue.The algorithm is one of the first efficient methods to solve such a c...
Integer square root
In number theory, the integer square root (isqrt) of a positive integer n is the positive integer m which is the greatest integer less than or equal to the square root of n,For example, because and ...
Exponentiation by squaring
In mathematics and computer programming, exponentiating by squaring is a general method for fast computation of large positive integer powers of a number, or more generally of an element of a semigrou...
Tonelli–Shanks algorithm
The Tonelli–Shanks algorithm (referred to by Shanks as the RESSOL algorithm) is used within modular arithmetic to solve a congruence of the formwhere n is a quadratic residue (mod p), and p is an odd ...
Tonelli–Shanks algorithm - Wikipedia
Computational Diffie–Hellman assumption
The computational Diffie–Hellman (CDH assumption) is the assumption that a certain computational problem within a cyclic group is hard.Consider a cyclic group G of order q. The CDH assumption st...
Higher residuosity problem
In cryptography, most public key cryptosystems are founded on problems that are believed to be intractable. The higher residuosity problem (also called the n th-residuosity problem) is one such probl...
Decisional Diffie–Hellman assumption
Pohlig–Hellman algorithm
In number theory, the Pohlig–Hellman algorithm sometimes credited as the Silver–Pohlig–Hellman algorithm is a special-purpose algorithm for computing discrete logarithms in a multiplicative group who...
Integer relation algorithm
An integer relation between a set of real numbers x1, x2, ..., xn is a set of integers a1, a2, ..., an, not all 0, such thatAn integer relation algorithm is an algorithm for finding integer relations....
Lenstra–Lenstra–Lovász lattice basis reduction algorithm
The Lenstra–Lenstra–Lovász (LLL) lattice basis reduction algorithm is a polynomial time lattice reduction algorithm invented by Arjen Lenstra, Hendrik Lenstra and László Lovász in 1982. Given a basis ...
Lenstra–Lenstra–Lovász lattice basis reduction algorithm - Wikipedia
Division algorithm
A division algorithm is an algorithm which, given two integers N and D, computes their quotient and/or remainder, the result of division. Some are applied by hand, while others are employed by digital...
Discrete logarithm records
Discrete logarithm records are the best results achieved to date in solving the discrete logarithm problem, which is the problem of finding solutions x to the equation g = h given elements g...
Lattice reduction
In mathematics, the goal of lattice basis reduction is given an integer lattice basis as input, to find a basis with short, nearly orthogonal vectors. This is realized using different algorithms, who...
Lattice reduction - Wikipedia
Pollard's kangaroo algorithm
In computational number theory and computational algebra, Pollard's kangaroo algorithm (aka Pollard's lambda algorithm, see Naming below) is an algorithm for solving the discrete logarithm problem. T...
Fast Library for Number Theory
The Fast Library for Number Theory (FLINT) is a C library for number theory applications. The two major areas of functionality currently implemented in FLINT are polynomial arithmetic over the integer...
Integer factorization
In number theory, integer factorization is the decomposition of a composite number into a product of smaller integers. If these integers are further restricted to prime numbers, the process is called ...
Table of costs of operations in elliptic curves
Elliptic curve cryptography is a popular form of public key encryption that is based on the mathematical theory of elliptic curves. Points on an elliptic curve can be added and form a group under this...
Table of costs of operations in elliptic curves - Wikipedia
Odlyzko–Schönhage algorithm
Pi algorithms
Itoh-Tsujii inversion algorithm
The Itoh-Tsujii inversion algorithm is used to invert elements in a finite field. It was introduced in 1988 and first used over GF(2) using the normal basis representation of elements, however the al...
Arbitrary-precision arithmetic
In computer science, arbitrary-precision arithmetic, also called bignum arithmetic, multiple precision arithmetic, or sometimes infinite-precision arithmetic, indicates that calculations are performed...
Euclidean algorithm
In mathematics, the Euclidean algorithm, or Euclid's algorithm, is an efficient method for computing the greatest common divisor (GCD) of two numbers, the largest number that divides both of them with...
Euclidean algorithm - Wikipedia
Addition-chain exponentiation
In mathematics and computer science, optimal addition-chain exponentiation is a method of exponentiation by positive integer powers that requires a minimal number of multiplications. It works by creat...