Hex Artifact Content
Not logged in

Artifact 3cdb497bbd76395d6bb6f8f0a638444d364e9d55:


0000: 5c 20 72 65 61 64 61 62 6c 65 20 77 75 72 73 74  \ readable wurst
0010: 6b 65 73 73 65 6c 20 2d 20 36 34 20 62 69 74 20  kessel - 64 bit 
0020: 6f 6e 6c 79 0a 0a 38 20 63 65 6c 6c 73 20 43 6f  only..8 cells Co
0030: 6e 73 74 61 6e 74 20 73 74 61 74 65 23 0a 0a 73  nstant state#..s
0040: 74 61 74 65 23 20 62 75 66 66 65 72 3a 20 77 75  tate# buffer: wu
0050: 72 73 74 2d 73 6f 75 72 63 65 0a 73 74 61 74 65  rst-source.state
0060: 23 20 62 75 66 66 65 72 3a 20 77 75 72 73 74 2d  # buffer: wurst-
0070: 73 74 61 74 65 0a 73 74 61 74 65 23 20 62 75 66  state.state# buf
0080: 66 65 72 3a 20 6e 65 78 74 73 74 61 74 65 0a 0a  fer: nextstate..
0090: 43 72 65 61 74 65 20 27 72 6e 67 73 20 5c 20 74  Create 'rngs \ t
00a0: 68 69 73 20 69 73 20 65 73 73 65 6e 74 69 61 6c  his is essential
00b0: 6c 79 20 57 75 72 73 74 6b 65 73 73 65 6c 27 73  ly Wurstkessel's
00c0: 20 53 2d 62 6f 78 0a 24 45 41 35 37 36 42 31 35   S-box.$EA576B15
00d0: 41 37 41 46 42 41 30 38 20 2c 20 24 42 46 34 38  A7AFBA08 , $BF48
00e0: 38 38 44 43 30 32 31 33 31 45 46 37 20 2c 20 24  88DC02131EF7 , $
00f0: 35 46 34 39 41 34 30 42 31 44 41 41 46 35 46 44  5F49A40B1DAAF5FD
0100: 20 2c 20 24 37 37 39 38 39 37 35 45 35 32 33 33   , $7798975E5233
0110: 43 38 39 44 20 2c 0a 24 41 37 30 41 31 42 44 35  C89D ,.$A70A1BD5
0120: 31 38 42 33 46 42 43 36 20 2c 20 24 38 45 33 31  18B3FBC6 , $8E31
0130: 44 35 34 45 43 42 37 42 43 44 46 39 20 2c 20 24  D54ECB7BCDF9 , $
0140: 39 34 39 44 31 30 37 30 32 39 46 39 34 45 41 41  949D107029F94EAA
0150: 20 2c 20 24 37 42 34 30 32 36 31 46 36 42 33 45   , $7B40261F6B3E
0160: 30 37 36 33 20 2c 0a 24 45 38 34 35 46 39 30 34  0763 ,.$E845F904
0170: 37 37 41 33 30 41 43 35 20 2c 20 24 36 42 46 35  77A30AC5 , $6BF5
0180: 43 44 43 30 39 34 42 37 41 36 35 37 20 2c 20 24  CDC094B7A657 , $
0190: 42 30 37 39 36 43 39 46 36 31 46 39 39 30 46 39  B0796C9F61F990F9
01a0: 20 2c 20 24 43 31 34 39 46 41 42 41 35 30 30 31   , $C149FABA5001
01b0: 34 42 46 43 20 2c 0a 24 36 32 36 33 37 37 32 32  4BFC ,.$62637722
01c0: 38 42 43 37 36 32 45 46 20 2c 20 24 36 33 39 42  8BC762EF , $639B
01d0: 46 45 39 33 30 39 34 45 37 42 38 34 20 2c 20 24  FE93094E7B84 , $
01e0: 30 42 36 31 31 34 30 43 31 33 35 31 33 45 31 35  0B61140C13513E15
01f0: 20 2c 20 24 41 44 42 38 30 30 34 36 30 44 38 42   , $ADB800460D8B
0200: 37 41 33 46 20 2c 0a 24 32 30 44 33 38 37 33 31  7A3F ,.$20D38731
0210: 31 30 38 38 30 44 34 33 20 2c 20 24 31 34 34 42  10880D43 , $144B
0220: 38 36 32 46 34 37 35 35 44 38 45 46 20 2c 20 24  862F4755D8EF , $
0230: 36 39 43 31 32 37 46 33 35 30 45 43 44 37 30 39  69C127F350ECD709
0240: 20 2c 20 24 34 41 39 32 35 31 31 46 41 44 33 31   , $4A92511FAD31
0250: 44 34 36 35 20 2c 0a 24 33 34 45 42 30 45 46 38  D465 ,.$34EB0EF8
0260: 45 44 38 32 33 30 42 32 20 2c 20 24 34 37 37 42  ED8230B2 , $477B
0270: 46 34 36 36 45 33 33 32 44 44 42 38 20 2c 20 24  F466E332DDB8 , $
0280: 30 38 36 42 36 46 32 30 44 43 32 46 31 42 33 33  086B6F20DC2F1B33
0290: 20 2c 20 24 45 30 32 30 43 38 30 31 32 45 31 45   , $E020C8012E1E
02a0: 42 43 34 41 20 2c 0a 24 43 34 41 35 42 45 46 39  BC4A ,.$C4A5BEF9
02b0: 33 39 30 34 34 41 46 43 20 2c 20 24 43 35 43 35  39044AFC , $C5C5
02c0: 42 30 33 46 38 30 46 41 46 37 33 39 20 2c 20 24  B03F80FAF739 , $
02d0: 41 44 34 36 45 46 42 41 36 45 34 45 45 46 42 32  AD46EFBA6E4EEFB2
02e0: 20 2c 20 24 45 41 44 30 34 45 45 46 32 31 41 44   , $EAD04EEF21AD
02f0: 35 43 43 41 20 2c 0a 24 36 38 35 31 36 33 34 35  5CCA ,.$68516345
0300: 46 33 32 45 35 38 32 45 20 2c 20 24 46 45 44 45  F32E582E , $FEDE
0310: 32 30 36 37 41 33 33 35 42 31 46 36 20 2c 20 24  2067A335B1F6 , $
0320: 39 36 36 31 31 44 31 33 31 37 32 42 41 30 34 34  96611D13172BA044
0330: 20 2c 20 24 31 44 44 42 43 33 46 33 36 32 35 37   , $1DDBC3F36257
0340: 44 46 39 36 20 2c 0a 24 34 42 46 45 37 35 41 39  DF96 ,.$4BFE75A9
0350: 31 42 35 38 32 44 30 37 20 2c 20 24 38 32 44 46  1B582D07 , $82DF
0360: 33 41 37 44 34 32 30 35 44 39 42 34 20 2c 20 24  3A7D4205D9B4 , $
0370: 43 44 43 37 43 32 43 37 36 39 42 31 30 31 36 33  CDC7C2C769B10163
0380: 20 2c 20 24 32 42 39 45 46 42 33 41 34 30 36 43   , $2B9EFB3A406C
0390: 31 43 32 32 20 2c 0a 24 44 41 37 33 32 46 31 37  1C22 ,.$DA732F17
03a0: 42 42 35 46 41 38 31 39 20 2c 20 24 31 34 44 41  BB5FA819 , $14DA
03b0: 32 44 39 39 34 42 38 38 45 42 46 42 20 2c 20 24  2D994B88EBFB , $
03c0: 45 39 45 38 44 41 33 37 31 38 36 36 38 31 38 45  E9E8DA371866818E
03d0: 20 2c 20 24 36 41 41 46 45 41 41 42 38 30 44 37   , $6AAFEAAB80D7
03e0: 32 37 35 38 20 2c 0a 24 45 32 34 35 33 41 43 45  2758 ,.$E2453ACE
03f0: 41 37 34 37 31 39 44 42 20 2c 20 24 36 32 43 41  A74719DB , $62CA
0400: 42 37 38 45 38 32 31 33 37 45 37 38 20 2c 20 24  B78E82137E78 , $
0410: 34 42 36 30 45 36 37 37 38 41 38 34 43 38 32 42  4B60E6778A84C82B
0420: 20 2c 20 24 34 31 42 46 32 34 31 37 42 30 30 37   , $41BF2417B007
0430: 30 37 36 34 20 2c 0a 24 46 33 38 36 35 41 44 45  0764 ,.$F3865ADE
0440: 42 46 33 33 37 41 39 39 20 2c 20 24 41 31 45 43  BF337A99 , $A1EC
0450: 33 36 43 36 39 36 34 39 32 42 45 30 20 2c 20 24  36C696492BE0 , $
0460: 37 43 38 38 34 42 33 32 30 38 30 43 36 34 39 46  7C884B32080C649F
0470: 20 2c 20 24 41 41 45 39 39 42 44 41 44 43 33 37   , $AAE99BDADC37
0480: 36 38 35 41 20 2c 0a 24 44 43 41 34 43 35 39 44  685A ,.$DCA4C59D
0490: 39 38 42 45 45 43 36 43 20 2c 20 24 44 44 38 38  98BEEC6C , $DD88
04a0: 38 36 46 45 44 38 42 38 32 30 39 30 20 2c 20 24  86FED8B82090 , $
04b0: 46 38 39 34 41 41 36 39 39 34 45 46 44 42 38 41  F894AA6994EFDB8A
04c0: 20 2c 20 24 46 42 39 35 34 45 41 37 31 30 37 42   , $FB954EA7107B
04d0: 31 42 46 33 20 2c 0a 24 38 30 45 35 36 39 35 38  1BF3 ,.$80E56958
04e0: 31 37 37 33 43 46 35 46 20 2c 20 24 46 34 31 38  1773CF5F , $F418
04f0: 45 31 46 39 37 45 36 30 31 44 39 34 20 2c 20 24  E1F97E601D94 , $
0500: 37 41 39 42 39 46 39 30 33 33 41 34 30 38 32 30  7A9B9F9033A40820
0510: 20 2c 20 24 30 30 45 30 36 44 37 43 34 46 35 30   , $00E06D7C4F50
0520: 37 32 36 42 20 2c 0a 24 31 39 43 32 30 35 43 37  726B ,.$19C205C7
0530: 46 34 36 31 45 42 36 35 20 2c 20 24 44 42 36 31  F461EB65 , $DB61
0540: 30 41 33 36 44 45 34 30 41 45 37 43 20 2c 20 24  0A36DE40AE7C , $
0550: 30 46 43 44 32 30 31 41 46 33 45 36 35 46 35 46  0FCD201AF3E65F5F
0560: 20 2c 20 24 35 38 34 30 39 31 30 46 43 31 39 30   , $5840910FC190
0570: 32 32 32 34 20 2c 0a 24 31 32 31 30 39 37 35 32  2224 ,.$12109752
0580: 34 30 42 45 31 38 32 39 20 2c 20 24 37 31 42 39  40BE1829 , $71B9
0590: 37 33 30 37 45 38 45 39 30 33 46 39 20 2c 20 24  7307E8E903F9 , $
05a0: 44 46 38 35 43 36 43 33 34 36 44 46 34 46 46 32  DF85C6C346DF4FF2
05b0: 20 2c 20 24 42 42 32 36 46 38 33 35 46 44 33 37   , $BB26F835FD37
05c0: 31 31 46 31 20 2c 0a 24 34 44 45 38 45 36 44 43  11F1 ,.$4DE8E6DC
05d0: 30 30 38 42 44 32 34 39 20 2c 20 24 38 43 31 31  008BD249 , $8C11
05e0: 44 35 41 36 34 37 43 41 36 32 33 31 20 2c 20 24  D5A647CA6231 , $
05f0: 42 31 30 44 30 46 36 36 45 43 30 37 41 32 35 31  B10D0F66EC07A251
0600: 20 2c 20 24 44 32 44 34 43 37 42 44 36 30 38 41   , $D2D4C7BD608A
0610: 41 43 44 45 20 2c 0a 24 31 37 43 37 35 36 30 44  ACDE ,.$17C7560D
0620: 36 32 31 45 36 44 36 32 20 2c 20 24 41 31 38 32  621E6D62 , $A182
0630: 35 39 31 42 43 35 33 44 37 43 38 41 20 2c 20 24  591BC53D7C8A , $
0640: 38 46 42 46 37 32 36 30 43 31 36 30 35 38 44 37  8FBF7260C16058D7
0650: 20 2c 20 24 44 32 30 43 31 41 41 34 37 41 44 32   , $D20C1AA47AD2
0660: 38 30 46 44 20 2c 0a 24 34 43 33 34 41 42 43 36  80FD ,.$4C34ABC6
0670: 34 36 32 37 36 44 33 45 20 2c 20 24 44 46 39 33  46276D3E , $DF93
0680: 32 38 32 32 32 42 35 35 35 38 38 35 20 2c 20 24  28222B555885 , $
0690: 35 46 43 45 41 43 36 38 42 39 31 41 41 37 35 46  5FCEAC68B91AA75F
06a0: 20 2c 20 24 42 36 36 32 43 34 44 38 34 46 37 31   , $B662C4D84F71
06b0: 33 35 43 36 20 2c 0a 24 34 31 38 44 42 44 33 43  35C6 ,.$418DBD3C
06c0: 34 35 44 37 45 36 37 43 20 2c 20 24 35 45 30 37  45D7E67C , $5E07
06d0: 44 42 39 37 41 32 38 44 32 41 33 41 20 2c 20 24  DB97A28D2A3A , $
06e0: 44 35 44 37 42 30 32 34 43 37 45 31 34 38 41 33  D5D7B024C7E148A3
06f0: 20 2c 20 24 33 46 33 30 32 33 36 33 39 45 34 45   , $3F3023639E4E
0700: 44 39 31 44 20 2c 0a 24 37 35 35 39 30 35 38 30  D91D ,.$75590580
0710: 44 31 38 42 44 43 46 37 20 2c 20 24 32 39 33 36  D18BDCF7 , $2936
0720: 43 34 34 35 41 38 43 43 45 35 44 33 20 2c 20 24  C445A8CCE5D3 , $
0730: 31 43 39 42 35 31 33 35 32 41 39 42 33 38 41 41  1C9B51352A9B38AA
0740: 20 2c 20 24 31 45 43 36 37 42 30 45 36 33 45 41   , $1EC67B0E63EA
0750: 36 42 39 43 20 2c 0a 24 33 30 41 41 34 32 46 34  6B9C ,.$30AA42F4
0760: 34 34 44 44 38 44 37 37 20 2c 20 24 35 34 39 30  44DD8D77 , $5490
0770: 43 37 35 46 31 41 35 30 42 33 44 34 20 2c 20 24  C75F1A50B3D4 , $
0780: 38 41 36 32 44 43 36 38 36 36 31 34 39 44 43 36  8A62DC6866149DC6
0790: 20 2c 20 24 34 35 45 37 31 43 41 35 38 41 33 41   , $45E71CA58A3A
07a0: 31 41 30 33 20 2c 0a 24 34 34 43 33 35 41 36 30  1A03 ,.$44C35A60
07b0: 43 41 36 32 45 46 34 43 20 2c 20 24 38 41 38 44  CA62EF4C , $8A8D
07c0: 31 30 46 36 37 39 30 34 46 32 30 33 20 2c 20 24  10F67904F203 , $
07d0: 37 33 46 42 34 37 43 39 39 41 37 38 39 45 32 37  73FB47C99A789E27
07e0: 20 2c 20 24 46 36 44 41 32 36 34 43 35 45 43 35   , $F6DA264C5EC5
07f0: 38 38 33 34 20 2c 0a 24 37 44 45 37 30 37 41 42  8834 ,.$7DE707AB
0800: 39 34 31 41 36 38 42 31 20 2c 20 24 38 45 35 46  941A68B1 , $8E5F
0810: 43 31 35 41 42 31 42 38 32 44 34 32 20 2c 20 24  C15AB1B82D42 , $
0820: 31 36 39 46 32 37 30 45 33 31 45 31 31 38 42 39  169F270E31E118B9
0830: 20 2c 20 24 38 39 44 37 37 44 32 43 41 32 32 38   , $89D77D2CA228
0840: 46 31 41 31 20 2c 0a 24 46 37 33 42 46 43 44 30  F1A1 ,.$F73BFCD0
0850: 37 36 45 41 34 35 39 33 20 2c 20 24 33 46 43 32  76EA4593 , $3FC2
0860: 35 39 34 45 41 38 36 38 41 41 36 42 20 2c 20 24  594EA868AA6B , $
0870: 37 45 37 31 32 42 33 38 32 36 42 46 39 34 30 42  7E712B3826BF940B
0880: 20 2c 20 24 43 35 45 34 37 35 32 33 46 32 45 44   , $C5E47523F2ED
0890: 37 32 44 33 20 2c 0a 24 42 31 37 44 35 45 32 42  72D3 ,.$B17D5E2B
08a0: 34 30 44 39 31 43 42 37 20 2c 20 24 37 41 34 36  40D91CB7 , $7A46
08b0: 43 41 39 38 39 42 36 42 35 34 35 43 20 2c 20 24  CA989B6B545C , $
08c0: 44 46 35 33 39 36 33 34 37 33 44 38 41 30 32 38  DF53963473D8A028
08d0: 20 2c 20 24 31 43 32 42 30 35 45 39 35 42 36 41   , $1C2B05E95B6A
08e0: 32 33 36 31 20 2c 0a 24 32 41 38 43 45 36 43 43  2361 ,.$2A8CE6CC
08f0: 38 41 41 34 36 32 34 30 20 2c 20 24 37 45 35 36  8AA46240 , $7E56
0900: 36 37 33 42 38 34 36 37 42 32 44 34 20 2c 20 24  673B8467B2D4 , $
0910: 35 43 43 30 38 39 38 36 44 44 31 36 34 33 44 32  5CC08986DD1643D2
0920: 20 2c 20 24 33 34 42 45 43 32 36 43 31 30 41 38   , $34BEC26C10A8
0930: 41 30 46 37 20 2c 0a 24 35 41 31 30 36 35 35 30  A0F7 ,.$5A106550
0940: 38 33 34 34 44 39 42 46 20 2c 20 24 39 36 34 43  8344D9BF , $964C
0950: 44 36 39 31 43 37 35 31 34 41 35 34 20 2c 20 24  D691C7514A54 , $
0960: 44 41 36 36 34 32 45 32 30 36 44 38 45 45 43 30  DA6642E206D8EEC0
0970: 20 2c 20 24 46 45 35 30 36 34 30 45 41 43 43 35   , $FE50640EACC5
0980: 37 37 33 36 20 2c 0a 24 34 46 44 37 37 35 42 45  7736 ,.$4FD775BE
0990: 45 43 30 33 45 30 30 43 20 2c 20 24 32 45 44 35  EC03E00C , $2ED5
09a0: 31 33 32 32 46 41 36 34 38 34 37 30 20 2c 20 24  1322FA648470 , $
09b0: 44 31 32 36 33 39 36 46 45 33 34 36 46 44 38 32  D126396FE346FD82
09c0: 20 2c 20 24 33 32 31 46 38 45 36 32 36 36 30 41   , $321F8E62660A
09d0: 35 33 35 38 20 2c 0a 24 42 31 38 41 43 30 34 31  5358 ,.$B18AC041
09e0: 35 31 32 30 41 39 37 30 20 2c 20 24 41 45 36 36  5120A970 , $AE66
09f0: 45 38 44 30 44 38 39 42 44 45 41 32 20 2c 20 24  E8D0D89BDEA2 , $
0a00: 38 46 46 33 39 30 37 30 34 32 31 31 33 37 31 33  8FF3907042113713
0a10: 20 2c 20 24 33 45 44 31 41 35 41 46 34 35 42 39   , $3ED1A5AF45B9
0a20: 42 44 32 31 20 2c 0a 24 43 44 39 33 43 35 41 37  BD21 ,.$CD93C5A7
0a30: 36 37 36 46 39 42 38 30 20 2c 20 24 42 36 33 39  676F9B80 , $B639
0a40: 30 41 33 44 39 34 44 41 45 46 31 31 20 2c 20 24  0A3D94DAEF11 , $
0a50: 38 36 38 39 37 36 37 31 35 43 35 43 43 41 36 38  868976715C5CCA68
0a60: 20 2c 20 24 41 44 38 38 36 41 41 30 36 34 42 35   , $AD886AA064B5
0a70: 44 44 43 35 20 2c 0a 24 44 43 44 38 41 30 43 43  DDC5 ,.$DCD8A0CC
0a80: 42 30 45 45 34 46 34 32 20 2c 20 24 35 45 38 32  B0EE4F42 , $5E82
0a90: 35 42 35 41 46 32 36 39 36 42 34 38 20 2c 20 24  5B5AF2696B48 , $
0aa0: 43 36 41 44 32 38 34 38 42 31 42 44 32 41 46 45  C6AD2848B1BD2AFE
0ab0: 20 2c 20 24 34 44 45 35 41 32 30 41 44 33 33 30   , $4DE5A20AD330
0ac0: 42 36 45 34 20 2c 0a 24 31 32 31 44 41 33 45 34  B6E4 ,.$121DA3E4
0ad0: 34 32 38 41 41 32 37 44 20 2c 20 24 41 44 37 33  428AA27D , $AD73
0ae0: 34 41 46 36 39 42 42 36 35 38 45 38 20 2c 20 24  4AF69BB658E8 , $
0af0: 41 32 33 39 38 30 39 38 33 34 42 36 36 46 45 43  A239809834B66FEC
0b00: 20 2c 20 24 34 45 30 41 46 46 32 35 43 31 36 32   , $4E0AFF25C162
0b10: 30 32 34 43 20 2c 0a 24 31 32 41 44 41 42 31 42  024C ,.$12ADAB1B
0b20: 38 43 44 42 41 41 34 39 20 2c 20 24 37 45 46 44  8CDBAA49 , $7EFD
0b30: 32 30 35 42 38 41 32 44 37 31 34 32 20 2c 20 24  205B8A2D7142 , $
0b40: 31 31 30 30 44 33 36 39 35 31 43 43 36 41 43 44  1100D36951CC6ACD
0b50: 20 2c 20 24 35 36 44 37 44 35 44 39 30 38 37 44   , $56D7D5D9087D
0b60: 34 32 44 43 20 2c 0a 24 31 39 42 45 38 46 33 44  42DC ,.$19BE8F3D
0b70: 31 44 37 41 31 30 33 46 20 2c 20 24 35 38 37 36  1D7A103F , $5876
0b80: 39 37 41 30 37 33 33 37 45 30 37 36 20 2c 20 24  97A07337E076 , $
0b90: 46 31 33 34 39 38 33 44 37 39 36 33 33 33 42 46  F134983D796333BF
0ba0: 20 2c 20 24 38 41 36 37 42 34 46 33 38 43 35 36   , $8A67B4F38C56
0bb0: 32 34 43 35 20 2c 0a 24 35 44 38 41 39 37 33 36  24C5 ,.$5D8A9736
0bc0: 41 44 32 45 45 44 45 33 20 2c 20 24 35 43 33 32  AD2EEDE3 , $5C32
0bd0: 46 30 43 31 44 32 45 32 36 42 45 44 20 2c 20 24  F0C1D2E26BED , $
0be0: 30 32 39 41 44 38 36 30 38 30 41 31 39 36 30 41  029AD86080A1960A
0bf0: 20 2c 20 24 45 44 35 46 37 36 44 31 44 42 32 37   , $ED5F76D1DB27
0c00: 36 45 44 39 20 2c 0a 24 33 33 43 42 35 38 31 30  6ED9 ,.$33CB5810
0c10: 36 31 38 30 35 44 46 44 20 2c 20 24 41 35 44 46  61805DFD , $A5DF
0c20: 32 35 32 32 41 30 46 36 39 31 43 37 20 2c 20 24  2522A0F691C7 , $
0c30: 41 34 41 44 45 44 46 37 38 32 46 44 36 42 44 32  A4ADEDF782FD6BD2
0c40: 20 2c 20 24 46 45 33 38 34 46 46 30 44 33 37 31   , $FE384FF0D371
0c50: 43 39 36 34 20 2c 0a 24 46 35 43 46 45 46 39 45  C964 ,.$F5CFEF9E
0c60: 34 41 34 43 44 32 37 33 20 2c 20 24 38 35 43 42  4A4CD273 , $85CB
0c70: 42 41 43 38 36 39 34 30 31 43 38 31 20 2c 20 24  BAC869401C81 , $
0c80: 44 35 31 31 42 37 31 33 46 45 44 37 30 30 35 42  D511B713FED7005B
0c90: 20 2c 20 24 41 37 36 31 31 31 37 37 44 36 39 36   , $A7611177D696
0ca0: 46 31 38 36 20 2c 0a 24 43 42 32 42 45 31 46 46  F186 ,.$CB2BE1FF
0cb0: 41 36 30 38 46 36 37 35 20 2c 20 24 32 35 30 33  A608F675 , $2503
0cc0: 31 30 34 36 43 38 35 43 34 36 35 31 20 2c 20 24  1046C85C4651 , $
0cd0: 36 30 37 31 37 31 42 43 34 35 37 37 44 32 37 30  607171BC4577D270
0ce0: 20 2c 20 24 41 37 42 44 38 38 38 34 32 39 39 38   , $A7BD88842998
0cf0: 36 33 41 36 20 2c 0a 24 42 42 30 39 46 42 37 32  63A6 ,.$BB09FB72
0d00: 38 30 39 39 41 31 45 30 20 2c 20 24 32 35 37 31  8099A1E0 , $2571
0d10: 34 35 45 35 36 36 43 38 36 39 38 46 20 2c 20 24  45E566C8698F , $
0d20: 36 35 36 42 44 42 36 42 39 31 38 34 35 33 35 46  656BDB6B9184535F
0d30: 20 2c 20 24 32 36 38 32 41 41 45 32 43 41 38 33   , $2682AAE2CA83
0d40: 41 45 39 31 20 2c 0a 24 46 37 41 34 34 43 43 34  AE91 ,.$F7A44CC4
0d50: 30 30 33 41 41 45 45 30 20 2c 20 24 38 38 38 41  003AAEE0 , $888A
0d60: 39 41 39 33 37 30 44 41 34 36 30 41 20 2c 20 24  9A9370DA460A , $
0d70: 36 44 45 31 46 37 46 43 46 46 36 34 41 38 39 35  6DE1F7FCFF64A895
0d80: 20 2c 20 24 42 39 39 38 32 39 34 42 36 45 36 33   , $B998294B6E63
0d90: 31 37 32 36 20 2c 0a 24 44 44 31 30 46 44 30 45  1726 ,.$DD10FD0E
0da0: 33 37 33 44 45 31 37 34 20 2c 20 24 41 34 41 31  373DE174 , $A4A1
0db0: 43 39 39 45 31 45 44 46 46 37 38 38 20 2c 20 24  C99E1EDFF788 , $
0dc0: 41 42 46 38 39 43 35 43 32 33 39 36 35 43 38 43  ABF89C5C23965C8C
0dd0: 20 2c 20 24 35 31 39 46 43 45 41 43 44 42 35 30   , $519FCEACDB50
0de0: 41 34 32 45 20 2c 0a 24 43 38 37 45 45 30 36 42  A42E ,.$C87EE06B
0df0: 30 34 41 33 45 45 32 37 20 2c 20 24 42 33 42 38  04A3EE27 , $B3B8
0e00: 34 38 33 36 46 35 32 45 46 45 34 41 20 2c 20 24  4836F52EFE4A , $
0e10: 36 37 37 31 38 35 35 46 43 35 34 38 38 46 46 32  6771855FC5488FF2
0e20: 20 2c 20 24 30 32 39 46 32 37 33 35 37 42 46 37   , $029F27357BF7
0e30: 39 41 37 42 20 2c 0a 24 38 36 34 45 39 33 31 45  9A7B ,.$864E931E
0e40: 43 30 32 44 32 32 30 31 20 2c 20 24 39 44 46 41  C02D2201 , $9DFA
0e50: 34 31 43 30 36 39 41 32 42 45 45 45 20 2c 20 24  41C069A2BEEE , $
0e60: 32 32 41 35 44 42 34 42 35 30 34 36 34 30 39 31  22A5DB4B50464091
0e70: 20 2c 20 24 42 30 44 32 45 32 39 39 41 37 38 30   , $B0D2E299A780
0e80: 38 37 32 34 20 2c 0a 24 46 46 43 33 35 32 41 43  8724 ,.$FFC352AC
0e90: 43 34 45 30 36 43 44 36 20 2c 20 24 39 35 37 38  C4E06CD6 , $9578
0ea0: 42 45 42 42 34 44 42 38 46 43 32 46 20 2c 20 24  BEBB4DB8FC2F , $
0eb0: 44 43 36 45 33 34 39 42 32 44 36 44 41 35 34 38  DC6E349B2D6DA548
0ec0: 20 2c 20 24 32 30 39 34 44 41 42 36 43 36 34 36   , $2094DAB6C646
0ed0: 43 32 44 37 20 2c 0a 24 33 42 30 41 46 33 44 32  C2D7 ,.$3B0AF3D2
0ee0: 46 44 38 45 46 31 44 30 20 2c 20 24 36 33 46 44  FD8EF1D0 , $63FD
0ef0: 45 37 38 46 32 45 30 46 42 36 33 34 20 2c 20 24  E78F2E0FB634 , $
0f00: 31 43 39 39 35 30 33 42 43 36 30 34 46 30 39 37  1C99503BC604F097
0f10: 20 2c 20 24 31 43 31 45 46 33 45 38 32 43 39 46   , $1C1EF3E82C9F
0f20: 43 30 35 33 20 2c 0a 24 36 42 44 42 38 45 37 36  C053 ,.$6BDB8E76
0f30: 30 31 37 43 31 38 31 41 20 2c 20 24 32 36 44 38  017C181A , $26D8
0f40: 38 34 30 34 42 38 43 42 41 46 41 45 20 2c 20 24  8404B8CBAFAE , $
0f50: 31 38 37 33 36 36 41 46 30 34 34 37 31 46 38 44  187366AF04471F8D
0f60: 20 2c 20 24 37 36 41 32 37 37 38 46 36 36 45 35   , $76A2778F66E5
0f70: 31 32 42 38 20 2c 0a 24 45 35 42 41 32 39 35 31  12B8 ,.$E5BA2951
0f80: 41 46 32 31 31 46 38 30 20 2c 20 24 38 36 42 30  AF211F80 , $86B0
0f90: 36 35 35 30 37 42 33 33 46 32 30 35 20 2c 20 24  65507B33F205 , $
0fa0: 37 35 45 33 42 30 44 46 44 44 31 37 42 45 39 38  75E3B0DFDD17BE98
0fb0: 20 2c 20 24 30 39 45 44 41 37 37 42 36 30 41 42   , $09EDA77B60AB
0fc0: 46 45 30 41 20 2c 0a 24 39 37 42 45 41 30 34 45  FE0A ,.$97BEA04E
0fd0: 38 46 41 33 35 30 46 43 20 2c 20 24 42 43 36 45  8FA350FC , $BC6E
0fe0: 36 34 31 44 38 41 35 44 31 41 32 38 20 2c 20 24  641D8A5D1A28 , $
0ff0: 34 36 44 36 33 37 37 44 35 46 42 37 37 43 38 44  46D6377D5FB77C8D
1000: 20 2c 20 24 33 46 39 37 41 37 43 32 33 32 38 35   , $3F97A7C23285
1010: 44 39 45 34 20 2c 0a 24 42 41 35 30 31 36 34 43  D9E4 ,.$BA50164C
1020: 41 39 32 36 43 32 35 44 20 2c 20 24 43 43 44 42  A926C25D , $CCDB
1030: 35 37 38 31 33 45 32 32 30 34 35 31 20 2c 20 24  57813E220451 , $
1040: 31 43 39 36 37 46 31 32 31 42 36 33 44 44 44 46  1C967F121B63DDDF
1050: 20 2c 20 24 41 32 41 38 34 30 42 32 45 35 36 43   , $A2A840B2E56C
1060: 41 33 42 44 20 2c 0a 24 30 30 37 38 37 41 38 31  A3BD ,.$00787A81
1070: 44 42 36 39 41 38 35 31 20 2c 20 24 41 42 37 42  DB69A851 , $AB7B
1080: 45 38 33 35 42 46 43 31 39 46 45 38 20 2c 20 24  E835BFC19FE8 , $
1090: 43 33 35 41 31 38 42 36 45 31 31 41 39 46 30 35  C35A18B6E11A9F05
10a0: 20 2c 20 24 46 34 46 41 44 33 43 32 36 39 43 45   , $F4FAD3C269CE
10b0: 41 39 39 35 20 2c 0a 24 43 35 32 42 34 46 39 46  A995 ,.$C52B4F9F
10c0: 42 35 46 37 45 42 38 37 20 2c 20 24 42 46 30 36  B5F7EB87 , $BF06
10d0: 36 38 39 30 42 34 39 34 44 46 30 45 20 2c 20 24  6890B494DF0E , $
10e0: 45 36 36 35 45 35 34 42 44 35 37 42 46 30 37 44  E665E54BD57BF07D
10f0: 20 2c 20 24 39 46 36 36 32 36 35 30 45 31 43 41   , $9F662650E1CA
1100: 41 38 42 33 20 2c 0a 24 42 36 30 46 43 42 42 32  A8B3 ,.$B60FCBB2
1110: 30 35 45 31 42 33 44 34 20 2c 20 24 32 31 44 34  05E1B3D4 , $21D4
1120: 37 46 30 35 42 31 36 43 45 45 34 36 20 2c 20 24  7F05B16CEE46 , $
1130: 41 37 37 30 36 44 39 44 41 34 44 33 36 42 33 31  A7706D9DA4D36B31
1140: 20 2c 20 24 32 33 30 32 38 44 31 43 38 38 36 35   , $23028D1C8865
1150: 37 38 33 39 20 2c 0a 24 45 30 46 33 42 45 39 38  7839 ,.$E0F3BE98
1160: 43 30 44 38 45 39 32 45 20 2c 20 24 39 44 41 35  C0D8E92E , $9DA5
1170: 44 35 43 44 45 44 38 43 34 44 41 32 20 2c 20 24  D5CDED8C4DA2 , $
1180: 38 32 37 31 30 39 42 46 41 37 35 34 43 45 41 34  827109BFA754CEA4
1190: 20 2c 20 24 34 33 35 35 37 31 46 38 38 45 34 32   , $435571F88E42
11a0: 42 43 31 46 20 2c 0a 24 33 43 45 30 36 30 39 34  BC1F ,.$3CE06094
11b0: 43 42 42 39 45 46 43 42 20 2c 20 24 32 43 30 33  CBB9EFCB , $2C03
11c0: 34 34 37 44 39 35 42 30 30 39 37 37 20 2c 20 24  447D95B00977 , $
11d0: 44 33 45 36 33 42 36 35 44 39 36 41 33 36 38 36  D3E63B65D96A3686
11e0: 20 2c 20 24 41 35 30 43 37 32 44 37 34 33 37 42   , $A50C72D7437B
11f0: 43 37 46 45 20 2c 0a 24 35 37 33 37 45 34 37 36  C7FE ,.$5737E476
1200: 33 38 39 43 41 39 46 44 20 2c 20 24 33 43 38 46  389CA9FD , $3C8F
1210: 38 34 39 35 45 44 39 46 42 36 42 42 20 2c 20 24  8495ED9FB6BB , $
1220: 37 45 36 36 42 46 30 31 42 44 44 45 38 41 43 39  7E66BF01BDDE8AC9
1230: 20 2c 20 24 34 32 46 46 36 35 30 43 39 34 37 46   , $42FF650C947F
1240: 31 42 37 33 20 2c 0a 24 38 33 31 41 44 34 43 30  1B73 ,.$831AD4C0
1250: 31 41 33 37 34 35 38 41 20 2c 20 24 41 42 38 36  1A37458A , $AB86
1260: 32 39 36 39 32 34 46 39 44 34 34 45 20 2c 20 24  296924F9D44E , $
1270: 44 30 34 35 33 34 39 33 34 35 32 37 46 45 31 31  D04534934527FE11
1280: 20 2c 20 24 41 44 36 37 42 31 38 44 33 32 36 42   , $AD67B18D326B
1290: 41 30 35 36 20 2c 0a 24 43 44 43 38 35 42 43 32  A056 ,.$CDC85BC2
12a0: 31 38 45 35 39 36 43 33 20 2c 20 24 39 37 35 33  18E596C3 , $9753
12b0: 36 43 44 36 35 30 38 32 41 35 38 38 20 2c 20 24  6CD65082A588 , $
12c0: 34 31 38 33 38 31 31 31 41 33 37 43 38 39 42 35  41838111A37C89B5
12d0: 20 2c 20 24 31 45 36 37 30 41 43 37 41 35 39 30   , $1E670AC7A590
12e0: 35 36 34 38 20 2c 0a 24 37 45 42 36 37 44 32 36  5648 ,.$7EB67D26
12f0: 33 36 41 44 45 44 46 36 20 2c 20 24 30 35 36 30  36ADEDF6 , $0560
1300: 35 31 34 46 37 38 30 44 44 31 33 45 20 2c 20 24  514F780DD13E , $
1310: 38 42 37 38 41 39 34 42 36 43 39 39 30 37 30 38  8B78A94B6C990708
1320: 20 2c 20 24 37 43 31 35 39 37 37 42 41 38 45 41   , $7C15977BA8EA
1330: 36 32 31 33 20 2c 0a 24 38 43 38 45 38 39 38 44  6213 ,.$8C8E898D
1340: 33 35 46 38 39 35 46 45 20 2c 20 24 31 41 32 43  35F895FE , $1A2C
1350: 41 38 45 45 39 31 37 46 33 32 34 42 20 2c 20 24  A8EE917F324B , $
1360: 32 43 44 33 30 36 37 42 31 32 36 32 41 38 34 44  2CD3067B1262A84D
1370: 20 2c 20 24 31 36 39 43 30 39 35 36 44 36 30 31   , $169C0956D601
1380: 31 32 34 31 20 2c 0a 24 33 32 31 33 46 39 31 39  1241 ,.$3213F919
1390: 33 42 44 42 33 43 36 39 20 2c 20 24 37 42 43 32  3BDB3C69 , $7BC2
13a0: 46 30 38 36 34 45 37 43 34 38 30 45 20 2c 20 24  F0864E7C480E , $
13b0: 35 33 39 46 38 32 30 30 36 41 42 30 35 42 32 43  539F82006AB05B2C
13c0: 20 2c 20 24 44 36 38 34 44 44 35 43 36 39 41 37   , $D684DD5C69A7
13d0: 36 46 37 33 20 2c 0a 24 31 36 38 41 34 34 45 34  6F73 ,.$168A44E4
13e0: 45 30 46 41 30 35 30 34 20 2c 20 24 34 32 41 37  E0FA0504 , $42A7
13f0: 35 46 44 44 45 33 42 41 38 43 30 31 20 2c 20 24  5FDDE3BA8C01 , $
1400: 46 42 34 38 41 39 32 41 45 32 44 41 44 34 44 31  FB48A92AE2DAD4D1
1410: 20 2c 20 24 38 36 31 32 31 38 39 39 44 43 37 34   , $86121899DC74
1420: 32 39 43 37 20 2c 0a 24 31 30 46 37 32 41 41 35  29C7 ,.$10F72AA5
1430: 42 34 30 41 33 34 34 41 20 2c 20 24 45 34 39 32  B40A344A , $E492
1440: 36 42 31 37 38 31 46 38 43 39 30 43 20 2c 20 24  6B1781F8C90C , $
1450: 34 46 34 43 33 46 32 38 45 44 41 44 37 35 31 38  4F4C3F28EDAD7518
1460: 20 2c 20 24 37 34 34 43 35 37 43 34 44 42 31 34   , $744C57C4DB14
1470: 41 30 31 33 20 2c 0a 24 34 35 30 46 43 32 34 42  A013 ,.$450FC24B
1480: 33 30 36 31 33 36 41 45 20 2c 20 24 44 42 45 38  306136AE , $DBE8
1490: 36 31 34 42 37 45 31 38 31 31 35 43 20 2c 20 24  614B7E18115C , $
14a0: 41 34 43 44 36 36 38 31 31 42 30 46 38 37 46 43  A4CD66811B0F87FC
14b0: 20 2c 20 24 33 31 39 38 34 35 30 30 30 39 39 44   , $31984500099D
14c0: 30 36 46 35 20 2c 0a 0a 3a 20 77 75 72 73 74 20  06F5 ,..: wurst 
14d0: 28 20 78 31 20 69 20 2d 2d 20 78 32 20 29 0a 20  ( x1 i -- x2 ). 
14e0: 20 20 20 63 65 6c 6c 73 20 27 72 6e 67 73 20 2b     cells 'rngs +
14f0: 20 40 20 3e 72 20 64 75 70 20 32 2a 20 73 77 61   @ >r dup 2* swa
1500: 70 20 30 3c 20 2d 20 72 3e 20 78 6f 72 20 3b 0a  p 0< - r> xor ;.
1510: 0a 3a 20 6d 69 78 20 28 20 78 31 20 69 6e 64 65  .: mix ( x1 inde
1520: 78 20 6e 20 6b 20 2d 2d 20 78 32 20 69 6e 64 65  x n k -- x2 inde
1530: 78 27 20 6e 20 29 20 77 75 72 73 74 2d 73 74 61  x' n ) wurst-sta
1540: 74 65 20 2b 20 38 20 30 20 44 4f 0a 09 3e 72 20  te + 8 0 DO..>r 
1550: 6f 76 65 72 20 77 75 72 73 74 2d 73 6f 75 72 63  over wurst-sourc
1560: 65 20 2b 20 63 40 20 72 40 20 63 40 20 78 6f 72  e + c@ r@ c@ xor
1570: 20 2d 72 6f 74 0a 09 3e 72 20 3e 72 20 20 77 75   -rot..>r >r  wu
1580: 72 73 74 20 72 3e 20 72 40 20 2b 20 24 33 46 20  rst r> r@ + $3F 
1590: 61 6e 64 20 72 3e 20 72 3e 20 63 65 6c 6c 2b 20  and r> r> cell+ 
15a0: 4c 4f 4f 50 20 20 64 72 6f 70 20 3b 0a 0a 43 72  LOOP  drop ;..Cr
15b0: 65 61 74 65 20 72 6f 75 6e 64 23 20 31 33 20 63  eate round# 13 c
15c0: 2c 20 32 39 20 63 2c 20 31 39 20 63 2c 20 32 33  , 29 c, 19 c, 23
15d0: 20 63 2c 20 33 31 20 63 2c 20 34 37 20 63 2c 20   c, 31 c, 47 c, 
15e0: 31 37 20 63 2c 20 33 37 20 63 2c 20 5c 20 72 6f  17 c, 37 c, \ ro
15f0: 75 6e 64 73 0a 43 72 65 61 74 65 20 70 65 72 6d  unds.Create perm
1600: 75 74 23 20 32 20 63 2c 20 36 20 63 2c 20 31 20  ut# 2 c, 6 c, 1 
1610: 63 2c 20 34 20 63 2c 20 37 20 63 2c 20 30 20 63  c, 4 c, 7 c, 0 c
1620: 2c 20 35 20 63 2c 20 33 20 63 2c 20 5c 20 70 65  , 5 c, 3 c, \ pe
1630: 72 6d 75 74 20 6c 65 6e 67 74 68 20 31 35 0a 0a  rmut length 15..
1640: 3a 20 78 6f 72 73 20 28 20 61 64 64 72 31 20 61  : xors ( addr1 a
1650: 64 64 72 32 20 6e 20 2d 2d 20 29 20 62 6f 75 6e  ddr2 n -- ) boun
1660: 64 73 20 3f 44 4f 0a 20 20 20 20 64 75 70 20 40  ds ?DO.    dup @
1670: 20 49 20 40 20 78 6f 72 20 49 20 21 20 63 65 6c   I @ xor I ! cel
1680: 6c 2b 20 20 63 65 6c 6c 20 2b 4c 4f 4f 50 20 20  l+  cell +LOOP  
1690: 64 72 6f 70 20 3b 0a 3a 20 2b 21 73 20 28 20 61  drop ;.: +!s ( a
16a0: 64 64 72 31 20 61 64 64 72 32 20 6e 20 2d 2d 20  ddr1 addr2 n -- 
16b0: 29 20 62 6f 75 6e 64 73 20 3f 44 4f 0a 20 20 20  ) bounds ?DO.   
16c0: 20 64 75 70 20 40 20 49 20 2b 21 20 63 65 6c 6c   dup @ I +! cell
16d0: 2b 20 20 63 65 6c 6c 20 2b 4c 4f 4f 50 20 20 64  +  cell +LOOP  d
16e0: 72 6f 70 20 3b 0a 0a 43 72 65 61 74 65 20 27 72  rop ;..Create 'r
16f0: 6f 75 6e 64 2d 66 6c 61 67 73 0a 20 20 20 20 24  ound-flags.    $
1700: 31 30 20 63 2c 20 24 33 30 20 63 2c 20 24 31 30  10 c, $30 c, $10
1710: 20 63 2c 20 24 37 30 20 63 2c 20 24 31 30 20 63   c, $70 c, $10 c
1720: 2c 20 24 33 30 20 63 2c 20 24 31 30 20 63 2c 20  , $30 c, $10 c, 
1730: 24 46 30 20 63 2c 0a 0a 3a 20 3e 73 6f 75 72 63  $F0 c,..: >sourc
1740: 65 20 28 20 6d 20 2d 2d 20 6d 20 29 20 20 64 75  e ( m -- m )  du
1750: 70 20 77 75 72 73 74 2d 73 6f 75 72 63 65 20 73  p wurst-source s
1760: 74 61 74 65 23 20 78 6f 72 73 20 3b 0a 3a 20 3e  tate# xors ;.: >
1770: 73 74 61 74 65 20 28 20 6d 20 2d 2d 20 6d 20 29  state ( m -- m )
1780: 20 20 20 77 75 72 73 74 2d 73 74 61 74 65 20 6f     wurst-state o
1790: 76 65 72 20 73 74 61 74 65 23 20 78 6f 72 73 20  ver state# xors 
17a0: 3b 0a 3a 20 2b 65 6e 74 72 6f 70 79 20 28 20 6d  ;.: +entropy ( m
17b0: 20 2d 2d 20 6d 27 20 29 20 20 3e 73 6f 75 72 63   -- m' )  >sourc
17c0: 65 20 3e 73 74 61 74 65 20 73 74 61 74 65 23 20  e >state state# 
17d0: 2b 20 3b 0a 3a 20 2d 65 6e 74 72 6f 70 79 20 28  + ;.: -entropy (
17e0: 20 6d 20 2d 2d 20 6d 27 20 29 20 20 3e 73 74 61   m -- m' )  >sta
17f0: 74 65 20 3e 73 6f 75 72 63 65 20 73 74 61 74 65  te >source state
1800: 23 20 2b 20 3b 0a 0a 3a 20 75 70 64 61 74 65 2d  # + ;..: update-
1810: 73 74 61 74 65 20 28 20 2d 2d 20 29 0a 20 20 20  state ( -- ).   
1820: 20 77 75 72 73 74 2d 73 74 61 74 65 20 3e 73 6f   wurst-state >so
1830: 75 72 63 65 20 20 6e 65 78 74 73 74 61 74 65 20  urce  nextstate 
1840: 73 77 61 70 20 73 74 61 74 65 23 20 2b 21 73 20  swap state# +!s 
1850: 3b 0a 3a 20 72 6f 75 6e 64 20 28 20 6e 20 2d 2d  ;.: round ( n --
1860: 20 29 20 64 75 70 20 31 2d 20 73 77 61 70 20 20   ) dup 1- swap  
1870: 38 20 30 20 44 4f 0a 09 77 75 72 73 74 2d 73 74  8 0 DO..wurst-st
1880: 61 74 65 20 49 20 70 65 72 6d 75 74 23 20 2b 20  ate I permut# + 
1890: 63 40 20 63 65 6c 6c 73 20 2b 20 40 20 2d 72 6f  c@ cells + @ -ro
18a0: 74 0a 09 49 20 6d 69 78 20 72 6f 74 20 6e 65 78  t..I mix rot nex
18b0: 74 73 74 61 74 65 20 49 20 63 65 6c 6c 73 20 2b  tstate I cells +
18c0: 20 21 0a 20 20 20 20 4c 4f 4f 50 20 32 64 72 6f   !.    LOOP 2dro
18d0: 70 20 75 70 64 61 74 65 2d 73 74 61 74 65 20 3b  p update-state ;
18e0: 0a 0a 3a 20 72 6f 75 6e 64 73 2d 65 20 28 20 61  ..: rounds-e ( a
18f0: 64 64 72 20 6e 20 78 74 20 2d 2d 20 29 20 7b 20  ddr n xt -- ) { 
1900: 78 74 20 7d 20 64 75 70 20 24 46 30 20 61 6e 64  xt } dup $F0 and
1910: 20 3f 44 4f 0a 09 49 20 24 46 20 61 6e 64 20 72   ?DO..I $F and r
1920: 6f 75 6e 64 23 20 2b 20 63 40 20 72 6f 75 6e 64  ound# + c@ round
1930: 0a 09 49 20 27 72 6f 75 6e 64 2d 66 6c 61 67 73  ..I 'round-flags
1940: 20 49 20 24 46 20 61 6e 64 20 2b 20 63 40 20 61   I $F and + c@ a
1950: 6e 64 20 49 46 20 20 78 74 20 65 78 65 63 75 74  nd IF  xt execut
1960: 65 20 20 54 48 45 4e 0a 20 20 20 20 4c 4f 4f 50  e  THEN.    LOOP
1970: 20 64 72 6f 70 20 3b 0a 0a 3a 20 72 6f 75 6e 64   drop ;..: round
1980: 73 20 28 20 61 64 64 72 20 6e 20 2d 2d 20 29 20  s ( addr n -- ) 
1990: 20 20 20 20 20 20 20 20 20 5b 27 5d 20 2b 65 6e           ['] +en
19a0: 74 72 6f 70 79 20 72 6f 75 6e 64 73 2d 65 20 3b  tropy rounds-e ;
19b0: 0a 3a 20 72 6f 75 6e 64 73 2d 64 65 63 72 79 70  .: rounds-decryp
19c0: 74 20 28 20 61 64 64 72 20 6e 20 2d 2d 20 29 20  t ( addr n -- ) 
19d0: 20 5b 27 5d 20 2d 65 6e 74 72 6f 70 79 20 72 6f   ['] -entropy ro
19e0: 75 6e 64 73 2d 65 20 3b 0a                       unds-e ;.