Tabula recta

Tabula recta kryptografiassa (latinasta tabula rēcta) on neliön muotoinen aakkostaulukko, jonka jokainen rivi muodostetaan siirtämällä edellistä riviä vasemmalle. Termin keksi saksalainen kirjailija ja munkki Johann Trithemius [1] vuonna 1508, ja sitä käytettiin Trithemius-salauksessaan.

Trithemius-salaus

Trithemius-salauksen julkaisi Johannes Trithemius kirjassaan "Polygraphy", jota pidetään ensimmäisenä painettuna kryptologiaa käsittelevänä teoksena.

Trithemius käytti tabula rectaa määrittämään moniaakkosisen salauksen, joka vastasi Leon Battista Albertin levysalausta, paitsi että kohdeaakkoston kirjainten järjestystä ei sekoittunut. Tabula rectaan viitataan usein, kun puhutaan tietokonetta edeltäneistä salakirjoista, mukaan lukien Vigenèren salaus ja vähemmän tunnettu Blaise de Vigenèren automaattinen salaus. Kaikki Caesar-salaukseen perustuvat monimuotoiset salakirjoitukset voidaan kuvata tabula recta -sanalla.

Tabula recta käyttää kirjainneliötä, jossa on 26 aakkosten kirjainta, jota seuraa 26 riviä lisäkirjaimia, joista jokainen on siirretty edellisen kirjaimen vasemmalle puolelle. Tämä luo käytännössä 26 erilaista Caesar-salausta.

Tuloksena oleva salateksti näyttää satunnaiselta merkkijonolta tai tietolohkolta. Muuttuvan siirtymän vuoksi kirjainten luonnolliset taajuudet ovat piilossa. Jos hyökkääjä kuitenkin tietää, että tätä menetelmää on käytetty, se on helppo murtaa. Salaus on alttiina hyökkäyksille, koska siitä puuttuu avain, mikä rikkoo Kerckhoffin kryptologian periaatetta.

Parannukset

Vuonna 1553 Giovan Battista Bellaso kehitti tärkeän laajennuksen Trithemius-menetelmästä, jota nykyään kutsutaan Vigenère-salaukseksi . Bellaso lisäsi avaimen, jota käytetään sanelemaan salauksen aakkoset jokaisen kirjaimen kanssa. Tämä menetelmä liitettiin virheellisesti Blaise de Vigenèren ansioksi, joka julkaisi samanlaisen automaattisen avaimen salauksen vuonna 1586.

Klassinen Trithemius-salaus (käyttämällä siirtoa yhdellä) vastaa Vigenère-salausta, jonka avaimena on "ABCDEFGHIJKLMNOPQRSTUVWXYZ". Se vastaa myös Caesar-salausta, jossa siirto kasvaa yhdellä, kun jokainen kirjain alkaa nollasta.

Käyttö

Tabula rectan rungossa jokainen aakkosto on siirretty yhden kirjaimen vasemmalle yläpuolella olevasta kirjaimesta. Tämä muodostaa 26 riviä siirrettyjä aakkosia, jotka päättyvät Z-kirjaimella alkaviin aakkosiin. Näistä 26 aakkosesta erillään yläreunassa on otsikkorivi ja vasemmalla otsikkosarake, joista jokainen sisältää aakkosten kirjaimet AZ-järjestyksessä.

Tekstin salaamiseen ja salauksen purkamiseen tabula rectaa voidaan käyttää useilla vastaavilla tavoilla. Yleisimmin otsikon vasenta saraketta käytetään selkokielisille kirjaimille, sekä salauksessa että salauksen purkamisessa. Tämä käyttö kuvataan alla. Trithemius-salauksen tulkitsemiseksi on ensin löydettävä tabula rectasta purettavat kirjaimet: ensimmäinen kirjain ensimmäisestä sisemmästä sarakkeesta, toinen kirjain toisesta sarakkeesta ja niin edelleen; otsikkosarakkeen vasemmalla puolella oleva kirjain on vastaava purettu selväkielinen kirjain. Olettaen, että vakiosiirto on 1 ilman avainta, HFNOS-salateksti puretaan muodossa HELLO (H->H, F->E, N->L, O->L, S->O). Joten esimerkiksi tämän tekstin toisen kirjaimen tulkitsemiseksi etsi ensin F toisesta sisemmästä sarakkeesta ja siirry sitten suoraan vasemmalle, aina otsikon vasempaan sarakkeeseen, löytääksesi vastaavan selväkielisen kirjaimen: E.

Tiedot salataan päinvastoin, etsimällä ensin jokainen viestin selkeän tekstin kirjain tabula recta -otsikon vasemmanpuoleisesta sarakkeesta ja kohdistamalla se vastaavaan kirjaimeen sisemmissä sarakkeissa. Esimerkiksi viestin ensimmäinen kirjain on otsikon vasemmassa sarakkeessa, ja sitten se yhdistetään A-sarakkeen vastapäätä olevaan kirjaimeen. Seuraava kirjain verrataan vastaavaan B-sarakkeen kirjaimeen ja niin edelleen, kunnes koko viesti on salattu. Jos triteeminen salaus esitetään avaimena ABCDEFGHIJKLMNOPQRSTUVWXYZ, niin salausprosessi voidaan esittää etsimään kullekin kirjaimelle salattavan kirjaimen sisältävän rivin leikkauskohdan avaimen nykyistä kirjainta vastaavan sarakkeen kanssa. Kirjain, jossa nämä rivit ja sarakkeet leikkaavat, on salatekstin kirjain.

Ohjelmallisesti salaus voidaan laskea asettamalla A = 0, B = 1... {\displaystyle A=0,B=1...} {\displaystyle A=0,B=1...}, sitten salausprosessi on seuraava : salausteksti = ( pelkkä teksti + avain ) ( mod 26 ) {\displaystyle ciphertext=(plaintext+avain)\!\!\!\!\!{\pmod {26)))) {\displaystyle ciphertext=(plaintext+avain) )\!\!\!\!\!\!{\pmod {26}}}. Salauksen purku tapahtuu samalla tavalla, vaihtamalla salatekstiä ja selkeää tekstiä. Avain voidaan määritellä kirjaimen arvoksi täydentävästä salakirjoituksesta käynnissä olevassa avaimen salauksessa, vakiona Caesar-salauksessa tai nollalukuna, jossa on jokin piste Trithemiuksen käytössä.

Muistiinpanot

  1. Trithemius, Johann  // Wikipedia. - 07-09-2021.