354:, in most cases the top hash is acquired from a trusted source, for instance a friend or a web site that is known to have good recommendations of files to download. When the top hash is available, the hash tree can be received from any non-trusted source, like any peer in the P2P network. Then, the received hash tree is checked against the trusted top hash, and if the hash tree is damaged or fake, another hash tree from another source will be tried until the program finds one that matches the top hash.
841:
exchange Merkle trees to identify parts of their replicated key ranges which are out of sync. A Merkle tree is a hierarchical hash verification: if the hash over the entire keyspace is not the same between two replicas, they will exchange hashes of smaller and smaller portions of the replicated keyspace until the out-of-sync keys are identified. This approach reduces unnecessary data transfer between replicas which contain mostly similar data.
2327:
512:
398:. This can be an advantage since it is efficient to split files up in very small data blocks so that only small blocks have to be re-downloaded if they get damaged. If the hashed file is big, such a hash list or hash chain becomes fairly big. But if it is a tree, one small branch can be downloaded quickly, the integrity of the branch can be checked, and then the downloading of data blocks can start.
1209:
31:
670:
840:
When a replica is down for an extended period of time, or the machine storing hinted handoffs for an unavailable replica goes down as well, replicas must synchronize from one another. In this case, Cassandra and Riak implement a Dynamo-inspired process called anti-entropy. In anti-entropy, replicas
438:, and helps in making some proofs tighter. Some implementations limit the tree depth using hash tree depth prefixes before hashes, so any extracted hash chain is defined to be valid only if the prefix decreases at each step and is still positive when the leaf is reached.
361:
is that one branch of the hash tree can be downloaded at a time and the integrity of each branch can be checked immediately, even though the whole tree is not available yet. For example, in the picture, the integrity of
410:
in which an attacker creates a document other than the original that has the same Merkle hash root. For the example above, an attacker can create a new document containing two data blocks, where the first is
959:
Elena
Andreeva; Charles Bouillaguet; Pierre-Alain Fouque; Jonathan J. Hoch; John Kelsey; Adi Shamir; Sebastien Zimmer (2008). "Second Preimage Attacks on Dithered Hash Functions". In Smart, Nigel (ed.).
434:: when computing leaf node hashes, a 0x00 byte is prepended to the hash data, while 0x01 is prepended when computing internal node hashes. Limiting the hash tree size is a prerequisite of some
97:
of the number of leaf nodes in the tree. Conversely, in a hash list, the number is proportional to the number of leaf nodes itself. A Merkle tree is therefore an efficient example of a
2307:
2137:
34:
An example of a binary hash tree. Hashes 0-0 and 0-1 are the hash values of data blocks L1 and L2, respectively, and hash 0 is the hash of the concatenation of hashes 0-0 and 0-1.
668:, Ralph Merkle, "Method of providing digital signatures", published Jan 5, 1982, assigned to The Board of Trustees of the Leland Stanford Junior University
1001:
1990:
1059:
1910:
926:
Elena
Andreeva; Charles Bouillaguet; Orr Dunkelman; John Kelsey (January 2009). "Herding, Second Preimage and Trojan Message Attacks beyond Merkle-DamgĂĄrd".
446:
The Tiger tree hash is a widely used form of hash tree. It uses a binary hash tree (two child nodes under each node), usually has a data block size of 1024
78:) is labelled with the cryptographic hash of the labels of its child nodes. A hash tree allows efficient and secure verification of the contents of a large
1298:
1327:
576:
281:
in, for instance, a file or set of files. Nodes farther up in the tree are the hashes of their respective children. For example, in the above picture
2879:
316:
Most hash tree implementations are binary (two child nodes under each node) but they can just as well use many more child nodes under each node.
733:
1199:
2884:
2616:
1169:
977:
943:
649:
2823:
116:
Hash trees can be used to verify any kind of data stored, handled and transferred in and between computers. They can help ensure that data
1016:
101:, in which the root of the tree is seen as a commitment and leaf nodes may be revealed and proven to be part of the original commitment.
693:
1854:
2367:
1687:
1198:
1983:
817:
2894:
2483:
1291:
93:
Demonstrating that a leaf node is a part of a given binary hash tree requires computing a number of hashes proportional to the
2186:
1895:
1380:
1332:
1682:
466:
261:
applies the compression step of the hash function to an excessive degree, which is mitigated by using Fast Merkle Trees.
1976:
1900:
1233:
2302:
2257:
2070:
1669:
1311:
1307:
517:
320:
63:
1067:
2448:
2181:
1284:
137:
1251:
2833:
2297:
1926:
1565:
2389:
2287:
2277:
2132:
1905:
1741:
1440:
1435:
431:
213:
98:
583:
124:
are received undamaged and unaltered, and even to check that the other peers do not lie and send fake blocks.
1166: – explains both the hash tree structure and the use of it to handle many one-time signatures
2282:
2272:
2075:
2035:
2028:
2018:
2013:
1828:
1648:
1214:
332:
243:
131:
1229:
2360:
2023:
1936:
1322:
771:
535:
407:
182:
715:
2527:
2376:
2330:
2176:
2122:
1951:
1601:
1555:
1445:
1403:
1388:
1370:
451:
327:
is used for the hashing. If the hash tree only needs to protect against unintentional damage, unsecured
59:
55:
762:
Koblitz, Neal; Menezes, Alfred J. (January 2016). "Cryptocash, cryptocurrencies, and cryptocontracts".
665:
2517:
2472:
2292:
2216:
1621:
1525:
1475:
1450:
854:
741:
776:
2631:
2407:
2055:
1946:
1823:
1772:
1711:
1530:
1490:
1470:
550:
435:
220:
2487:
2798:
2757:
2583:
2573:
2452:
2161:
2145:
2092:
1880:
1864:
1813:
1398:
995:
983:
884:
789:
1034:
2692:
2393:
2353:
2221:
2211:
2082:
1757:
1020:
973:
939:
813:
645:
251:
685:
2889:
2783:
2156:
1844:
1798:
1560:
965:
931:
908:
865:
781:
637:
258:
235:
156:
43:
2727:
2477:
1859:
1808:
1803:
1591:
964:. Lecture Notes in Computer Science. Vol. 4965. Istanbul, Turkey. pp. 270–288.
632:
Merkle, R. C. (1988). "A Digital
Signature Based on a Conventional Encryption Function".
277:
in which the leaves (i.e., leaf nodes, sometimes also called "leafs") are hashes of data
2680:
2675:
2558:
2492:
2231:
2151:
2112:
2060:
2045:
1849:
1577:
174:
162:
79:
1242:
A C implementation of a dynamically re-sizeable binary SHA-256 hash tree (Merkle tree)
807:
2873:
2828:
2808:
2651:
2540:
2467:
2312:
2267:
2226:
2206:
2102:
2065:
2040:
1941:
1818:
1520:
1265:, an open source command-line tool, which can calculate TTH and magnet links with TTH
1133:
286:
274:
2402:
987:
793:
2788:
2752:
2568:
2563:
2545:
2457:
2262:
2107:
2097:
2087:
2050:
1999:
497:
473:
469:
121:
105:
39:
1115:
1197:
969:
935:
2803:
2793:
2707:
2641:
2636:
2626:
2535:
2384:
2241:
1777:
1706:
1702:
1611:
525:
511:
351:
270:
168:
1090:
2848:
2818:
2778:
2621:
2550:
2497:
2417:
2201:
2171:
2166:
2127:
1162:
785:
555:
540:
530:
507:
493:
278:
189:
143:
117:
87:
1257:
1217:
was created from a revision of this article dated 17 September 2013
870:
812:
PhD thesis, Faculty of
Science, Utrecht, The Netherlands. January 2006. p.21
641:
2853:
2813:
2660:
2588:
2578:
2191:
1606:
930:. Lecture Notes in Computer Science. Vol. 5867. SAC. pp. 393–414.
545:
481:
462:
358:
181:
distributed revision control systems (although, strictly speaking, they use
178:
94:
83:
17:
1393:
2742:
2432:
900:
2858:
2732:
2712:
2685:
2670:
2422:
2236:
2196:
1885:
1782:
1767:
1762:
1752:
1716:
1636:
1550:
1430:
489:
485:
458:
328:
224:
206:
831:
2843:
2747:
2722:
2665:
2512:
2442:
2437:
2412:
2345:
1721:
1677:
1455:
1246:
202:
195:
1241:
636:. Lecture Notes in Computer Science. Vol. 293. pp. 369–378.
30:
2762:
2737:
2717:
2702:
2611:
2502:
2427:
2117:
1890:
1631:
1626:
1596:
1586:
1545:
1540:
1535:
1515:
1510:
1485:
1480:
1465:
1425:
912:
374:
by hashing the data block and iteratively combining the result with
2606:
2507:
2462:
1616:
1505:
1460:
1408:
1365:
1360:
1354:
406:
The Merkle hash root does not indicate the tree depth, enabling a
324:
231:
148:
29:
607:
2598:
1731:
1726:
1697:
1692:
1656:
1262:
577:"Merkle Signature Schemes, Merkle Trees and Their Cryptanalysis"
477:
447:
239:
2349:
1972:
1280:
1500:
1495:
1348:
152:
66:
of a data block, and every node that is not a leaf (called a
1195:
366:
can be verified immediately if the tree already contains
1172: – a detailed description of Tiger trees
2138:
Cryptographically secure pseudorandom number generator
257:
The initial
Bitcoin implementation of Merkle trees by
582:. Ruhr-Universität Bochum. p. 16. Archived from
1268:
855:"Improved efficient arguments (preliminary version)"
2771:
2650:
2597:
2526:
2383:
2250:
2006:
1919:
1873:
1837:
1791:
1740:
1668:
1645:
1574:
1418:
1379:
1341:
1258:
Tiger Tree Hash (TTH) implementations in C and Java
899:Laurie, B.; Langley, A.; Kasper, E. (June 2013).
809:The Purely Functional Software Deployment Model.
250:Suggestions have been made to use hash trees in
1208:
2361:
1984:
1292:
8:
2368:
2354:
2346:
1991:
1977:
1969:
1299:
1285:
1277:
1273:
1269:
1000:: CS1 maint: location missing publisher (
382:and finally comparing the result with the
104:The concept of a hash tree is named after
1015:Chapweske, J.; Mohr, G. (March 4, 2003).
869:
775:
1225:, and does not reflect subsequent edits.
390:can be verified if the tree already has
1252:Tiger Tree Hash (TTH) source code in C#
962:Advances in Cryptology – EUROCRYPT 2008
567:
82:. A hash tree is a generalization of a
1060:"Audit: P2P DirectConnect Application"
993:
894:
892:
716:"Bitrot Resistance on a Single Drive"
338:In the top of a hash tree there is a
7:
1089:Arne Babenhauserheide (7 Jan 2007).
885:Mark Friedenbach: Fast Merkle Trees
634:Advances in Cryptology – CRYPTO '87
313:) where "+" denotes concatenation.
1247:Merkle tree implementation in Java
1017:"Tree Hash EXchange format (THEX)"
696:from the original on April 3, 2012
608:"Handbook of Applied Cryptography"
350:). Before downloading a file on a
25:
2326:
2325:
1207:
1170:Tree Hash EXchange format (THEX)
510:
764:Designs, Codes and Cryptography
734:"General Verifiable Federation"
686:"ZFS End-to-End Data Integrity"
120:received from other peers in a
99:cryptographic commitment scheme
2880:Error detection and correction
2187:Information-theoretic security
1896:NIST hash function competition
928:Selected Areas in Cryptography
472:file sharing protocols and in
457:Tiger tree hashes are used in
386:. Similarly, the integrity of
1:
430:One simple fix is defined in
285:is the result of hashing the
2885:Cryptographic hash functions
1901:Password Hashing Competition
1312:message authentication codes
1308:Cryptographic hash functions
1163:Merkle tree patent 4,309,569
1035:"tigertree.c File Reference"
970:10.1007/978-3-540-78967-3_16
936:10.1007/978-3-642-05445-7_25
684:Bonwick, Jeff (2005-12-08).
575:Becker, Georg (2008-07-18).
2303:Message authentication code
2258:Cryptographic hash function
2071:Cryptographic hash function
1855:Merkle–Damgård construction
518:Computer programming portal
357:The main difference from a
321:cryptographic hash function
108:, who patented it in 1979.
2913:
2182:Harvest now, decrypt later
1120:dcplusplus.sourceforge.net
901:"Certificate Transparency"
138:InterPlanetary File System
2321:
2298:Post-quantum cryptography
1968:
1318:
1276:
1272:
786:10.1007/s10623-015-0148-5
155:file systems (to counter
127:Hash trees are used in:
2824:Left-child right-sibling
2288:Quantum key distribution
2278:Authenticated encryption
2133:Random number generation
1649:key derivation functions
871:10.1007/3-540-44750-4_25
642:10.1007/3-540-48184-2_32
432:Certificate Transparency
214:Certificate Transparency
2895:Trees (data structures)
2654:data partitioning trees
2612:C-trie (compressed ADT)
2283:Public-key cryptography
2273:Symmetric-key algorithm
2076:Key derivation function
2036:Cryptographic primitive
2029:Authentication protocol
2019:Outline of cryptography
2014:History of cryptography
1927:Hash-based cryptography
1829:Length extension attack
183:directed acyclic graphs
132:hash-based cryptography
2024:Cryptographic protocol
1937:Message authentication
1203:
1183:Listen to this article
536:Distributed hash table
436:formal security proofs
408:second-preimage attack
402:Second preimage attack
209:peer-to-peer networks;
58:in which every "leaf"
35:
27:Type of data structure
2177:End-to-end encryption
2123:Cryptojacking malware
1202:
1116:"DC++'s feature list"
1091:"Phex 3.0.0 released"
832:"The NoSQL Ecosystem"
666:US patent 4309569
476:applications such as
223:and descendants like
62:is labelled with the
33:
2834:Log-structured merge
2377:Tree data structures
2293:Quantum cryptography
2217:Trusted timestamping
1234:More spoken articles
738:Google Wave Protocol
419:, and the second is
122:peer-to-peer network
2056:Cryptographic nonce
1824:Side-channel attack
1070:on January 29, 2015
853:Kilian, J. (1995).
551:Linked timestamping
221:Nix package manager
2799:Fractal tree index
2394:associative arrays
2162:Subliminal channel
2146:Pseudorandom noise
2093:Key (cryptography)
1881:CAESAR Competition
1865:HAIFA construction
1814:Brute-force attack
1204:
64:cryptographic hash
36:
2867:
2866:
2343:
2342:
2339:
2338:
2222:Key-based routing
2212:Trapdoor function
2083:Digital signature
1964:
1963:
1960:
1959:
1758:ChaCha20-Poly1305
1575:Password hashing/
1200:
979:978-3-540-78966-6
945:978-3-642-05443-3
651:978-3-540-18796-7
612:cacr.uwaterloo.ca
269:A hash tree is a
252:trusted computing
16:(Redirected from
2902:
2370:
2363:
2356:
2347:
2329:
2328:
2157:Insecure channel
1993:
1986:
1979:
1970:
1845:Avalanche effect
1799:Collision attack
1342:Common functions
1301:
1294:
1287:
1278:
1274:
1270:
1254:, by Gil Schmidt
1224:
1222:
1211:
1210:
1201:
1191:
1189:
1184:
1165:
1149:
1148:
1146:
1144:
1130:
1124:
1123:
1112:
1106:
1105:
1103:
1101:
1086:
1080:
1079:
1077:
1075:
1066:. Archived from
1056:
1050:
1049:
1047:
1045:
1031:
1025:
1024:
1019:. Archived from
1012:
1006:
1005:
999:
991:
956:
950:
949:
923:
917:
916:
913:10.17487/rfc6962
896:
887:
882:
876:
875:
873:
859:
850:
844:
843:
827:
821:
804:
798:
797:
779:
759:
753:
752:
750:
749:
740:. Archived from
730:
724:
723:
711:
705:
704:
702:
701:
690:blogs.oracle.com
681:
675:
674:
673:
669:
662:
656:
655:
629:
623:
622:
620:
619:
614:. Section 13.4.1
604:
598:
597:
595:
594:
588:
581:
572:
520:
515:
514:
259:Satoshi Nakamoto
236:Apache Cassandra
234:systems such as
157:data degradation
44:computer science
21:
2912:
2911:
2905:
2904:
2903:
2901:
2900:
2899:
2870:
2869:
2868:
2863:
2767:
2646:
2593:
2522:
2518:Weight-balanced
2473:Order statistic
2387:
2379:
2374:
2344:
2335:
2317:
2246:
2002:
1997:
1956:
1915:
1874:Standardization
1869:
1860:Sponge function
1833:
1809:Birthday attack
1804:Preimage attack
1787:
1743:
1736:
1664:
1647:
1646:General purpose
1641:
1576:
1570:
1419:Other functions
1414:
1381:SHA-3 finalists
1375:
1337:
1314:
1305:
1238:
1237:
1226:
1220:
1218:
1215:This audio file
1212:
1205:
1196:
1193:
1187:
1186:
1182:
1179:
1161:
1158:
1156:Further reading
1153:
1152:
1142:
1140:
1132:
1131:
1127:
1114:
1113:
1109:
1099:
1097:
1088:
1087:
1083:
1073:
1071:
1058:
1057:
1053:
1043:
1041:
1033:
1032:
1028:
1014:
1013:
1009:
992:
980:
958:
957:
953:
946:
925:
924:
920:
898:
897:
890:
883:
879:
857:
852:
851:
847:
829:
828:
824:
805:
801:
777:10.1.1.701.8721
761:
760:
756:
747:
745:
732:
731:
727:
713:
712:
708:
699:
697:
683:
682:
678:
671:
664:
663:
659:
652:
631:
630:
626:
617:
615:
606:
605:
601:
592:
590:
586:
579:
574:
573:
569:
564:
516:
509:
506:
444:
442:Tiger tree hash
404:
267:
114:
28:
23:
22:
15:
12:
11:
5:
2910:
2909:
2906:
2898:
2897:
2892:
2887:
2882:
2872:
2871:
2865:
2864:
2862:
2861:
2856:
2851:
2846:
2841:
2836:
2831:
2826:
2821:
2816:
2811:
2806:
2801:
2796:
2791:
2786:
2781:
2775:
2773:
2769:
2768:
2766:
2765:
2760:
2755:
2750:
2745:
2740:
2735:
2730:
2725:
2720:
2715:
2710:
2705:
2700:
2683:
2678:
2673:
2668:
2663:
2657:
2655:
2648:
2647:
2645:
2644:
2639:
2634:
2632:Ternary search
2629:
2624:
2619:
2614:
2609:
2603:
2601:
2595:
2594:
2592:
2591:
2586:
2581:
2576:
2571:
2566:
2561:
2556:
2548:
2543:
2538:
2532:
2530:
2524:
2523:
2521:
2520:
2515:
2510:
2505:
2500:
2495:
2490:
2480:
2475:
2470:
2465:
2460:
2455:
2445:
2440:
2435:
2430:
2425:
2420:
2415:
2410:
2405:
2399:
2397:
2381:
2380:
2375:
2373:
2372:
2365:
2358:
2350:
2341:
2340:
2337:
2336:
2334:
2333:
2322:
2319:
2318:
2316:
2315:
2310:
2308:Random numbers
2305:
2300:
2295:
2290:
2285:
2280:
2275:
2270:
2265:
2260:
2254:
2252:
2248:
2247:
2245:
2244:
2239:
2234:
2232:Garlic routing
2229:
2224:
2219:
2214:
2209:
2204:
2199:
2194:
2189:
2184:
2179:
2174:
2169:
2164:
2159:
2154:
2152:Secure channel
2149:
2143:
2142:
2141:
2130:
2125:
2120:
2115:
2113:Key stretching
2110:
2105:
2100:
2095:
2090:
2085:
2080:
2079:
2078:
2073:
2063:
2061:Cryptovirology
2058:
2053:
2048:
2046:Cryptocurrency
2043:
2038:
2033:
2032:
2031:
2021:
2016:
2010:
2008:
2004:
2003:
1998:
1996:
1995:
1988:
1981:
1973:
1966:
1965:
1962:
1961:
1958:
1957:
1955:
1954:
1949:
1944:
1939:
1934:
1929:
1923:
1921:
1917:
1916:
1914:
1913:
1908:
1903:
1898:
1893:
1888:
1883:
1877:
1875:
1871:
1870:
1868:
1867:
1862:
1857:
1852:
1850:Hash collision
1847:
1841:
1839:
1835:
1834:
1832:
1831:
1826:
1821:
1816:
1811:
1806:
1801:
1795:
1793:
1789:
1788:
1786:
1785:
1780:
1775:
1770:
1765:
1760:
1755:
1749:
1747:
1738:
1737:
1735:
1734:
1729:
1724:
1719:
1714:
1709:
1700:
1695:
1690:
1685:
1680:
1674:
1672:
1666:
1665:
1663:
1662:
1659:
1653:
1651:
1643:
1642:
1640:
1639:
1634:
1629:
1624:
1619:
1614:
1609:
1604:
1599:
1594:
1589:
1583:
1581:
1578:key stretching
1572:
1571:
1569:
1568:
1563:
1558:
1553:
1548:
1543:
1538:
1533:
1528:
1523:
1518:
1513:
1508:
1503:
1498:
1493:
1488:
1483:
1478:
1473:
1468:
1463:
1458:
1453:
1448:
1443:
1438:
1433:
1428:
1422:
1420:
1416:
1415:
1413:
1412:
1406:
1401:
1396:
1391:
1385:
1383:
1377:
1376:
1374:
1373:
1368:
1363:
1358:
1352:
1345:
1343:
1339:
1338:
1336:
1335:
1330:
1325:
1319:
1316:
1315:
1306:
1304:
1303:
1296:
1289:
1281:
1267:
1266:
1260:
1255:
1249:
1244:
1227:
1213:
1206:
1194:
1181:
1180:
1178:
1177:External links
1175:
1174:
1173:
1167:
1157:
1154:
1151:
1150:
1125:
1107:
1081:
1051:
1026:
1023:on 2009-08-03.
1007:
978:
951:
944:
918:
888:
877:
845:
822:
799:
754:
725:
706:
676:
657:
650:
624:
599:
566:
565:
563:
560:
559:
558:
553:
548:
543:
538:
533:
528:
522:
521:
505:
502:
467:Direct Connect
443:
440:
403:
400:
266:
263:
248:
247:
228:
217:
210:
199:
193:
192:backup system;
186:
172:
166:
160:
146:
141:
135:
113:
110:
80:data structure
26:
24:
14:
13:
10:
9:
6:
4:
3:
2:
2908:
2907:
2896:
2893:
2891:
2888:
2886:
2883:
2881:
2878:
2877:
2875:
2860:
2857:
2855:
2852:
2850:
2847:
2845:
2842:
2840:
2837:
2835:
2832:
2830:
2827:
2825:
2822:
2820:
2817:
2815:
2812:
2810:
2809:Hash calendar
2807:
2805:
2802:
2800:
2797:
2795:
2792:
2790:
2787:
2785:
2782:
2780:
2777:
2776:
2774:
2770:
2764:
2761:
2759:
2756:
2754:
2751:
2749:
2746:
2744:
2741:
2739:
2736:
2734:
2731:
2729:
2726:
2724:
2721:
2719:
2716:
2714:
2711:
2709:
2706:
2704:
2701:
2698:
2696:
2690:
2688:
2684:
2682:
2679:
2677:
2674:
2672:
2669:
2667:
2664:
2662:
2659:
2658:
2656:
2653:
2649:
2643:
2640:
2638:
2635:
2633:
2630:
2628:
2625:
2623:
2620:
2618:
2615:
2613:
2610:
2608:
2605:
2604:
2602:
2600:
2596:
2590:
2587:
2585:
2584:van Emde Boas
2582:
2580:
2577:
2575:
2574:Skew binomial
2572:
2570:
2567:
2565:
2562:
2560:
2557:
2555:
2553:
2549:
2547:
2544:
2542:
2539:
2537:
2534:
2533:
2531:
2529:
2525:
2519:
2516:
2514:
2511:
2509:
2506:
2504:
2501:
2499:
2496:
2494:
2491:
2489:
2485:
2481:
2479:
2476:
2474:
2471:
2469:
2466:
2464:
2461:
2459:
2456:
2454:
2453:Binary search
2450:
2446:
2444:
2441:
2439:
2436:
2434:
2431:
2429:
2426:
2424:
2421:
2419:
2416:
2414:
2411:
2409:
2406:
2404:
2401:
2400:
2398:
2395:
2391:
2386:
2382:
2378:
2371:
2366:
2364:
2359:
2357:
2352:
2351:
2348:
2332:
2324:
2323:
2320:
2314:
2313:Steganography
2311:
2309:
2306:
2304:
2301:
2299:
2296:
2294:
2291:
2289:
2286:
2284:
2281:
2279:
2276:
2274:
2271:
2269:
2268:Stream cipher
2266:
2264:
2261:
2259:
2256:
2255:
2253:
2249:
2243:
2240:
2238:
2235:
2233:
2230:
2228:
2227:Onion routing
2225:
2223:
2220:
2218:
2215:
2213:
2210:
2208:
2207:Shared secret
2205:
2203:
2200:
2198:
2195:
2193:
2190:
2188:
2185:
2183:
2180:
2178:
2175:
2173:
2170:
2168:
2165:
2163:
2160:
2158:
2155:
2153:
2150:
2147:
2144:
2139:
2136:
2135:
2134:
2131:
2129:
2126:
2124:
2121:
2119:
2116:
2114:
2111:
2109:
2106:
2104:
2103:Key generator
2101:
2099:
2096:
2094:
2091:
2089:
2086:
2084:
2081:
2077:
2074:
2072:
2069:
2068:
2067:
2066:Hash function
2064:
2062:
2059:
2057:
2054:
2052:
2049:
2047:
2044:
2042:
2041:Cryptanalysis
2039:
2037:
2034:
2030:
2027:
2026:
2025:
2022:
2020:
2017:
2015:
2012:
2011:
2009:
2005:
2001:
1994:
1989:
1987:
1982:
1980:
1975:
1974:
1971:
1967:
1953:
1950:
1948:
1945:
1943:
1942:Proof of work
1940:
1938:
1935:
1933:
1930:
1928:
1925:
1924:
1922:
1918:
1912:
1909:
1907:
1904:
1902:
1899:
1897:
1894:
1892:
1889:
1887:
1884:
1882:
1879:
1878:
1876:
1872:
1866:
1863:
1861:
1858:
1856:
1853:
1851:
1848:
1846:
1843:
1842:
1840:
1836:
1830:
1827:
1825:
1822:
1820:
1819:Rainbow table
1817:
1815:
1812:
1810:
1807:
1805:
1802:
1800:
1797:
1796:
1794:
1790:
1784:
1781:
1779:
1776:
1774:
1771:
1769:
1766:
1764:
1761:
1759:
1756:
1754:
1751:
1750:
1748:
1745:
1742:Authenticated
1739:
1733:
1730:
1728:
1725:
1723:
1720:
1718:
1715:
1713:
1710:
1708:
1704:
1701:
1699:
1696:
1694:
1691:
1689:
1686:
1684:
1681:
1679:
1676:
1675:
1673:
1671:
1670:MAC functions
1667:
1660:
1658:
1655:
1654:
1652:
1650:
1644:
1638:
1635:
1633:
1630:
1628:
1625:
1623:
1620:
1618:
1615:
1613:
1610:
1608:
1605:
1603:
1600:
1598:
1595:
1593:
1590:
1588:
1585:
1584:
1582:
1579:
1573:
1567:
1564:
1562:
1559:
1557:
1554:
1552:
1549:
1547:
1544:
1542:
1539:
1537:
1534:
1532:
1529:
1527:
1524:
1522:
1519:
1517:
1514:
1512:
1509:
1507:
1504:
1502:
1499:
1497:
1494:
1492:
1489:
1487:
1484:
1482:
1479:
1477:
1474:
1472:
1469:
1467:
1464:
1462:
1459:
1457:
1454:
1452:
1449:
1447:
1444:
1442:
1439:
1437:
1434:
1432:
1429:
1427:
1424:
1423:
1421:
1417:
1410:
1407:
1405:
1402:
1400:
1397:
1395:
1392:
1390:
1387:
1386:
1384:
1382:
1378:
1372:
1369:
1367:
1364:
1362:
1359:
1357:(compromised)
1356:
1353:
1351:(compromised)
1350:
1347:
1346:
1344:
1340:
1334:
1333:Known attacks
1331:
1329:
1326:
1324:
1321:
1320:
1317:
1313:
1309:
1302:
1297:
1295:
1290:
1288:
1283:
1282:
1279:
1275:
1271:
1264:
1261:
1259:
1256:
1253:
1250:
1248:
1245:
1243:
1240:
1239:
1235:
1231:
1216:
1176:
1171:
1168:
1164:
1160:
1159:
1155:
1139:
1135:
1134:"Development"
1129:
1126:
1121:
1117:
1111:
1108:
1096:
1092:
1085:
1082:
1069:
1065:
1061:
1055:
1052:
1040:
1036:
1030:
1027:
1022:
1018:
1011:
1008:
1003:
997:
989:
985:
981:
975:
971:
967:
963:
955:
952:
947:
941:
937:
933:
929:
922:
919:
914:
910:
906:
902:
895:
893:
889:
886:
881:
878:
872:
867:
863:
856:
849:
846:
842:
837:
833:
830:Adam Marcus.
826:
823:
819:
818:90-393-4130-3
815:
811:
810:
803:
800:
795:
791:
787:
783:
778:
773:
770:(1): 87–102.
769:
765:
758:
755:
744:on 2018-04-08
743:
739:
735:
729:
726:
721:
717:
710:
707:
695:
691:
687:
680:
677:
667:
661:
658:
653:
647:
643:
639:
635:
628:
625:
613:
609:
603:
600:
589:on 2014-12-22
585:
578:
571:
568:
561:
557:
554:
552:
549:
547:
544:
542:
539:
537:
534:
532:
529:
527:
524:
523:
519:
513:
508:
503:
501:
499:
495:
491:
487:
483:
479:
475:
471:
468:
464:
460:
455:
453:
450:and uses the
449:
441:
439:
437:
433:
428:
426:
422:
418:
414:
409:
401:
399:
397:
393:
389:
388:data block L3
385:
381:
377:
373:
369:
365:
364:data block L2
360:
355:
353:
349:
345:
341:
336:
335:can be used.
334:
330:
326:
322:
317:
314:
312:
308:
304:
300:
296:
292:
288:
287:concatenation
284:
280:
276:
272:
264:
262:
260:
255:
253:
245:
241:
237:
233:
229:
226:
222:
218:
215:
211:
208:
204:
200:
197:
194:
191:
187:
185:, not trees);
184:
180:
176:
173:
170:
167:
164:
161:
158:
154:
150:
147:
145:
142:
139:
136:
133:
130:
129:
128:
125:
123:
119:
111:
109:
107:
102:
100:
96:
91:
89:
85:
81:
77:
73:
69:
65:
61:
57:
53:
49:
45:
41:
32:
19:
2838:
2694:
2686:
2551:
2484:Left-leaning
2390:dynamic sets
2385:Search trees
2263:Block cipher
2108:Key schedule
2098:Key exchange
2088:Kleptography
2051:Cryptosystem
2000:Cryptography
1931:
1143:23 September
1141:. Retrieved
1138:GTK-Gnutella
1137:
1128:
1119:
1110:
1100:23 September
1098:. Retrieved
1094:
1084:
1074:23 September
1072:. Retrieved
1068:the original
1063:
1054:
1044:23 September
1042:. Retrieved
1039:Gtk-Gnutella
1038:
1029:
1021:the original
1010:
961:
954:
927:
921:
904:
880:
861:
848:
839:
836:aosabook.org
835:
825:
808:
806:Dolstra, E.
802:
767:
763:
757:
746:. Retrieved
742:the original
737:
728:
719:
709:
698:. Retrieved
689:
679:
660:
633:
627:
616:. Retrieved
611:
602:
591:. Retrieved
584:the original
570:
498:gtk-gnutella
474:file sharing
456:
445:
429:
424:
420:
416:
412:
405:
395:
391:
387:
383:
379:
375:
371:
367:
363:
356:
347:
343:
339:
337:
318:
315:
310:
306:
302:
298:
294:
290:
282:
268:
256:
249:
126:
115:
106:Ralph Merkle
103:
92:
75:
71:
67:
51:
47:
40:cryptography
37:
18:Merkle trees
2784:Exponential
2772:Other trees
2251:Mathematics
2242:Mix network
1932:Merkle tree
1920:Utilization
1906:NSA Suite B
907:: RFC6962.
714:Likai Liu.
526:Binary tree
352:P2P network
348:master hash
319:Usually, a
297:. That is,
169:Apache Wave
52:Merkle tree
2874:Categories
2728:Priority R
2478:Palindrome
2202:Ciphertext
2172:Decryption
2167:Encryption
2128:Ransomware
1744:encryption
1521:RadioGatĂşn
1328:Comparison
1230:Audio help
1221:2013-09-17
748:2017-03-09
700:2013-09-19
618:2024-03-07
593:2013-11-20
562:References
556:Radix tree
541:Hash table
531:Blockchain
452:Tiger hash
230:number of
216:framework;
190:Tahoe-LAFS
144:BitTorrent
88:hash chain
72:inner node
2814:iDistance
2693:implicit
2681:Hilbert R
2676:Cartesian
2559:Fibonacci
2493:Scapegoat
2488:Red–black
2192:Plaintext
1661:KDF1/KDF2
1580:functions
1566:Whirlpool
996:cite book
772:CiteSeerX
720:likai.org
546:Hash trie
482:BearShare
463:Gnutella2
378:and then
359:hash list
344:root hash
329:checksums
254:systems.
179:Mercurial
171:protocol;
165:protocol;
95:logarithm
84:hash list
48:hash tree
2829:Link/cut
2541:Binomial
2468:Interval
2331:Category
2237:Kademlia
2197:Codetext
2140:(CSPRNG)
1886:CRYPTREC
1717:Poly1305
1637:yescrypt
1551:Streebog
1431:CubeHash
1411:(winner)
1232: ·
1064:Symantec
988:12844017
794:16594958
694:Archived
504:See also
490:Shareaza
486:LimeWire
459:Gnutella
425:hash 1-1
421:hash 1-0
417:hash 0-1
413:hash 0-0
392:hash 1-1
384:top hash
376:hash 0-0
368:hash 0-0
340:top hash
331:such as
323:such as
311:hash 0-1
307:hash 0-0
295:hash 0-1
291:hash 0-0
265:Overview
225:GNU Guix
207:Ethereum
2890:Hashing
2789:Fenwick
2753:Segment
2652:Spatial
2569:Pairing
2564:Leftist
2486:)
2458:Dancing
2451:)
2449:Optimal
2007:General
1792:Attacks
1722:SipHash
1678:CBC-MAC
1612:LM hash
1592:Balloon
1456:HAS-160
1219: (
1190:minutes
203:Bitcoin
196:Zeronet
140:(IPFS),
2839:Merkle
2804:Fusion
2794:Finger
2718:Octree
2708:Metric
2642:Y-fast
2637:X-fast
2627:Suffix
2546:Brodal
2536:Binary
2118:Keygen
1952:Pepper
1891:NESSIE
1838:Design
1632:scrypt
1627:PBKDF2
1602:Catena
1597:bcrypt
1587:Argon2
1546:Snefru
1541:Shabal
1536:SWIFFT
1516:RIPEMD
1511:N-hash
1486:MASH-2
1481:MASH-1
1466:Kupyna
1426:BLAKE3
1409:Keccak
1394:Grøstl
1371:BLAKE2
986:
976:
942:
862:CRYPTO
816:
792:
774:
672:
648:
465:, and
396:hash 0
380:hash 1
372:hash 1
299:hash 0
283:hash 0
279:blocks
275:hashes
244:Dynamo
242:, and
118:blocks
86:and a
68:branch
2849:Range
2819:K-ary
2779:Cover
2622:Radix
2607:Ctrie
2599:Tries
2528:Heaps
2508:Treap
2498:Splay
2463:HTree
2418:(a,b)
2408:2–3–4
2148:(PRN)
1746:modes
1622:Makwa
1617:Lyra2
1607:crypt
1556:Tiger
1506:MDC-2
1461:HAVAL
1446:Fugue
1404:Skein
1389:BLAKE
1366:SHA-3
1361:SHA-2
1355:SHA-1
1263:RHash
984:S2CID
858:(PDF)
790:S2CID
587:(PDF)
580:(PDF)
448:bytes
325:SHA-2
232:NoSQL
149:Btrfs
76:inode
74:, or
54:is a
2854:SPQR
2733:Quad
2661:Ball
2617:Hash
2589:Weak
2579:Skew
2554:-ary
1947:Salt
1911:CNSA
1778:IAPM
1732:VMAC
1727:UMAC
1712:PMAC
1707:CMAC
1703:OMAC
1698:NMAC
1693:HMAC
1688:GMAC
1657:HKDF
1526:SIMD
1476:Lane
1451:GOST
1436:ECOH
1323:List
1310:and
1145:2018
1102:2018
1095:Phex
1076:2018
1046:2018
1002:link
974:ISBN
940:ISBN
905:IETF
814:ISBN
646:ISBN
496:and
494:DC++
478:Phex
394:and
370:and
342:(or
333:CRCs
303:hash
293:and
271:tree
240:Riak
219:the
212:the
205:and
201:the
188:the
177:and
151:and
112:Uses
60:node
56:tree
46:, a
42:and
2859:Top
2713:MVP
2671:BSP
2423:AVL
2403:2–3
1783:OCB
1773:GCM
1768:EAX
1763:CWC
1753:CCM
1683:DAA
1561:VSH
1531:SM3
1501:MD6
1496:MD4
1491:MD2
1471:LSH
1441:FSB
1349:MD5
966:doi
932:doi
909:doi
866:doi
782:doi
638:doi
470:P2P
346:or
289:of
273:of
175:Git
163:Dat
153:ZFS
50:or
38:In
2876::
2844:PQ
2758:VP
2748:R*
2743:R+
2723:PH
2697:-d
2689:-d
2666:BK
2513:UB
2438:B*
2433:B+
2413:AA
1399:JH
1136:.
1118:.
1093:.
1062:.
1037:.
998:}}
994:{{
982:.
972:.
938:.
903:.
891:^
864:.
860:.
838:.
834:.
788:.
780:.
768:78
766:.
736:.
718:.
692:.
688:.
644:.
610:.
500:.
492:,
488:,
484:,
480:,
461:,
454:.
427:.
423:+
415:+
309:+
305:(
301:=
238:,
159:);
90:.
70:,
2763:X
2738:R
2703:M
2699:)
2695:k
2691:(
2687:k
2552:d
2503:T
2482:(
2447:(
2443:B
2428:B
2396:)
2392:/
2388:(
2369:e
2362:t
2355:v
1992:e
1985:t
1978:v
1705:/
1300:e
1293:t
1286:v
1236:)
1228:(
1223:)
1192:)
1188:5
1185:(
1147:.
1122:.
1104:.
1078:.
1048:.
1004:)
990:.
968::
948:.
934::
915:.
911::
874:.
868::
820:.
796:.
784::
751:.
722:.
703:.
654:.
640::
621:.
596:.
246:.
227:;
198:;
134:.
20:)
Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.