Nattskyting med 10,5 cm kanon.
Ved Krossodden er det lagt ut ein fortsettelse av dei fem kryptografi-cachane ved Belteviga fort, tre cacher som tar for seg sider ved moderne kryptografi. Sidan dette er ein oppfølgar av ein serie med 5 cacher, startar me på nummer 6.
Områder er ein del av Oksøy-Ryvingen Landskapsvernområde, og eg oppfordrar alle geocachere til å følga opp verneforskrifta sine ord om at "All ferdsel skal skje varsomt og ta hensyn til vegetasjon, dyreliv og kulturminner."
Dagens nerde-humor:
(Henta frå xkcd under lisens Creative Commons Attribution-NonCommercial 2.5 License (Forklaring av xkcd-stripe))
Public key kryptografi - RSA
Eit alternativ til å bruka Diffie-Hellman for nøkkelutveksling er Public key-kryptografi.
Her er ideen at nøkkelen for kryptering er forskjellig frå nøkkelen for dekryptering. Så viss Alice lager ein privat nøkkel og ein offentleg nøkkel, så kan ho senda den offentlege nøkkelen til Bob, og Bob kan bruka den til å kryptera meldingar til Alice. Og Alice kan bruka den private nøkkelen til å dechiffrera meldinga. Det geniale er at sjølv om Eve skulle få tak i nøkkelen Alice sendte til Bob så vil ho ikkje kunna lesa meldingar kryptert med den nøkkelen.
Det var Ron Rivest, Adi Shamir, and Leonard Adleman som først publiserte ein metode for å gjera dette, derfor vert metoden kalla RSA.
Det heile bygger på at det er mogleg å plukka tal slik at ein til dømes får:
221 mod 55 = 2
321 mod 55 = 3
:
5421 mod 55 = 54
Meir generelt, det er mogleg å finna tal n og f slik at
mf mod n = m for alle positive m < n
Dersom f = d∙e
så kan meldinga m krypterast som
M = me mod n
og dechiffrerast som
m = Md mod n
I vårt døme er
f =21 = 3∙7
Derfor, så er
mf = m21 = (m3)7
Viss meldinga vår er til dømes m = 26, så kan den krypterast som
M = m3 mod 55 = 263 mod 55 = 31
og mottaker kan dekoda den med å rekna ut
m = M7 mod 55 = 317 mod 55 = 26
I dette dømet er n=55 og e = 3 til saman den offentlige nøkkelen (public key), som kan brukast til å kryptera meldinga, mens d = 7 kombinert med n er den private nøkkelen som vert brukt til å tolka meldinga.
Så det Alice må gjera er å finna n, e og d slik at dette fungerer, senda n og e til Bob og holda d strengt hemmeleg. Dermed kan Bob senda meldingar til Alice som Eve ikkje kan lesa.
For å finna d og e slik at dette fungerer tar ein utgangspunkt i n = p∙q der p og q er primtal. Sikkerheten i systemet ligg i at det er svært vanskeleg å finna p og q frå n viss n er stor nok.
Binær koding av meldingar
I ein datamaskin er alt lagra og overført som binære tall. Tekst er ofte overført i ASCII eller eit format avleda frå ASCII.
I slike system er ofte kvart tegn representert som ein byte, det vil seia eit binært tal med 8 bits.
Nokre døme
Tegn |
ASCII |
A |
0100 0001 |
B |
0100 0010 |
1 |
0011 0001 |
2 |
0011 0010 |
Dermed, mens tallverdien 12 er representert som 1100 så er teksten "12" representert som 0011 0001 0011 0010. Den er denne verdien som vanlegvis vert overført når du overfører ein tekst som inneheld talet "12".
For å kortare bitstrenger å arbeida med i øvelses-døma våre, så vel me eit mindre realistisk, men enklare system, BCD til å representera meldinga, sidan meldinga vår berre skal innehalda tal. Kvart siffer vil verta representert med ein halv byte, ein nibble.
0 |
0000 |
1 |
0001 |
2 |
0010 |
3 |
0011 |
4 |
0100 |
5 |
0101 |
6 |
0110 |
7 |
0111 |
8 |
1000 |
9 |
1001 |
I dette systemet vert teksten "12" representert som 0001 0010.
Døme
Vi skal representera koordinater som 7+7 desimale (Det vil seia vanlege) siffer.
Sørsmålsteiknet til denne cacher er plassert på:
N 58° 04.400' E 07° 58.800'
Me fjerner alle skilleteikn osv og skriv det som:
58044000758800
Med kvart siffer koda som ein nibble vert dette:
0101 1000 0000 0100 0100 0000 0000 0000 0111 0101 1000 1000 0000 0000
Viss me tek heile den strengen av bits og tolkar som eit tal, så vert det
24 774 470 882 658 304
og det er det talet som skal overførast som ei melding.
Viss Alice har gjeve oss den offentlege nøkkelen
n = 36 893 484 611 587 282 961
og
e = 65537 (Dette er ein mykkje brukt verdi for e)
kan me kryptera denne meldinga som
M = 24 774 470 882 658 304 65537 mod 36 893 484 611 587 282 961 = 5 690 774 574 811 972 589
og dette er det tallet me sender til Alice som medinga vår.
Oppgåve
Den private nøkkelen Alice har som passer med den offentlege nøkkelen me såg over, er
d = 4 646 517 565 521 361 817
Bob har sendt Alice posisjonen til sjølve boksen, og Alice har mottatt tallet
M = 34 295 444 216 849 656 815
som chiffertekst, og så kan dei møtast ved cachen.
NB Når me skal konvertera den dekrypterte meldinga tilbake til ein streng av nibbles, så skal me ha 4∙14 =56 bits. Viss me får færre en det, og det får me, så fyll inn ein eller fleire 0-er først i strengen.
Sluttkomentar
I praksis vert RSA ikkje brukt til å senda meldingar, det vert brukt til å senda ein nøkkel slik at ein kan bruka til dømes AES for den eigentlege komunikasjonen.
Dette vert til dømes brukt av SSH til å setta opp ein sikker kanal. SSH-Serveren har på eit tidspunkt fått ein offentleg nøkkel frå klienten, og kan sidan vita at den klienten som prøver å kopla seg opp er den samme som sendte inn den offentlege nøkkelen, for forbindelsen vil berre kunna settast opp viss klienten har den private nøkkelen.
Kryptograficachane på Flekkerøya
Første serie, klassisk kryptografi
Belteviga fort #1 Cæsar-chiffer
Belteviga fort #2 Enkelt substitusjonchiffer
Belteviga fort #3 Vigenèrechiffer
Belteviga fort #4 Vigenèrechiffer 2
Belteviga fort #5 Enigma (Bonus)
Andre serie, moderne kryptografi, nøkkelutveksling
Krossodden fort #6 Modulær aritmetikk
Krossodden fort #7 Diffie–Hellman utveksling
Krossodden fort #8 RSA
Tredje serie, moderne kryptografi, Symmetriske chiffer
Laksevika fort #9 XOR
Laksevika fort #10 AES
1.april spesial, på fastlandet.
Batterie Vara #11 Desinformasjon