lördag, februari 17, 2007

Hemligheter.


Något som fascinerar mig är enkla smarta lösningar. Kryptering har använts av människor under minst tusen år. Ett medelande har förvanskats enligt några regler som förhoppningsvis enbart sändare och mottagare kännt till. Problemet med detta är just att sändare och mottagare, personerna A och B, har måst träffas innan och komma överens om reglerna. Detta hade ställt till en del problem för dig om du tex. ägnar dig åt e-handel över internet. Innan du med gott samvete vågat sända ditt kontonummer till adlibris hade du varit tvungen att ha träffat någon på företaget, kommit överens om ett antal regler så att ej person C, som sitter och avlyssnar din internetuppkoppling kunnat tömma ditt välfyllda konto.

Nu behöver man inte vara så orolig. På 70-talet kom oberoende av varandra två "grupper" på hur man ska lösa det hela. RSA heter krypteringen, efter Ron Rivest, Adi Shamir and Leonard Adleman vid MIT som var en av grupperna som kom på algorithmen. Först var dock den brittiske matematikern Clifford Cocks, vars arbete var hemligstämplat vid upptäckten, varpå han ej fick någe credit.

Algoritmen bygger på att det inte finns något smart sätt att faktorisera tal. Tag två primtal, tex. 7 och 11 och multiplicerar dem: 7*11=77. Får du enbart siffran 77 så är det enda sättet att lista ut vilka de två faktorerna är att prova sig fram. 4*7=28...6*8=42...7*10=70...7*11=77...bingo!
Det smarta med RSA är att adlibris, swedbank eller någon annan mottagare av information är de som ger ut krypteringsregeln. De ger ut siffran 77. Du stoppar in den bokstav som ska krypteras (kodad som siffra) i en enkel formel, där du även stoppar in siffran 77. Nu får du fram en ny siffra vilken du skickar till mottagaren. Mottagaren i sin tur har en annan formel där siffran du skickade och de två faktorerna till 77 stoppas in och vips så är bokstaven dekrypterad.

Vet inte om det där var särskillt pedagogiskt, men häftigt är det iallafall. Det är alltså bara siffrorna 7 och 11 som behöver hållas hemliga. Nu är det såklart så att banker etc. använder sig av större nummer, men principiellt är det såhär det funkar.

Inga kommentarer: