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:(
Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.