Knowledge

BLAKE (hash function)

Source 📝

222:σ = 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 σ = 14 10 4 8 9 15 13 6 1 12 0 2 11 7 5 3 σ = 11 8 12 0 5 2 15 13 10 14 3 6 7 1 9 4 σ = 7 9 3 1 13 12 11 14 2 6 5 10 4 0 15 8 σ = 9 0 5 7 2 4 10 15 14 1 11 12 6 8 3 13 σ = 2 12 6 10 0 11 8 3 4 13 7 5 15 14 1 9 σ = 12 5 1 15 14 13 4 10 0 7 6 3 9 2 8 11 σ = 13 11 7 14 12 1 3 9 5 0 15 4 8 6 2 10 σ = 6 15 14 9 11 3 0 8 12 2 13 7 1 4 10 5 σ = 10 2 8 4 7 6 1 5 15 11 9 14 3 12 13 0 3685: 212:, BLAKE comes in two variants: one that uses 32-bit words, used for computing hashes up to 256 bits long, and one that uses 64-bit words, used for computing hashes up to 512 bits long. The core block transformation combines 16 words of input with 16 working variables, but only 8 words (256 or 512 bits) are preserved between blocks. 296:
Throughout the NIST hash function competition, entrants are permitted to "tweak" their algorithms to address issues that are discovered. Changes that have been made to BLAKE are: the number of rounds was increased from 10/14 to 14/16. This is to be more conservative about security while still being
1992:
BLAKE3 is designed to be as fast as possible. It is consistently a few times faster than BLAKE2. The BLAKE3 compression function is closely based on that of BLAKE2s, with the biggest difference being that the number of rounds is reduced from 10 to 7, a change based on the assumption that current
285:"BLAKE reuses the permutation of the ChaCha stream cipher with rotations done in the opposite directions. Some have suspected an advanced optimization, but in fact it originates from a typo in the original BLAKE specifications", Jean-Philippe Aumasson explains in his "Crypto Dictionary". 469:
BLAKE2 removes addition of constants to message words from BLAKE round function, changes two rotation constants, simplifies padding, adds parameter block that is XOR'ed with initialization vectors, and reduces the number of rounds from 16 to 12 for
504:(XOFs). Whereas BLAKE2 is limited to 64-byte digests, BLAKE2X allows for digests of up to 256 GiB. BLAKE2X is itself not an instance of a hash function, and must be based on an actual BLAKE2 instance. An example of a BLAKE2X instance could be 515:
BLAKE2b and BLAKE2s are specified in RFC 7693. Optional features using the parameter block (salting, personalized hashes, tree hashing, et cetera), are not specified, and thus neither is support for BLAKE2bp, BLAKE2sp, or BLAKE2X.
481:
BLAKE2 supports keying, salting, personalization, and hash tree modes, and can output digests from 1 up to 64 bytes for BLAKE2b, or up to 32 bytes for BLAKE2s. There are also parallel versions designed for increased performance on
190:
by Jean-Philippe Aumasson, Luca Henzen, Willi Meier, and Raphael C.-W. Phan. In 2008, there were 51 entries. BLAKE made it to the final round consisting of five candidates but lost to
1668: 462:
BLAKE2b is faster than MD5, SHA-1, SHA-2, and SHA-3, on 64-bit x86-64 and ARM architectures. BLAKE2 provides better security than SHA-2 and similar to that of SHA-3: immunity to
1993:
cryptography is too conservative. In addition to providing parallelism, the Merkle tree format also allows for verified streaming (on-the-fly verifying) and incremental updates.
151:
size. ChaCha operates on a 4×4 array of words. BLAKE repeatedly combines an 8-word hash value with 16 message words, truncating the ChaCha result to obtain the next hash value.
288:
The 64-bit version (which does not exist in ChaCha) is identical, but the rotation amounts are 32, 25, 16 and 11, respectively, and the number of rounds is increased to 16.
1695:(in order to support the RAR archive format version 5) can generate the BLAKE2sp signature for each file in the Explorer shell via "CRC SHA" context menu, and choosing '*' 1741: 1303:
function, and mixes two 8-byte words from the message into the hash state. In most implementations this function would be written inline, or as an inlined function.
1753: 3665: 3495: 2049: 3728: 2445: 3348: 1969:
structure, so it supports a practically unlimited degree of parallelism (both SIMD and multithreading) given long enough input. The official
3268: 2656: 1747: 2685: 1698: 1619:= ab6b007747d8068c02e25a6008db8a77c218d94f3b40d2291a7dc8a62090a744c082ea27af01521a102e42f480a31e9844053f456b4b41e8aa78bbe5c12957bb 1611:= a8add4bdddfd93e4877d2746e62817b116364a1fa7bc148d95090bc7333b3673f82401cf7aa2e4cb1ecd90296e3f14cb5413f8ed77be73045b13914cdcd6a918 1598:= 786a02f742015903c6c6fd852552d272912f4740e15847618a86e217f71f5419d25e1031afee585313896444934eb04b903a685b1448b755d56f701afe9be2ce 344:= a701c2a1f9baabd8b1db6b75aee096900276f0b86dc15d247ecc03937b370324a16a4ffc0c3a85cd63229cfa15c15f4ba6d46ae2e849ed6335e9ff43b764198a 336:= 1f7e26f63b6ad25a0896fd978fd050a1766391d2fd0471a77afb975e5034b7ad2d9ccf8dfb47abbbe656e1b82fbc634ba42ce186e8dc5e1ce09a885d41f43451 323:= a8cfbbd73726062df0c6864dda65defe58ef0cc52a5625090fa17601e1eecd1b628e94f396ae402a00acc9eab77b4d4c2e852aaaa25a636d80af3fc7913ef5b8 3723: 2500: 1938:
is a cryptographic hash function based on Bao and BLAKE2, created by Jack O'Connor, Jean-Philippe Aumasson, Samuel Neves, and
3713: 3284: 3718: 3045: 2570:"This work is released into the public domain with CC0 1.0. Alternatively, it is licensed under the Apache License 2.0" 3212: 3341: 2352: 2018: 1791:
In addition to the reference implementation, the following cryptography libraries provide implementations of BLAKE2:
1773: 528:
by taking the first 64 bits of the fractional parts of the positive square roots of the first eight prime numbers.
2649: 2172: 443:
algorithms in applications requiring high performance in software. BLAKE2 was announced on December 21, 2012. A
3544: 3253: 2738: 2690: 187: 62: 2053: 3040: 3733: 3334: 3258: 1958: 1800: 1681:
archive format version 5 supports an optional 256-bit BLAKE2sp file checksum instead of the default 32-bit
1632: 452: 148: 3660: 3615: 3428: 3027: 2669: 2665: 2427: 2370: 1970: 1892: 1795: 525: 391: 125: 74: 3539: 2642: 2388: 1950: 501: 347:(In this example 266 matching bits out of 512 is about 52% due to the random nature of the avalanche.) 1965:), in contrast to BLAKE and BLAKE2, which are algorithm families with multiple variants. BLAKE3 has a 3655: 2923: 2264: 1735: 1601:
Changing a single bit causes each bit in the output to change with 50% probability, demonstrating an
863:
function takes a full 128-byte chunk of the input message and mixes it into the ongoing state array:
508:, which would be a BLAKE2X version based on BLAKE2b producing 16,777,216-byte digests (or exactly 16 326:
Changing a single bit causes each bit in the output to change with 50% probability, demonstrating an
2477: 3645: 3635: 3490: 3263: 3099: 2798: 2793: 1974: 1594:= b32811423377f52d7862286ee1a72ee540524380fda1724a6f25d7978c6fd3244a6caf0498812673c5e05ef583825100 524:
BLAKE2b uses an initialization vector that is the same as the IV used by SHA-512. These values are
444: 319:= c6cbd89c926ab525c242e6621f2f5fa73aa4afe3d9e24aed727faaadd6af38b620bdb623dd2b4788b1c8086984af8706 605:
for the BLAKE2b algorithm. The BLAKE2b algorithm uses 8-byte (UInt64) words, and 128-byte chunks.
431:
is a cryptographic hash function based on BLAKE, created by Jean-Philippe Aumasson, Samuel Neves,
225:
The core operation, equivalent to ChaCha's quarter round, operates on a 4-word column or diagonal
3640: 3630: 3433: 3393: 3386: 3376: 3371: 3186: 3006: 2501:"An earlier version of Bao specified its own custom tree mode, which eventually grew into BLAKE3" 2299: 1954: 1939: 1851: 1767: 1730: 1721: 463: 432: 370: 2228: 3381: 3294: 2680: 1729:, a cryptocurrency, uses BLAKE2b in the proof of work, for hashing digital signatures and as a 17: 2246: 1756:, a cryptocurrency, uses BLAKE2b256 as a subroutine of its hashing algorithm called Autolykos. 3688: 3534: 3480: 3309: 2959: 2913: 2803: 2761: 2126:
Aumasson, Jean-Philippe; Neves, Samuel; Wilcox-O’Hearn, Zooko; Winnerlein, Christian (2013).
1726: 215:
It uses a table of 16 constant words (the leading 512 or 1024 bits of the fractional part of
2569: 3650: 3574: 2979: 2883: 2833: 2808: 2186: 1912: 483: 456: 401: 94: 1750:, uses BLAKE2b as its hashing algorithm for the purpose of PCI compliant PCD tokenization. 8: 3413: 3304: 3181: 3130: 3069: 2969: 2888: 2848: 2828: 129: 2317: 435:, and Christian Winnerlein. The design goal was to replace the widely used, but broken, 159:
use 32-bit words and produce digest sizes of 256 bits and 224 bits, respectively, while
3519: 3503: 3450: 3238: 3222: 3171: 2756: 1650: 87: 3579: 3569: 3440: 3115: 2428:"Linux 5.17 Random Number Generator Seeing Speed-Ups, Switching From SHA1 To BLAKE2s" 2014: 1943: 1744:, a scalable proof of work blockchain that uses Blake2s_256 as its hashing algorithm. 1678: 3514: 3202: 3156: 2918: 2176: 1602: 327: 167:
use 64-bit words and produce digest sizes of 512 bits and 384 bits, respectively.
3217: 3166: 3161: 2949: 2664: 2335: 1978: 1926: 1815: 415: 133: 108: 2520: 2189: 2166: 3589: 3509: 3470: 3418: 3403: 3207: 2935: 1986: 1638: 2459: 3707: 3670: 3625: 3584: 3564: 3460: 3423: 3398: 3299: 3176: 1717: 1644: 136: 2878: 2406: 3620: 3465: 3455: 3445: 3408: 3357: 1763: 1759: 3599: 3289: 3135: 3064: 3060: 2524: 1966: 1905: 1776:, a Government of India initiative, uses BLAKE-512 to sign API requests. 2590: 2542: 1949:
BLAKE3 is a single algorithm with many desirable features (parallelism,
745:
M ← Pad(Key, 128) || M cBytesRemaining ← cBytesRemaining + 128
3559: 3529: 3524: 3485: 2127: 1805: 602: 396:
up to 64 bytes (BLAKE2b); up to 32 bytes (BLAKE2s); arbitrary (BLAKE2X)
2300:"Igor Pavlov's response to a user request for BLAKE3 support in 7-Zip" 2034: 3549: 2964: 2843: 2181: 2125: 1810: 1782:, a Windows file hashing program has Blake2s as one of its algorithms 1704: 2751: 753:
Compress whole 128-byte chunks of the message, except the last chunk
44:
Jean-Philippe Aumasson, Luca Henzen, Willi Meier, Raphael C.-W. Phan
3594: 3554: 3243: 3140: 3125: 3120: 3110: 3074: 2994: 2908: 2788: 2168:
The BLAKE2 Cryptographic Hash and Message Authentication Code (MAC)
2099: 1779: 1714: 1672: 1662: 1590:= 69217a3079908094e11121d042354a7c1f55b6482ca1a51e1b250dfd1ed0eef9 716:
Each time we Compress we record how many bytes have been compressed
509: 315:= 716f6e863f744b9ac22c97ec7b76ea5f5908bc5b2f67c61510bfc4751384ea7a 2011:
Crypto Dictionary: 500 Tasty Tidbits for the Curious Cryptographer
725:
then pad with trailing zeros to make it 128-bytes (i.e. 16 words)
682:
Mix key size (cbKeyLen) and desired hash length (cbHashLen) into h
3079: 3035: 2813: 2281: 2148: 1825: 1820: 1738:, a multi-chain blockchain uses BLAKE2b as its hashing algorithm. 419: 2210: 3475: 3248: 2989: 2984: 2954: 2944: 2903: 2898: 2893: 2873: 2868: 2838: 2823: 2783: 2574: 2547: 2505: 2485: 2282:"WinRAR archiver, a powerful tool to process RAR and ZIP files" 2104: 2094: 2092: 1686: 1628: 1241:
Mix the upper and lower halves of V into ongoing state vector h
192: 112: 143:
with round constants, is added before each ChaCha round. Like
2974: 2863: 2818: 2766: 2723: 2718: 2712: 2050:"introducing BLAKE2 – an alternative to SHA-3, SHA-2 and MD5" 1710: 1692: 1682: 1641:'s Habitat deployment system uses BLAKE2b for package signing 831:
was empty, then we will still compress a final chunk of zeros
440: 209: 197: 144: 2611: 2089: 274:
The differences from the ChaCha quarter-round function are:
3089: 3084: 3055: 3050: 3014: 1962: 1762:, version 5.17 replaced SHA-1 with BLAKE2s for hashing the 1656: 1586:= 1fa1291e65248b37b3433475b2a0dd63d54a11ecc4e3e034e7bc1ef4 719:
cBytesCompressed ← 0 cBytesRemaining ← cbMessageLen
311:= 7dc5313b1c04512a174bd6503b89607aecbee0903d40a8a569c94eed 2521:"JPA and I announced BLAKE3 at the RWC lightning talks..." 1609:
BLAKE2b-512("The quick brown fox jumps over the lazy dog")
927:
First eight items are copied from persistent state vector
174:
hash function, based on BLAKE, was announced in 2012. The
2858: 2853: 2706: 1982: 448: 436: 140: 1092:
BLAKE2b uses 12 rounds, while SIGMA has only 10 entries.
845:← first cbHashLen bytes of little endian state vector h 334:
BLAKE-512("The quick brown fox jumps over the lazy dog")
248:d ← (d ⊕ a) >>> 16 c ← c + d 1613:
BLAKE2b-512("The quick brown fox jumps over the lazy do
1011:
If this is the last block then invert all the bits in V
256:d ← (d ⊕ a) >>> 8 c ← c + d 216: 178:
hash function, based on BLAKE2, was announced in 2020.
3496:
Cryptographically secure pseudorandom number generator
2616: 2318:"rmlint — rmlint (2.8.0 Maidenly Moose) documentation" 2078: 892:
Count of bytes that have been fed into the Compression
886:
128-byte (16 double word) chunk of message to compress
2621: 1850:
Jack O'Connor, Samuel Neves, Jean-Philippe Aumasson,
815:
cBytesCompressed ← cBytesCompressed+cBytesRemaining
812:
We will get cBytesRemaining bytes (i.e. 0..128 bytes)
338:
BLAKE-512("The quick brown fox jumps over the lazy do
2626: 898:
Indicates if this is the final round of compression
2336:"WireGuard: Next Generation Kernel Network Tunnel" 722:If there was a key supplied (i.e. cbKeyLen > 0) 252:b ← (b ⊕ c) >>> 12 a ← a + b + (m ⊕ n) 2047: 1102:Rounds 10 and 11 use SIGMA and SIGMA respectively 787:h ← Compress(h, chunk, cBytesCompressed, false) 774:increase count of bytes that have been compressed 466:, indifferentiability from a random oracle, etc. 278:The addition of the message words has been added. 3705: 2164: 834:h ← Compress(h, chunk, cBytesCompressed, true) 474:(successor of BLAKE-512), and from 14 to 10 for 1335:four 8-byte word entries from the work vector V 943:Remaining eight items are initialized from the 2537: 2535: 2165:Saarinen, M-J; Aumasson, J-P (November 2015). 1089:Select message mixing schedule for this round. 219:), and a table of 10 16-element permutations: 3342: 2650: 1341:two 8-byte word entries from padded message m 1061:Twelve rounds of cryptographic message mixing 2073: 2071: 229:, which is combined with 2 words of message 2532: 777:cBytesRemaining ← cBytesRemaining - 128 771:cBytesCompressed ← cBytesCompressed + 128 281:The rotation directions have been reversed. 3349: 3335: 2657: 2643: 1942:. It was announced on January 9, 2020, at 237:. It is performed 8 times per full round: 147:, there are two variants differing in the 139:, but a permuted copy of the input block, 2407:"Autolykos: The Ergo Platform PoW Puzzle" 2180: 2068: 2048:O'Whielacronx, Zooko (21 December 2012). 1701:uses BLAKE2b for duplicate file detection 2588: 2478:"BLAKE3 – one function, fast everywhere" 2008: 1713:, a cryptocurrency, uses BLAKE2b in the 519: 3729:Public-domain software with source code 2128:"BLAKE2: simpler, smaller, fast as MD5" 1653:implements BLAKE2b in its b2sum command 818:The actual number of bytes leftover in 512:, hence the name of such an instance). 14: 3706: 2035:"BLAKE2 – an alternative to MD5/SHA-1" 1659:allows use of BLAKE2b for tree hashing 806:chunk ← get next 128 bytes of message 767:chunk ← get next 128 bytes of message 369:Jean-Philippe Aumasson, Samuel Neves, 3330: 2638: 1647:package management tool uses BLAKE2b 1575: 597: 196:in 2012, which was selected for the 115:for BLAKE-256; 7.8 cpb for BLAKE-512 24: 1786: 1622: 790:false ⇒ this is not the last chunk 300: 25: 3745: 2605: 2543:"BLAKE3 official implementations" 2100:"BLAKE2 official implementations" 1774:Open Network for Digital Commerce 1048:as sixteen 8-byte (64-bit) words 711:is Desired Hash Length (in bytes) 3684: 3683: 3356: 2589:Aumasson, Jean-Philippe (2020). 2009:Aumasson, Jean-Philippe (2021). 1897:256 bits, arbitrarily extensible 1580:Hash values of an empty string: 654:Hash 643:cbHashLen: Number, (1..64) 637:cbKeyLen: Number, (0..64) 631:Key 619:M 305:Hash values of an empty string: 267:is the round number (0–13), and 2582: 2562: 2513: 2493: 2470: 2452: 2438: 2420: 2399: 2381: 2363: 2345: 2328: 2310: 2292: 2274: 2257: 2239: 2221: 1929:on Cascade Lake-SP with AVX-512 909:Updated persistent state vector 640:Length of optional key in bytes 3724:NIST hash function competition 3545:Information-theoretic security 3254:NIST hash function competition 2598:. Real World Crypto Symposium. 2265:"WhatsApp Security Whitepaper" 2203: 2158: 2141: 2119: 2041: 2027: 2002: 1669:Noise (cryptographic protocol) 800:Compress the final bytes from 728:and prepend it to the message 628:Length of the message in bytes 625:cbMessageLen: Number, (0..2) 188:NIST hash function competition 13: 1: 1996: 1675:includes BLAKE2 as an option. 837:true ⇒ this is the last chunk 3714:Cryptographic hash functions 3259:Password Hashing Competition 2670:message authentication codes 2666:Cryptographic hash functions 2446:"Subscriber Signing - Beckn" 1633:Password Hashing Competition 1044:Treat each 128-byte message 646:Desired hash length in bytes 244:k ← σ a ← a + b + (m ⊕ n) 203: 7: 3719:Extendable-output functions 3661:Message authentication code 3616:Cryptographic hash function 3429:Cryptographic hash function 3213:Merkle–Damgård construction 2728: 1880: 854: 780:decrease count of bytes in 761:(cBytesRemaining > 128) 502:extendable-output functions 260:b ← (b ⊕ c) >>> 7 186:BLAKE was submitted to the 175: 171: 126:cryptographic hash function 52: 27:Cryptographic hash function 10: 3750: 3540:Harvest now, decrypt later 1367:the modified versions of V 1299:function is called by the 478:(successor of BLAKE-256). 181: 3679: 3656:Post-quantum cryptography 3608: 3364: 3326: 3277: 3231: 3195: 3149: 3098: 3026: 3003: 2932: 2776: 2737: 2699: 2676: 2634: 2630: 2135:Cryptology ePrint Archive 1921: 1911: 1901: 1891: 1886: 1875: 1857: 1846: 1841: 1831: 914:Setup local work vector V 824:chunk ← Pad(chunk, 128) 784:remaining to be processed 410: 400: 390: 385: 377: 365: 360: 350: 291: 103: 93: 83: 79:224, 256, 384 or 512 bits 73: 68: 58: 48: 40: 35: 3646:Quantum key distribution 3636:Authenticated encryption 3491:Random number generation 3007:key derivation functions 1707:uses BLAKE2s for hashing 1685:; it was implemented in 951:Mix the 128-bit counter 703:is Key Length (in bytes) 696:xor 0x0101kknn 662:Initialize State vector 445:reference implementation 422:(Ivy Bridge) for BLAKE2b 3641:Public-key cryptography 3631:Symmetric-key algorithm 3434:Key derivation function 3394:Cryptographic primitive 3387:Authentication protocol 3377:Outline of cryptography 3372:History of cryptography 3285:Hash-based cryptography 3187:Length extension attack 2229:"coreutils/src/blake2/" 1768:random number generator 1742:Kadena (cryptocurrency) 1731:key derivation function 1722:key derivation function 906:h 895:IsLastBlock: Boolean 883:chunk 880:Persistent state vector 877:h 657:Hash of cbHashLen bytes 634:Optional 0..64 byte key 591:= 0x5be0cd19137e2179 583:= 0x1f83d9abfb41bd6b 575:= 0x9b05688c2b3e6c1f 567:= 0x510e527fade682d1 559:= 0xa54ff53a5f1d36f1 551:= 0x3c6ef372fe94f82b 543:= 0xbb67ae8584caa73b 535:= 0x6a09e667f3bcc908 233:and two constant words 3382:Cryptographic protocol 3295:Message authentication 2460:"checksum for Windows" 2247:"librsync/src/blake2/" 1290: 1041:0xFFFFFFFFFFFFFFFF 1003:Hi 64-bits of UInt128 981:Lo 64-bits of UInt128 526:transparently obtained 373:, Christian Winnerlein 254:// Step 3 (with input) 246:// Step 1 (with input) 3535:End-to-end encryption 3481:Cryptojacking malware 2322:rmlint.readthedocs.io 1863:; 4 years ago 520:Initialization vector 490:(4-way parallel) and 484:multi-core processors 242:// Index computations 3651:Quantum cryptography 3575:Trusted timestamping 2211:"About Chef Habitat" 1977:implementations are 1940:Zooko Wilcox-O'Hearn 1861:January 9, 2020 1852:Zooko Wilcox-O'Hearn 1631:, the winner of the 1338:x, y 1185:, m, m) Mix(V 889:t: Number, 0..2 622:Message to be hashed 433:Zooko Wilcox-O'Hearn 371:Zooko Wilcox-O'Hearn 271:varies from 0 to 7. 258:// Step 4 (no input) 250:// Step 2 (no input) 3734:Checksum algorithms 3414:Cryptographic nonce 3182:Side-channel attack 2622:The BLAKE3 web site 2617:The BLAKE2 web site 2013:. No Starch Press. 1838: 1671:, which is used in 1217:, m, m) Mix(V 1201:, m, m) Mix(V 1169:, m, m) Mix(V 1153:, m, m) Mix(V 1137:, m, m) Mix(V 1121:, m, m) Mix(V 447:is available under 357: 130:Daniel J. Bernstein 32: 3520:Subliminal channel 3504:Pseudorandom noise 3451:Key (cryptography) 3239:CAESAR Competition 3223:HAIFA construction 3172:Brute-force attack 2612:The BLAKE web site 1981:as public domain ( 1836: 1651:GNU Core Utilities 739:(cbKeyLen > 0) 494:(8-way parallel). 457:Apache License 2.0 355: 88:HAIFA construction 30: 3701: 3700: 3697: 3696: 3580:Key-based routing 3570:Trapdoor function 3441:Digital signature 3322: 3321: 3318: 3317: 3116:ChaCha20-Poly1305 2933:Password hashing/ 2056:on 5 October 2016 1944:Real World Crypto 1933: 1932: 598:BLAKE2b algorithm 593:// Frac(sqrt(19)) 585:// Frac(sqrt(17)) 577:// Frac(sqrt(13)) 569:// Frac(sqrt(11)) 426: 425: 240:j ← σ 119: 118: 16:(Redirected from 3741: 3687: 3686: 3515:Insecure channel 3351: 3344: 3337: 3328: 3327: 3203:Avalanche effect 3157:Collision attack 2700:Common functions 2659: 2652: 2645: 2636: 2635: 2632: 2631: 2628: 2627: 2600: 2599: 2597: 2586: 2580: 2579: 2566: 2560: 2559: 2557: 2555: 2539: 2530: 2529: 2517: 2511: 2510: 2497: 2491: 2490: 2482: 2474: 2468: 2467: 2456: 2450: 2449: 2442: 2436: 2435: 2432:www.phoronix.com 2424: 2418: 2417: 2414:ergoplatform.org 2411: 2403: 2397: 2396: 2389:"key derivation" 2385: 2379: 2378: 2367: 2361: 2360: 2349: 2343: 2342: 2340: 2332: 2326: 2325: 2314: 2308: 2307: 2296: 2290: 2289: 2278: 2272: 2271: 2269: 2261: 2255: 2254: 2243: 2237: 2236: 2225: 2219: 2218: 2207: 2201: 2200: 2198: 2196: 2184: 2182:10.17487/RFC7693 2162: 2156: 2155: 2153: 2145: 2139: 2138: 2132: 2123: 2117: 2116: 2114: 2112: 2096: 2087: 2086: 2075: 2066: 2065: 2063: 2061: 2052:. Archived from 2045: 2039: 2038: 2031: 2025: 2024: 2006: 1871: 1869: 1864: 1839: 1835: 1618: 1616: 1610: 1603:avalanche effect 1597: 1593: 1589: 1585: 1571: 1546: 1536: 1523: 1506: 1496: 1483: 1465: 1455: 1442: 1425: 1415: 1402: 1384: 1348: 1343: 1337: 1316: 1310: 1286: 1273: 1256: 1243: 1238: 1104: 1094: 1086: 1080: 1074: 1068: 1063: 1053: 1040: 1027: 1021: 1016: 1008: 999: 986: 977: 964: 948: 932: 916: 911: 905: 900: 894: 888: 882: 876: 870: 850: 844: 839: 833: 823: 814: 805: 797: 792: 786: 776: 766: 760: 755: 750: 744: 738: 733: 718: 713: 705: 687: 671: 659: 653: 648: 642: 636: 630: 624: 618: 612: 594: 586: 578: 570: 562: 561:// Frac(sqrt(7)) 554: 553:// Frac(sqrt(5)) 546: 545:// Frac(sqrt(3)) 538: 537:// Frac(sqrt(2)) 464:length extension 358: 354: 343: 341: 335: 328:avalanche effect 322: 318: 314: 310: 270: 266: 259: 255: 251: 247: 243: 236: 232: 228: 33: 29: 21: 3749: 3748: 3744: 3743: 3742: 3740: 3739: 3738: 3704: 3703: 3702: 3693: 3675: 3604: 3360: 3355: 3314: 3273: 3232:Standardization 3227: 3218:Sponge function 3191: 3167:Birthday attack 3162:Preimage attack 3145: 3101: 3094: 3022: 3005: 3004:General purpose 2999: 2934: 2928: 2777:Other functions 2772: 2739:SHA-3 finalists 2733: 2695: 2672: 2663: 2608: 2603: 2595: 2592:Too Much Crypto 2587: 2583: 2568: 2567: 2563: 2553: 2551: 2541: 2540: 2533: 2519: 2518: 2514: 2499: 2498: 2494: 2480: 2476: 2475: 2471: 2458: 2457: 2453: 2444: 2443: 2439: 2426: 2425: 2421: 2409: 2405: 2404: 2400: 2387: 2386: 2382: 2369: 2368: 2364: 2351: 2350: 2346: 2338: 2334: 2333: 2329: 2316: 2315: 2311: 2304:sourceforge.net 2298: 2297: 2293: 2280: 2279: 2275: 2267: 2263: 2262: 2258: 2245: 2244: 2240: 2227: 2226: 2222: 2209: 2208: 2204: 2194: 2192: 2163: 2159: 2151: 2147: 2146: 2142: 2130: 2124: 2120: 2110: 2108: 2098: 2097: 2090: 2077: 2076: 2069: 2059: 2057: 2046: 2042: 2033: 2032: 2028: 2021: 2007: 2003: 1999: 1867: 1865: 1862: 1858:First published 1834: 1789: 1787:Implementations 1625: 1623:Users of BLAKE2 1620: 1614: 1612: 1608: 1599: 1596:BLAKE2b-512("") 1595: 1592:BLAKE2b-384("") 1591: 1588:BLAKE2s-256("") 1587: 1584:BLAKE2s-224("") 1583: 1578: 1576:Example digests 1573: 1567: 1566: 1562: 1558: 1554: 1542: 1540: 1532: 1531: 1527: 1519: 1518: 1514: 1510: 1502: 1500: 1492: 1491: 1487: 1479: 1477: 1473: 1469: 1461: 1459: 1451: 1450: 1446: 1438: 1437: 1433: 1429: 1421: 1419: 1411: 1410: 1406: 1398: 1396: 1392: 1388: 1382: 1378: 1374: 1370: 1365: 1364: 1360: 1356: 1352: 1344: 1339: 1333: 1332: 1328: 1324: 1320: 1312: 1306: 1293: 1288: 1282: 1277: 1269: 1268: 1264: 1260: 1252: 1251: 1247: 1239: 1234: 1232: 1228: 1224: 1220: 1216: 1212: 1208: 1204: 1200: 1196: 1192: 1188: 1184: 1180: 1176: 1172: 1168: 1164: 1160: 1156: 1152: 1148: 1144: 1140: 1136: 1132: 1128: 1124: 1120: 1116: 1112: 1108: 1100: 1098: 1087: 1082: 1076: 1070: 1064: 1059: 1057: 1042: 1036: 1035: 1031: 1023: 1017: 1014: 1009: 1001: 995: 994: 990: 979: 973: 972: 968: 963: 959: 949: 941: 940: 936: 925: 924: 920: 912: 907: 901: 896: 890: 884: 878: 872: 866: 857: 852: 846: 840: 835: 825: 816: 810: 798: 793: 788: 778: 772: 762: 756: 751: 746: 740: 734: 720: 714: 706: 697: 695: 691: 685: 680: 679: 675: 660: 655: 649: 644: 638: 632: 626: 620: 614: 608: 600: 595: 592: 590: 584: 582: 576: 574: 568: 566: 560: 558: 552: 550: 544: 542: 536: 534: 522: 500:is a family of 453:OpenSSL License 353: 345: 339: 337: 333: 324: 320: 316: 312: 308: 303: 301:Example digests 294: 268: 264: 261: 257: 253: 249: 245: 241: 234: 230: 226: 223: 206: 184: 28: 23: 22: 15: 12: 11: 5: 3747: 3737: 3736: 3731: 3726: 3721: 3716: 3699: 3698: 3695: 3694: 3692: 3691: 3680: 3677: 3676: 3674: 3673: 3668: 3666:Random numbers 3663: 3658: 3653: 3648: 3643: 3638: 3633: 3628: 3623: 3618: 3612: 3610: 3606: 3605: 3603: 3602: 3597: 3592: 3590:Garlic routing 3587: 3582: 3577: 3572: 3567: 3562: 3557: 3552: 3547: 3542: 3537: 3532: 3527: 3522: 3517: 3512: 3510:Secure channel 3507: 3501: 3500: 3499: 3488: 3483: 3478: 3473: 3471:Key stretching 3468: 3463: 3458: 3453: 3448: 3443: 3438: 3437: 3436: 3431: 3421: 3419:Cryptovirology 3416: 3411: 3406: 3404:Cryptocurrency 3401: 3396: 3391: 3390: 3389: 3379: 3374: 3368: 3366: 3362: 3361: 3354: 3353: 3346: 3339: 3331: 3324: 3323: 3320: 3319: 3316: 3315: 3313: 3312: 3307: 3302: 3297: 3292: 3287: 3281: 3279: 3275: 3274: 3272: 3271: 3266: 3261: 3256: 3251: 3246: 3241: 3235: 3233: 3229: 3228: 3226: 3225: 3220: 3215: 3210: 3208:Hash collision 3205: 3199: 3197: 3193: 3192: 3190: 3189: 3184: 3179: 3174: 3169: 3164: 3159: 3153: 3151: 3147: 3146: 3144: 3143: 3138: 3133: 3128: 3123: 3118: 3113: 3107: 3105: 3096: 3095: 3093: 3092: 3087: 3082: 3077: 3072: 3067: 3058: 3053: 3048: 3043: 3038: 3032: 3030: 3024: 3023: 3021: 3020: 3017: 3011: 3009: 3001: 3000: 2998: 2997: 2992: 2987: 2982: 2977: 2972: 2967: 2962: 2957: 2952: 2947: 2941: 2939: 2936:key stretching 2930: 2929: 2927: 2926: 2921: 2916: 2911: 2906: 2901: 2896: 2891: 2886: 2881: 2876: 2871: 2866: 2861: 2856: 2851: 2846: 2841: 2836: 2831: 2826: 2821: 2816: 2811: 2806: 2801: 2796: 2791: 2786: 2780: 2778: 2774: 2773: 2771: 2770: 2764: 2759: 2754: 2749: 2743: 2741: 2735: 2734: 2732: 2731: 2726: 2721: 2716: 2710: 2703: 2701: 2697: 2696: 2694: 2693: 2688: 2683: 2677: 2674: 2673: 2662: 2661: 2654: 2647: 2639: 2625: 2624: 2619: 2614: 2607: 2606:External links 2604: 2602: 2601: 2581: 2561: 2531: 2512: 2492: 2469: 2451: 2437: 2419: 2398: 2380: 2362: 2344: 2327: 2309: 2291: 2273: 2256: 2238: 2220: 2202: 2157: 2140: 2118: 2088: 2067: 2040: 2026: 2019: 2000: 1998: 1995: 1987:Apache License 1931: 1930: 1923: 1919: 1918: 1915: 1909: 1908: 1903: 1899: 1898: 1895: 1889: 1888: 1884: 1883: 1877: 1873: 1872: 1859: 1855: 1854: 1848: 1844: 1843: 1833: 1830: 1829: 1828: 1823: 1818: 1813: 1808: 1803: 1798: 1788: 1785: 1784: 1783: 1777: 1771: 1757: 1751: 1745: 1739: 1733: 1724: 1708: 1702: 1696: 1690: 1676: 1666: 1660: 1654: 1648: 1642: 1636: 1635:, uses BLAKE2b 1624: 1621: 1607: 1582: 1577: 1574: 1564: 1560: 1556: 1552: 1538: 1529: 1525: 1516: 1512: 1508: 1498: 1489: 1485: 1475: 1471: 1467: 1457: 1448: 1444: 1435: 1431: 1427: 1417: 1408: 1404: 1394: 1390: 1386: 1380: 1376: 1372: 1368: 1362: 1358: 1354: 1350: 1330: 1326: 1322: 1318: 1305: 1292: 1289: 1275: 1266: 1262: 1258: 1249: 1245: 1230: 1226: 1222: 1218: 1214: 1210: 1206: 1202: 1198: 1194: 1190: 1186: 1182: 1178: 1174: 1170: 1166: 1162: 1158: 1154: 1150: 1146: 1142: 1138: 1134: 1130: 1126: 1122: 1118: 1114: 1110: 1106: 1096: 1055: 1033: 1029: 1012: 992: 988: 970: 966: 961: 957: 938: 934: 922: 918: 865: 856: 853: 693: 689: 683: 677: 673: 607: 599: 596: 588: 580: 572: 564: 556: 548: 540: 532: 530: 521: 518: 424: 423: 412: 408: 407: 404: 398: 397: 394: 388: 387: 383: 382: 379: 375: 374: 367: 363: 362: 352: 349: 332: 307: 302: 299: 293: 290: 283: 282: 279: 263:In the above, 239: 221: 205: 202: 183: 180: 117: 116: 105: 101: 100: 97: 91: 90: 85: 81: 80: 77: 71: 70: 66: 65: 63:SHA-3 finalist 60: 56: 55: 50: 46: 45: 42: 38: 37: 26: 9: 6: 4: 3: 2: 3746: 3735: 3732: 3730: 3727: 3725: 3722: 3720: 3717: 3715: 3712: 3711: 3709: 3690: 3682: 3681: 3678: 3672: 3671:Steganography 3669: 3667: 3664: 3662: 3659: 3657: 3654: 3652: 3649: 3647: 3644: 3642: 3639: 3637: 3634: 3632: 3629: 3627: 3626:Stream cipher 3624: 3622: 3619: 3617: 3614: 3613: 3611: 3607: 3601: 3598: 3596: 3593: 3591: 3588: 3586: 3585:Onion routing 3583: 3581: 3578: 3576: 3573: 3571: 3568: 3566: 3565:Shared secret 3563: 3561: 3558: 3556: 3553: 3551: 3548: 3546: 3543: 3541: 3538: 3536: 3533: 3531: 3528: 3526: 3523: 3521: 3518: 3516: 3513: 3511: 3508: 3505: 3502: 3497: 3494: 3493: 3492: 3489: 3487: 3484: 3482: 3479: 3477: 3474: 3472: 3469: 3467: 3464: 3462: 3461:Key generator 3459: 3457: 3454: 3452: 3449: 3447: 3444: 3442: 3439: 3435: 3432: 3430: 3427: 3426: 3425: 3424:Hash function 3422: 3420: 3417: 3415: 3412: 3410: 3407: 3405: 3402: 3400: 3399:Cryptanalysis 3397: 3395: 3392: 3388: 3385: 3384: 3383: 3380: 3378: 3375: 3373: 3370: 3369: 3367: 3363: 3359: 3352: 3347: 3345: 3340: 3338: 3333: 3332: 3329: 3325: 3311: 3308: 3306: 3303: 3301: 3300:Proof of work 3298: 3296: 3293: 3291: 3288: 3286: 3283: 3282: 3280: 3276: 3270: 3267: 3265: 3262: 3260: 3257: 3255: 3252: 3250: 3247: 3245: 3242: 3240: 3237: 3236: 3234: 3230: 3224: 3221: 3219: 3216: 3214: 3211: 3209: 3206: 3204: 3201: 3200: 3198: 3194: 3188: 3185: 3183: 3180: 3178: 3177:Rainbow table 3175: 3173: 3170: 3168: 3165: 3163: 3160: 3158: 3155: 3154: 3152: 3148: 3142: 3139: 3137: 3134: 3132: 3129: 3127: 3124: 3122: 3119: 3117: 3114: 3112: 3109: 3108: 3106: 3103: 3100:Authenticated 3097: 3091: 3088: 3086: 3083: 3081: 3078: 3076: 3073: 3071: 3068: 3066: 3062: 3059: 3057: 3054: 3052: 3049: 3047: 3044: 3042: 3039: 3037: 3034: 3033: 3031: 3029: 3028:MAC functions 3025: 3018: 3016: 3013: 3012: 3010: 3008: 3002: 2996: 2993: 2991: 2988: 2986: 2983: 2981: 2978: 2976: 2973: 2971: 2968: 2966: 2963: 2961: 2958: 2956: 2953: 2951: 2948: 2946: 2943: 2942: 2940: 2937: 2931: 2925: 2922: 2920: 2917: 2915: 2912: 2910: 2907: 2905: 2902: 2900: 2897: 2895: 2892: 2890: 2887: 2885: 2882: 2880: 2877: 2875: 2872: 2870: 2867: 2865: 2862: 2860: 2857: 2855: 2852: 2850: 2847: 2845: 2842: 2840: 2837: 2835: 2832: 2830: 2827: 2825: 2822: 2820: 2817: 2815: 2812: 2810: 2807: 2805: 2802: 2800: 2797: 2795: 2792: 2790: 2787: 2785: 2782: 2781: 2779: 2775: 2768: 2765: 2763: 2760: 2758: 2755: 2753: 2750: 2748: 2745: 2744: 2742: 2740: 2736: 2730: 2727: 2725: 2722: 2720: 2717: 2715:(compromised) 2714: 2711: 2709:(compromised) 2708: 2705: 2704: 2702: 2698: 2692: 2691:Known attacks 2689: 2687: 2684: 2682: 2679: 2678: 2675: 2671: 2667: 2660: 2655: 2653: 2648: 2646: 2641: 2640: 2637: 2633: 2629: 2623: 2620: 2618: 2615: 2613: 2610: 2609: 2594: 2593: 2585: 2577: 2576: 2571: 2565: 2550: 2549: 2544: 2538: 2536: 2527: 2526: 2522: 2516: 2508: 2507: 2502: 2496: 2488: 2487: 2479: 2473: 2465: 2461: 2455: 2447: 2441: 2433: 2429: 2423: 2415: 2408: 2402: 2394: 2393:docs.nano.org 2390: 2384: 2376: 2375:docs.nano.org 2372: 2366: 2358: 2357:docs.nano.org 2354: 2348: 2337: 2331: 2323: 2319: 2313: 2305: 2301: 2295: 2287: 2283: 2277: 2266: 2260: 2252: 2248: 2242: 2234: 2230: 2224: 2216: 2212: 2206: 2191: 2188: 2183: 2178: 2174: 2170: 2169: 2161: 2150: 2144: 2136: 2129: 2122: 2107: 2106: 2101: 2095: 2093: 2084: 2080: 2074: 2072: 2055: 2051: 2044: 2036: 2030: 2022: 2020:9781718501409 2016: 2012: 2005: 2001: 1994: 1990: 1988: 1984: 1980: 1979:dual-licensed 1976: 1972: 1968: 1964: 1960: 1956: 1952: 1947: 1945: 1941: 1937: 1928: 1924: 1920: 1916: 1914: 1910: 1907: 1904: 1900: 1896: 1894: 1890: 1885: 1882: 1878: 1874: 1860: 1856: 1853: 1849: 1845: 1840: 1827: 1824: 1822: 1819: 1817: 1814: 1812: 1809: 1807: 1804: 1802: 1801:Bouncy Castle 1799: 1797: 1794: 1793: 1792: 1781: 1778: 1775: 1772: 1769: 1765: 1761: 1758: 1755: 1752: 1749: 1746: 1743: 1740: 1737: 1734: 1732: 1728: 1725: 1723: 1719: 1718:proof of work 1716: 1712: 1709: 1706: 1703: 1700: 1697: 1694: 1691: 1688: 1684: 1680: 1677: 1674: 1670: 1667: 1664: 1661: 1658: 1655: 1652: 1649: 1646: 1645:FreeBSD Ports 1643: 1640: 1637: 1634: 1630: 1627: 1626: 1606: 1604: 1581: 1570: 1550: 1545: 1535: 1522: 1505: 1495: 1482: 1478:+ y 1464: 1454: 1441: 1424: 1414: 1401: 1397:+ x 1383: 1347: 1342: 1336: 1315: 1309: 1304: 1302: 1298: 1285: 1280: 1272: 1255: 1242: 1237: 1103: 1093: 1090: 1085: 1079: 1073: 1067: 1062: 1052: 1051: 1047: 1039: 1026: 1020: 1015: 1007: 1006: 998: 985: 984: 976: 956: 954: 947: 946: 931: 930: 915: 910: 904: 899: 893: 887: 881: 875: 869: 864: 862: 849: 848:End Algorithm 843: 838: 832: 830: 822: 821: 813: 809: 804: 803: 796: 791: 785: 783: 775: 770: 765: 759: 754: 749: 743: 737: 732: 731: 726: 723: 717: 712: 709: 704: 702: 686: 670: 669: 665: 658: 652: 647: 641: 635: 629: 623: 617: 611: 606: 604: 529: 527: 517: 513: 511: 507: 506:BLAKE2Xb16MiB 503: 499: 495: 493: 489: 485: 479: 477: 473: 467: 465: 460: 458: 454: 450: 446: 442: 438: 434: 430: 421: 417: 413: 409: 405: 403: 399: 395: 393: 389: 384: 380: 376: 372: 368: 364: 359: 348: 331: 329: 321:BLAKE-512("") 317:BLAKE-384("") 313:BLAKE-256("") 309:BLAKE-224("") 306: 298: 289: 286: 280: 277: 276: 275: 272: 238: 220: 218: 213: 211: 201: 199: 195: 194: 189: 179: 177: 173: 168: 166: 162: 158: 154: 150: 146: 142: 138: 137:stream cipher 135: 131: 127: 123: 114: 110: 106: 102: 98: 96: 92: 89: 86: 82: 78: 76: 72: 67: 64: 61: 59:Certification 57: 54: 51: 47: 43: 39: 34: 19: 3621:Block cipher 3466:Key schedule 3456:Key exchange 3446:Kleptography 3409:Cryptosystem 3358:Cryptography 2746: 2591: 2584: 2573: 2564: 2552:. Retrieved 2546: 2523: 2515: 2504: 2495: 2484: 2472: 2463: 2454: 2440: 2431: 2422: 2413: 2401: 2392: 2383: 2374: 2371:"signatures" 2365: 2356: 2347: 2330: 2321: 2312: 2303: 2294: 2285: 2276: 2259: 2250: 2241: 2232: 2223: 2215:docs.chef.io 2214: 2205: 2193:. Retrieved 2167: 2160: 2143: 2134: 2121: 2109:. Retrieved 2103: 2082: 2058:. Retrieved 2054:the original 2043: 2029: 2010: 2004: 1991: 1948: 1935: 1934: 1893:Digest sizes 1876:Derived from 1790: 1764:entropy pool 1760:Linux kernel 1665:uses BLAKE2b 1600: 1579: 1569:End Function 1568: 1548: 1543: 1533: 1520: 1503: 1493: 1480: 1462: 1452: 1439: 1422: 1412: 1399: 1366: 1345: 1340: 1334: 1313: 1307: 1300: 1296: 1294: 1284:End Function 1283: 1278: 1270: 1253: 1240: 1235: 1101: 1091: 1088: 1083: 1077: 1071: 1065: 1060: 1049: 1045: 1043: 1037: 1024: 1022:IsLastBlock 1018: 1010: 1004: 1002: 996: 982: 980: 974: 952: 950: 944: 942: 928: 926: 913: 908: 902: 897: 891: 885: 879: 873: 871:Compress 867: 860: 858: 847: 841: 836: 828: 826: 819: 817: 811: 807: 801: 799: 794: 789: 781: 779: 773: 768: 763: 757: 752: 747: 741: 735: 729: 727: 724: 721: 715: 710: 707: 700: 698: 681: 667: 663: 661: 656: 650: 645: 639: 633: 627: 621: 615: 609: 601: 523: 514: 505: 497: 496: 491: 487: 480: 475: 471: 468: 461: 428: 427: 392:Digest sizes 378:Derived from 346: 325: 304: 295: 287: 284: 273: 262: 224: 214: 207: 191: 185: 169: 164: 160: 156: 152: 121: 120: 75:Digest sizes 3609:Mathematics 3600:Mix network 3290:Merkle tree 3278:Utilization 3264:NSA Suite B 2525:Hacker News 2286:rarsoft.com 1967:binary tree 1906:Merkle tree 1720:, and as a 1544:rotateright 1504:rotateright 1463:rotateright 1423:rotateright 1233:, m, m) 1058:← chunk 613:BLAKE2b 200:algorithm. 3708:Categories 3560:Ciphertext 3530:Decryption 3525:Encryption 3486:Ransomware 3102:encryption 2879:RadioGatún 2686:Comparison 2554:12 January 2251:github.com 2233:github.com 2195:4 December 2083:blake2.net 2060:27 January 1997:References 1985:) and the 1868:2020-01-09 1481:with input 1400:with input 1099:← SIGMA 603:Pseudocode 455:, and the 49:Successors 3550:Plaintext 3019:KDF1/KDF2 2938:functions 2924:Whirlpool 2149:"BLAKE2X" 1902:Structure 1847:Designers 1816:libsodium 1811:Libgcrypt 1748:PCI Vault 1705:WireGuard 1287:Compress 1000:Hi(t) 978:Lo(t) 795:end while 610:Algorithm 366:Designers 204:Algorithm 165:BLAKE-384 161:BLAKE-512 157:BLAKE-224 153:BLAKE-256 128:based on 84:Structure 41:Designers 3689:Category 3595:Kademlia 3555:Codetext 3498:(CSPRNG) 3244:CRYPTREC 3075:Poly1305 2995:yescrypt 2909:Streebog 2789:CubeHash 2769:(winner) 2464:corz.org 2079:"BLAKE2" 1806:Crypto++ 1780:checksum 1736:Polkadot 1715:Equihash 1673:WhatsApp 1663:librsync 1521:no input 1440:no input 1308:Function 1301:Compress 868:Function 861:Compress 855:Compress 851:BLAKE2b 492:BLAKE2sp 488:BLAKE2bp 406:10 or 12 99:14 or 16 3365:General 3150:Attacks 3080:SipHash 3036:CBC-MAC 2970:LM hash 2950:Balloon 2814:HAS-160 2137:. IACR. 1866: ( 1842:General 1826:wolfSSL 1821:OpenSSL 1766:in the 1507:16 V 1466:24 V 1426:32 V 1346:Output: 1314:Inputs: 1311:Mix 1236:end for 903:Output: 651:Output: 498:BLAKE2X 476:BLAKE2s 472:BLAKE2b 420:Core i5 361:General 227:a b c d 182:History 36:General 3476:Keygen 3310:Pepper 3249:NESSIE 3196:Design 2990:scrypt 2985:PBKDF2 2960:Catena 2955:bcrypt 2945:Argon2 2904:Snefru 2899:Shabal 2894:SWIFFT 2874:RIPEMD 2869:N-hash 2844:MASH-2 2839:MASH-1 2824:Kupyna 2784:BLAKE3 2767:Keccak 2752:Grøstl 2729:BLAKE2 2575:GitHub 2548:GitHub 2506:GitHub 2486:GitHub 2353:"work" 2111:7 July 2105:GitHub 2017:  1936:BLAKE3 1913:Rounds 1887:Detail 1881:BLAKE2 1837:BLAKE3 1832:BLAKE3 1699:rmlint 1687:WinRAR 1629:Argon2 1549:Result 1547:63 1279:Result 955:into V 874:Input: 842:Result 748:end if 699:where 616:Input: 451:, the 429:BLAKE2 402:Rounds 386:Detail 356:BLAKE2 351:BLAKE2 297:fast. 292:Tweaks 193:Keccak 176:BLAKE3 172:BLAKE2 134:ChaCha 113:Core 2 95:Rounds 69:Detail 53:BLAKE2 18:BLAKE3 3506:(PRN) 3104:modes 2980:Makwa 2975:Lyra2 2965:crypt 2914:Tiger 2864:MDC-2 2819:HAVAL 2804:Fugue 2762:Skein 2747:BLAKE 2724:SHA-3 2719:SHA-2 2713:SHA-1 2596:(PDF) 2481:(PDF) 2410:(PDF) 2339:(PDF) 2268:(PDF) 2152:(PDF) 2131:(PDF) 1925:0.49 1922:Speed 1879:Bao, 1796:Botan 1711:Zcash 1693:7-Zip 1683:CRC32 1276:8..15 1105:Mix(V 1097:0..15 1056:0..15 1046:chunk 935:8..15 758:while 666:with 441:SHA-1 411:Speed 381:BLAKE 210:SHA-2 208:Like 198:SHA-3 145:SHA-2 141:XORed 124:is a 122:BLAKE 104:Speed 31:BLAKE 3305:Salt 3269:CNSA 3136:IAPM 3090:VMAC 3085:UMAC 3070:PMAC 3065:CMAC 3061:OMAC 3056:NMAC 3051:HMAC 3046:GMAC 3015:HKDF 2884:SIMD 2834:Lane 2809:GOST 2794:ECOH 2681:List 2668:and 2556:2020 2197:2015 2190:7693 2173:IETF 2113:2019 2062:2016 2015:ISBN 1973:and 1971:Rust 1961:and 1754:Ergo 1727:NANO 1657:IPFS 1639:Chef 1572:Mix 1528:← (V 1488:← (V 1447:← (V 1407:← (V 1295:The 1281:← h 1267:0..7 1263:0..7 1259:0..7 1250:0..7 1246:0..7 1229:, V 1213:, V 1133:, V 1117:, V 1072:from 1025:then 939:0..7 937:← IV 923:0..7 919:0..7 859:The 742:then 678:0..7 676:← IV 674:0..7 439:and 414:3.5 170:The 163:and 155:and 149:word 107:8.4 3141:OCB 3131:GCM 3126:EAX 3121:CWC 3111:CCM 3041:DAA 2919:VSH 2889:SM3 2859:MD6 2854:MD4 2849:MD2 2829:LSH 2799:FSB 2707:MD5 2187:RFC 2177:doi 1983:CC0 1963:MAC 1959:PRF 1955:KDF 1951:XOF 1927:cpb 1689:v5+ 1679:RAR 1563:, V 1559:, V 1555:, V 1551:← V 1534:xor 1515:+ V 1511:← V 1494:xor 1474:+ V 1470:← V 1453:xor 1434:+ V 1430:← V 1413:xor 1393:+ V 1389:← V 1379:, V 1375:, V 1371:, V 1361:, V 1357:, V 1353:, V 1329:, V 1325:, V 1321:, V 1297:Mix 1291:Mix 1271:xor 1265:← h 1254:xor 1248:← h 1225:, V 1221:, V 1209:, V 1205:, V 1197:, V 1193:, V 1189:, V 1181:, V 1177:, V 1173:, V 1165:, V 1161:, V 1157:, V 1149:, V 1145:, V 1141:, V 1129:, V 1125:, V 1113:, V 1109:, V 1081:11 1066:for 1038:xor 1032:← V 997:xor 991:← V 975:xor 969:← V 921:← h 827:If 692:← h 510:MiB 449:CC0 437:MD5 418:on 416:cpb 132:'s 111:on 109:cpb 3710:: 2757:JH 2572:. 2545:. 2534:^ 2503:. 2483:. 2462:. 2430:. 2412:. 2391:. 2373:. 2355:. 2320:. 2302:. 2284:. 2249:. 2231:. 2213:. 2185:. 2175:. 2171:. 2133:. 2102:. 2091:^ 2081:. 2070:^ 1989:. 1957:, 1953:, 1946:. 1617:") 1605:: 1541:) 1501:) 1460:) 1420:) 1231:14 1215:13 1199:12 1195:11 1183:15 1179:10 1167:15 1163:11 1151:14 1147:10 1135:13 1119:12 1084:do 1078:to 1075:0 1069:i 1034:14 1030:14 1019:if 1013:14 993:13 989:13 971:12 967:12 962:13 960::V 958:12 945:IV 764:do 736:if 708:nn 701:kk 668:IV 587:IV 579:IV 571:IV 563:IV 555:IV 547:IV 539:IV 531:IV 486:; 459:. 342:") 330:: 3350:e 3343:t 3336:v 3063:/ 2658:e 2651:t 2644:v 2578:. 2558:. 2528:. 2509:. 2489:. 2466:. 2448:. 2434:. 2416:. 2395:. 2377:. 2359:. 2341:. 2324:. 2306:. 2288:. 2270:. 2253:. 2235:. 2217:. 2199:. 2179:: 2154:. 2115:. 2085:. 2064:. 2037:. 2023:. 1975:C 1917:7 1870:) 1770:. 1615:f 1565:d 1561:c 1557:b 1553:a 1539:c 1537:V 1530:b 1526:b 1524:V 1517:d 1513:c 1509:c 1499:a 1497:V 1490:d 1486:d 1484:V 1476:b 1472:a 1468:a 1458:c 1456:V 1449:b 1445:b 1443:V 1436:d 1432:c 1428:c 1418:a 1416:V 1409:d 1405:d 1403:V 1395:b 1391:a 1387:a 1385:V 1381:d 1377:c 1373:b 1369:a 1363:d 1359:c 1355:b 1351:a 1349:V 1331:d 1327:c 1323:b 1319:a 1317:V 1274:V 1261:h 1257:V 1244:h 1227:9 1223:4 1219:3 1211:8 1207:7 1203:2 1191:6 1187:1 1175:5 1171:0 1159:7 1155:3 1143:6 1139:2 1131:9 1127:5 1123:1 1115:8 1111:4 1107:0 1095:S 1054:m 1050:m 1028:V 1005:t 987:V 983:t 965:V 953:t 933:V 929:h 917:V 829:M 820:M 808:M 802:M 782:M 769:M 730:M 694:0 690:0 688:h 684:0 672:h 664:h 589:7 581:6 573:5 565:4 557:3 549:2 541:1 533:0 340:f 269:i 265:r 235:n 231:m 217:π 20:)

Index

BLAKE3
BLAKE2
SHA-3 finalist
Digest sizes
HAIFA construction
Rounds
cpb
Core 2
cryptographic hash function
Daniel J. Bernstein
ChaCha
stream cipher
XORed
SHA-2
word
BLAKE2
BLAKE3
NIST hash function competition
Keccak
SHA-3
SHA-2
π
avalanche effect
Zooko Wilcox-O'Hearn
Digest sizes
Rounds
cpb
Core i5
Zooko Wilcox-O'Hearn
MD5

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.