Knowledge

Non-cryptographic hash function

Source đź“ť

598: 440:
Sateesan, Arish; Biesmans, Jelle; Claesen, Thomas; Vliegen, Jo; Mentens, Nele (April 2023). "Optimized algorithms and architectures for fast non-cryptographic hash functions in hardware".
263:
Non-cryptographic hash functions optimized for software frequently involve the multiplication operation. Since in-hardware multiplication is resource-intensive and frequency-limiting,
44:. Some non-cryptographic hash functions are used in cryptographic applications (usually in combination with other cryptographic primitives); in this case they are described as 280: 302:
or even less): large result size does not increase the performance of the target applications, but slows down the calculation, as more bits need to be generated.
191:
SuperFastHash was created by Paul Hsieh using ideas from FNV and lookup3, with one of the goals being a high degree of avalanche effect. The hash is used in
247:
BuzHash was created by Robert Uzgalis in 1992. It is designed around a substitution table and can tolerate extremely skewed distributions on the input.
619: 648: 539:
Bloom Filter: A Data Structure for Computer Networking, Big Data, Cloud Computing, Internet of Things, Bioinformatics and Beyond
224:
DJBX33A ("Daniel J. Bernstein, Times 33 with Addition"). This very simple multiplication-and-addition function was proposed by
36:) and therefore can be faster and less resource-intensive. Typical examples of CPU-optimized non-cryptographic hashes include 582: 547: 518: 131: 88:(CRC), have essentially no collision resistance and thus cannot be used with an input open to manipulation by an attacker. 470: 312: 69: 615: 276: 29: 115:—anywhere in computing where there is a need to find the information very quickly (preferably in the 608: 169: 85: 45: 506: 537: 284: 104: 288: 77: 8: 228:. It is fast and efficient during initialization. Many programming environments based on 225: 147: 33: 272: 578: 553: 543: 524: 514: 493: 457: 233: 28:
intended for applications that do not need the rigorous security requirements of the
570: 485: 449: 196: 135: 92: 73: 453: 251: 574: 295:
versions of lightweight hashes and ciphers as non-cryptographic hash functions.
134:(FNV) was created by Glenn Fowler and Phong Vo in 1991 with contributions from 557: 528: 469:
Estébanez, César; Saez, Yago; Recio, Gustavo; Isasi, Pedro (28 January 2013).
642: 497: 461: 359: 357: 355: 342: 340: 292: 241: 218: 200: 81: 25: 536:
Patgiri, Ripon; Nayak, Sabuzima; Muppalaneni, Naresh Babu (25 April 2023).
159: 155: 65: 57: 352: 337: 120: 417: 206: 173: 138:. FNV with its two variants, FNV-1 and FNV-1a, is very widely used in 112: 108: 61: 565:
Mittelbach, Arno; Fischlin, Marc (2021). "Non-cryptographic Hashing".
489: 405: 210: 393: 185: 100: 96: 325: 298:
Many NCHFs have a relatively small result size (e.g., 64 bits for
471:"Performance of the most common non-cryptographic hash functions" 299: 268: 237: 214: 165: 151: 143: 41: 597: 369: 287:
of its algorithms is usually too high due to a large number of
271:(which has an additional benefit of being able to use a secret 192: 56:
Among the typical uses of non-cryptographic hash functions are
37: 439: 363: 346: 569:. Cham: Springer International Publishing. pp. 303–334. 229: 139: 264: 250:
DEK is an early multiplicative hash based on a proposal by
181: 177: 116: 535: 468: 423: 411: 399: 331: 209:
2 was created by Austin Appleby in 2008 and is used in
622:
to it so that it can be listed with similar articles.
254:
and is one of the oldest hashes that is still in use.
172:. This hash is also widely used and can be found in 80:
is an additional feature that can be useful against
68:. These applications require, in addition to speed, 564: 375: 126:EstĂ©banez et al. list the "most important" NCHFs: 267:-friendlier designs had been proposed, including 640: 381: 51: 567:The Theory of Hash Functions and Random Oracles 279:), NSGAhash, and XORhash. Although technically 240:use variants of this hash. The hash is easy to 511:Information Security: Principles and Practice 283:can be used for the same applications, the 641: 119:time, which will also achieve perfect 513:(2 ed.). John Wiley & Sons. 504: 424:Patgiri, Nayak & Muppalaneni 2023 387: 591: 291:. Sateesan et al. propose using the 91:NCHFs are used in diverse systems: 13: 607:needs additional or more specific 542:. Academic Press. pp. 37–38. 14: 660: 649:Hash function (non-cryptographic) 478:Software: Practice and Experience 596: 442:Microprocessors and Microsystems 313:non-cryptographic hash functions 84:attacks; simple NCHFs, like the 18:non-cryptographic hash functions 505:Stamp, Mark (8 November 2011). 376:Mittelbach & Fischlin 2021 1: 318: 52:Applications and requirements 454:10.1016/j.micpro.2023.104782 132:Fowler–Noll–Vo hash function 30:cryptographic hash functions 7: 575:10.1007/978-3-030-63287-8_7 305: 10: 665: 507:"Non-Cryptographic Hashes" 433: 258: 281:lightweight cryptography 46:universal hash functions 244:, exposing the servers. 86:cyclic redundancy check 277:message authentication 105:communication networks 412:EstĂ©banez et al. 2013 400:EstĂ©banez et al. 2013 332:EstĂ©banez et al. 2013 364:Sateesan et al. 2023 347:Sateesan et al. 2023 78:Collision resistance 70:uniform distribution 226:Daniel J. Bernstein 146:OSes, DNS servers, 34:preimage resistance 637: 636: 620:adding categories 584:978-3-030-63286-1 549:978-0-12-823646-8 520:978-1-118-02796-7 426:, pp. 37–38. 93:lexical analyzers 656: 632: 629: 623: 600: 592: 588: 561: 532: 501: 490:10.1002/spe.2179 475: 465: 427: 421: 415: 409: 403: 397: 391: 385: 379: 373: 367: 361: 350: 344: 335: 329: 136:Landon Curt Noll 664: 663: 659: 658: 657: 655: 654: 653: 639: 638: 633: 627: 624: 613: 601: 585: 550: 521: 473: 436: 431: 430: 422: 418: 414:, pp. 3–4. 410: 406: 398: 394: 386: 382: 374: 370: 362: 353: 345: 338: 330: 326: 321: 308: 261: 252:Donald E. Knuth 168:was created by 162:, among others. 107:, video games, 54: 12: 11: 5: 662: 652: 651: 635: 634: 604: 602: 595: 590: 589: 583: 562: 548: 533: 519: 502: 484:(6): 681–698. 466: 435: 432: 429: 428: 416: 404: 392: 380: 378:, p. 303. 368: 351: 336: 323: 322: 320: 317: 316: 315: 307: 304: 260: 257: 256: 255: 248: 245: 222: 204: 189: 170:Robert Jenkins 163: 66:count sketches 53: 50: 26:hash functions 9: 6: 4: 3: 2: 661: 650: 647: 646: 644: 631: 621: 617: 611: 610: 605:This article 603: 599: 594: 593: 586: 580: 576: 572: 568: 563: 559: 555: 551: 545: 541: 540: 534: 530: 526: 522: 516: 512: 508: 503: 499: 495: 491: 487: 483: 479: 472: 467: 463: 459: 455: 451: 447: 443: 438: 437: 425: 420: 413: 408: 401: 396: 389: 384: 377: 372: 365: 360: 358: 356: 348: 343: 341: 333: 328: 324: 314: 310: 309: 303: 301: 296: 294: 293:reduced-round 290: 286: 282: 278: 274: 270: 266: 253: 249: 246: 243: 239: 235: 231: 227: 223: 220: 219:Apache Hadoop 216: 212: 208: 205: 202: 201:Google Chrome 198: 194: 190: 187: 183: 179: 175: 171: 167: 164: 161: 157: 153: 149: 145: 141: 137: 133: 129: 128: 127: 124: 122: 118: 114: 110: 106: 102: 98: 94: 89: 87: 83: 82:hash flooding 79: 75: 71: 67: 63: 59: 58:bloom filters 49: 47: 43: 39: 35: 31: 27: 23: 19: 625: 606: 566: 538: 510: 481: 477: 445: 441: 419: 407: 402:, p. 1. 395: 383: 371: 366:, p. 2. 349:, p. 1. 327: 297: 262: 211:libmemcached 160:Xbox console 156:PlayStation2 125: 90: 76:properties. 55: 21: 17: 15: 121:scalability 113:filesystems 109:DNS servers 62:hash tables 609:categories 558:1377693258 529:1039294381 448:: 104782. 388:Stamp 2011 319:References 311:A list of 207:MurmurHash 174:PostgreSQL 498:0038-0644 462:0141-9331 195:(part of 176:, Linux, 101:databases 97:compilers 74:avalanche 643:Category 628:May 2023 616:help out 306:See also 186:Infoseek 614:Please 434:Sources 300:SipHash 285:latency 269:SipHash 238:ASP.NET 215:Maatkit 166:lookup3 152:Twitter 144:FreeBSD 42:Murmur3 32:(e.g., 581:  556:  546:  527:  517:  496:  460:  289:rounds 259:Design 236:, and 234:Python 217:, and 197:Safari 193:WebKit 184:, and 158:, and 64:, and 38:FNV-1a 24:) are 474:(PDF) 242:flood 230:PHP 5 140:Linux 22:NCHFs 579:ISBN 554:OCLC 544:ISBN 525:OCLC 515:ISBN 494:ISSN 458:ISSN 275:for 265:ASIC 199:and 182:Ruby 178:Perl 130:The 117:O(1) 72:and 40:and 16:The 618:by 571:doi 486:doi 450:doi 273:key 148:NFS 123:). 645:: 577:. 552:. 523:. 509:. 492:. 482:44 480:. 476:. 456:. 446:98 444:. 354:^ 339:^ 232:, 213:, 203:). 180:, 154:, 150:, 142:, 111:, 103:, 99:, 95:, 60:, 48:. 630:) 626:( 612:. 587:. 573:: 560:. 531:. 500:. 488:: 464:. 452:: 390:. 334:. 221:. 188:. 20:(

Index

hash functions
cryptographic hash functions
preimage resistance
FNV-1a
Murmur3
universal hash functions
bloom filters
hash tables
count sketches
uniform distribution
avalanche
Collision resistance
hash flooding
cyclic redundancy check
lexical analyzers
compilers
databases
communication networks
DNS servers
filesystems
O(1)
scalability
Fowler–Noll–Vo hash function
Landon Curt Noll
Linux
FreeBSD
NFS
Twitter
PlayStation2
Xbox console

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

↑