Lihtsad šifrid: populaarsete koodide ja šifrite kirjeldus

Sisukord:

Lihtsad šifrid: populaarsete koodide ja šifrite kirjeldus
Lihtsad šifrid: populaarsete koodide ja šifrite kirjeldus
Anonim

Vajadus kirjavahetuse krüpteerimiseks tekkis antiikmaailmas ja ilmusid lihtsad asendusšifrid. Krüpteeritud sõnumid määrasid paljude lahingute saatuse ja mõjutasid ajaloo kulgu. Aja jooksul leiutasid inimesed üha täpsemaid krüptimismeetodeid.

Kood ja šifr on muide erinevad mõisted. Esimene tähendab sõnumis iga sõna asendamist koodsõnaga. Teine on teabe iga sümboli krüpteerimine kindla algoritmi abil.

Pärast seda, kui matemaatika hakkas teavet kodeerima ja krüptograafia teooria välja töötati, avastasid teadlased selle rakendusteaduse palju kasulikke omadusi. Näiteks on dekodeerimisalgoritmid aidanud lahti harutada surnud keeli, nagu iidne egiptuse või ladina keel.

Steganograafia

Steganograafia on vanem kui kodeerimine ja krüpteerimine. See kunst on eksisteerinud väga pikka aega. See tähendab sõna-sõn alt "varjatud kirjutamist" või "šifreeritud kirjutamist". Kuigi steganograafia ei vasta päris koodi või šifri definitsioonidele, on see mõeldud teabe varjamiseks võõraste eest.silm.

Steganograafia või krüptograafia
Steganograafia või krüptograafia

Steganograafia on lihtsaim šifr. Tüüpilised näited on allaneelatud vahaga kaetud noodid või sõnum raseeritud peas, mis peidab end kasvanud juuste alla. Steganograafia selgeim näide on paljudes ingliskeelsetes (ja mitte ainult) detektiiviraamatutes kirjeldatud meetod, kui teateid edastatakse ajalehe kaudu, kus tähed on märkamatult märgistatud.

Steganograafia peamine puudus on see, et tähelepanelik võõras võib seda märgata. Seetõttu kasutatakse salasõnumi hõlpsa lugemise vältimiseks koos steganograafiaga krüpteerimis- ja kodeerimismeetodeid.

ROT1 ja Caesari šifr

Selle šifri nimi on Pööra 1 täht edasi ja see on paljudele koolilastele teada. See on lihtne asendusšifr. Selle olemus seisneb selles, et iga täht krüpteeritakse, nihutades tähestiku järjekorras 1 tähe võrra edasi. A -> B, B -> C, …, Z -> A. Näiteks krüpteerime fraasi "meie Nastja nutab valjult" ja saame "üldine Obtua dspnlp rmbsheu".

ROT1 šifrit saab üldistada suvalise arvu nihketeni, siis nimetatakse seda ROTN-iks, kus N on arv, mille võrra tähtede krüptimist tuleks nihutada. Sellisel kujul on šifrit tuntud juba iidsetest aegadest ja seda nimetatakse "Caesari šifriks".

Kirillitsa ketas Caesari šifri jaoks
Kirillitsa ketas Caesari šifri jaoks

Caesari šifr on väga lihtne ja kiire, kuid see on lihtne ühe permutatsiooniga šifr ja seetõttu on seda lihtne murda. Omades sellist puudust, sobib see ainult lapsikute naljade tegemiseks.

Transpositsiooni- või permutatsioonišifrid

Seda tüüpi lihtsad permutatsioonišifrid on tõsisemad ja neid kasutati aktiivselt mitte nii kaua aega tagasi. Ameerika kodusõja ja Esimese maailmasõja ajal kasutati seda sõnumite saatmiseks. Tema algoritm seisneb tähtede ümberpaigutamises kohtadesse - kirjutage sõnum vastupidises järjekorras või korraldage tähed paarikaupa. Krüpteerime näiteks fraasi "Morse kood on ka šifr" -> "akubza ezrom - siilkala".

