Vernam- salaus on symmetrinen salausjärjestelmä , jonka Gilbert Vernam keksi vuonna 1917 [1] .
Salaus on eräänlainen kertaluontoinen salausjärjestelmä. Se käyttää boolen yksinomaista-tai- funktiota . Vernam-salaus on esimerkki järjestelmästä, jolla on absoluuttinen kryptografinen vahvuus [2] . Samalla sitä pidetään yhtenä yksinkertaisimmista salausjärjestelmistä [3] .
Frank Miller kuvasi ensimmäisen kerran vuonna 1882. [4] [5] [6]
Salaus on nimetty lennättäjä Gilbert Vernamin mukaan, joka vuonna 1917 keksi ja vuonna 1919 patentoi järjestelmän lennätinviestien automaattiseen salaukseen.
Vernam ei käyttänyt XOR-konseptia patentissa, vaan toteutti juuri tämän operaation tikapuulogiikassa. Jokainen viestin merkki oli bittikohtaisesti XOR-korjattu (yksinomainen tai) paperiteippinäppäimellä [7] . Joseph Mauborgne (silloin Yhdysvaltain armeijan kapteeni ja myöhemmin signaalijoukkojen päällikkö) muokkasi tätä järjestelmää niin, että avainnauhan merkkijono oli täysin satunnainen, koska tässä tapauksessa kryptausanalyysi olisi vaikeinta.
Vernam loi laitteen, joka suorittaa nämä toiminnot automaattisesti ilman kryptografin osallistumista. Niin kutsuttu "lineaarinen salaus" aloitettiin, kun viestin salaus- ja lähetysprosessit tapahtuvat samanaikaisesti. Siihen asti salaus oli alustavaa, joten linjasalaus lisäsi viestintänopeutta merkittävästi.
Koska Vernam ei kuitenkaan ollut kryptografi, hän huomasi oikein salauksensa tärkeän ominaisuuden - jokaista nauhaa tulisi käyttää vain kerran ja sen jälkeen tuhota. Tätä on vaikea soveltaa käytännössä - siksi laite muunnettiin useiksi silmukkanauhoiksi, joissa oli koprimejaksoja [ 8] .
Salausjärjestelmää ehdotettiin salaamaan lennätinsanomia, jotka olivat binääritekstejä, joissa selkeä teksti on esitetty Baudot-koodissa (viisinumeroisten "pulssiyhdistelmien" muodossa). Tässä koodissa esimerkiksi kirjain "A" näytti tältä (1 1 0 0 0). Paperinauhalla numero "1" vastasi reikää ja numero "0" - sen puuttumista. Salaisen avaimen piti olla kaoottinen sarja saman aakkoston kirjaimia [8] .
Salatekstin saamiseksi pelkkä teksti yhdistetään XOR -operaatioon salaisella avaimella . Joten esimerkiksi kun käytämme avainta (1 1 1 0 1) kirjaimeen "A" (1 1 0 0 0), saamme salatun viestin (0 0 1 0 1): Tietäen, että vastaanotetulle viestille sinulla on avain (1 1 1 0 1), alkuperäinen viesti on helppo saada samalla toiminnolla: Absoluuttisen kryptografisen vahvuuden saavuttamiseksi avaimella on oltava kolme kriittistä ominaisuutta [2] :
Tunnettu on myös ns. Vernam-salaus modulo m , jossa selkeän tekstin, salatekstin ja avaimen merkit ottavat arvot jäännösrenkaasta Z m . Salaus on yleistys alkuperäisestä Vernam-salauksesta, jossa m = 2 [2] .
Esimerkiksi Vernam-salauksen modulo m = 26 (A=0,B=1,…, Z=25):
Avain: EVTIQWXQVVOPMCXREPYZ Pelkkä teksti: ALLSWELLTHATENDSWELL (Kaikki hyvin, mikä päättyy hyvin) Salateksti: EGEAMAIBOCOIQPAJATJKSalattaessa muunnos suoritetaan Vigenère-taulukon mukaan (merkkiindeksien lisäys modulo aakkosten pituus antaa tämän taulukon).
Avainkirjain on sarake, selväkielinen kirjain on rivi ja salakirjoitus on risteyksen kirjain.
Ilman avaimen tuntemista tällaista viestiä ei voida jäsentää. Vaikka kaikkia näppäimiä olisi mahdollista kokeilla, tuloksena olisi kaikki mahdolliset tietynpituiset viestit sekä valtava määrä merkityksettömiä , kirjainten sekamelskaa näyttäviä tulkintoja . Mutta edes mielekkäiden tulkintojen joukossa ei olisi mitään mahdollisuutta valita haluttua. Kun satunnainen sekvenssi (avain) yhdistetään ei-satunnaiseen (selkoteksti), tulos ( salausteksti ) on täysin satunnainen ja siksi siitä puuttuu tilastolliset ominaisuudet, joita voitaisiin käyttää salauksen analysointiin. [9] .
Vuonna 1945 Claude Shannon kirjoitti "Salauksen matemaattisen teorian" (luokittelu poistettiin vasta toisen maailmansodan jälkeen vuonna 1949 nimellä " Theory of Communication in Secret Systems "), jossa hän osoitti Vernam-salauksen ehdottoman kryptografisen vahvuuden. Toisin sanoen salatekstin sieppaus ilman avainta ei anna mitään tietoa viestistä. Salauksen näkökulmasta on mahdotonta kuvitella Vernam-salausta turvallisempaa järjestelmää [2] . Vaatimukset tällaisen järjestelmän toteuttamiselle ovat melko ei-triviaaleja, koska on varmistettava viestin pituutta vastaavan ainutlaatuisen gamman asettaminen ja sen myöhempi taattu tuhoutuminen. Tässä suhteessa Vernam-salauksen kaupallinen käyttö ei ole yhtä yleistä kuin julkisen avaimen järjestelmät, ja sitä käytetään pääasiassa valtion virastojen erityisen tärkeiden viestien välittämiseen [8] .
Esitämme todisteen absoluuttisesta kryptografisesta vahvuudesta. Esitetään viesti binäärisekvenssillä, jonka pituus on . Viestin todennäköisyysjakauma voi olla mikä tahansa. Avainta edustaa myös samanpituinen binäärisekvenssi, joka jakautuu tasaisesti kaikille avaimille.
Salausmenetelmän mukaisesti tuotamme salatekstin komponenttikohtaisesti summaamalla selkeän tekstin ja avaimen modulo 2 -sekvenssit:
Laillinen käyttäjä tietää avaimen ja suorittaa salauksen purkamisen:
Etsitään salatekstien N-lohkojen todennäköisyysjakauma kaavalla:
Tulos vahvistaa hyvin tunnetun tosiasian, että kahden satunnaismuuttujan summa, joista toisella on diskreetti tasainen jakauma äärellisessä ryhmässä , on tasaisesti jakautunut satunnaismuuttuja. Näin ollen meidän tapauksessamme salatekstien jakautuminen on tasaista.
Kirjoitamme selkotekstien ja salatekstien yhteisjakelun:
Etsitään ehdollinen jakauma
koska avain ja selkeä teksti ovat itsenäisiä satunnaismuuttujia. Kaikki yhteensä:
Korvaamalla tämän kaavan oikean puolen yhteisjakaumakaavaksi saadaan
Mikä todistaa salatekstien ja selkeiden tekstien riippumattomuuden tässä järjestelmässä. Tämä tarkoittaa absoluuttista kryptografista vahvuutta [10] .
Tällä hetkellä Vernam-salausta käytetään harvoin. Tämä johtuu suurelta osin avaimen merkittävästä koosta, jonka pituuden on vastattava viestin pituutta. Toisin sanoen tällaisten salausten käyttö vaatii valtavia kustannuksia keskeisten materiaalien tuotannosta, varastoinnista ja tuhoamisesta. Siitä huolimatta täysin vahvat salaukset, kuten Vernam, löysivät silti käytännöllistä käyttöä kriittisten viestintälinjojen suojaamiseen suhteellisen pienellä tietomäärällä. Esimerkiksi britit ja amerikkalaiset käyttivät Vernam-tyyppisiä salauksia toisen maailmansodan aikana. Modulo 2 Vernam -salausta käytettiin Washingtonin ja Moskovan välisellä hallituksen vihjelinjalla, jossa avainmateriaalina oli paperiteippejä, joihin näppäinsarjan merkit oli rei'itetty [2] .
Käytännössä tiedonsiirtoväline voidaan fyysisesti siirtää pitkällä, todella satunnaisella avaimella kerran ja sitten lähettää viestejä eteenpäin tarpeen mukaan. Salauslehtien idea perustuu tähän : salakirjoittaja saa diplomaattisessa postissa tai henkilökohtaisesti muistikirjan, jonka jokaisella sivulla on avaimet. Vastaanottavalla osapuolella on sama muistilehtiö. Käytetyt sivut tuhotaan [11] .