3! A1000:20: RSA - TEIL 1 T$(2)  U1$" Einfuehrung " U2$" Oeffentlicher Schluessel "!U3$" Speichern (WRITE) " !$!!. --- SCHIRMGROESSE'!8@!BHHO:SPHO1:ZEVE1F!LV!V --- TITEL|!`T$(0)" "!jT$(1)" Die RSA - Codierung - 1 "!tT$(2)" "!~100!VE0 2"L(T$(VE)):HO((H6L)2):110"SR$T$(VE):150:!"VE'"6" --- MENU<"O"HO2:VE6:110q"SR$"E":150:"- Einfuehrung""HO2:VE8:110"SR$"B":150:"- Berechnen des""HO9:VE9:110"" Schluessels"" HO2:VE11:110#SR$"S":150:"- Speichern des"#HO9:VE12:1101#(" Schluessels"E#2HO2:VE14:110`#<SR$"X":150:"- Ende"u#FHO23:VE14:110~#P210#ZIN69 1450:1160#dIN66 1680:1160#nIN83 2540:1160#xIN88 950#250:1360#$ --- EINFUEHRUNG $$100:<$L(U1$):HO((H6L)2):VE0:110M$SR$U1$:150`$HO0:VE1:110w$R$:R$"*" 1480$PR$""$R$:R$"*" 1550:1500$R$"xxx" 1550:3030:$PR$PR$R$:1510$$H00:H11:%I1 (PR$):H0H01%"(PR$,I,1)" " 1590'%,16008%6I:1600::P%@H0SP1 :H0IH1h%J120:VEZE3 1640~%THO0:VEZE1:110%^3030%h(PR$,H1,IH1);" ";:H1I1:%r%| --- PRIMZAHLEN%%100%L(U2$):HO((H6L)2):VE0:110 &SR$U2$:150&%&HO0:VE2:110O&"Die Wahl der Primzahlen unterliegt"j&"zwei Bedingungen:":&" 1. beide Primzahlen > 50"&"(kleinere koennen evtl. zu Fehlern"&"bei der Codierung fuehren !)"'" 2. ihr Produkt < 1 Million"+'"(Genauigkeit der Zahlendarstellung)"1'b'"Anzahl der darstellbaren Ziffern:";:L0:L'L(L2):L2 3110:1830'&HO2:VE14:110'0P$"":"Primzahl p (z.B.103):";:P$:LP(P$)':P((P$)):P3 1830'DHO2:VE16:110&(NQ$"":"Primzahl q (z.B.107):";:Q$:LQ(Q$)@(XQ((Q$)):Q3 1860`(b(LPL)(LQL) 3110:1830(lT0:F10:ZP:3180:T1:F20:ZQ:3180(v(F11)(F21) 3320:3070:2000(F11 HO2:VE20:110:"p nicht prim !" )F21 HO2:VE21:110:"q nicht prim !" )HO0:VE23:110=)"Eingabe wiederholen !"S)3070:3350:1830Y)~) --- BERECHNUNG DES SCHLUESSELS))100)L(U2$):HO((H6L)2):VE0:110)SR$U2$:150))HO0:VE2:110 *"Die zwei eingegebenen Primzahlen sind":* "geheim, ihr Produkt (der Modul) dagegen"h*"oeffentlich. Um fuer Sie einen Zugriff"* "auf die Grundlagen der Bildung des"**"Schluessels moeglich zu machen, ist es"*4"ratsam, diese Daten auf Diskette oder"+>"als BASICODE-File unter dem Namen"3+H"'key' zu speichern.":a+R"Aus den Zahlen p und q ergibt sich der"+\"Modul M = p*q und die Eulersche"+f"Funktion Phi(m) = (p-1)*(q-1).":+p"Schliesslich ist zur Decodierung der",z"Schluessel D (geheim) zu waehlen."3,"Diese Zahl muss teilerfremd zu Phi(m),"a,"p und q sein. Diese Bedingung ist z.B.","erfuellt, wenn D > Phi(m) und eine","Primzahl ist.",3070,100,L(U2$):HO((H6L)2):VE0:110,SR$U2$:150,HO0:VE2:110-"Berechnung:"%-"----------":>-MPQ:PM(P1)(Q1)k-"Modul (M) =";M- "Eulersche Funkt. (Phi(m)) =";PM- "Decodierschluessel (z.B. 157) (D) ";D- APM:BD:C0:E1-$ Q(AB):R1AQB:R2CQE.. AB:BR1:CE:ER2.8 R10 2380).B 2340@.L C0 CCPM:2380d.V "Codierschluessel (C) =";Cj.` .j "Von diesen Zahlen werden M und C (Modul".t "und Codierschluessel) oeffentlich".~ "bekannt gemacht. Mit ihnen ist die Ver-"/ "schluesselung der Nachricht moeglich."$/ O/ "Die M zugrunde liegenden Primzahlen"}/ "bleiben geheim; der Decodierschluessel"/ "ist nur dem Empfaenger der Nachricht"/ "zugaenglich."/ 3070:100:/ / --- SPEICHERN/ / 1000 L(U3$):HO((H6L)2):VE0:110/0 SR$U3$:150B0 HO0:VE2:110d0 "Speichern des Schluessels:"w0 HO2:VE4:1100( SR$"D":150:"- Diskette"02 HO2:VE6:1100< SR$"C":150:"- Cassette (BASICODE)"0F HO2:VE8:1101P SR$"N":150:"- NEIN"1Z HO31:VE8:1101d 21021n HO0:VE12:110Q1x " "f1 HO31:VE10:110v1 " "1 IN68 NF5:2750:11601 IN67 NF1:2750:11601 IN78 100:11601 250:26501 HO0:VE10:1102 NF$"":"Name des Files (max. 7 Zch.) ";NF$/2 (NF$)7 275082 500Q2 SRM:300:560:3400k2 SRPM:300:560:34002 SRC:300:560:34002 SRD:300:560:34002 5802 HO0:VE12:1102" "Fuer die Codierung bzw. Decodierung" 3, "notwendige Schluesselzahlen auf"+36 NF5 "Diskette ";:2890N3@ NF1 "Cassette (BASICODE)";g3J "gespeichert. ";w3T 210:100:}3^ 3 --- SUBROUTINEN3 3 --------------------------------------------------3 HOH17:VE23:1103 SR$" Taste => "4 150:210:100:L4 --------------------------------------------------a4 HO20:VE23:110v4 SR$" Taste => "4 150:210:4 --------------------------------------------------4& :"Zahlen auf";L;"Stellen begrenzen !"40 HO2:VE14:110(5: " "<5D HO2:VE16:110e5N " "k5X 5b --------------------------------------------------5l HO0:VE18:1105v "Test auf Primeigenschaft - warten !"5 Z1Z6 Z2(Z2)ZZ2:32106 F366 PP0:ZF(ZF)PP1:FZ1 3280M6 PP1 ZZF:3230W6 FF2g6 FZ 3230m6 6 T0 HO24:VE14:F116 T1 HO24:VE16:F216 110:" o.k.":32706 --------------------------------------------------7 HO0:VE18:11057 " ":n7 --------------------------------------------------x7 L$""7 N1 H:L$L$" ":N7* VE14 24:HO0:110:L$;:VE74 7> --------------------------------------------------8H (IN0)(IN1)8R HO0:VE12:110<8\ SR$" Schreibfehler ! ":150G8f 210:8p --------------------------------------------------8a"*","Das RSA-Verfahren wurde 1978 von R. Rivest, "8a"A. Shamir und L. Adleman entwickelt. ","*"9a"Es gehoert zu den modernen kryptographischen "T9a"Verfahren, die eine praktisch sichere Methode "9a"zur Verschluesselung von Nachrichten bieten.","*"9a"Es gilt als 'public key system', das auf bis zu "9a"200-stelligen Primzahlen aufbaut.","*"(:a"Infolge der geringen Rechengenauigkeit und der "\:a"Anzahl der dargestellten Ziffern einer Zahl ":b"auf den am BASICODE-System beteiligten ": b"Computern kann nur eine 'Demo' geboten werden.":b"*": b"Das Programmpaket besteht aus drei Programen:";*b"*"<;4b" - Berechnung des oeffentl. Schluessels,","*"h;>b" - Codierung einer Nachricht und","*";Hb" - ihre Decodierung.","*";Rb"Fuer den, der sich mit den Grundlagen der RSA-";\b"Codierung beschaeftigen will, empfehlen sich ";fb"*"%b" - Marcel Sutter, Ein Streifzug durch die "T>b"Kryptologie, M+K Computer, Luzern, 1990-4","*">b" - Eckart Winkler, Dreifach genaeht, ">b"MC, Muenchen, Heft 3/1988","*">c"Im uebrigen lohnt es, sich fuer ein besseres "?c"Verstaendnis mit Fragen der Zahlentheorie zu "+?c"beschaeftigen. ","*"\?$c"Dies und die folgenden Programme koennen "?.c"natuerlich nur ein Beispiel geben.","*"?8c"xxx"?Bc?0u -------------------------------------------------- @:u GRUNDLAGE DIESES PROGRAMMES UND DER TEILE 2 UND 3)@Du IST FOLGENDER BEITRAG:/@NuF@Xu MARCEL SUTTER,r@bu EIN STREIFZUG DURCH DIE KRYPTOLOGIE@lu M+K COMPUTER, LUZERN, 1990, HEFT 4@vu@} -------------------------------------@ } FRIEDRICH DORMEIER@} BISMARCKSTR. 11AA} D-1000 BERLIN 39,A(} (030) 803 31 112A2}GA<} C-128 - 9/1991sAF} -------------------------------------AP} Erstausstrahlung: DS-KulturAZ}-spezial:911016A2}GA<} C-128 - 9/1991sAF} -------------------------------------AP}