Hea algoritmiga, mis määras iga märgi või nende rühma jaoks suvalised permutatsioonid, muutus šifr lihtsaks murdumiseks vastupidavaks. Aga! Ainult õigel ajal. Kuna šifrit on lihtne murda lihtsa toore jõu või sõnastiku sobitamise abil, saab tänapäeval selle dekrüpteerimisega hakkama iga nutitelefon. Seetõttu liikus see šifr arvutite tulekuga ka laste kategooriasse.

Morsekood

ABC on teabevahetusvahend ja selle peamine ülesanne on muuta sõnumid edastamiseks lihtsamaks ja arusaadavamaks. Kuigi see on vastuolus krüpteerimisega. Sellest hoolimata töötab see nagu kõige lihtsamad šifrid. Morse süsteemis on igal tähel, numbril ja kirjavahemärgil oma kood, mis koosneb sidekriipsude ja punktide rühmast. Telegraafiga sõnumi saatmisel tähistavad kriipsud ja punktid pikki ja lühikesi signaale.

Kirillitsa ja ladina morsekoodis
Kirillitsa ja ladina morsekoodis

Telegraaf ja morsekood… Morse patenteeris esmakordselt "oma" leiutise 1840. aastal, kuigi sarnased seadmed leiutati Venemaal ja Inglismaal enne teda. Aga keda see nüüd huvitab … Telegraaf ja tähestikMorsekood avaldas maailmale väga suurt mõju, võimaldades sõnumite peaaegu kohest edastamist mandrite vahemaadel.

Monoalfabeetiline asendus

Eespool kirjeldatud ROTN- ja morsekood on monoalfabeetiliste asendusfontide näited. Eesliide "mono" tähendab, et krüptimise ajal asendatakse algse sõnumi iga täht teise tähe või koodiga ainsa krüpteerimistähestikuga.

Lihtsate asendusšifrite dešifreerimine ei ole keeruline ja see on nende peamine puudus. Need lahendatakse lihtsa loendamise või sagedusanalüüsi abil. Näiteks on teada, et vene keele enimkasutatavad tähed on “o”, “a”, “i”. Seega võib oletada, et šifritekstis esinevad tähed tähendavad kõige sagedamini kas "o" või "a" või "ja". Nendele kaalutlustele tuginedes saab sõnumi dekrüpteerida isegi ilma arvutiotsinguta.

On teada, et Mary I, Šotimaa kuninganna aastatel 1561–1567, kasutas väga keerulist monoalfabeetilist asendusšifrit koos mitme kombinatsiooniga. Kuid tema vaenlased suutsid sõnumid dešifreerida ja sellest teabest piisas kuninganna surmamõistmiseks.

Gronsfeldi šifr või polüalfabeetiline asendus

Lihtsad šifrid kuulutatakse krüptograafia abil kasutuks. Seetõttu on paljusid neist täiustatud. Gronsfeldi šifr on Caesari šifri modifikatsioon. See meetod on häkkimise suhtes palju vastupidavam ja seisneb selles, et kodeeritud teabe iga tähemärk krüpteeritakse ühe erineva tähestiku abil, mida korratakse tsükliliselt. Võib öelda, et tegemist on mitmemõõtmelise rakendusegalihtsaim asendusšifr. Tegelikult on Gronsfeldi šifr väga sarnane allpool käsitletud Vigenère'i šifriga.

ADFGX krüpteerimisalgoritm

See on kõige kuulsam sakslaste kasutatud I maailmasõja šifr. Šifr sai oma nime, kuna krüpteerimisalgoritm viis kõik šifrigrammid nende tähtede vaheldumiseni. Tähtede endi valiku määras nende mugavus telegraafiliinide kaudu edastamisel. Iga tähte šifris tähistab kaks. Vaatame ADFGX ruudu huvitavamat versiooni, mis sisaldab numbreid ja kannab nime ADFGVX.

A D F G V X
A J Q A 5 H D
D 2 E R V 9 Z
F 8 Y I N K V
G U P B F 6 O
V 4 G X S 3 T
X W L Q 7 C 0

ADFGX-i ruutude algoritm on järgmine:

  1. Valige veergude ja ridade jaoks juhuslikud n tähed.
  2. N x N maatriksi koostamine.
  3. Sisestage maatriksisse lahtritesse juhuslikult hajutatud tähestik, numbrid ja märgid.

Teeme samasuguse ruudu vene keele jaoks. Näiteks loome ruudu ABCD:

