Av: Sven Wickberg <1384>    1985-07-23 00.33.38
HUR MAN KRYPTERAR UTAN ATT EGENTLIGEN ANSTR[NGA SIG

Sven Wickberg


Intresset f|r kryptering har blossat upp igen om man
f}r d|ma av programexempel och artiklar i diverse datortidskrifter.
Kryptering beh|vs bl a f|r att skydda datatrafiken fr}n
piratavlyssnare.

Alla chiffer kan l|sas (forceras s{ger experterna), men man
f|rs|ker uppfinna s} besv{rliga krypteringar att man g|r det
sv}rt f|r forcerarna. I ett tidigare nummer av Bladet
beskrevs en metod som bygger p} produkten av tv} stora primtal.
Man beh|ver bara det ena primtalet f|r att s{nda chiffret,
men man beh|ver b}da f|r att l{sa det. Allts} kan man fritt
meddela s{ndningsnyckeln till allm{nheten. [ven den som vet
hur systemet fungerar skulle beh|va miljontals }r p} sig
med snabba datorer f|r att hitta den felande nyckeln.
Man jobbar h{r med mycket stora primtal.

S}dana system blir tr|ga i anv{ndning och fordrar
MYCKET stor datorkapacitet - absolut ingenting f|r oss
mikrohackers. D{remot kan det vara intressant att mixtra
litet med kryptering till husbehov. V}ra meddelande kanske
inte skulle st} emot experterna fr}n CIA... men de l{r {nd}
inte vara intresserade. En vanlig nyfiken Svensson
kan man h}lla p} mattan med enklare medel.

Det finns i chifferhistorien m}nga intressanta s{tt att
blanda om bokst{verna. Det simplaste {r kanske ett vanligt
f|rskjutningssystem: L}t A betyda B, ochB betyda C osv.
N{r man jobbar f|r hand vill man inte ha f|r kraftfulla
f|rskjutningar, det kr}nglar till jobbet. Med datorn kan
man f|rskjuta hur mycket som helst, det g}r lika bra.

L}t datorn analysera texten, ta ASCII-v{rdet f|r varje
tecken och l{gga till en valfri siffra, som d} blir
nyckeln till chiffret.

N}, s}dana texter l{r vara j{tteenkla att kn{cka.
Genom att titta p} teckenfrekvensen kan man snabbt
k{nna igen de vanligaste orden och {ndelserna.

Vi kan g|ra det v{rre f|r spanarna genom s k scramble,
dvs genom att slumpvis l{gga till ytterligare ett
tal. ABC-datorernas slumpgenerator duger bra till
det. Om man inte har skrivit RANDOMIZE f}r man ju
alltid upp slumptalen i samma ordning.

Den andra nyckeln till chiffret blir d} tydligen den
dator som chiffret skrivits p}. Mottagaren m}ste ha
en likadan.

Den tredje nyckeln kan ange vilket slumptal man
b|rjar p} (bara f|r att g|ra det sv}rare f|r de
bovar som vet att vi har ABC-maskin...)

En fj{rde kan vara vilket tal man multiplicerar
slumptalet med f|r att f} en hanterbar siffra.
(H i programmet.)

Slutligen kan vi komplicera saken f|r bovarna
genom att d|lja mellanslagen och ordna
de krypterade tecknen i grupper om fem. D} visar
man inte var orden b|rjar och slutar, vilket
g|r det litet sv}rare f|r bovarna - och litet
l{ttare att skriva r{tt n{r man sj{lv skall
l{sa in ett chiffrerat meddelande f|r
avkodning.

H{ngde du med? Titta d} litet p} programmet
KRYPTOSW.

Rad 50 inneb{r val av scramble. Om man vill ha
med slumptal s{tts H=10 ({ven den siffran kan
varieras) och datorn fr}gar efter "scramble-nyckel"
dvs vilket slumptal vi skall b|rja med, T.
Rad 75 exekverar d} omg}ende de icke anv{nda slumptalen
s} att vi hamnar r{tt.

Rad 80 fr}gar efter f|rskjutningsnyckeln F.

Sedan du skrivit ditt meddelande (som i detta exempel
inte b|r vara f|r l}ngt - h|gst en rad) med STORA
bokst{ver (det kan man l{tt {ndra p} sedan), analyseras
texten i A$ fr o m rad 300. Mellanslag (32) byts ut mot
@ (64) f|r att vi skall f} ett obrutet ascii-intervall
att jobba med (64-93).

Krypteringsrutinen finns i 890-,avkryptering i 790-,
och d{r h{nder samma saker fast tv{rtom. Om scramble {r
beg{rd blir G% ett heltal mellan 0 och 10 (eftersom H {r 10)
och ascii-v{rdet X |kas med G% och F. Observera att G%
m}ste vara heltal. RND-funktionen ger decimaler, som
visserligen trunkeras automatiskt n{r man g}r fr}n ascii
till tecken (500), men som kan v}lla trassel vid
avkrypteringen. X m}ste vara exakt 64 i rad 815 f|r
att vi skall f} tillbaka mellanslagen.

(Man kunde lika g{rna skrivit G=INT(RND osv ), men jag
gillar % b{ttre. En smaksak f|rmodligen.)

Slutligen m}ste vi stanna inom v}r ascii-tabell, s}
om vi hamnar utanf|r intervallet 64-93 f}r vi hoppa
till andra {ndan igen (810, 910).

Det h{r programmet {r knappast mer {n en skiss. Det
saknar rimlighetskontroller av inmatningen (tar allts}
emot icke till}tna tecken). Det fungerar bara p}
stora bokst{ver och kan bara behandla en str{ng.
Punkt, komma, siffror f}r heller inte plats.

Det {r begr{nsningar som skall utmana l{saren.
Det skall v{l finnas n}got roligt kvar f|r en
intresserad hackare att {ndra p}!

-------------------------
85 07 22

>lib kry
Antal filer: 0

>lib kry*
Antal filer: 3

KRYPTO  .BAS   KRYPTOSW.TXT   KRYPTOSW.BAS
>
