List Of Hash Functions
This is a list of hash functions, including cyclic redundancy checks, checksum functions, and cryptographic hash functions. Cyclic redundancy checks Adler-32 is often mistaken for a CRC, but it is not: it is a checksum. Checksums Universal hash function families Non-cryptographic 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 SHA-3 to complement the older SHA-1 and SHA-2. The competition was formally a ... * 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 (mathematics), function that can be used to map data (computing), data of arbitrary size to fixed-size values, though there are some hash functions that support variable-length output. The values returned by a hash function are called ''hash values'', ''hash codes'', (''hash/message'') ''digests'', or simply ''hashes''. The values are usually used to index a fixed-size 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-space-efficient form of data access that avoids the non-constant access time of ordered and unordered lists and s ... [...More Info...] [...Related Items...] OR: [Wikipedia] [Google] [Baidu] |
|
Verhoeff Algorithm
The Verhoeff algorithm is a checksum for error detection first published by Dutch mathematician Jacobus Verhoeff in 1969. It was the first decimal check digit algorithm which detects all single-digit errors, and all transposition errors involving two adjacent digits, which was at the time thought impossible with such a code. The method was independently discovered by H. Peter Gumm in 1985, this time including a formal proof and an extension to any base. Goals Verhoeff had the goal of finding a decimal code—one where the check digit is a single decimal digit—which detected all single-digit errors and all transpositions of adjacent digits. At the time, supposed proofs of the nonexistence of these codes made base-11 codes popular, for example in the ISBN check digit. His goals were also practical, and he based the evaluation of different codes on live data from the Dutch postal system, using a weighted points system for different kinds of error. The analysis broke the errors ... [...More Info...] [...Related Items...] OR: [Wikipedia] [Google] [Baidu] |
|
PJW Hash Function
PJW hash function is a non-cryptographic hash function created by Peter J. Weinberger of AT&T Bell Labs. Other versions A variant of PJW hash had been used to create ElfHash or Elf64 hash that is used in Unix object files with ELF format. Allen Holub has created a portable version of PJW hash algorithm that had a bug and ended up in several textbooks, as the author of one of these textbooks later admitted. Algorithm PJW hash algorithm involves shifting the previous hash and adding the current byte followed by moving the high bits: algorithm PJW_hash(s) is uint h := 0 bits := uint size in bits for i := 1 to , S, do h := h bits * 3/4) h := h & ~high return h Implementation Below is the algorithm implementation used in Unix ELF format: unsigned long ElfHash(const unsigned char *s) This C code incorrectly assumes that long is a 32-bit data type. When long is wider than 32 bits, as it is on many 64-bit In computer architectur ... [...More Info...] [...Related Items...] OR: [Wikipedia] [Google] [Baidu] |
|
Daniel J
Daniel commonly refers to: * Daniel (given name), a masculine given name and a surname * List of people named Daniel * List of people with surname Daniel * Daniel (biblical figure) * Book of Daniel, a biblical apocalypse, "an account of the activities and visions of Daniel" Daniel may also refer to: Arts and entertainment Literature * ''Daniel'' (Old English poem), an adaptation of the Book of Daniel * ''Daniel'', a 2006 novel by Richard Adams * ''Daniel'' (Mankell novel), 2007 Music * "Daniel" (Bat for Lashes song) (2009) * "Daniel" (Elton John song) (1973) * "Daniel", a song from '' Beautiful Creature'' by Juliana Hatfield * ''Daniel'' (album), a 2024 album by Real Estate Other arts and entertainment * ''Daniel'' (1983 film), by Sidney Lumet * ''Daniel'' (2019 film), a Danish film * Daniel (comics), a character in the ''Endless'' series Businesses * Daniel (department store), in the United Kingdom * H & R Daniel, a producer of English porcelain between 1827 and 1 ... [...More Info...] [...Related Items...] OR: [Wikipedia] [Google] [Baidu] |
|
Jenkins Hash Function
The Jenkins hash functions are a family of non-cryptographic hash functions for multi-byte 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 3-byte 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 output hash ... [...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 Kiem-Phong 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 Noll, they named it the ''Fowler/Noll/Vo'' or FNV hash. Overview The current versions are FNV-1 and FNV-1a, which supply a means of creating non-zero ''FNV offset basis''. FNV currently comes in 32-, 64-, 128-, 256-, 512-, and 1024-bit 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. ... [...More Info...] [...Related Items...] OR: [Wikipedia] [Google] [Baidu] |
|
![]() |
Rolling Hash
Rolling is a type of motion that combines rotation (commonly, of an axially symmetric object) and translation of that object with respect to a surface (either one or the other moves), such that, if ideal conditions exist, the two are in contact with each other without sliding. Rolling where there is no sliding is referred to as ''pure rolling''. By definition, there is no sliding when there is a frame of reference in which all points of contact on the rolling object have the same velocity as their counterparts on the surface on which the object rolls; in particular, for a frame of reference in which the rolling plane is at rest (see animation), the instantaneous velocity of all the points of contact (for instance, a generating line segment of a cylinder) of the rolling object is zero. In practice, due to small deformations near the contact area, some sliding and energy dissipation occurs. Nevertheless, the resulting rolling resistance is much lower than sliding friction, and ... [...More Info...] [...Related Items...] OR: [Wikipedia] [Google] [Baidu] |
Pearson Hashing
Pearson hashing is a non-cryptographic hash function designed for fast execution on processors with 8-bit 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 256-byte lookup table containing a permutation of the values 0 through 255. This hash function is a CBC-MAC that uses an 8-bit substitution cipher implemented via the substitution table. An 8-bit 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 resource-limited 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 ... [...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. 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, i.e. for each combination of a piece and a position (in the game of chess, that's 6 pieces × 2 colors × 64 board positions, with a constant number of additional bitstrings for ca ... [...More Info...] [...Related Items...] OR: [Wikipedia] [Google] [Baidu] |
|
Universal One-way Hash Function
In cryptography a universal one-way hash function (UOWHF, often pronounced "woof") is a type of universal hash function of particular importance to cryptography Cryptography, or cryptology (from "hidden, secret"; and ''graphein'', "to write", or ''-logy, -logia'', "study", respectively), is the practice and study of techniques for secure communication in the presence of Adversary (cryptography), .... UOWHFs are proposed as an alternative to collision-resistant hash functions (CRHFs). CRHFs have a strong collision-resistance 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 ... [...More Info...] [...Related Items...] OR: [Wikipedia] [Google] [Baidu] |
|
![]() |
Tabulation Hashing
A table is an arrangement of information or data, typically in rows and columns, or possibly in a more complex structure. Tables are widely used in communication, research, and data analysis. Tables appear in print media, handwritten notes, computer software, architectural ornamentation, traffic signs, and many other places. The precise conventions and terminology for describing tables vary depending on the context. Further, tables differ significantly in variety, structure, flexibility, notation, representation and use. Information or data conveyed in table form is said to be in tabular format (adjective). In books and technical articles, tables are typically presented apart from the main text in numbered and captioned floating blocks. Basic description A table consists of an ordered arrangement of rows and columns. This is a simplified description of the most basic kind of table. Certain considerations follow from this simplified description: * the term row has several ... [...More Info...] [...Related Items...] OR: [Wikipedia] [Google] [Baidu] |
Rabin Fingerprint
The Rabin fingerprinting scheme (aka Polynomial fingerprinting) 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''''n''-1, 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 shift-resistant blocks.Athicha Muthitacharoen, Benjie Chen, and David Mazières"A Low-bandwidth Network File System"/ref> The basic idea is that the filesystem compu ... [...More Info...] [...Related Items...] OR: [Wikipedia] [Google] [Baidu] |