Det finns många bra länkar till sidor som har ett omfattande material om kryptering. Tyvärr är de flesta som försöker sig på en förklaring av hur ett starkt krypto fungerar, på alldeles för hög matematisk nivå. Här är mitt försök att förklara det vanligaste vi normala(?) människor stöter på; RSA-kryptot. Den används bl a i Pretty Good Privacy (PGP).
Till att börja med skall 4 st tal tas fram, P Q E D.
Ser komplicerat ut? Ett räkneexempel:
Talen PQ(5*9=45) och E(3) är tillsammans den publika nyckeln som Ni kan distribuera
till den som skall skicka ett krypterat meddelande till dig. Det är alltså
inte P och Q som lämnas ut, utan dess summa. Det är detta som gör att det
blir svårt att knäcka kryptot. Det finns det ju bara två av primtalen som
bildar summan 45.
Talet D(11) får inte
avslöjas. Det är din privata nyckel.
Nu tar jag ett lämpligt tal (egentligen en bokstav): 17 . Detta tal skall
upphöjas med E och modulo PQ.
Encrypt(17): 17^3 MOD 45 = 8
Alltså talet 17 blir 8 i krypterad form om vi fortsätter att använda
räkneexemplets tal. Så här ser det ut i miniräknaren:
17 ^ 3 = 4913 4913/45 = 109.1777778 109*45 = 4905 4913-4905 = 8
Att sedan dekryptera ser ut så här: Krypto upphöjt med D och modulo PQ
Decrypt(8): 8^11 MOD 45 = 17
Talet är tillbaka till 17 och därmed i klartext igen! Så här blir det i
miniräknaren:
8 ^ 11 = 8589934592 8589934592/45 = 190887435.4 190887435*45 = 8589934575 8589934592- 8589934575 = 17
Skitlätt, eller hur?!