A B B G D
A E/E N b/b A I/Y
B W V/F G/R З D
B Sh/Sh B L X I
G R M O Yu P
D F T T S U

See maatriks näeb imelik välja, sest lahtririda sisaldab kahte tähte. See on vastuvõetav, sõnumi tähendus ei lähe kaotsi. Seda saab kergesti taastada. Krüpteerige fraas "Kompaktšifr" selle tabeli abil:

1 2 3 4 5 6 7 8 9 10 11 12 13 14
Fraas K O M P A K T N S Y Ш & F R
Cipher bw gv gb kus ag bw db ab dg põrgu wa põrgu bb ha

Seega näeb viimane krüpteeritud sõnum välja selline: "bvgvgbgdagbvdbabdgvdvaadbbga". Muidugi viisid sakslased sarnase joone läbi veel mitme šifri kaudu. Ja lõpuks osutus see väga stabiilsekskrüptitud sõnumi murdmiseks.

Vigenère'i šifr

See šifr on mõranemiskindlam kui monoalfabeetiline šifr, kuigi see on lihtne tekstiasendusšifr. Tugeva algoritmi tõttu peeti aga pikka aega võimatuks häkkida. Selle esmamainimine pärineb 16. sajandist. Vigenère'i (Prantsuse diplomaat) peetakse ekslikult selle leiutajaks. Et paremini mõista, mis on kaalul, kaaluge vene keele Vigenère'i tabelit (Vigenère'i ruut, tabula recta).

Vigenère tabel vene tähestikuga
Vigenère tabel vene tähestikuga

Alustame fraasi "Kasperovitš naerab" kodeerimist. Kuid krüpteerimise õnnestumiseks on vaja märksõna – olgu selleks "parool". Nüüd alustame krüptimist. Selleks kirjutame võtit nii palju kordi, et selles olevate tähtede arv vastaks krüptitud fraasi tähtede arvule, korrates võtit või lõigates:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
Fraas: K A С P E R O B & W С M E E T С I
Võti P A R O L b P A R O L b P A R O L

Nüüd, kasutades Vigenère'i tabelit, nagu koordinaattasandil, otsime lahtrit, mis on tähepaaride ristumiskoht ja saame: K + P=b, A + A=B, C + P=C jne

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
Cipher: b B B Yu С N Yu G Sch F E Y X F G A L

Saame aru, et "Kasperovich naerab"="bvusnyugschzh eykhzhgal".

Vigenère'i šifri lahtimurdmine on nii keeruline, sest sagedusanalüüs peab teadma märksõna pikkust, et see toimiks. Nii et häkkimine seisneb selles, et visata juhuslikult märksõna pikkus ja proovida salasõnumit murda.

Samuti tuleb mainida, et lisaks täiesti juhuslikule võtmele saab kasutada ka täiesti erinevat Vigenère'i tabelit. Sel juhul koosneb Vigenère'i ruut rida-re alt kirjutatud vene tähestikust ühe nihkega. Mis viitab meile ROT1 šifrile. Ja nagu Caesari šifris, võib nihe olla ükskõik milline. Pealegi ei pea tähtede järjekord olema tähestikuline. Sel juhul võib võtmeks olla tabel ise, teadmata, millist sõnumit on võimatu lugeda, isegi võtit teades.

Koodid

Päris koodid koosnevad igaühe vastetesteraldi koodi sõnad. Nendega töötamiseks on vaja niinimetatud koodiraamatuid. Tegelikult on see sama sõnastik, mis sisaldab ainult sõnade tõlkeid koodideks. Tüüpiline ja lihtsustatud näide koodidest on ASCII-tabel – lihtmärkide rahvusvaheline šifr.

ASCII kooditabel
ASCII kooditabel

Koodide peamine eelis on see, et neid on väga raske dešifreerida. Sagedusanalüüs peaaegu ei tööta, kui need on häkkinud. Koodide nõrkuseks on tegelikult raamatud ise. Esiteks on nende valmistamine keeruline ja kulukas protsess. Teiseks, vaenlaste jaoks muutuvad need soovitud objektiks ja isegi raamatu osa pe altkuulamine sunnib teid kõiki koode täielikult muutma.

20. sajandil kasutasid paljud osariigid salaandmete edastamiseks koode, muutes teatud aja möödudes koodiraamatut. Ja nad jahtisid aktiivselt ka naabrite ja vastaste raamatuid.

Enigma

Kõik teavad, et Enigma oli II maailmasõja ajal natside peamine šifreerimismasin. Enigma struktuur sisaldab elektriliste ja mehaaniliste ahelate kombinatsiooni. See, kuidas šifr välja tuleb, sõltub Enigma algkonfiguratsioonist. Samal ajal muudab Enigma töötamise ajal automaatselt oma konfiguratsiooni, krüpteerides ühe sõnumi mitmel viisil kogu selle pikkuses.

Vastupidiselt kõige lihtsamatele šifritele andis "Enigma" triljoneid võimalikke kombinatsioone, mis muutis krüpteeritud teabe lahtimurdmise peaaegu võimatuks. Natsid omakorda lasid igaks päevaks ette valmistada kindla kombinatsiooni, mille nadkasutatakse konkreetsel päeval sõnumite saatmiseks. Seetõttu, isegi kui Enigma sattus vaenlase kätte, ei aidanud see sõnumeid dekrüpteerida ilma iga päev õiget konfiguratsiooni sisestamata.

Natsi Enigma šifrimasin
Natsi Enigma šifrimasin

Hack "Enigma" sai aktiivselt kohut kogu Hitleri sõjalise kampaania ajal. Inglismaal ehitati 1936. aastal selle jaoks üks esimesi arvutusseadmeid (Turingi masin), millest sai tulevikus arvutite prototüüp. Tema ülesandeks oli simuleerida üheaegselt mitmekümne Enigma tööd ja juhtida nende kaudu pe altkuulatud natside sõnumeid. Kuid isegi Turingi masin suutis sõnumi vaid aeg-aj alt murda.

Avaliku võtmega krüptimine

Krüpteerimisalgoritmidest populaarseim, mida kasutatakse kõikjal tehnoloogias ja arvutisüsteemides. Selle olemus seisneb reeglina kahe võtme juuresolekul, millest üks edastatakse avalikult ja teine on salajane (privaatne). Sõnumi krüptimiseks kasutatakse avalikku võtit ja selle dekrüpteerimiseks privaatvõtit.

Avaliku võtmega krüpteerimisalgoritm
Avaliku võtmega krüpteerimisalgoritm

Avalik võti on enamasti väga suur arv, millel on ainult kaks jagajat, arvestamata ühte ja arvu ennast. Need kaks jagajat moodustavad koos salajase võtme.

Vaatleme lihtsat näidet. Olgu avalikuks võtmeks 905. Selle jagajad on numbrid 1, 5, 181 ja 905. Siis saab salajaseks võtmeks näiteks arv 5181. Kas sa ütled liiga lihtne? Mis siis, kui rollisavalik number on 60-kohaline number? Matemaatiliselt raske arvutada suure arvu jagajaid.

Eredama näite saamiseks kujutage ette, et võtate sularahaautomaadist raha välja. Kaardi lugemisel krüpteeritakse isikuandmed kindla avaliku võtmega ning panga poolel dekrüpteeritakse info salajase võtmega. Ja seda avalikku võtit saab iga toimingu jaoks muuta. Ja selle pe altkuulamisel ei ole võimalik kiiresti leida võtmejagajaid.

Fondi vastupidavus

Krüpteerimisalgoritmi krüptograafiline tugevus seisneb võimes seista vastu häkkimisele. See parameeter on mis tahes krüptimise jaoks kõige olulisem. Ilmselgelt on lihtne asendusšifr, mida saab dekrüpteerida mis tahes elektroonilise seadmega, üks ebastabiilsemaid.

Tänapäeval puuduvad ühtsed standardid, mille järgi oleks võimalik šifri tugevust hinnata. See on töömahukas ja pikk protsess. Siiski on mitmeid komisjone, kes on selles valdkonnas standardeid koostanud. Näiteks NIST USA välja töötatud Advanced Encryption Standardi või AES-i krüpteerimisalgoritmi miinimumnõuded.

Viide: Vernami šifrit peetakse kõige purunemiskindlamaks šifriks. Samas on selle eeliseks see, et algoritmi järgi on see kõige lihtsam šifr.

Soovitan: