Inversive Congruential Generator
   HOME
*





Inversive Congruential Generator
Inversive congruential generators are a type of nonlinear congruential pseudorandom number generator, which use the modular multiplicative inverse (if it exists) to generate the next number in a sequence. The standard formula for an inversive congruential generator, modulo some prime ''q'' is: : x_0 = \text, : x_ = \begin (ax_i^ + c) \bmod q & \text x_i \ne 0, \\ c & \text x_i = 0. \end Such a generator is denoted symbolically as and is said to be an ICG with parameters ''q'', ''a'', ''c'' and seed ''seed''. Period The sequence (x_n)_ must have x_i = x_j after finitely many steps, and since the next element depends only on its direct predecessor, also x_ = x_ etc. The maximum possible period for the modulus ''q'' is ''q'' itself, i.e. the sequence includes every value from 0 to ''q'' − 1 before repeating. A sufficient condition for the sequence to have the maximum possible period is to choose ''a'' and ''c'' such that the polynomial f(x) = x^2 - cx - a \in \mathbb F_q /math> ( ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Pseudorandom Number Generator
A pseudorandom number generator (PRNG), also known as a deterministic random bit generator (DRBG), is an algorithm for generating a sequence of numbers whose properties approximate the properties of sequences of random numbers. The PRNG-generated sequence is not truly random, because it is completely determined by an initial value, called the PRNG's ''seed'' (which may include truly random values). Although sequences that are closer to truly random can be generated using hardware random number generators, ''pseudorandom number generators'' are important in practice for their speed in number generation and their reproducibility. PRNGs are central in applications such as simulations (e.g. for the Monte Carlo method), electronic games (e.g. for procedural generation), and cryptography. Cryptographic applications require the output not to be predictable from earlier outputs, and more elaborate algorithms, which do not inherit the linearity of simpler PRNGs, are needed. Good statist ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Modular Multiplicative Inverse
In mathematics, particularly in the area of arithmetic, a modular multiplicative inverse of an integer is an integer such that the product is congruent to 1 with respect to the modulus .. In the standard notation of modular arithmetic this congruence is written as :ax \equiv 1 \pmod, which is the shorthand way of writing the statement that divides (evenly) the quantity , or, put another way, the remainder after dividing by the integer is 1. If does have an inverse modulo , then there are an infinite number of solutions of this congruence, which form a congruence class with respect to this modulus. Furthermore, any integer that is congruent to (i.e., in 's congruence class) has any element of 's congruence class as a modular multiplicative inverse. Using the notation of \overline to indicate the congruence class containing , this can be expressed by saying that the ''modulo multiplicative inverse'' of the congruence class \overline is the congruence class \overline such that: : ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Periodic Function
A periodic function is a function that repeats its values at regular intervals. For example, the trigonometric functions, which repeat at intervals of 2\pi radians, are periodic functions. Periodic functions are used throughout science to describe oscillations, waves, and other phenomena that exhibit periodicity. Any function that is not periodic is called aperiodic. Definition A function is said to be periodic if, for some nonzero constant , it is the case that :f(x+P) = f(x) for all values of in the domain. A nonzero constant for which this is the case is called a period of the function. If there exists a least positive constant with this property, it is called the fundamental period (also primitive period, basic period, or prime period.) Often, "the" period of a function is used to mean its fundamental period. A function with period will repeat on intervals of length , and these intervals are sometimes also referred to as periods of the function. Geometrically, a ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

Polynomial
In mathematics, a polynomial is an expression consisting of indeterminates (also called variables) and coefficients, that involves only the operations of addition, subtraction, multiplication, and positive-integer powers of variables. An example of a polynomial of a single indeterminate is . An example with three indeterminates is . Polynomials appear in many areas of mathematics and science. For example, they are used to form polynomial equations, which encode a wide range of problems, from elementary word problems to complicated scientific problems; they are used to define polynomial functions, which appear in settings ranging from basic chemistry and physics to economics and social science; they are used in calculus and numerical analysis to approximate other functions. In advanced mathematics, polynomials are used to construct polynomial rings and algebraic varieties, which are central concepts in algebra and algebraic geometry. Etymology The word ''polynomial'' join ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  




Primitive Polynomial (field Theory)
In finite field theory, a branch of mathematics, a primitive polynomial is the minimal polynomial of a primitive element of the finite field . This means that a polynomial of degree with coefficients in is a ''primitive polynomial'' if it has a root in such that is the entire field . This implies that is a primitive ()-root of unity in . Properties * Because all minimal polynomials are irreducible, all primitive polynomials are also irreducible. * A primitive polynomial must have a non-zero constant term, for otherwise it will be divisible by ''x''. Over GF(2), is a primitive polynomial and all other primitive polynomials have an odd number of terms, since any polynomial mod 2 with an even number of terms is divisible by (it has 1 as a root). * An irreducible polynomial ''F''(''x'') of degree ''m'' over GF(''p''), where ''p'' is prime, is a primitive polynomial if the smallest positive integer ''n'' such that ''F''(''x'') divides is . * Over GF(''p''''m'') t ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

Algorithm
In mathematics and computer science, an algorithm () is a finite sequence of rigorous instructions, typically used to solve a class of specific Computational problem, problems or to perform a computation. Algorithms are used as specifications for performing calculations and data processing. More advanced algorithms can perform automated deductions (referred to as automated reasoning) and use mathematical and logical tests to divert the code execution through various routes (referred to as automated decision-making). Using human characteristics as descriptors of machines in metaphorical ways was already practiced by Alan Turing with terms such as "memory", "search" and "stimulus". In contrast, a Heuristic (computer science), heuristic is an approach to problem solving that may not be fully specified or may not guarantee correct or optimal results, especially in problem domains where there is no well-defined correct or optimal result. As an effective method, an algorithm ca ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

Harald Niederreiter
Harald G. Niederreiter (born June 7, 1944) is an Austrian mathematician known for his work in discrepancy theory, algebraic geometry, quasi-Monte Carlo methods, and cryptography. Education and career Niederreiter was born on June 7, 1944, in Vienna, and grew up in Salzburg... He began studying mathematics at the University of Vienna in 1963, and finished his doctorate there in 1969, with a thesis on discrepancy in compact abelian groups supervised by Edmund Hlawka. He began his academic career as an assistant professor at the University of Vienna, but soon moved to Southern Illinois University. During this period he also visited the University of Illinois at Urbana-Champaign, Institute for Advanced Study, and University of California, Los Angeles. In 1978 he moved again, becoming the head of a new mathematics department at the University of the West Indies in Jamaica. In 1981 he returned to Austria for a post at the Austrian Academy of Sciences, where from 1989 to 2000 he served ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Primitive Element (finite Field)
In field theory, a primitive element of a finite field is a generator of the multiplicative group of the field. In other words, is called a primitive element if it is a primitive th root of unity in ; this means that each non-zero element of can be written as for some integer . If is a prime number, the elements of can be identified with the integers modulo . In this case, a primitive element is also called a primitive root modulo . For example, 2 is a primitive element of the field and , but not of since it generates the cyclic subgroup of order 3; however, 3 is a primitive element of . The minimal polynomial of a primitive element is a primitive polynomial. Properties Number of primitive elements The number of primitive elements in a finite field is , where is Euler's totient function, which counts the number of elements less than or equal to which are relatively prime to . This can be proved by using the theorem that the multiplicative group of a finite fie ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

Stochastic Process
In probability theory and related fields, a stochastic () or random process is a mathematical object usually defined as a family of random variables. Stochastic processes are widely used as mathematical models of systems and phenomena that appear to vary in a random manner. Examples include the growth of a bacterial population, an electrical current fluctuating due to thermal noise, or the movement of a gas molecule. Stochastic processes have applications in many disciplines such as biology, chemistry, ecology, neuroscience, physics, image processing, signal processing, control theory, information theory, computer science, cryptography and telecommunications. Furthermore, seemingly random changes in financial markets have motivated the extensive use of stochastic processes in finance. Applications and the study of phenomena have in turn inspired the proposal of new stochastic processes. Examples of such stochastic processes include the Wiener process or Brownian motion process, ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

Cryptography
Cryptography, or cryptology (from grc, , translit=kryptós "hidden, secret"; and ''graphein'', "to write", or ''-logia'', "study", respectively), is the practice and study of techniques for secure communication in the presence of adversarial behavior. More generally, cryptography is about constructing and analyzing protocols that prevent third parties or the public from reading private messages. Modern cryptography exists at the intersection of the disciplines of mathematics, computer science, information security, electrical engineering, digital signal processing, physics, and others. Core concepts related to information security ( data confidentiality, data integrity, authentication, and non-repudiation) are also central to cryptography. Practical applications of cryptography include electronic commerce, chip-based payment cards, digital currencies, computer passwords, and military communications. Cryptography prior to the modern age was effectively synonymo ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Pseudorandom Number Generator
A pseudorandom number generator (PRNG), also known as a deterministic random bit generator (DRBG), is an algorithm for generating a sequence of numbers whose properties approximate the properties of sequences of random numbers. The PRNG-generated sequence is not truly random, because it is completely determined by an initial value, called the PRNG's ''seed'' (which may include truly random values). Although sequences that are closer to truly random can be generated using hardware random number generators, ''pseudorandom number generators'' are important in practice for their speed in number generation and their reproducibility. PRNGs are central in applications such as simulations (e.g. for the Monte Carlo method), electronic games (e.g. for procedural generation), and cryptography. Cryptographic applications require the output not to be predictable from earlier outputs, and more elaborate algorithms, which do not inherit the linearity of simpler PRNGs, are needed. Good statist ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


List Of Random Number Generators
Random number generators are important in many kinds of technical applications, including physics, engineering or mathematical computer studies (e.g., Monte Carlo simulations), cryptography and gambling (on game servers). This list includes many common types, regardless of quality. Pseudorandom number generators (PRNGs) Whenever using a pseudorandom number generator, keep in mind John von Neumann's dictum "Anyone who considers arithmetical methods of producing random digits is, of course, in a state of sin." The following algorithms are pseudorandom number generators. Cryptographic algorithms Cipher algorithms and cryptographic hashes can be used as very high-quality pseudorandom number generators. However, generally they are considerably slower (typically by a factor 2-10) than fast, non-cryptographic random number generators. These include: * Stream ciphers. Popular choices are Salsa20 or ChaCha (often with the number of rounds reduced to 8 for speed), ISAAC, HC-128 an ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]