Knowledge

Salt (cryptography)

Source đź“ť

175: 2143: 598:
This was necessary so that user-privileged software tools could find user names and other information. The security of passwords is therefore protected only by the one-way functions (enciphering or hashing) used for the purpose. Early Unix implementations limited passwords to eight characters and used a 12-bit salt, which allowed for 4,096 possible salt values. This was an appropriate balance for 1970s computational and storage costs.
73: 32: 471:. CSPRNGs are designed to produce unpredictable random numbers which can be alphanumeric. While generally discouraged due to lower security, some systems use timestamps or simple counters as a source of salt. Sometimes, a salt may be generated by combining a random value with additional information, such as a timestamp or user-specific data, to ensure uniqueness across different systems or time periods. 573:
one of the account's passwords to access the other account. By salting the passwords with two random characters, even if two accounts use the same password, no one can discover this just by reading hashes. Salting also makes it extremely difficult to determine if a person has used the same password for multiple systems.
597:
to store the hashes of salted passwords (passwords prefixed with two-character random salts). In these older versions of Unix, the salt was also stored in the passwd file (as cleartext) together with the hash of the salted password. The password file was publicly readable for all users of the system.
499:
If a salt is too short, an attacker may precompute a table of every possible salt appended to every likely password. Using a long salt ensures such a table would be prohibitively large. 16 bytes (128 bits) or more is generally sufficient to provide a large enough space of possible values, minimizing
572:
Another (lesser) benefit of a salt is as follows: two users might choose the same string as their password. Without a salt, this password would be stored as the same hash string in the password file. This would disclose the fact that the two accounts have the same password, allowing anyone who knows
563:
system, in which password hashes and other security data are stored in a non-public file, somewhat mitigates these concerns. However, they remain relevant in multi-server installations which use centralized password management systems to push passwords or password hashes to multiple systems. In such
487:
Generation of precomputed tables for databases with unique salts for every password is not viable because of the computational cost of doing so. But, if a common salt is used for all the entries, creating such a table (that accounts for the salt) then becomes a viable and possibly successful attack.
463:
The salt and hash are then stored in the database. To later test if a password a user enters is correct, the same process can be performed on it (appending that user's salt to the password and calculating the resultant hash): if the result does not match the stored hash, it could not have been the
533:
the user's actual password, it will be accepted as if it were, because the system can only check passwords by computing the hash of the password entered and comparing it to the hash stored in the file. Thus, each match cracks a user password, and the chance of a match rises with the number of
550:. In either case, salting can defend against the use of precomputed tables by lengthening hashes and having them draw from larger character sets, making it less likely that the table covers the resulting hashes. In particular, a precomputed table would need to cover the string 568:
account on each individual system may be treated as less trusted than the administrators of the centralized password system, so it remains worthwhile to ensure that the security of the password hashing algorithm, including the generation of unique salt values, is adequate.
284:), by vastly growing the size of table needed for a successful attack. It also helps protect passwords that occur multiple times in a database, as a new salt is used for each password instance. Additionally, salting does not place any burden on users. 545:
Salts also combat the use of precomputed tables for cracking passwords. Such a table might simply map common passwords to their hashes, or it might do something more complex, like store the start and end points of a set of
468: 508:
To understand the difference between cracking a single password and a set of them, consider a file with users and their hashed passwords. Say the file is unsalted. Then an attacker could pick a string, call it
616:
system is used to limit access to hashes and salt. The salt is eight characters, the hash is 86 characters, and the password length is effectively unlimited, barring stack overflow errors.
2123: 1953: 632:. Some additional references for using a salt to secure password hashes in specific languages or libraries (PHP, the .NET libraries, etc.) can be found in the 491:
Because salt re-use can cause users with the same password to have the same hash, cracking a single hash can result in other passwords being compromised too.
329:
Without a salt, identical passwords will map to identical hash values, which could make it easier for a hacker to guess the passwords from their hash value.
628:
attack may yield easily crackable passwords. Because many users re-use passwords for multiple sites, the use of a salt is an important component of overall
388:
Instead, a salt is generated and appended to each password, which causes the resultant hash to output different values for the same original password.
484:
Using the same salt for all passwords is dangerous because a precomputed table which simply accounts for the salt will render the salt useless.
973: 750: 1806: 1726: 303:
is then stored with the salt in a database. The salt does not need to be encrypted, because knowing the salt would not help the attacker.
1114: 1074: 542:, compare against entry B, and so on. This prevents any one attempt from cracking multiple passwords, given that salt re-use is avoided. 1143: 137: 109: 1742: 988: 949: 726: 1013: 624:
It is common for a web application to store in a database the hash value of a user's password. Without a salt, a successful
90: 45: 116: 1503: 1670: 1799: 1025: 868: 665: 236: 218: 196: 156: 59: 189: 2176: 898: 123: 287:
Typically, a unique salt is randomly generated for each password. The salt and the password (or its version after
1107: 2002: 1711: 1196: 1148: 94: 105: 1498: 696: 1792: 1716: 2118: 2073: 1886: 1485: 1127: 1123: 296: 266: 1997: 1100: 2113: 1381: 547: 1186: 2103: 2093: 1948: 1721: 1557: 1256: 1251: 629: 183: 51: 791: 2098: 2088: 1891: 1851: 1844: 1834: 1829: 1644: 1464: 258: 83: 765: 1839: 1752: 1138: 660: 200: 130: 2171: 2146: 1992: 1938: 1767: 1417: 1371: 1261: 1219: 1204: 675: 655: 20: 2108: 2032: 1437: 1341: 1291: 1266: 534:
passwords in the file. In contrast, if salts are used, the attacker would have to compute
8: 1871: 1639: 1588: 1527: 1427: 1346: 1306: 1286: 650: 318: 1977: 1961: 1908: 1696: 1680: 1629: 1214: 1079: 967: 744: 2037: 2027: 1898: 1573: 1021: 993: 955: 945: 884: 864: 732: 722: 645: 500:
the risk of collisions (i.e., two different passwords ending up with the same salt).
311: 1972: 1660: 1614: 1376: 1041: 269: 262: 998: 1675: 1624: 1619: 1407: 1122: 613: 560: 835: 2047: 1967: 1928: 1876: 1861: 1665: 1393: 1067: 814: 288: 281: 736: 2165: 2128: 2083: 2042: 2022: 1918: 1881: 1856: 1757: 1634: 959: 670: 625: 591: 300: 292: 1336: 922: 2078: 1923: 1913: 1903: 1866: 1815: 607: 250: 1011: 2057: 1747: 1593: 1522: 1518: 280:. Salting helps defend against attacks that use precomputed tables (e.g. 719:
Security engineering: a guide to building dependable distributed systems
2017: 1987: 1982: 1943: 277: 859:
Menezes, Alfred J.; Oorschot, Paul C. van; Vanstone, Scott A. (1997).
2007: 1422: 1301: 565: 1209: 72: 2052: 2012: 1701: 1598: 1583: 1578: 1568: 1532: 1452: 1366: 1246: 695:
Fenton, James L.; Grassi, Paul A.; Garcia, Michael E. (June 2017).
273: 1537: 1493: 1271: 456:
6058B4EB46BD6487298B59440EC8E70EAE482239FF2B4E7CA69950DFBD5532F2
431:
9C9B913EB1B6254F4737CE947EFD16F16E916F9D6EE5C1102A2002E48D4C88BD
381:
EF92B778BAFE771E89245B89ECBC08A44A4E166C06659911881F383D4473E94F
362:
EF92B778BAFE771E89245B89ECBC08A44A4E166C06659911881F383D4473E94F
1933: 1706: 1447: 1442: 1412: 1402: 1361: 1356: 1351: 1331: 1326: 1296: 1281: 1241: 404: 342: 1432: 1321: 1276: 1224: 1181: 1176: 1170: 1547: 1542: 1513: 1508: 1472: 587: 307: 16:
Random data used as an additional input to a hash function
1316: 1311: 1164: 885:"Secure Salted Password Hashing - How to do it Properly" 836:"Secure Salted Password Hashing - How to do it Properly" 1012:
Simson Garfinkel; Gene Spafford; Alan Schwartz (2003).
858: 1954:
Cryptographically secure pseudorandom number generator
939: 1084: 97:. Unsourced material may be challenged and removed. 877: 694: 619: 467:In practice, a salt is usually generated using a 2163: 469:Cryptographically Secure Random Number Generator 306:Salting is broadly used in cybersecurity, from 986: 1800: 1108: 899:"Password Storage - OWASP Cheat Sheet Series" 790:Boneh, Dan; Shoup, Victor (January 4, 2020). 987:Morris, Robert; Thompson, Ken (1978-04-03). 60:Learn how and when to remove these messages 1807: 1793: 1115: 1101: 972:: CS1 maint: location missing publisher ( 942:Computer security: principles and practice 789: 749:: CS1 maint: location missing publisher ( 517:. A user whose hash stored in the file is 940:Stallings, William; Lawrie Brown (2015). 793:A Graduate Course in Applied Cryptography 721:(Third ed.). Indianapolis, Indiana. 237:Learn how and when to remove this message 219:Learn how and when to remove this message 157:Learn how and when to remove this message 716: 182:This article includes a list of general 812: 576: 2164: 763: 1788: 1096: 1065: 764:Godwin, Anthony (10 September 2021). 261:data fed as an additional input to a 1018:Practical UNIX and Internet Security 808: 806: 168: 95:adding citations to reliable sources 66: 25: 989:"Password Security: A Case History" 697:"NIST Special Publication 800-63-3" 666:"Spice" in the Hasty Pudding cipher 633: 464:correct password that was entered. 13: 704:NIST Technical Series Publications 474: 188:it lacks sufficient corresponding 14: 2188: 1068:"Storing Passwords - done right!" 1059: 813:Rosulek, Mike (January 3, 2021). 803: 41:This article has multiple issues. 2142: 2141: 1814: 1020:(3rd ed.). O'Reilly Media. 861:Handbook of Applied Cryptography 601: 538:, compare against entry A, then 173: 71: 30: 1075:OWASP Cryptographic Cheat Sheet 1066:Wille, Christoph (2004-01-05). 1042:"ISC Diary – Hashing Passwords" 1034: 1014:"How Unix Implements Passwords" 1005: 980: 933: 915: 620:Web-application implementations 554: 551: 526: 522: 518: 514: 510: 82:needs additional citations for 49:or discuss these issues on the 2003:Information-theoretic security 1712:NIST hash function competition 891: 852: 828: 783: 757: 710: 688: 581: 494: 479: 1: 1080:how to encrypt user passwords 681: 521:may or may not have password 1717:Password Hashing Competition 1128:message authentication codes 1124:Cryptographic hash functions 815:"Chapter 11: Hash Functions" 7: 2119:Message authentication code 2074:Cryptographic hash function 1887:Cryptographic hash function 1671:Merkle–DamgĂĄrd construction 639: 503: 297:cryptographic hash function 10: 2195: 1998:Harvest now, decrypt later 944:(Third ed.). Boston. 903:cheatsheetseries.owasp.org 863:. CRC Press. p. 288. 605: 324: 18: 2137: 2114:Post-quantum cryptography 2066: 1822: 1784: 1735: 1689: 1653: 1607: 1556: 1484: 1461: 1390: 1234: 1195: 1157: 1134: 1092: 1088: 923:"How Rainbow Tables work" 608:Passwd § Shadow file 451:)<,-<U(jLezy4j>* 443:)<,-<U(jLezy4j>* 2104:Quantum key distribution 2094:Authenticated encryption 1949:Random number generation 1465:key derivation functions 630:web application security 407:(Password + Salt value) 106:"Salt" cryptography 2177:Password authentication 2099:Public-key cryptography 2089:Symmetric-key algorithm 1892:Key derivation function 1852:Cryptographic primitive 1845:Authentication protocol 1835:Outline of cryptography 1830:History of cryptography 1743:Hash-based cryptography 1645:Length extension attack 822:The Joy of Cryptography 717:Anderson, Ross (2020). 548:precomputed hash chains 203:more precise citations. 1840:Cryptographic protocol 1753:Message authentication 310:system credentials to 1993:End-to-end encryption 1939:Cryptojacking malware 676:Pepper (cryptography) 656:Initialization vector 540:hash(attempt || salt) 536:hash(attempt || salt) 317:Salts are related to 21:Salt (disambiguation) 2109:Quantum cryptography 2033:Trusted timestamping 586:Earlier versions of 577:Unix implementations 400:String to be hashed 338:String to be hashed 319:cryptographic nonces 91:improve this article 19:For other uses, see 1872:Cryptographic nonce 1640:Side-channel attack 927:kestas.kuliukas.com 824:. pp. 204–205. 799:. pp. 693–695. 651:Cryptographic nonce 564:installations, the 553:rather than simply 525:. However, even if 513:, and then compute 1978:Subliminal channel 1962:Pseudorandom noise 1909:Key (cryptography) 1697:CAESAR Competition 1681:HAIFA construction 1630:Brute-force attack 766:"Passwords Matter" 2159: 2158: 2155: 2154: 2038:Key-based routing 2028:Trapdoor function 1899:Digital signature 1780: 1779: 1776: 1775: 1574:ChaCha20-Poly1305 1391:Password hashing/ 994:Bell Laboratories 951:978-0-13-377392-7 728:978-1-119-64281-7 646:Password cracking 461: 460: 386: 385: 312:Internet security 299:, and the output 247: 246: 239: 229: 228: 221: 167: 166: 159: 141: 64: 2184: 2145: 2144: 1973:Insecure channel 1809: 1802: 1795: 1786: 1785: 1661:Avalanche effect 1615:Collision attack 1158:Common functions 1117: 1110: 1103: 1094: 1093: 1090: 1089: 1086: 1085: 1071: 1053: 1052: 1050: 1049: 1038: 1032: 1031: 1009: 1003: 1002: 997:. Archived from 984: 978: 977: 971: 963: 937: 931: 930: 919: 913: 912: 910: 909: 895: 889: 888: 881: 875: 874: 856: 850: 849: 847: 846: 840:crackstation.net 832: 826: 825: 819: 810: 801: 800: 798: 787: 781: 780: 778: 777: 761: 755: 754: 748: 740: 714: 708: 707: 701: 692: 596: 555: 552: 541: 537: 528: 524: 520: 516: 512: 457: 452: 444: 439: 432: 427: 426:D;%yL9TS:5PalS/d 419: 418:D;%yL9TS:5PalS/d 414: 391: 390: 382: 377: 370: 363: 358: 351: 332: 331: 263:one-way function 242: 235: 224: 217: 213: 210: 204: 199:this article by 190:inline citations 177: 176: 169: 162: 155: 151: 148: 142: 140: 99: 75: 67: 56: 34: 33: 26: 2194: 2193: 2187: 2186: 2185: 2183: 2182: 2181: 2162: 2161: 2160: 2151: 2133: 2062: 1818: 1813: 1772: 1731: 1690:Standardization 1685: 1676:Sponge function 1649: 1625:Birthday attack 1620:Preimage attack 1603: 1559: 1552: 1480: 1463: 1462:General purpose 1457: 1392: 1386: 1235:Other functions 1230: 1197:SHA-3 finalists 1191: 1153: 1130: 1121: 1062: 1057: 1056: 1047: 1045: 1040: 1039: 1035: 1028: 1010: 1006: 985: 981: 965: 964: 952: 938: 934: 921: 920: 916: 907: 905: 897: 896: 892: 883: 882: 878: 871: 857: 853: 844: 842: 834: 833: 829: 817: 811: 804: 796: 788: 784: 775: 773: 770:The Bug Charmer 762: 758: 742: 741: 729: 715: 711: 699: 693: 689: 684: 642: 636:section below. 622: 614:shadow password 610: 604: 594: 584: 579: 561:shadow password 539: 535: 506: 497: 482: 477: 475:Common mistakes 455: 447: 442: 437: 430: 422: 417: 412: 403:Hashed value = 380: 373: 368: 361: 354: 349: 341:Hashed value = 327: 243: 232: 231: 230: 225: 214: 208: 205: 195:Please help to 194: 178: 174: 163: 152: 146: 143: 100: 98: 88: 76: 35: 31: 24: 17: 12: 11: 5: 2192: 2191: 2180: 2179: 2174: 2157: 2156: 2153: 2152: 2150: 2149: 2138: 2135: 2134: 2132: 2131: 2126: 2124:Random numbers 2121: 2116: 2111: 2106: 2101: 2096: 2091: 2086: 2081: 2076: 2070: 2068: 2064: 2063: 2061: 2060: 2055: 2050: 2048:Garlic routing 2045: 2040: 2035: 2030: 2025: 2020: 2015: 2010: 2005: 2000: 1995: 1990: 1985: 1980: 1975: 1970: 1968:Secure channel 1965: 1959: 1958: 1957: 1946: 1941: 1936: 1931: 1929:Key stretching 1926: 1921: 1916: 1911: 1906: 1901: 1896: 1895: 1894: 1889: 1879: 1877:Cryptovirology 1874: 1869: 1864: 1862:Cryptocurrency 1859: 1854: 1849: 1848: 1847: 1837: 1832: 1826: 1824: 1820: 1819: 1812: 1811: 1804: 1797: 1789: 1782: 1781: 1778: 1777: 1774: 1773: 1771: 1770: 1765: 1760: 1755: 1750: 1745: 1739: 1737: 1733: 1732: 1730: 1729: 1724: 1719: 1714: 1709: 1704: 1699: 1693: 1691: 1687: 1686: 1684: 1683: 1678: 1673: 1668: 1666:Hash collision 1663: 1657: 1655: 1651: 1650: 1648: 1647: 1642: 1637: 1632: 1627: 1622: 1617: 1611: 1609: 1605: 1604: 1602: 1601: 1596: 1591: 1586: 1581: 1576: 1571: 1565: 1563: 1554: 1553: 1551: 1550: 1545: 1540: 1535: 1530: 1525: 1516: 1511: 1506: 1501: 1496: 1490: 1488: 1482: 1481: 1479: 1478: 1475: 1469: 1467: 1459: 1458: 1456: 1455: 1450: 1445: 1440: 1435: 1430: 1425: 1420: 1415: 1410: 1405: 1399: 1397: 1394:key stretching 1388: 1387: 1385: 1384: 1379: 1374: 1369: 1364: 1359: 1354: 1349: 1344: 1339: 1334: 1329: 1324: 1319: 1314: 1309: 1304: 1299: 1294: 1289: 1284: 1279: 1274: 1269: 1264: 1259: 1254: 1249: 1244: 1238: 1236: 1232: 1231: 1229: 1228: 1222: 1217: 1212: 1207: 1201: 1199: 1193: 1192: 1190: 1189: 1184: 1179: 1174: 1168: 1161: 1159: 1155: 1154: 1152: 1151: 1146: 1141: 1135: 1132: 1131: 1120: 1119: 1112: 1105: 1097: 1083: 1082: 1077: 1072: 1061: 1060:External links 1058: 1055: 1054: 1033: 1026: 1004: 1001:on 2013-08-21. 979: 950: 932: 914: 890: 876: 869: 851: 827: 802: 782: 756: 727: 709: 686: 685: 683: 680: 679: 678: 673: 671:Rainbow tables 668: 663: 658: 653: 648: 641: 638: 634:external links 621: 618: 603: 600: 583: 580: 578: 575: 505: 502: 496: 493: 481: 478: 476: 473: 459: 458: 453: 445: 440: 434: 433: 428: 420: 415: 409: 408: 401: 398: 395: 384: 383: 378: 371: 365: 364: 359: 352: 346: 345: 339: 336: 326: 323: 289:key stretching 282:rainbow tables 245: 244: 227: 226: 181: 179: 172: 165: 164: 79: 77: 70: 65: 39: 38: 36: 29: 15: 9: 6: 4: 3: 2: 2190: 2189: 2178: 2175: 2173: 2170: 2169: 2167: 2148: 2140: 2139: 2136: 2130: 2129:Steganography 2127: 2125: 2122: 2120: 2117: 2115: 2112: 2110: 2107: 2105: 2102: 2100: 2097: 2095: 2092: 2090: 2087: 2085: 2084:Stream cipher 2082: 2080: 2077: 2075: 2072: 2071: 2069: 2065: 2059: 2056: 2054: 2051: 2049: 2046: 2044: 2043:Onion routing 2041: 2039: 2036: 2034: 2031: 2029: 2026: 2024: 2023:Shared secret 2021: 2019: 2016: 2014: 2011: 2009: 2006: 2004: 2001: 1999: 1996: 1994: 1991: 1989: 1986: 1984: 1981: 1979: 1976: 1974: 1971: 1969: 1966: 1963: 1960: 1955: 1952: 1951: 1950: 1947: 1945: 1942: 1940: 1937: 1935: 1932: 1930: 1927: 1925: 1922: 1920: 1919:Key generator 1917: 1915: 1912: 1910: 1907: 1905: 1902: 1900: 1897: 1893: 1890: 1888: 1885: 1884: 1883: 1882:Hash function 1880: 1878: 1875: 1873: 1870: 1868: 1865: 1863: 1860: 1858: 1857:Cryptanalysis 1855: 1853: 1850: 1846: 1843: 1842: 1841: 1838: 1836: 1833: 1831: 1828: 1827: 1825: 1821: 1817: 1810: 1805: 1803: 1798: 1796: 1791: 1790: 1787: 1783: 1769: 1766: 1764: 1761: 1759: 1758:Proof of work 1756: 1754: 1751: 1749: 1746: 1744: 1741: 1740: 1738: 1734: 1728: 1725: 1723: 1720: 1718: 1715: 1713: 1710: 1708: 1705: 1703: 1700: 1698: 1695: 1694: 1692: 1688: 1682: 1679: 1677: 1674: 1672: 1669: 1667: 1664: 1662: 1659: 1658: 1656: 1652: 1646: 1643: 1641: 1638: 1636: 1635:Rainbow table 1633: 1631: 1628: 1626: 1623: 1621: 1618: 1616: 1613: 1612: 1610: 1606: 1600: 1597: 1595: 1592: 1590: 1587: 1585: 1582: 1580: 1577: 1575: 1572: 1570: 1567: 1566: 1564: 1561: 1558:Authenticated 1555: 1549: 1546: 1544: 1541: 1539: 1536: 1534: 1531: 1529: 1526: 1524: 1520: 1517: 1515: 1512: 1510: 1507: 1505: 1502: 1500: 1497: 1495: 1492: 1491: 1489: 1487: 1486:MAC functions 1483: 1476: 1474: 1471: 1470: 1468: 1466: 1460: 1454: 1451: 1449: 1446: 1444: 1441: 1439: 1436: 1434: 1431: 1429: 1426: 1424: 1421: 1419: 1416: 1414: 1411: 1409: 1406: 1404: 1401: 1400: 1398: 1395: 1389: 1383: 1380: 1378: 1375: 1373: 1370: 1368: 1365: 1363: 1360: 1358: 1355: 1353: 1350: 1348: 1345: 1343: 1340: 1338: 1335: 1333: 1330: 1328: 1325: 1323: 1320: 1318: 1315: 1313: 1310: 1308: 1305: 1303: 1300: 1298: 1295: 1293: 1290: 1288: 1285: 1283: 1280: 1278: 1275: 1273: 1270: 1268: 1265: 1263: 1260: 1258: 1255: 1253: 1250: 1248: 1245: 1243: 1240: 1239: 1237: 1233: 1226: 1223: 1221: 1218: 1216: 1213: 1211: 1208: 1206: 1203: 1202: 1200: 1198: 1194: 1188: 1185: 1183: 1180: 1178: 1175: 1173:(compromised) 1172: 1169: 1167:(compromised) 1166: 1163: 1162: 1160: 1156: 1150: 1149:Known attacks 1147: 1145: 1142: 1140: 1137: 1136: 1133: 1129: 1125: 1118: 1113: 1111: 1106: 1104: 1099: 1098: 1095: 1091: 1087: 1081: 1078: 1076: 1073: 1069: 1064: 1063: 1044:. Dshield.org 1043: 1037: 1029: 1027:9780596003234 1023: 1019: 1015: 1008: 1000: 996: 995: 990: 983: 975: 969: 961: 957: 953: 947: 943: 936: 928: 924: 918: 904: 900: 894: 886: 880: 872: 870:0-8493-8523-7 866: 862: 855: 841: 837: 831: 823: 816: 809: 807: 795: 794: 786: 771: 767: 760: 752: 746: 738: 734: 730: 724: 720: 713: 705: 698: 691: 687: 677: 674: 672: 669: 667: 664: 662: 659: 657: 654: 652: 649: 647: 644: 643: 637: 635: 631: 627: 626:SQL injection 617: 615: 609: 602:1980s–present 599: 593: 592:password file 589: 574: 570: 567: 562: 557: 549: 543: 532: 519:hash(attempt) 515:hash(attempt) 501: 492: 489: 485: 472: 470: 465: 454: 450: 446: 441: 436: 435: 429: 425: 421: 416: 411: 410: 406: 402: 399: 396: 393: 392: 389: 379: 376: 372: 367: 366: 360: 357: 353: 348: 347: 344: 340: 337: 334: 333: 330: 322: 320: 315: 313: 309: 304: 302: 298: 295:and fed to a 294: 290: 285: 283: 279: 275: 271: 268: 264: 260: 256: 252: 241: 238: 223: 220: 212: 209:November 2010 202: 198: 192: 191: 185: 180: 171: 170: 161: 158: 150: 139: 136: 132: 129: 125: 122: 118: 115: 111: 108: â€“  107: 103: 102:Find sources: 96: 92: 86: 85: 80:This article 78: 74: 69: 68: 63: 61: 54: 53: 48: 47: 42: 37: 28: 27: 22: 2172:Cryptography 2079:Block cipher 1924:Key schedule 1914:Key exchange 1904:Kleptography 1867:Cryptosystem 1816:Cryptography 1762: 1046:. Retrieved 1036: 1017: 1007: 999:the original 992: 982: 941: 935: 926: 917: 906:. Retrieved 902: 893: 879: 860: 854: 843:. Retrieved 839: 830: 821: 792: 785: 774:. Retrieved 769: 759: 718: 712: 703: 690: 623: 611: 585: 571: 558: 544: 530: 507: 498: 490: 486: 483: 466: 462: 448: 423: 387: 374: 355: 328: 316: 305: 293:concatenated 286: 254: 251:cryptography 248: 233: 215: 206: 187: 153: 144: 134: 127: 120: 113: 101: 89:Please help 84:verification 81: 57: 50: 44: 43:Please help 40: 2067:Mathematics 2058:Mix network 1748:Merkle tree 1736:Utilization 1722:NSA Suite B 595:/etc/passwd 582:1970s–1980s 559:The modern 495:Salt length 480:Salt re-use 449:password123 424:password123 397:Salt value 375:password123 356:password123 201:introducing 2166:Categories 2018:Ciphertext 1988:Decryption 1983:Encryption 1944:Ransomware 1560:encryption 1337:RadioGatĂşn 1144:Comparison 1048:2011-10-15 908:2021-03-19 845:2021-03-19 776:2016-12-09 737:1224516855 682:References 606:See also: 301:hash value 278:passphrase 184:references 117:newspapers 46:improve it 2008:Plaintext 1477:KDF1/KDF2 1396:functions 1382:Whirlpool 968:cite book 960:874734678 745:cite book 394:Username 335:Username 147:June 2015 52:talk page 2147:Category 2053:Kademlia 2013:Codetext 1956:(CSPRNG) 1702:CRYPTREC 1533:Poly1305 1453:yescrypt 1367:Streebog 1247:CubeHash 1227:(winner) 640:See also 504:Benefits 274:password 1823:General 1608:Attacks 1538:SipHash 1494:CBC-MAC 1428:LM hash 1408:Balloon 1272:HAS-160 661:Padding 590:used a 527:attempt 523:attempt 511:attempt 325:Example 197:improve 131:scholar 1934:Keygen 1768:Pepper 1707:NESSIE 1654:Design 1448:scrypt 1443:PBKDF2 1418:Catena 1413:bcrypt 1403:Argon2 1362:Snefru 1357:Shabal 1352:SWIFFT 1332:RIPEMD 1327:N-hash 1302:MASH-2 1297:MASH-1 1282:Kupyna 1242:BLAKE3 1225:Keccak 1210:Grøstl 1187:BLAKE2 1024:  958:  948:  867:  772:(Blog) 735:  725:  405:SHA256 343:SHA256 291:) are 267:hashes 259:random 186:, but 133:  126:  119:  112:  104:  1964:(PRN) 1562:modes 1438:Makwa 1433:Lyra2 1423:crypt 1372:Tiger 1322:MDC-2 1277:HAVAL 1262:Fugue 1220:Skein 1205:BLAKE 1182:SHA-3 1177:SHA-2 1171:SHA-1 818:(PDF) 797:(PDF) 700:(PDF) 438:user2 413:user1 369:user2 350:user1 265:that 138:JSTOR 124:books 1763:Salt 1727:CNSA 1594:IAPM 1548:VMAC 1543:UMAC 1528:PMAC 1523:CMAC 1519:OMAC 1514:NMAC 1509:HMAC 1504:GMAC 1473:HKDF 1342:SIMD 1292:Lane 1267:GOST 1252:ECOH 1139:List 1126:and 1022:ISBN 974:link 956:OCLC 946:ISBN 865:ISBN 751:link 733:OCLC 723:ISBN 612:The 588:Unix 566:root 308:Unix 272:, a 270:data 255:salt 253:, a 110:news 1599:OCB 1589:GCM 1584:EAX 1579:CWC 1569:CCM 1499:DAA 1377:VSH 1347:SM3 1317:MD6 1312:MD4 1307:MD2 1287:LSH 1257:FSB 1165:MD5 556:. 531:not 529:is 276:or 257:is 249:In 93:by 2168:: 1215:JH 1016:. 991:. 970:}} 966:{{ 954:. 925:. 901:. 838:. 820:. 805:^ 768:. 747:}} 743:{{ 731:. 702:. 321:. 314:. 55:. 1808:e 1801:t 1794:v 1521:/ 1116:e 1109:t 1102:v 1070:. 1051:. 1030:. 976:) 962:. 929:. 911:. 887:. 873:. 848:. 779:. 753:) 739:. 706:. 240:) 234:( 222:) 216:( 211:) 207:( 193:. 160:) 154:( 149:) 145:( 135:· 128:· 121:· 114:· 87:. 62:) 58:( 23:.

Index

Salt (disambiguation)
improve it
talk page
Learn how and when to remove these messages

verification
improve this article
adding citations to reliable sources
"Salt" cryptography
news
newspapers
books
scholar
JSTOR
Learn how and when to remove this message
references
inline citations
improve
introducing
Learn how and when to remove this message
Learn how and when to remove this message
cryptography
random
one-way function
hashes
data
password
passphrase
rainbow tables
key stretching

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

↑