1 REM Ins{nd av J|rgen Westman <5074> 1988-07-18 19.52.42 (KERMIT) DES.INF Beskrivning av programmet DES, av <5074> J|rgen Westman, 88-07-18, f|r ABC80. INNEH]LL ======== 1 Allm{nt 2 Installation 3 Anv{ndning 1 ALLM[MT ========= Programmet {r en DES krypterings algoritm, som kan installeras, p} en ABC80 med 16-32 Kbytes minne. Det l{gger sig i botten av RAM arean, och s{tter BOFA, till strax efter algoritmen. Precis under BOFA finns ett hopp till sj{lva algoritmen. Det klarar av att kryptera ca 43 bytes per sekund. Det kommunicerar med ABC80:s BASIC via str{ngvariabler. Det kan utf|ra valfritt kommando efter installationen. Krypteringen kan avbrytas med Ctrl-C. 2 INSTALLATION ============== Ladda programmet, och k|r det, algoritmen l{gger sig d} efter nuvarande BOFA, och flyttar BOFA till slutet av det. Om variablen A$ finns, s} uf|rs det som st}r i A$, efter det att algoritmen har installerats. Om det t.ex st}r RUN KORTKOD i A$ s} laddas och k|rs programmet KORTKOD, efter installationen. 3 ANV[NDNING ============ Algoritmen anropas fr}n basic ned call( BOFA - 3, kod ), ex c%=peek(65052%)+256%*peek(65053%)-3%: c% inneh}ller BOFA-3. z%=call(c%,1%): initiering av nyckel. BASIC kommunicerar med algoritmen via variablerna K$, C$ och F$. K$ {r den nyckel som anv{nds vid kryptering och dekryptering, l{ngden m}ste vara 8 bytes, data i K$ {r vanliga ascii tecken, skriv och oskrivbara ( 0 - 255 ). C$ {r den str{ng som skall krypteras, eller dekrypteras, dess l{ngd m}ste vara en multipel av 8, annars generarar DES, en felkod. F$ inneh}ller de tv} felkoder, som man vill att DES skall generera vid fel. F|rsta tecknet i str{ngen {r det fel som genereras d} man f|rs|ker kryptera, eller dekryptera, utan att nyckeln har initierats. Andra tecknet, det fel som genereras om nyckeln eller krypto str{ngen har fel l{ngd, samt om anrop med andra koder {n 1, 2 och 3 sker. I det f|ljande f|ruts{tts c% inneh}lla BOFA - 3. Initiering av nyckel -------------------- Str{ngen K$ tilldelas den nyckel som man avser att anv{nda, DES anropas med z%=call( c%, 1% ). Kryptering ---------- Str{ngen C$ tilldelas det data som man vill kryptera, DES anropas med z%=call( c%, 2% ), C$ inneh}ller sedan det krypterade datat. Innan anropet 2%, m}ste nyckeln ha initierats. Dekryptering ------------ Str{ngen C$ tilldelas det data som man vill dekryptera, DES anropas med z%=call( c%, 3% ), C$ inneh}ller sedan det dekrypterade datat. Innan anropet 3%, m}ste nyckeln ha initierats.