Scrambler/Descrambler

 BBS: Inland Empire Archive
Date: 06-14-93 (11:55)             Number: 346
From: RICHARD DALE                 Refer#: NONE
  To: JOHN REDANT                   Recvd: NO  
Subj: Scrambler/Descrambler          Conf: (2) Quik_Bas
JR>        Does somebody out there with a scrambler-descrambler in QuickBasic,
JR>can write the same program only in QBasic (The one that
JR>comes with DOS 5.0)?

    One that works in QuickBASIC should work in QBasic without (m)any
changes.  In any case, here is some BASIC code for a scrambler.  Load it
into QBasic and run it to get CODE.ZIP.  I posted this a while back in
regular ASCII format, so it may still be in the message base.

    Now for the caveat -- this would work when I ran it on an IBM PC,
but it locks up my Leading Edge.  You may have to dink with some of the
commands.

CLS:?STRING$(50,178):DEFINT A-Z 'Created by PostIt! v5.1
Y$="*+,-./":FOR A=0 TO 6:P(A)=2^A:NEXT:OPEN "B",1,"CODE.ZIP
T$="abcdefghijklmnopqrstuvwxyz":T$=T$+UCASE$(T$)+"0123456789()
G"qT0aeqbac*cae8CEQXsJqqOoL+8nj+c,d9erf5IqbnvRA12CAJKe(7PQ8FOlox
G"7bXcFsAgjWeBUswmyRYGeLKyJ5(gRT2nuRnKdW528V)MEMrVbs(LSIkfiPU7h1Dp90ZZmo
G"gG7KiyaClBbemE8aiYnKX8b9bWx8gfFd0x)JFWKReZje0adlDD(diWi2yiIDnCjQ5vZhpM
G"fYV25QO2)YnmhB9oF8du46G4aWq)CecDDysGRtmdmm54WFIHoml0ZpgAX8J5MViyEihZjm
G"3yVaFOR4ZqOfxvtLQ8ljzwzaDv(vm7UyLtGAtZuXKRIe8Gqy(Sr4RxO8y(9mF3WfZW3fAK
G"vMreHrUbJyWuwuKZ1muUDMCkx(iwr5GJ)iLuVyu5EzkBXvoY5xzkehLzcpZmYl6wu7(zAB
G"Z1EsGZOJ0ECyW0m9pxhU7K2gD4j8whNagGcnfcRk0LYjk5LIsHeQqIk(YJRs6yj0rewhgo
G"c52c5IaP6aWQyTarxdmgaoNWnYZ)w2ItgaEJL33QfeFdZhmXAiIUokOnxYqEUQvhm0W7Ua
G"AzWVtOPSCwv5jmIcUbt4AAsgOcgUl(Rot4w2PdQqM3yAk8eP69qr2PJmE7G9FD1o4(nB3M
G"C)EO9I)LFN)DluNEWTxDGVlFqQZt07J61VGK1TqFxDJFRJCDtPRFEQjxWd4F0smEKE7IsO
G"BOdb(GkQYcFEM1u8nr8nv8TL4BB(3fZtO2OhGxLpZ8t)n(0cHYSauqHpVHzLz6QGIubu8m
G"a)HSioCPDH(I3KjWvmSyB2eNfSrAI0wjOOv7viAUZdJcYrjKfpp0NnclWVjyk7Sd9kRsq5
G"flTm25wg4CvW8yE2fIyUb(JIqmKZxvUk)EhUYPqzxtUQ4NOzoUSOZQtCku9AUrW(5nU1fn
G"UXg6POp7XKL7sGD7xU(b43(b0fBxByORlglVdUSqOQU6u1Qe9mh3rOBPMbgPZrJ9MYordU
G"dvbRhd4j070aIj(atDWNDxmEjjZ9mTeM75pBo6zBt2TdUqo(ne2VbUFZ69Rw)CslnW5e0u
G"Q(rDlmZMfy2CZcmRzwW7zoGAK1SYzbV3pkOoCwqXjtP9TFTjvkOSQ0RExZNYGYQXcWYtOk
G"WYqKPNh55Fn09TbvVsqHb2yeiv05g4hhgmbzrfXrC(mnyuWx81GjSXXAqO313eNbv)JGYj
G"Y1ZdCVXj0Xf9Xig3ORCCVvmBh(fLRlqVOxHZZAOCLHrjOg757mzYcn4l4sm8Cg4eYWN6fD
G"dBK0FWSh69yYuRiuLR2XkQi4cNh3p8c2qCCNDNxSO8rwmGpcXzkZF(zh4vnx1UbTXMoByP
G"d)t8x7d79K2vS(EpFgTRN(RW2b1GnjIP6pPEjAGI4C)3C7vtJSE1U3eEs7zm2TTVRtNpli
G"vN2f1e5IxzKmFxcFOBsSyOJhh4qxRmhYqt8peaZxlK4AG6reu4CJcN45ddbtIuC6lNObZc
G"IAJBFWe5XZ1DcZxWP5sWmfkXgkqg7EJB7e5IIVSVOIQT06HgDkHR89Pjf21yGk6GwFEqDA
G"GR3itPN2wkSRrNp1x)0uv0iMdKC1uHMTIDQ0H4(RbPJ0PuH7f84Rk)IpMzis6LGR3Rb3Lh
G"bhM(oeM(Q1oZkpsnVlWtsFc4YpvLZXhPbQxyAjGZjFgoaYZ1bbX1PEJoHRQgGRBZn4kChG
G"CRV6KoInQjca8H9mk5MQAgKZkgHcnmlhBdHkhbLEywfcXSacwDkwbuhcAfIvebsbe6vgHl
G"45MxeItLqqZHanOmeV0iEECyLdHr)A2iJjXwpDCqU7GuQkKMJQcPwc7PBjwqsyIdpgelIM
G"Yt44oUKMJQc5iQkzlic)ddS5NNVxSNZeV)J0bd5dcbtHRz(SqN4GWZkaLv9qzIqffZMjwX
G"BMtym8fNfCWvRqHjGIqz3CbyVk5IfCDOZ0c7O4GKp)3PSPbHlaN4CO6Fau4o90XiZ2Op5C
G"r9PIGj4fRH45IlL7jWRSxD(bqL)2SntbLWb9SxnaBoQkKdOQuvUcN)OOQkKQIxK2jpVDwo
G"unxjAZXVGuGxHrp5jsu843g8wo8ncsHqTvi269jBtNS0wCsmDjPJFIl6a4MIqR6Rw1bUqP
G"J6qwGHPAEyZjI8ebrIgYPD4KqeRIh535Iw(eKNXXoLPYPeZKnk6oMM5UJrUNyK7ifEbe9m
G"Al5doTs9szptK)rk1jXRt8w4dDyR3q)r4DwP0Ii4AWvU5YqMZOfcQSYMIDvSCL9sqYySR9
G"8vB0KGRblty1URz26738WQ1)bSn5)(8QTj7GLF7BB38xREA5(Kh)bp2GDj3Vz9d7WceCf4
G"3ebWmMAM6hU1Aom4k0UlMDJO6HlOnpbaFIhQwDesnYS2OG1slgCWzMPoyn0o(yS4WlfTOU
G"m9nCkO4EIQihwZ1Ai(svvwfnn76UCfSrljPhfqECosVJwUQOs0SrqCL1khbDLP773803Em
G"zFc)f8TJiT)9vj)V0XqCXx5ITKEhL8l6kvmsWgpwe19RJkoHCEMht1F5d0quIjCVTj7FE7
G"A8QNsw)CQJsno(unOzufOnhvbA9ufuNEC5oVvYuauq1y9HPnhvbAZrvG2CufOVdQcLx2Ra
G"DHuOoKQWrlSlylOgoRHSGcQxGQqj(hVkvbAZrvG(tqvqgS5efYGQ5krBoQc0MGQa9NIQa9
G"NGQavqvGEevb6XufOVtQc0mQcxKsuyyL0ei6DgublHcKeOvrsGwIKanNKaTEscjlF4hy75
G"hsUFZd4smh1c)3s(JvRvDUPVbAcJsEh0eOndnb6lstG(tstGEinb5YHC3sw60vbaQ5HSfU
G"a0FjUcNk5kqZ5kuIEanNEaTw6bzj6ceekFQEL5hqZ4hqRGFqDNohTEkb0Ckb0xJsqbklvY
G"jGwfNaRmobwnhNaR65eaV4Fg8J7sAvItWFtVkFy2s0DXcxpUu3L9Fnb(9vpMSE5tjy6B3Y
G"Vl(TDF4(VUC7Y7rLEA5FT6PNFs2Z5eeMEh(hhZcxtvH80L)zcS75Tjc0Fy1U)ewTdwTExY
G"29jpOHpD9b0o5aFfcSr(bYAOC5chRE0YVJ1MT(S0lWLMUsKDXdJRDfKs7OLEdb74BHRav5
G"59gHHDT18yc5p2KwDH)P(SWZc)fp4xHgfol78kq7Skq7MRc0U(kWx()yfhxbA3CvG2hvbA
G")QvGBtw(a87B380lxdAFCnODJudAFCnODHAWjBw(qHIqBrrOiflVTUkm0U3tfM9RwHzxBf
G"2h)W)haulfGau*fai*iaqWZ5PglncbH6uc*W3K+i/*q+c/*d9
G"erf5IqbnfulvGb-e*baGn,0L."
N=2496:K=255:IF LEN(C$)<>3328 THEN ?"Incomplete script!":END
FOR A=1 TO N:LOCATE 1:?STRING$(50/N*A,177):IF L=0 THEN GOSUB G:L=6
W=T\P(6-L):GOSUB G:W=W OR T*P(L):L=L-2:B$=CHR$(W AND K):PUT 1,,B$:NEXT
?:IF C=98 THEN ?"Ok":END ELSE ?"Bad checksum!":END
G:I=I+1:T=INSTR(T$,MID$(C$,I,1))-1:C=(C+T)*2:C=C\256+(C AND 255):RETURN
SUB G(A$):SHARED C$,Y$:FOR Q=1 TO 6:DO:S=INSTR(A$,CHR$(Q+41))
IF S THEN A$=LEFT$(A$,S-1)+STRING$(Q+1,97)+MID$(A$,S+1)
LOOP WHILE S:NEXT:C$=C$+A$:END SUB

Day 146: Round and round we go, who will get nominated nobody knows!
$$
 

--- MsgToss 2.0b
 * Origin: Computer Co-Op - Voorhees, NJ | Ted Hare (1:266/29)
Outer Court
Echo Basic Postings

Books at Amazon:

Back to BASIC: The History, Corruption, and Future of the Language

Hackers: Heroes of the Computer Revolution (including Tiny BASIC)

Go to: The Story of the Math Majors, Bridge Players, Engineers, Chess Wizards, Scientists and Iconoclasts who were the Hero Programmers of the Software Revolution

The Advent of the Algorithm: The Idea that Rules the World

Moths in the Machine: The Power and Perils of Programming

Mastering Visual Basic .NET