Crypto
innledning §
Caesar chiffer er en av de tidligste kjente og enkleste chiffer. Det er en type substitusjon chiffer der hver bokstav i klartekst er ‘forskjøvet’ et visst antall steder ned alfabetet. For eksempel, med et skifte på 1, ville A bli erstattet Av B, B ville bli C, og så videre. Metoden er oppkalt Etter Julius Cæsar, som tilsynelatende brukte den til å kommunisere med sine generaler.
mer komplekse krypteringsordninger som Vigenè-chifferet bruker Caesar-chifferet som et element i krypteringsprosessen. DEN allment kjente ROT13 ‘kryptering’ er ganske enkelt En Caesar-kryptering med en forskyvning på 13. Caesar chiffer tilbyr i hovedsak ingen kommunikasjon sikkerhet, og det vil bli vist at det lett kan brytes selv for hånd.
eksempel §
for å sende en kryptert melding fra en person til en annen, er det først nødvendig at begge parter har nøkkelen til krypteringen, slik at avsenderen kan kryptere den og mottakeren kan dekryptere den. For caesar-krypteringen er nøkkelen antall tegn for å skifte krypteringsalfabetet.
Her er et raskt eksempel på krypterings-og dekrypteringstrinnene som er involvert i caesar-krypteringen. Teksten vi vil kryptere er ‘forsvare østveggen av slottet’, med et skift (nøkkel) av 1.
plaintext: defend the east wall of the castleciphertext: efgfoe uif fbtu xbmm pg uif dbtumf
det er lett å se hvordan hvert tegn i klartekst forskyves opp i alfabetet. Dekryptering er like enkelt, ved å bruke en offset på -1.
plain: abcdefghijklmnopqrstuvwxyzcipher: bcdefghijklmnopqrstuvwxyza
Selvfølgelig, Hvis en annen nøkkel brukes, vil krypteringsalfabetet bli skiftet en annen mengde.
Matematisk Beskrivelse §
hvor k er nøkkelen (skiftet) brukt på hver bokstav. Etter å ha brukt denne funksjonen er resultatet et tall som deretter må oversettes tilbake til et brev. Dekrypteringsfunksjonen er:
JavaScript Eksempel På Caesar Cipher §
Plaintext
skift:
Ciphertext
Andre Implementeringer §
For Caesar cipher kode i ulike programmeringsspråk, se Implementeringssiden.
for å kryptere dine egne meldinger i python, kan du bruke pycipher-modulen. For å installere det, bruk pip install pycipher. For å kryptere meldinger med Cæsarchiffer (eller et annet chiffer, se her for dokumentasjon):
kryptanalyse §
Se Kryptanalyse av Cæsarchiffer for en måte å automatisk bryte denne chiffer.
Kryptoanalyse er kunsten å bryte koder og koder. Caesar chiffer er trolig den enkleste av alle chiffer å bryte. Siden skiftet må være et tall mellom 1 og 25, (0 eller 26 vil resultere i uendret ren tekst), kan vi bare prøve hver mulighet og se hvilken som resulterer i en lesbar tekst. Hvis du tilfeldigvis vet hva et stykke chiffertekst er, eller du kan gjette et stykke, så vil dette tillate deg å umiddelbart finne nøkkelen.
hvis dette ikke er mulig, er en mer systematisk tilnærming å beregne frekvensfordelingen av bokstavene i krypteringsteksten. Dette består av å telle hvor mange ganger hver bokstav vises. Naturlig engelsk tekst har en veldig distinkt distribusjon som kan brukes hjelp sprekk koder. Denne fordelingen er som følger:
dette betyr at bokstaven e er den vanligste, og vises nesten 13% av tiden, mens z vises langt mindre enn 1 prosent av tiden. Anvendelse Av Caesar-krypteringen endrer ikke disse brevfrekvensene, det skifter dem bare litt (for et skifte på 1 blir det hyppigste chiffertekstbrevet f). En kryptoanalytiker må bare finne skiftet som får chiffertekstfrekvensene til å samsvare tett med de naturlige engelske frekvensene, og deretter dekryptere teksten ved hjelp av det skiftet. Denne metoden kan brukes til å enkelt bryte Caesar ciphers for hånd.
hvis du fortsatt har problemer, kan du prøve kryptanalyse-delen på siden for krypteringskoding. Alle strategier som fungerer med substitusjon chiffer vil også fungere med Caesar chiffer (men metoder som fungerer På Caesar chiffer ikke nødvendigvis fungerer på den generelle substitusjon chiffer).
for en metode som fungerer bra på datamaskiner, trenger vi en måte å finne ut hvilken av de 25 mulige dekrypteringene som ser mest ut som engelsk tekst. Se Cryptanalysis Av Caesar Chiffer for en gjennomgang av hvordan å bryte den ved hjelp av quadgram statistikk. Nøkkelen (eller shift) som resulterer i en dekryptering med høyest sannsynlighet for å være engelsk tekst, er sannsynligvis den riktige nøkkelen. Selvfølgelig, jo mer chiffertekst du har, jo mer sannsynlig er dette å være sant (dette er tilfelle for alle statistiske tiltak, inkludert frekvensmetoden ovenfor). Så metoden som brukes er å ta chifferteksten, prøv å dekryptere den med hver nøkkel, og se hvilken dekryptering som ser best ut. Denne forenklede metoden for kryptanalyse fungerer bare på svært enkle cifre som Caesar cipher og rail fence cipher, selv litt mer komplekse cifre kan ha altfor mange nøkler for å sjekke dem alle.
referanser §
- Wikipedia Har en god beskrivelse av krypterings – /dekrypteringsprosessen, historien og kryptanalysen av denne algoritmen
- Simon Singhs ‘Kodeboken’ er en utmerket introduksjon til cifre og koder, og inneholder en del om caesar-cifre.Singh, Simon (2000). Kodeboken: Vitenskapen Om Hemmelighold fra Det Gamle Egypt Til Kvantumkryptografi. ISBN 0-385-49532-3.