List Of Hash Functions
This is a list of hash functions, including cyclic redundancy checks, checksum functions, and cryptographic hash functions. Cyclic redundancy checks Adler32 is often mistaken for a CRC, but it is not: it is a checksum. Checksums Universal hash function families Noncryptographic hash functions Keyed cryptographic hash functions Unkeyed cryptographic hash functions See also *Hash function security summary * Secure Hash Algorithms *NIST hash function competition The NIST hash function competition was an open competition held by the US National Institute of Standards and Technology (NIST) to develop a new hash function called SHA3 to complement the older SHA1 and SHA2. The competition was formally an ... * Key derivation functions (category) References {{DEFAULTSORT:Hash functions *List Checksum algorithms Cryptography lists and comparisons ... [...More Info...] [...Related Items...] OR: [Wikipedia] [Google] [Baidu] 

Hash Function
A hash function is any function that can be used to map data of arbitrary size to fixedsize values. The values returned by a hash function are called ''hash values'', ''hash codes'', ''digests'', or simply ''hashes''. The values are usually used to index a fixedsize table called a ''hash table''. Use of a hash function to index a hash table is called ''hashing'' or ''scatter storage addressing''. Hash functions and their associated hash tables are used in data storage and retrieval applications to access data in a small and nearly constant time per retrieval. They require an amount of storage space only fractionally greater than the total space required for the data or records themselves. Hashing is a computationally and storage spaceefficient form of data access that avoids the nonconstant access time of ordered and unordered lists and structured trees, and the often exponential storage requirements of direct access of state spaces of large or variablelength keys. Use o ... [...More Info...] [...Related Items...] OR: [Wikipedia] [Google] [Baidu] 

Luhn Algorithm
The Luhn algorithm or Luhn formula, also known as the " modulus 10" or "mod 10" algorithm, named after its creator, IBM scientist Hans Peter Luhn, is a simple checksum formula used to validate a variety of identification numbers, such as credit card numbers, IMEI numbers, National Provider Identifier numbers in the United States, Canadian Social Insurance Numbers, Israeli ID Numbers, South African ID Numbers, Swedish National identification numbers, Swedish Corporate Identity Numbers (OrgNr), Greek Social Security Numbers (ΑΜΚΑ), SIM card numbers, European patent application number and survey codes appearing on McDonald's, Taco Bell, and Tractor Supply Co. receipts. It is described in U.S. Patent No. 2,950,048, granted on August 23, 1960. The algorithm is in the public domain and is in wide use today. It is specified in ISO/IEC 78121. It is not intended to be a cryptographically secure hash function; it was designed to protect against accidental errors, not malici ... [...More Info...] [...Related Items...] OR: [Wikipedia] [Google] [Baidu] 

Daniel J
Daniel is a masculine given name and a surname of Hebrew origin. It means "God is my judge"Hanks, Hardcastle and Hodges, ''Oxford Dictionary of First Names'', Oxford University Press, 2nd edition, , p. 68. (cf. Gabriel—"God is my strength"), and derives from two early biblical figures, primary among them Daniel from the Book of Daniel. It is a common given name for males, and is also used as a surname. It is also the basis for various derived given names and surnames. Background The name evolved into over 100 different spellings in countries around the world. Nicknames ( Dan, Danny) are common in both English and Hebrew; "Dan" may also be a complete given name rather than a nickname. The name "Daniil" (Даниил) is common in Russia. Feminine versions ( Danielle, Danièle, Daniela, Daniella, Dani, Danitza) are prevalent as well. It has been particularly wellused in Ireland. The Dutch names "Daan" and "Daniël" are also variations of Daniel. A related surname d ... [...More Info...] [...Related Items...] OR: [Wikipedia] [Google] [Baidu] 

Jenkins Hash Function
The Jenkins hash functions are a collection of (noncryptographic) hash functions for multibyte keys designed by Bob Jenkins. The first one was formally published in 1997. The hash functions one_at_a_time Jenkins's one_at_a_time hash is adapted here from a WWW page by Bob Jenkins, which is an expanded version of his '' Dr. Dobb's'' article. It was originally created to fulfill certain requirements described by Colin Plumb, a cryptographer, but was ultimately not put to use. uint32_t jenkins_one_at_a_time_hash(const uint8_t* key, size_t length) Sample hash values for one_at_a_time hash function. one_at_a_time("a", 1) 0xca2e9442 one_at_a_time("The quick brown fox jumps over the lazy dog", 43) 0x519e91f5 The avalanche behavior of this hash is shown on the right. Each of the 24 rows corresponds to a single bit in the 3byte input key, and each of the 32 columns corresponds to a bit in the output hash. Colors are chosen by how well the input key bit affects the given outp ... [...More Info...] [...Related Items...] OR: [Wikipedia] [Google] [Baidu] 

Fowler–Noll–Vo Hash Function
Fowler–Noll–Vo (or FNV) is a non cryptographic hash function created by Glenn Fowler, Landon Curt Noll, and KiemPhong Vo. The basis of the FNV hash algorithm was taken from an idea sent as reviewer comments to the IEEE POSIX P1003.2 committee by Glenn Fowler and Phong Vo in 1991. In a subsequent ballot round, Landon Curt Noll improved on their algorithm. In an email message to Landon, they named it the ''Fowler/Noll/Vo'' or FNV hash. Overview The current versions are FNV1 and FNV1a, which supply a means of creating nonzero FNV offset basis. FNV currently comes in 32, 64, 128, 256, 512, and 1024bit variants. For pure FNV implementations, this is determined solely by the availability of FNV primes for the desired bit length; however, the FNV webpage discusses methods of adapting one of the above versions to a smaller length that may or may not be a power of two. The FNV hash algorithms and reference FNV source code have been released into the public domain. The Py ... [...More Info...] [...Related Items...] OR: [Wikipedia] [Google] [Baidu] 

Rolling Hash
A rolling hash (also known as recursive hashing or rolling checksum) is a hash function where the input is hashed in a window that moves through the input. A few hash functions allow a rolling hash to be computed very quickly—the new hash value is rapidly calculated given only the old hash value, the old value removed from the window, and the new value added to the window—similar to the way a moving average function can be computed much more quickly than other lowpass filters. One of the main applications is the Rabin–Karp string search algorithm, which uses the rolling hash described below. Another popular application is the rsync program, which uses a checksum based on Mark Adler's adler32 as its rolling hash. Low Bandwidth Network Filesystem (LBFS) uses a Rabin fingerprint as its rolling hash. FastCDC (Fast ContentDefined Chunking) uses a computeefficient Gear fingerprint as its rolling hash. At best, rolling hash values are pairwise independentDaniel Lemire, Owen ... [...More Info...] [...Related Items...] OR: [Wikipedia] [Google] [Baidu] 

Pearson Hashing
Pearson hashing is a hash function designed for fast execution on processors with 8bit registers. Given an input consisting of any number of bytes, it produces as output a single byte that is strongly dependent on every byte of the input. Its implementation requires only a few instructions, plus a 256byte lookup table containing a permutation of the values 0 through 255. This hash function is a CBCMAC that uses an 8bit substitution cipher implemented via the substitution table. An 8bit cipher has negligible cryptographic security, so the Pearson hash function is not cryptographically strong, but it is useful for implementing hash tables or as a data integrity check code, for which purposes it offers these benefits: * It is extremely simple. * It executes quickly on resourcelimited processors. * There is no simple class of inputs for which collisions (identical outputs) are especially likely. * Given a small, privileged set of inputs (e.g., reserved words for a compiler), t ... [...More Info...] [...Related Items...] OR: [Wikipedia] [Google] [Baidu] 

Zobrist Hashing
Zobrist hashing (also referred to as Zobrist keys or Zobrist signatures Bruce Moreland/ref>) is a hash function construction used in computer programs that play abstract board games, such as chess and Go, to implement transposition tables, a special kind of hash table that is indexed by a board position and used to avoid analyzing the same position more than once. Zobrist hashing is named for its inventor, Albert Lindsey Zobrist.Albert Lindsey Zobrist''A New Hashing Method with Application for Game Playing'' Tech. Rep. 88, Computer Sciences Department, University of Wisconsin, Madison, Wisconsin, (1969). It has also been applied as a method for recognizing substitutional alloy configurations in simulations of crystalline materials. Zobrist hashing is the first known instance of the generally useful underlying technique called tabulation hashing. Calculation of the hash value Zobrist hashing starts by randomly generating bitstrings for each possible element of a board game, ... [...More Info...] [...Related Items...] OR: [Wikipedia] [Google] [Baidu] 

Universal Oneway Hash Function
In cryptography a universal oneway hash function (UOWHF, often pronounced "woof"), is a type of universal hash function of particular importance to cryptography. UOWHF's are proposed as an alternative to collisionresistant hash functions (CRHFs). CRHFs have a strong collisionresistance property: that it is hard, given randomly chosen hash function parameters, to find any collision of the hash function. In contrast, UOWHFs require that it be hard to find a collision where one preimage is chosen independently of the hash function parameters. The primitive was suggested by Moni Naor and Moti Yung and is also known as "target collision resistant" hash functions; it was employed to construct general digital signature schemes without trapdoor functions, and also within chosenciphertext secure public key encryption schemes. The UOWHF family contains a finite number of hash functions with each having the same probability of being used. Definition The security property of a UOWHF is ... [...More Info...] [...Related Items...] OR: [Wikipedia] [Google] [Baidu] 

Tabulation Hashing
In computer science, tabulation hashing is a method for constructing universal families of hash functions by combining table lookup with exclusive or operations. It was first studied in the form of Zobrist hashing for computer games; later work by Carter and Wegman extended this method to arbitrary fixedlength keys. Generalizations of tabulation hashing have also been developed that can handle variablelength keys such as text strings. Despite its simplicity, tabulation hashing has strong theoretical properties that distinguish it from some other hash functions. In particular, it is 3independent: every 3tuple of keys is equally likely to be mapped to any 3tuple of hash values. However, it is not 4independent. More sophisticated but slower variants of tabulation hashing extend the method to higher degrees of independence. Because of its high degree of independence, tabulation hashing is usable with hashing methods that require a highquality hash function, including hopsco ... [...More Info...] [...Related Items...] OR: [Wikipedia] [Google] [Baidu] 

Rabin Fingerprint
The Rabin fingerprinting scheme is a method for implementing fingerprints using polynomials over a finite field. It was proposed by Michael O. Rabin. Scheme Given an ''n''bit message ''m''0,...,''m''n1, we view it as a polynomial of degree ''n''1 over the finite field GF(2). : f(x) = m_0 + m_1 x + \ldots + m_ x^ We then pick a random irreducible polynomial of degree ''k'' over GF(2), and we define the fingerprint of the message ''m'' to be the remainder r(x) after division of f(x) by p(x) over GF(2) which can be viewed as a polynomial of degree or as a ''k''bit number. Applications Many implementations of the Rabin–Karp algorithm internally use Rabin fingerprints. The ''Low Bandwidth Network Filesystem'' (LBFS) from MIT uses Rabin fingerprints to implement variable size shiftresistant blocks.Athicha Muthitacharoen, Benjie Chen, and David Mazières"A Lowbandwidth Network File System"/ref> The basic idea is that the filesystem computes the cryptographic hash of each bl ... [...More Info...] [...Related Items...] OR: [Wikipedia] [Google] [Baidu] 

Binary Operation
In mathematics, a binary operation or dyadic operation is a rule for combining two elements (called operands) to produce another element. More formally, a binary operation is an operation of arity two. More specifically, an internal binary operation ''on a set'' is a binary operation whose two domains and the codomain are the same set. Examples include the familiar arithmetic operations of addition, subtraction, and multiplication. Other examples are readily found in different areas of mathematics, such as vector addition, matrix multiplication, and conjugation in groups. An operation of arity two that involves several sets is sometimes also called a ''binary operation''. For example, scalar multiplication of vector spaces takes a scalar and a vector to produce a vector, and scalar product takes two vectors to produce a scalar. Such binary operations may be called simply binary functions. Binary operations are the keystone of most algebraic structures that are studie ... [...More Info...] [...Related Items...] OR: [Wikipedia] [Google] [Baidu] 