001 REM Jefferson Disk Cipher, tfurrows@sdf.org 100 REM Setup the disks 101 104 DIM A$(16) 105 A$(1)="PDN HCAUBKQXEOZVRMGYJSFTWIL" 106 A$(2)="ECSGFONUHMR YXDZPTLQAJBWVKI" 107 A$(3)="TYFPZJS UNBWLXQREACDIOHMVKG" 108 A$(4)="XHTNOZSFUJKREDQAC MGPBLYWIV" 109 A$(5)="CPOMQZA TRFBGIWDLVHESJUKNXY" 110 A$(6)="SXCOFRKJZVEG BAPWDNIHLQMUTY" 111 A$(7)="H CLKIOZFSUPGREDBNVTYMAJWQX" 112 A$(8)="NTAJULBWZYCPDSR HVMIFGKOXEQ" 113 A$(9)="MHWNPZVLXCYJRKUSOEFADI TBGQ" 114 A$(10)="UVEZHPSDNAYLJQTXWFBG CKIROM" 115 A$(11)="ICNTHWZE LRMSQFGDAKXYJBOVUP" 116 A$(12)="SEMB QTFLPIOZCUKYVRDWXJHGNA" 117 A$(13)="RFTJWUZV HIYQOSLCMEXGDKPNAB" 118 A$(14)="EM FNZPGUQROYVXCBAHTISWDLKJ" 119 A$(15)="QPSGZDLNCIOUJK EXRAYHWFMTVB" 120 A$(16)="GSFYRQBDI ALKXPVUTZJONEWCHM" 121 150 PRINT "Enter message to encode/decode" 151 INPUT M$ 152 200 REM Loop through message and set the jefferson disks 205 210 FOR I = 1 to LEN(M$) 215 C=C+1 220 IF C>16 THEN C=1 225 L = POS(A$(C),SUBSTR(M$,I,1),1) 230 IF L < LEN(A$(C)) THEN PRINT SUBSTR(A$(C),L+1,LEN(A$(C))-L); 235 IF L > 1 THEN PRINT SUBSTR(A$(C),1,L) ELSE PRINT SUBSTR(A$(C),1,1) 240 NEXT i