Knowledge

RC5

Source 📝

34: 3820: 2197:
RC5 messages encrypted with 56-bit and 64-bit keys and has been working on cracking a 72-bit key since November 3, 2002. As of July 26, 2023, 10.409% of the keyspace has been searched and based on the rate recorded that day, it would take a little more than 59 years to complete 100% of the keyspace.
241:". The tantalising simplicity of the algorithm together with the novelty of the data-dependent rotations has made RC5 an attractive object of study for cryptanalysts. RC5 is basically denoted as RC5-w/r/b where w=word size in bits, r=number of rounds, b=number of bytes in the key. 2208:
encrypted with RC5, but these contests were discontinued as of May 2007. As a result, distributed.net decided to fund the monetary prize. The individual who discovers the winning key will receive US$ 1,000, their team (if applicable) will receive US$ 1,000, and the
1386:
Encryption involved several rounds of a simple function, with 12 or 20 rounds seemingly recommended, depending on security needs and time considerations. Beyond the variables used above, the following variables are used in this algorithm:
249:
RC5 encryption and decryption both expand the random key into 2(r+1) words that will be used sequentially (and only once each) during the encryption and decryption processes. All of the below comes from Rivest's revised paper on RC5.
225:-like network, similar to RC2. The encryption and decryption routines can be specified in a few lines of code. The key schedule, however, is more complex, expanding the key using an essentially 2384: 3800: 3630: 206:(0 to 2040 bits), and number of rounds (0 to 255). The original suggested choice of parameters were a block size of 64 bits, a 128-bit key, and 12 rounds. 891:
The example source code is provided from the appendix of Rivest's paper on RC5. The implementation is designed to work with w = 32, r = 12, and b = 16.
209:
A key feature of RC5 is the use of data-dependent rotations; one of the goals of RC5 was to prompt the study and evaluation of such operations as a
3483: 3418: 2499: 2464: 2321: 3245: 2601: 2284: 3235: 2729: 2380: 3398: 3372: 3240: 3136: 3213: 2376: 3476: 3382: 2492: 1787:
Decryption is a fairly straightforward reversal of the encryption process. The below pseudocode shows the process.
3261: 3679: 3439: 3853: 2459: 3469: 2529: 179: 3795: 3750: 3563: 3325: 2485: 238: 2444: 2204:, which had a (now expired) patent on the algorithm, offered a series of US$ 10,000 prizes for breaking 3674: 3342: 3252: 3230: 2543: 2179: 138: 3790: 3347: 3203: 3156: 2631: 380: 230: 195: 98: 2377:"PlayStation 3 supercomputer places UMass Dartmouth #1 in the world in code cracking challenge list" 3780: 3770: 3625: 3413: 3295: 3170: 2539: 2210: 263: 3775: 3765: 3568: 3528: 3521: 3511: 3506: 3352: 3141: 2512: 210: 156: 2454: 3848: 3516: 3444: 3320: 3315: 3267: 2254: 1527:# The ciphertext block consists of the two-word wide block composed of A and B, in that order. 3823: 3669: 3615: 3434: 3257: 3116: 2694: 2186: 278:– The length of a word in bits, typically 16, 32 or 64. Encryption is done in 2-word blocks. 3785: 3709: 3337: 3220: 3146: 2829: 2809: 119: 8: 3548: 3300: 3277: 2596: 2364: 2198:
The task has inspired many new and novel developments in the field of cluster computing.
2420: 2292:
Proceedings of the Second International Workshop on Fast Software Encryption (FSE) 1994e
319:– A temporary working array used during key scheduling, initialized to the key in words. 3654: 3638: 3585: 3285: 3193: 2905: 2834: 2804: 2749: 2318: 2194: 214: 2295: 2182:
using 2 chosen plaintexts. 18–20 rounds are suggested as sufficient protection.
19:
This article is about the block cipher. For the infrared remote control protocol, see
3714: 3704: 3575: 3005: 2704: 2664: 2659: 2626: 2586: 2534: 2449: 2227: 76: 3649: 3377: 3272: 3151: 3010: 2890: 2859: 2553: 2263: 226: 3224: 3208: 3197: 3131: 3090: 3055: 2985: 2965: 2839: 2719: 2714: 2669: 2325: 2190: 269:
Following the naming scheme of the paper, the following variable names are used:
3724: 3644: 3605: 3553: 3538: 3362: 3310: 3121: 3106: 3045: 3040: 2925: 2674: 222: 111: 2406: 3842: 3805: 3760: 3719: 3699: 3595: 3558: 3533: 3357: 3305: 3184: 3166: 2955: 2930: 2920: 2744: 2734: 2581: 2250: 130: 3755: 3600: 3590: 3580: 3543: 3492: 3290: 3111: 3075: 2940: 2819: 2774: 2606: 2558: 2508: 2201: 455: 234: 175: 159: 148: 3734: 2900: 2895: 2779: 2404:
Rivest, R. L, "Block Encryption Algorithm With Data Dependent Rotation",
3694: 3664: 3659: 3620: 3332: 3050: 2990: 2874: 2869: 2814: 2684: 2547: 2268: 2205: 259: 163: 54: 33: 3684: 3065: 3060: 2950: 2864: 2759: 2739: 1392: 305:– The key, considered as an array of bytes (using 0-based indexing). 170:
stands for "Rivest Cipher", or alternatively, "Ron's Code" (compare
3729: 3689: 3403: 3367: 3161: 2824: 2699: 2679: 2591: 619:# S is initially a t=2(r+1) length list of undefined w-length words 203: 88: 3070: 3020: 2980: 2970: 2915: 2910: 2754: 2563: 2340: 2222: 3610: 3408: 3030: 3025: 2960: 2945: 2935: 2880: 2854: 2849: 2844: 2724: 2709: 2335: 2333: 3126: 3085: 3035: 3015: 3000: 2789: 2769: 2689: 2654: 2185:
A number of these challenge problems have been tackled using
2975: 2884: 2799: 2794: 2784: 2764: 2636: 2621: 2330: 553:# L is initially a c-length list of 0-valued w-length words 258:
The key expansion algorithm is illustrated below, first in
20: 2178:
Twelve-round RC5 (with 64-bit blocks) is susceptible to a
3080: 2995: 2616: 218: 199: 183: 171: 72: 3631:
Cryptographically secure pseudorandom number generator
2421:"distributed.net: staff blogs – 2008 – September – 08" 137:
12-round RC5 (with 64-bit blocks) is susceptible to a
450:
is the nearest odd integer to the given input, where
266:
copied directly from the reference paper's appendix.
2507: 2469: 2319:
http://people.csail.mit.edu/rivest/Rivest-rc5rev.pdf
2249: 327:– The number of rounds to use when encrypting data. 40:
One round (two half-rounds) of the RC5 block cipher
2460:RSA Laboratories FAQ — What are RC5 and RC6? 2410:, issued on 3 March 1998, expired 1 November 2015. 313:– The length of the key in words (or 1, if b = 0). 616:# Initialize key-independent pseudorandom S array 3840: 373:is the nearest odd integer to the given input, 221:. The general structure of the algorithm is a 3477: 2493: 2445:Rivests's revised paper describing the cipher 1935:The example C code given by Rivest is this. 1544:The example C code given by Rivest is this. 1391:A, B - The two words composing the block of 3484: 3470: 2500: 2486: 2245: 2243: 2267: 438:– The second magic constant, defined as 194:Unlike many schemes, RC5 has a variable 162:notable for its simplicity. Designed by 2240: 464:is defined above. For common values of 389:is defined above. For common values of 357:– The first magic constant, defined as 340:– the number of round subkeys required. 3841: 2282: 2276: 3465: 2481: 2381:University of Massachusetts Dartmouth 2253:; Kushilevitz, Eyal (31 May 1998). 229:with the binary expansions of both 213:. RC5 also consists of a number of 13: 32: 14: 3865: 2438: 299:– The length of the key in bytes. 103:32, 64 or 128 bits (64 suggested) 3819: 3818: 3491: 2294:. pp. 86–96. Archived from 2173: 291:– The length of a word in bytes. 253: 2387:from the original on 2022-06-29 479:are given here in hexadecimal: 404:are given here in hexadecimal: 124:1-255 (12 suggested originally) 3680:Information-theoretic security 2413: 2398: 2369: 2365:RC5-72 / Overall Project Stats 2358: 2341:"distributed.net: Project RC5" 2312: 2285:"The RC5 Encryption Algorithm" 676:# The main key scheduling loop 189: 93:0 to 2040 bits (128 suggested) 1: 2256:Improved Cryptanalysis of RC5 2233: 1782: 1381: 381:base of the natural logarithm 2465:Helger Lipmaa's links on RC5 926:// c = max(1, ceil(8 * b/w)) 244: 239:nothing up my sleeve numbers 180:Advanced Encryption Standard 7: 3796:Message authentication code 3751:Cryptographic hash function 3564:Cryptographic hash function 2455:SCAN's entry for the cipher 2216: 470:, the associated values of 395:, the associated values of 10: 3870: 3675:Harvest now, decrypt later 141:using 2 chosen plaintexts. 18: 3814: 3791:Post-quantum cryptography 3743: 3499: 3461: 3427: 3391: 3383:Time/memory/data tradeoff 3180: 3099: 2645: 2572: 2520: 2477: 2473: 923:// w = 32, r = 12, b = 16 346:– The round subkey words. 136: 128: 118: 107: 97: 87: 82: 68: 60: 50: 45: 31: 3781:Quantum key distribution 3771:Authenticated encryption 3626:Random number generation 3171:Whitening transformation 2213:will receive US$ 2,000. 2211:Free Software Foundation 1937: 1789: 1546: 1398: 893: 505: 500:= 64: 0x9E3779B97F4A7C15 425:= 64: 0xB7E151628AED2A6B 3776:Public-key cryptography 3766:Symmetric-key algorithm 3569:Key derivation function 3529:Cryptographic primitive 3522:Authentication protocol 3512:Outline of cryptography 3507:History of cryptography 3142:Confusion and diffusion 2450:Rivest's original paper 211:cryptographic primitive 3517:Cryptographic protocol 2283:Rivest, R. L. (1994). 2193:. Distributed.net has 37: 3670:End-to-end encryption 3616:Cryptojacking malware 3435:Initialization vector 2407:U.S. patent 5,724,428 2383:. 24 September 2014. 2187:distributed computing 36: 3854:Broken block ciphers 3786:Quantum cryptography 3710:Trusted timestamping 3214:3-subset MITM attack 2830:Intel Cascade Cipher 2810:Hasty Pudding cipher 508:# Break K into words 3549:Cryptographic nonce 3253:Differential-linear 2345:www.distributed.net 2180:differential attack 219:eXclusive OR (XOR)s 139:differential attack 28: 3655:Subliminal channel 3639:Pseudorandom noise 3586:Key (cryptography) 3326:Differential-fault 2544:internal mechanics 2324:2018-09-21 at the 2269:10.1007/BFb0054119 2262:. EUROCRYPT 1998. 186:was based on RC5. 38: 26: 3836: 3835: 3832: 3831: 3715:Key-based routing 3705:Trapdoor function 3576:Digital signature 3457: 3456: 3453: 3452: 3440:Mode of operation 3117:Lai–Massey scheme 2379:(Press release). 145: 144: 3861: 3822: 3821: 3650:Insecure channel 3486: 3479: 3472: 3463: 3462: 3311:Power-monitoring 3152:Avalanche effect 2860:Khufu and Khafre 2513:security summary 2502: 2495: 2488: 2479: 2478: 2475: 2474: 2471: 2470: 2432: 2431: 2429: 2427: 2417: 2411: 2409: 2402: 2396: 2395: 2393: 2392: 2373: 2367: 2362: 2356: 2355: 2353: 2351: 2337: 2328: 2316: 2310: 2309: 2307: 2306: 2300: 2289: 2280: 2274: 2273: 2271: 2261: 2247: 2169: 2166: 2163: 2160: 2157: 2154: 2151: 2148: 2145: 2142: 2139: 2136: 2133: 2130: 2127: 2124: 2121: 2118: 2115: 2112: 2109: 2106: 2103: 2100: 2097: 2094: 2091: 2088: 2085: 2082: 2079: 2076: 2073: 2070: 2067: 2064: 2061: 2058: 2055: 2052: 2049: 2046: 2043: 2040: 2037: 2034: 2031: 2028: 2025: 2022: 2019: 2016: 2013: 2010: 2007: 2004: 2001: 1998: 1995: 1992: 1989: 1986: 1983: 1980: 1977: 1974: 1971: 1968: 1965: 1962: 1959: 1956: 1953: 1950: 1947: 1944: 1941: 1931: 1928: 1925: 1922: 1919: 1916: 1913: 1910: 1907: 1904: 1901: 1898: 1895: 1892: 1889: 1886: 1883: 1880: 1877: 1874: 1871: 1868: 1865: 1862: 1859: 1856: 1853: 1850: 1847: 1844: 1841: 1838: 1835: 1832: 1829: 1826: 1823: 1820: 1817: 1814: 1811: 1808: 1805: 1802: 1799: 1796: 1793: 1778: 1775: 1772: 1769: 1766: 1763: 1760: 1757: 1754: 1751: 1748: 1745: 1742: 1739: 1736: 1733: 1730: 1727: 1724: 1721: 1718: 1715: 1712: 1709: 1706: 1703: 1700: 1697: 1694: 1691: 1688: 1685: 1682: 1679: 1676: 1673: 1670: 1667: 1664: 1661: 1658: 1655: 1652: 1649: 1646: 1643: 1640: 1637: 1634: 1631: 1628: 1625: 1622: 1619: 1616: 1613: 1610: 1607: 1604: 1601: 1598: 1595: 1592: 1589: 1586: 1583: 1580: 1577: 1574: 1571: 1568: 1565: 1562: 1559: 1556: 1553: 1550: 1540: 1537: 1534: 1531: 1528: 1525: 1522: 1519: 1516: 1513: 1510: 1507: 1504: 1501: 1498: 1495: 1492: 1489: 1486: 1483: 1480: 1477: 1474: 1471: 1468: 1465: 1462: 1459: 1456: 1453: 1450: 1447: 1444: 1441: 1438: 1435: 1432: 1429: 1426: 1423: 1420: 1417: 1414: 1411: 1408: 1405: 1402: 1395:to be encrypted. 1377: 1374: 1371: 1368: 1365: 1362: 1359: 1356: 1353: 1350: 1347: 1344: 1341: 1338: 1335: 1332: 1329: 1326: 1323: 1320: 1317: 1314: 1311: 1308: 1305: 1302: 1299: 1296: 1293: 1290: 1287: 1284: 1281: 1278: 1275: 1272: 1269: 1266: 1263: 1260: 1257: 1254: 1251: 1248: 1245: 1242: 1239: 1236: 1233: 1230: 1227: 1224: 1221: 1218: 1215: 1212: 1209: 1206: 1203: 1200: 1197: 1194: 1191: 1188: 1185: 1182: 1179: 1176: 1173: 1170: 1167: 1164: 1161: 1158: 1155: 1152: 1149: 1146: 1143: 1140: 1137: 1134: 1131: 1128: 1125: 1122: 1119: 1116: 1113: 1110: 1107: 1104: 1101: 1098: 1095: 1092: 1089: 1086: 1083: 1080: 1077: 1074: 1071: 1068: 1065: 1062: 1059: 1056: 1053: 1050: 1047: 1044: 1041: 1038: 1035: 1032: 1029: 1026: 1023: 1020: 1017: 1014: 1011: 1008: 1005: 1002: 999: 996: 993: 990: 987: 984: 981: 978: 975: 972: 969: 966: 963: 960: 957: 954: 951: 948: 945: 942: 939: 936: 933: 930: 929:// t = 2 * (r+1) 927: 924: 921: 918: 915: 912: 909: 906: 903: 900: 897: 887: 884: 881: 878: 875: 872: 869: 866: 863: 860: 857: 854: 851: 848: 845: 842: 839: 836: 833: 830: 827: 824: 821: 818: 815: 812: 809: 806: 803: 800: 797: 794: 791: 788: 785: 782: 779: 776: 773: 770: 767: 764: 761: 758: 755: 752: 749: 746: 743: 740: 737: 734: 731: 728: 725: 722: 719: 716: 713: 710: 707: 704: 701: 698: 695: 692: 689: 686: 683: 680: 677: 674: 671: 668: 665: 662: 659: 656: 653: 650: 647: 644: 641: 638: 635: 632: 629: 626: 623: 620: 617: 614: 611: 608: 605: 602: 599: 596: 593: 590: 587: 584: 581: 578: 575: 572: 569: 566: 563: 560: 557: 554: 551: 548: 545: 542: 539: 536: 533: 530: 527: 524: 521: 518: 515: 512: 509: 493:= 32: 0x9E3779B9 478: 469: 463: 453: 449: 445: 443: 437: 418:= 32: 0xB7E15163 403: 394: 388: 378: 372: 368: 366: 356: 345: 339: 326: 318: 312: 304: 298: 290: 277: 227:one-way function 182:(AES) candidate 29: 25: 3869: 3868: 3864: 3863: 3862: 3860: 3859: 3858: 3839: 3838: 3837: 3828: 3810: 3739: 3495: 3490: 3449: 3423: 3392:Standardization 3387: 3316:Electromagnetic 3268:Integral/Square 3225:Piling-up lemma 3209:Biclique attack 3198:EFF DES cracker 3182: 3176: 3107:Feistel network 3095: 2720:CIPHERUNICORN-E 2715:CIPHERUNICORN-A 2647: 2641: 2574: 2568: 2522: 2516: 2506: 2441: 2436: 2435: 2425: 2423: 2419: 2418: 2414: 2405: 2403: 2399: 2390: 2388: 2375: 2374: 2370: 2363: 2359: 2349: 2347: 2339: 2338: 2331: 2326:Wayback Machine 2317: 2313: 2304: 2302: 2298: 2287: 2281: 2277: 2259: 2248: 2241: 2236: 2219: 2191:Distributed.net 2189:, organised by 2176: 2171: 2170: 2167: 2164: 2161: 2158: 2155: 2152: 2149: 2146: 2143: 2140: 2137: 2134: 2131: 2128: 2125: 2122: 2119: 2116: 2113: 2110: 2107: 2104: 2101: 2098: 2095: 2092: 2089: 2086: 2083: 2080: 2077: 2074: 2071: 2068: 2065: 2062: 2059: 2056: 2053: 2050: 2047: 2044: 2041: 2038: 2035: 2032: 2029: 2026: 2023: 2020: 2017: 2014: 2011: 2008: 2005: 2002: 1999: 1996: 1993: 1990: 1987: 1984: 1981: 1978: 1975: 1972: 1969: 1966: 1963: 1960: 1957: 1954: 1951: 1948: 1945: 1942: 1939: 1933: 1932: 1929: 1926: 1923: 1920: 1917: 1914: 1911: 1908: 1905: 1902: 1899: 1896: 1893: 1890: 1887: 1884: 1881: 1878: 1875: 1872: 1869: 1866: 1863: 1860: 1857: 1854: 1851: 1848: 1845: 1842: 1839: 1836: 1833: 1830: 1827: 1824: 1821: 1818: 1815: 1812: 1809: 1806: 1803: 1800: 1797: 1794: 1791: 1785: 1780: 1779: 1776: 1773: 1770: 1767: 1764: 1761: 1758: 1755: 1752: 1749: 1746: 1743: 1740: 1737: 1734: 1731: 1728: 1725: 1722: 1719: 1716: 1713: 1710: 1707: 1704: 1701: 1698: 1695: 1692: 1689: 1686: 1683: 1680: 1677: 1674: 1671: 1668: 1665: 1662: 1659: 1656: 1653: 1650: 1647: 1644: 1641: 1638: 1635: 1632: 1629: 1626: 1623: 1620: 1617: 1614: 1611: 1608: 1605: 1602: 1599: 1596: 1593: 1590: 1587: 1584: 1581: 1578: 1575: 1572: 1569: 1566: 1563: 1560: 1557: 1554: 1551: 1548: 1542: 1541: 1538: 1535: 1532: 1529: 1526: 1523: 1520: 1517: 1514: 1511: 1508: 1505: 1502: 1499: 1496: 1493: 1490: 1487: 1484: 1481: 1478: 1475: 1472: 1469: 1466: 1463: 1460: 1457: 1454: 1451: 1448: 1445: 1442: 1439: 1436: 1433: 1430: 1427: 1424: 1421: 1418: 1415: 1412: 1409: 1406: 1403: 1400: 1384: 1379: 1378: 1375: 1372: 1369: 1366: 1363: 1360: 1357: 1354: 1351: 1348: 1345: 1342: 1339: 1336: 1333: 1330: 1327: 1324: 1321: 1318: 1315: 1312: 1309: 1306: 1303: 1300: 1297: 1294: 1291: 1288: 1285: 1282: 1279: 1276: 1273: 1270: 1267: 1264: 1261: 1258: 1255: 1252: 1249: 1246: 1243: 1240: 1237: 1234: 1231: 1228: 1225: 1222: 1219: 1216: 1213: 1210: 1207: 1204: 1201: 1198: 1195: 1192: 1189: 1186: 1183: 1180: 1177: 1174: 1171: 1168: 1165: 1162: 1159: 1156: 1153: 1150: 1147: 1144: 1141: 1138: 1135: 1132: 1129: 1126: 1123: 1120: 1117: 1114: 1111: 1108: 1105: 1102: 1099: 1096: 1093: 1090: 1087: 1084: 1081: 1078: 1075: 1072: 1069: 1066: 1063: 1060: 1057: 1054: 1051: 1048: 1045: 1042: 1039: 1036: 1033: 1030: 1027: 1024: 1021: 1018: 1015: 1012: 1009: 1006: 1003: 1000: 997: 994: 991: 988: 985: 982: 979: 976: 973: 970: 967: 964: 961: 958: 955: 952: 949: 946: 943: 940: 937: 934: 931: 928: 925: 922: 919: 916: 913: 910: 907: 904: 901: 898: 895: 889: 888: 885: 882: 879: 876: 873: 870: 867: 864: 861: 858: 855: 852: 849: 846: 843: 840: 837: 834: 831: 828: 825: 822: 819: 816: 813: 810: 807: 804: 801: 798: 795: 792: 789: 786: 783: 780: 777: 774: 771: 768: 765: 762: 759: 756: 753: 750: 747: 744: 741: 738: 735: 732: 729: 726: 723: 720: 717: 714: 711: 708: 705: 702: 699: 696: 693: 690: 687: 684: 681: 678: 675: 672: 669: 666: 663: 660: 657: 654: 651: 648: 645: 642: 639: 636: 633: 630: 627: 624: 621: 618: 615: 612: 609: 606: 603: 600: 597: 594: 591: 588: 585: 582: 579: 576: 573: 570: 567: 564: 561: 558: 555: 552: 549: 546: 543: 540: 537: 534: 531: 528: 525: 522: 519: 516: 513: 510: 507: 477: 476: 471: 468: 465: 462: 459: 451: 447: 441: 439: 436: 435: 430: 402: 401: 396: 393: 390: 387: 384: 377: 374: 370: 364: 362: 358: 355: 354: 349: 343: 337: 333: 330: 325: 322: 316: 311: 308: 302: 297: 294: 288: 284: 281: 276: 273: 262:, then example 256: 247: 237:as sources of " 198:(32, 64 or 128 192: 61:First published 41: 24: 17: 12: 11: 5: 3867: 3857: 3856: 3851: 3834: 3833: 3830: 3829: 3827: 3826: 3815: 3812: 3811: 3809: 3808: 3803: 3801:Random numbers 3798: 3793: 3788: 3783: 3778: 3773: 3768: 3763: 3758: 3753: 3747: 3745: 3741: 3740: 3738: 3737: 3732: 3727: 3725:Garlic routing 3722: 3717: 3712: 3707: 3702: 3697: 3692: 3687: 3682: 3677: 3672: 3667: 3662: 3657: 3652: 3647: 3645:Secure channel 3642: 3636: 3635: 3634: 3623: 3618: 3613: 3608: 3606:Key stretching 3603: 3598: 3593: 3588: 3583: 3578: 3573: 3572: 3571: 3566: 3556: 3554:Cryptovirology 3551: 3546: 3541: 3539:Cryptocurrency 3536: 3531: 3526: 3525: 3524: 3514: 3509: 3503: 3501: 3497: 3496: 3489: 3488: 3481: 3474: 3466: 3459: 3458: 3455: 3454: 3451: 3450: 3448: 3447: 3442: 3437: 3431: 3429: 3425: 3424: 3422: 3421: 3416: 3411: 3406: 3401: 3395: 3393: 3389: 3388: 3386: 3385: 3380: 3375: 3370: 3365: 3360: 3355: 3350: 3345: 3340: 3335: 3330: 3329: 3328: 3323: 3318: 3313: 3308: 3298: 3293: 3288: 3283: 3275: 3270: 3265: 3258:Distinguishing 3255: 3250: 3249: 3248: 3243: 3238: 3228: 3218: 3217: 3216: 3211: 3201: 3190: 3188: 3178: 3177: 3175: 3174: 3164: 3159: 3154: 3149: 3144: 3139: 3134: 3129: 3124: 3122:Product cipher 3119: 3114: 3109: 3103: 3101: 3097: 3096: 3094: 3093: 3088: 3083: 3078: 3073: 3068: 3063: 3058: 3053: 3048: 3043: 3038: 3033: 3028: 3023: 3018: 3013: 3008: 3003: 2998: 2993: 2988: 2983: 2978: 2973: 2968: 2963: 2958: 2953: 2948: 2943: 2938: 2933: 2928: 2923: 2918: 2913: 2908: 2903: 2898: 2893: 2888: 2877: 2872: 2867: 2862: 2857: 2852: 2847: 2842: 2837: 2832: 2827: 2822: 2817: 2812: 2807: 2802: 2797: 2792: 2787: 2782: 2777: 2772: 2767: 2762: 2757: 2752: 2750:Cryptomeria/C2 2747: 2742: 2737: 2732: 2727: 2722: 2717: 2712: 2707: 2702: 2697: 2692: 2687: 2682: 2677: 2672: 2667: 2662: 2657: 2651: 2649: 2643: 2642: 2640: 2639: 2634: 2629: 2624: 2619: 2614: 2609: 2604: 2599: 2594: 2589: 2584: 2578: 2576: 2570: 2569: 2567: 2566: 2561: 2556: 2551: 2537: 2532: 2526: 2524: 2518: 2517: 2505: 2504: 2497: 2490: 2482: 2468: 2467: 2462: 2457: 2452: 2447: 2440: 2439:External links 2437: 2434: 2433: 2412: 2397: 2368: 2357: 2329: 2311: 2275: 2251:Biryukov, Alex 2238: 2237: 2235: 2232: 2231: 2230: 2225: 2218: 2215: 2175: 2172: 1938: 1790: 1784: 1781: 1547: 1399: 1397: 1396: 1383: 1380: 894: 506: 504: 503: 502: 501: 494: 487: 474: 473: 466: 460: 433: 432: 428: 427: 426: 419: 412: 399: 398: 391: 385: 375: 360: 352: 351: 347: 341: 335: 331: 328: 323: 320: 314: 309: 306: 300: 295: 292: 286: 282: 279: 274: 255: 252: 246: 243: 217:additions and 191: 188: 143: 142: 134: 133: 126: 125: 122: 116: 115: 109: 105: 104: 101: 95: 94: 91: 85: 84: 80: 79: 70: 66: 65: 62: 58: 57: 52: 48: 47: 43: 42: 39: 15: 9: 6: 4: 3: 2: 3866: 3855: 3852: 3850: 3849:Block ciphers 3847: 3846: 3844: 3825: 3817: 3816: 3813: 3807: 3806:Steganography 3804: 3802: 3799: 3797: 3794: 3792: 3789: 3787: 3784: 3782: 3779: 3777: 3774: 3772: 3769: 3767: 3764: 3762: 3761:Stream cipher 3759: 3757: 3754: 3752: 3749: 3748: 3746: 3742: 3736: 3733: 3731: 3728: 3726: 3723: 3721: 3720:Onion routing 3718: 3716: 3713: 3711: 3708: 3706: 3703: 3701: 3700:Shared secret 3698: 3696: 3693: 3691: 3688: 3686: 3683: 3681: 3678: 3676: 3673: 3671: 3668: 3666: 3663: 3661: 3658: 3656: 3653: 3651: 3648: 3646: 3643: 3640: 3637: 3632: 3629: 3628: 3627: 3624: 3622: 3619: 3617: 3614: 3612: 3609: 3607: 3604: 3602: 3599: 3597: 3596:Key generator 3594: 3592: 3589: 3587: 3584: 3582: 3579: 3577: 3574: 3570: 3567: 3565: 3562: 3561: 3560: 3559:Hash function 3557: 3555: 3552: 3550: 3547: 3545: 3542: 3540: 3537: 3535: 3534:Cryptanalysis 3532: 3530: 3527: 3523: 3520: 3519: 3518: 3515: 3513: 3510: 3508: 3505: 3504: 3502: 3498: 3494: 3487: 3482: 3480: 3475: 3473: 3468: 3467: 3464: 3460: 3446: 3443: 3441: 3438: 3436: 3433: 3432: 3430: 3426: 3420: 3417: 3415: 3412: 3410: 3407: 3405: 3402: 3400: 3397: 3396: 3394: 3390: 3384: 3381: 3379: 3376: 3374: 3371: 3369: 3366: 3364: 3361: 3359: 3356: 3354: 3351: 3349: 3346: 3344: 3341: 3339: 3338:Interpolation 3336: 3334: 3331: 3327: 3324: 3322: 3319: 3317: 3314: 3312: 3309: 3307: 3304: 3303: 3302: 3299: 3297: 3294: 3292: 3289: 3287: 3284: 3282: 3281: 3276: 3274: 3271: 3269: 3266: 3263: 3259: 3256: 3254: 3251: 3247: 3244: 3242: 3239: 3237: 3234: 3233: 3232: 3229: 3226: 3222: 3219: 3215: 3212: 3210: 3207: 3206: 3205: 3202: 3199: 3195: 3192: 3191: 3189: 3186: 3185:cryptanalysis 3179: 3172: 3168: 3167:Key whitening 3165: 3163: 3160: 3158: 3155: 3153: 3150: 3148: 3145: 3143: 3140: 3138: 3135: 3133: 3130: 3128: 3125: 3123: 3120: 3118: 3115: 3113: 3110: 3108: 3105: 3104: 3102: 3098: 3092: 3089: 3087: 3084: 3082: 3079: 3077: 3074: 3072: 3069: 3067: 3064: 3062: 3059: 3057: 3054: 3052: 3049: 3047: 3044: 3042: 3039: 3037: 3034: 3032: 3029: 3027: 3024: 3022: 3019: 3017: 3014: 3012: 3009: 3007: 3004: 3002: 2999: 2997: 2994: 2992: 2989: 2987: 2984: 2982: 2979: 2977: 2974: 2972: 2969: 2967: 2964: 2962: 2959: 2957: 2956:New Data Seal 2954: 2952: 2949: 2947: 2944: 2942: 2939: 2937: 2934: 2932: 2929: 2927: 2924: 2922: 2919: 2917: 2914: 2912: 2909: 2907: 2904: 2902: 2899: 2897: 2894: 2892: 2889: 2886: 2882: 2878: 2876: 2873: 2871: 2868: 2866: 2863: 2861: 2858: 2856: 2853: 2851: 2848: 2846: 2843: 2841: 2838: 2836: 2833: 2831: 2828: 2826: 2823: 2821: 2818: 2816: 2813: 2811: 2808: 2806: 2803: 2801: 2798: 2796: 2793: 2791: 2788: 2786: 2783: 2781: 2778: 2776: 2773: 2771: 2768: 2766: 2763: 2761: 2758: 2756: 2753: 2751: 2748: 2746: 2743: 2741: 2738: 2736: 2733: 2731: 2728: 2726: 2723: 2721: 2718: 2716: 2713: 2711: 2708: 2706: 2703: 2701: 2698: 2696: 2695:BEAR and LION 2693: 2691: 2688: 2686: 2683: 2681: 2678: 2676: 2673: 2671: 2668: 2666: 2663: 2661: 2658: 2656: 2653: 2652: 2650: 2644: 2638: 2635: 2633: 2630: 2628: 2625: 2623: 2620: 2618: 2615: 2613: 2610: 2608: 2605: 2603: 2600: 2598: 2595: 2593: 2590: 2588: 2585: 2583: 2580: 2579: 2577: 2571: 2565: 2562: 2560: 2557: 2555: 2552: 2549: 2545: 2541: 2538: 2536: 2533: 2531: 2528: 2527: 2525: 2519: 2514: 2510: 2509:Block ciphers 2503: 2498: 2496: 2491: 2489: 2484: 2483: 2480: 2476: 2472: 2466: 2463: 2461: 2458: 2456: 2453: 2451: 2448: 2446: 2443: 2442: 2422: 2416: 2408: 2401: 2386: 2382: 2378: 2372: 2366: 2361: 2346: 2342: 2336: 2334: 2327: 2323: 2320: 2315: 2301:on 2007-04-17 2297: 2293: 2286: 2279: 2270: 2265: 2258: 2257: 2252: 2246: 2244: 2239: 2229: 2226: 2224: 2221: 2220: 2214: 2212: 2207: 2203: 2199: 2196: 2192: 2188: 2183: 2181: 2174:Cryptanalysis 1936: 1788: 1545: 1394: 1390: 1389: 1388: 892: 499: 495: 492: 488: 485: 481: 480: 457: 440:Odd((𝜙 − 1) 429: 424: 420: 417: 413: 410: 406: 405: 382: 348: 342: 329: 321: 315: 307: 301: 293: 280: 272: 271: 270: 267: 265: 261: 254:Key expansion 251: 242: 240: 236: 232: 228: 224: 220: 216: 212: 207: 205: 201: 197: 187: 185: 181: 177: 173: 169: 165: 164:Ronald Rivest 161: 158: 157:symmetric-key 154: 150: 140: 135: 132: 131:cryptanalysis 127: 123: 121: 117: 114:-like network 113: 110: 106: 102: 100: 96: 92: 90: 86: 83:Cipher detail 81: 78: 74: 71: 67: 63: 59: 56: 53: 49: 44: 35: 30: 22: 3756:Block cipher 3601:Key schedule 3591:Key exchange 3581:Kleptography 3544:Cryptosystem 3493:Cryptography 3343:Partitioning 3301:Side-channel 3279: 3246:Higher-order 3231:Differential 3112:Key schedule 2611: 2424:. Retrieved 2415: 2400: 2389:. Retrieved 2371: 2360: 2348:. Retrieved 2344: 2314: 2303:. Retrieved 2296:the original 2291: 2278: 2255: 2202:RSA Security 2200: 2195:brute-forced 2184: 2177: 1934: 1876:>>> 1840:>>> 1786: 1543: 1512:<<< 1476:<<< 1385: 890: 814:<<< 775:<<< 601:<<< 497: 490: 486:= 16: 0x9E37 483: 456:golden ratio 422: 415: 411:= 16: 0xB7E1 408: 268: 257: 248: 235:golden ratio 208: 193: 167: 160:block cipher 152: 149:cryptography 146: 129:Best public 16:Block cipher 3744:Mathematics 3735:Mix network 3428:Utilization 3414:NSA Suite B 3399:AES process 3348:Rubber-hose 3286:Related-key 3194:Brute-force 2573:Less common 2426:15 December 2350:14 December 2206:ciphertexts 1943:RC5_DECRYPT 1552:RC5_ENCRYPT 511:# u = w / 8 190:Description 99:Block sizes 3843:Categories 3695:Ciphertext 3665:Decryption 3660:Encryption 3621:Ransomware 3378:Chi-square 3296:Rotational 3236:Impossible 3157:Block size 3051:Spectr-H64 2875:Ladder-DES 2870:Kuznyechik 2815:Hierocrypt 2685:BassOmatic 2648:algorithms 2575:algorithms 2548:Triple DES 2523:algorithms 2391:2024-01-24 2305:2004-12-18 2234:References 1783:Decryption 1382:Encryption 886:# return S 260:pseudocode 196:block size 69:Successors 55:Ron Rivest 3685:Plaintext 3353:Black-bag 3273:Boomerang 3262:Known-key 3241:Truncated 3066:Threefish 3061:SXAL/MBAL 2951:MultiSwap 2906:MacGuffin 2865:KN-Cipher 2805:Grand Cru 2760:CS-Cipher 2740:COCONUT98 1393:plaintext 899:RC5_SETUP 245:Algorithm 166:in 1994, 108:Structure 89:Key sizes 51:Designers 3824:Category 3730:Kademlia 3690:Codetext 3633:(CSPRNG) 3404:CRYPTREC 3368:Weak key 3321:Acoustic 3162:Key size 3006:Red Pike 2825:IDEA NXT 2705:Chiasmus 2700:CAST-256 2680:BaseKing 2665:Akelarre 2660:Adiantum 2627:Skipjack 2592:CAST-128 2587:Camellia 2535:Blowfish 2385:Archived 2322:Archived 2228:Red Pike 2217:See also 1055:<< 905:unsigned 446:, where 369:, where 233:and the 204:key size 77:Akelarre 3500:General 3445:Padding 3363:Rebound 3071:Treyfer 3021:SAVILLE 2981:PRESENT 2971:NOEKEON 2916:MAGENTA 2911:Madryga 2891:Lucifer 2755:CRYPTON 2564:Twofish 2554:Serpent 2223:Madryga 520:ceiling 454:is the 379:is the 223:Feistel 215:modular 178:). The 112:Feistel 46:General 3611:Keygen 3409:NESSIE 3358:Davies 3306:Timing 3221:Linear 3181:Attack 3100:Design 3091:Zodiac 3056:Square 3031:SHACAL 3026:SC2000 2986:Prince 2966:Nimbus 2961:NewDES 2946:MULTI2 2936:MISTY1 2879:LOKI ( 2855:KHAZAD 2850:KeeLoq 2845:KASUMI 2840:Kalyna 2725:CLEFIA 2710:CIKS-1 2670:Anubis 2521:Common 1921:return 1530:return 458:, and 383:, and 264:C code 120:Rounds 3641:(PRN) 3291:Slide 3147:Round 3132:P-box 3127:S-box 3086:XXTEA 3046:Speck 3041:Simon 3036:SHARK 3016:SAFER 3001:REDOC 2926:Mercy 2885:89/91 2835:Iraqi 2800:G-DES 2790:FEA-M 2770:DES-X 2735:Cobra 2690:BATON 2675:Ascon 2655:3-Way 2646:Other 2299:(PDF) 2288:(PDF) 2260:(PDF) 1651:<= 736:times 363:− 2) 359:Odd(( 155:is a 3419:CNSA 3278:Mod 3204:MITM 2976:NUSH 2931:MESH 2921:MARS 2795:FROG 2785:FEAL 2765:DEAL 2745:Crab 2730:CMEA 2637:XTEA 2622:SEED 2602:IDEA 2597:GOST 2582:ARIA 2428:2019 2352:2019 2096:ROTR 2057:ROTR 2030:> 1976:WORD 1961:WORD 1949:WORD 1940:void 1804:down 1717:ROTL 1678:ROTL 1585:WORD 1570:WORD 1558:WORD 1549:void 1331:ROTL 1286:ROTL 1187:< 1106:< 932:WORD 908:char 896:void 574:down 496:For 489:For 482:For 421:For 414:For 407:For 334:= 2( 200:bits 174:and 64:1994 21:RC-5 3373:Tau 3333:XSL 3137:SPN 3081:xmx 3076:UES 3011:S-1 2996:RC2 2941:MMB 2820:ICE 2775:DFC 2632:TEA 2617:RC6 2612:RC5 2607:LEA 2559:SM4 2540:DES 2530:AES 2264:doi 2009:for 1792:for 1630:for 1431:for 1370:)); 1142:for 1073:for 989:for 718:max 673:Q_w 631:for 628:P_w 556:for 526:max 448:Odd 371:Odd 338:+1) 202:), 184:RC6 176:RC4 172:RC2 153:RC5 147:In 73:RC6 27:RC5 3845:: 2901:M8 2896:M6 2883:, 2881:97 2780:E2 2546:, 2343:. 2332:^ 2290:. 2242:^ 2150:pt 2132:pt 2042:-- 2003:ct 1991:ct 1967:pt 1955:ct 1861:(( 1825:(( 1813:do 1807:to 1765:ct 1753:ct 1663:++ 1618:pt 1600:pt 1576:ct 1564:pt 1497:(( 1461:(( 1449:do 1443:to 1355:), 1316:); 1310:), 1205:++ 1118:++ 1037:-- 1028:-1 1025:!= 1004:-1 709:do 655:do 643:to 583:do 577:to 452:𝜙 444:2) 442:× 367:2) 365:× 289:/8 285:= 168:RC 151:, 75:, 3485:e 3478:t 3471:v 3280:n 3264:) 3260:( 3227:) 3223:( 3200:) 3196:( 3187:) 3183:( 3173:) 3169:( 2991:Q 2887:) 2550:) 2542:( 2515:) 2511:( 2501:e 2494:t 2487:v 2430:. 2394:. 2354:. 2308:. 2272:. 2266:: 2168:} 2165:; 2162:S 2159:- 2156:A 2153:= 2147:; 2144:S 2141:- 2138:B 2135:= 2129:} 2126:; 2123:B 2120:^ 2117:) 2114:B 2111:, 2108:S 2105:- 2102:A 2099:( 2093:= 2090:A 2087:; 2084:A 2081:^ 2078:) 2075:A 2072:, 2069:S 2066:- 2063:B 2060:( 2054:= 2051:B 2048:{ 2045:) 2039:i 2036:; 2033:0 2027:i 2024:; 2021:r 2018:= 2015:i 2012:( 2006:; 2000:= 1997:A 1994:, 1988:= 1985:B 1982:, 1979:i 1973:{ 1970:) 1964:* 1958:, 1952:* 1946:( 1930:B 1927:, 1924:A 1918:S 1915:- 1912:A 1909:= 1906:A 1903:S 1900:- 1897:B 1894:= 1891:B 1888:B 1885:^ 1882:) 1879:B 1873:) 1870:S 1867:- 1864:A 1858:= 1855:A 1852:A 1849:^ 1846:) 1843:A 1837:) 1834:S 1831:- 1828:B 1822:= 1819:B 1816:: 1810:1 1801:r 1798:= 1795:i 1777:} 1774:; 1771:B 1768:= 1762:; 1759:A 1756:= 1750:} 1747:; 1744:S 1741:+ 1738:) 1735:A 1732:, 1729:A 1726:^ 1723:B 1720:( 1714:= 1711:B 1708:; 1705:S 1702:+ 1699:) 1696:B 1693:, 1690:B 1687:^ 1684:A 1681:( 1675:= 1672:A 1669:{ 1666:) 1660:i 1657:; 1654:r 1648:i 1645:; 1642:1 1639:= 1636:i 1633:( 1627:; 1624:S 1621:+ 1615:= 1612:B 1609:, 1606:S 1603:+ 1597:= 1594:A 1591:, 1588:i 1582:{ 1579:) 1573:* 1567:, 1561:* 1555:( 1539:B 1536:, 1533:A 1524:S 1521:+ 1518:) 1515:A 1509:) 1506:A 1503:^ 1500:B 1494:= 1491:B 1488:S 1485:+ 1482:) 1479:B 1473:) 1470:B 1467:^ 1464:A 1458:= 1455:A 1452:: 1446:r 1440:1 1437:= 1434:i 1428:S 1425:+ 1422:B 1419:= 1416:B 1413:S 1410:+ 1407:A 1404:= 1401:A 1376:} 1373:} 1367:B 1364:+ 1361:A 1358:( 1352:B 1349:+ 1346:A 1343:( 1340:+ 1337:L 1334:( 1328:= 1325:L 1322:= 1319:B 1313:3 1307:B 1304:+ 1301:A 1298:( 1295:+ 1292:S 1289:( 1283:= 1280:S 1277:= 1274:A 1271:{ 1268:) 1265:c 1262:% 1259:) 1256:1 1253:+ 1250:j 1247:( 1244:= 1241:j 1238:, 1235:t 1232:% 1229:) 1226:1 1223:+ 1220:i 1217:( 1214:= 1211:i 1208:, 1202:k 1199:; 1196:t 1193:* 1190:3 1184:k 1181:; 1178:0 1175:= 1172:k 1169:= 1166:j 1163:= 1160:i 1157:= 1154:B 1151:= 1148:A 1145:( 1139:; 1136:Q 1133:+ 1130:S 1127:= 1124:S 1121:) 1115:i 1112:; 1109:t 1103:i 1100:; 1097:1 1094:= 1091:i 1088:, 1085:P 1082:= 1079:S 1076:( 1070:; 1067:K 1064:+ 1061:) 1058:8 1052:L 1049:( 1046:= 1043:L 1040:) 1034:i 1031:; 1022:i 1019:; 1016:0 1013:= 1010:L 1007:, 1001:b 998:= 995:i 992:( 986:; 983:L 980:, 977:B 974:, 971:A 968:, 965:8 962:/ 959:w 956:= 953:u 950:, 947:k 944:, 941:j 938:, 935:i 920:{ 917:) 914:K 911:* 902:( 883:c 880:% 877:) 874:1 871:+ 868:j 865:( 862:= 859:j 856:t 853:% 850:) 847:1 844:+ 841:i 838:( 835:= 832:i 829:) 826:B 823:+ 820:A 817:( 811:) 808:B 805:+ 802:A 799:+ 796:L 793:( 790:= 787:L 784:= 781:B 778:3 772:) 769:B 766:+ 763:A 760:+ 757:S 754:( 751:= 748:S 745:= 742:A 739:: 733:) 730:c 727:, 724:t 721:( 715:* 712:3 706:0 703:= 700:B 697:= 694:A 691:0 688:= 685:j 682:= 679:i 670:+ 667:S 664:= 661:S 658:: 652:1 649:- 646:t 640:1 637:= 634:i 625:= 622:S 613:K 610:+ 607:) 604:8 598:L 595:( 592:= 589:L 586:: 580:0 571:1 568:- 565:b 562:= 559:i 550:) 547:u 544:/ 541:) 538:1 535:, 532:b 529:( 523:( 517:= 514:c 498:w 491:w 484:w 475:w 472:Q 467:w 461:w 434:w 431:Q 423:w 416:w 409:w 400:w 397:P 392:w 386:w 376:e 361:e 353:w 350:P 344:S 336:r 332:t 324:r 317:L 310:c 303:K 296:b 287:w 283:u 275:w 231:e 23:.

Index

RC-5

Ron Rivest
RC6
Akelarre
Key sizes
Block sizes
Feistel
Rounds
cryptanalysis
differential attack
cryptography
symmetric-key
block cipher
Ronald Rivest
RC2
RC4
Advanced Encryption Standard
RC6
block size
bits
key size
cryptographic primitive
modular
eXclusive OR (XOR)s
Feistel
one-way function
e
golden ratio
nothing up my sleeve numbers

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