Кіріспе
Криптографиядағы маңызды құрал
Криптографияда tabula recta (латын тілінен tabula rēcta) – әр қатары алдыңғы қатарынан бір тамыл солға жылдырылып жасалған әріптердің шаршы кестесі. Бұл терминді 1508 жылы неміс жазушысы және монах Иоганн Тритемий ойлап тапты және оны өзінің Тритемий шифрында қолданды.
Тритемиус шифры
Тритемиус шифрын Иоганн Тритемиус өзінің "Полиграфия" атты кітабында жариялаған. Бұл кітап криптология бойынша жарық көрген алғашқы басылым деп есептеледі. Тритемиус полиалфабиттік шифрды анықтау үшін tabula recta-ны қолданды, бұл Леон Баттиста Альбертидің шифрлық дискісіне тең еді, бірақ мақсатты әліпбидегі әріптердің реті араласпаған. Tabula recta компьютерлік шифрлар туралы талқылау кезінде, оның ішінде Вигенер шифры және Блез де Вигенердің аз танымал автокілт шифры туралы әңгімелерде жиі кездеседі. Цезарь шифрына негізделген барлық полиалфабиттік шифрларды tabula recta арқылы сипаттауға болады. Tabula recta әліпбидің 26 әріпінен тұратын және одан кейін 26 қатар қосымша әріптерден тұратын әріптер квадратын пайдаланады, әр қатар жоғарыдағы қатардан бір таңбаға солға қарай жылдырылған. Бұл, мәні бойынша, 26 түрлі Цезарь шифрын құрайды. Белласо кілтті қосты, ол әр әріппен шифрлы әліпбиді өзгертуді анықтайды. Бұл әдіс 1586 жылы ұқсас автокілт шифрын жариялаған Блез де Вигенерге қате атрибуцияланды. Классикалық Тритемиус шифры (бір жылжуды пайдалана отырып) ABCDEFGHIJKLMNOPQRSTUVWXYZ кілті бар Вигенер шифрымен тең. Сондай-ақ, бұл Цезарь шифрымен де тең, онда жылжу әр әріппен 1-ге артады, 0-ден басталады.
Қолданылуы
Табула ректаның ішінде әрбір әліпби жоғарыдағыдан бір әріп солға жылдырылады. Бұл Z әріпімен басталатын әліпбимен аяқталатын 26 қатарлы жылдырылған әліпбилерді құрайды (суретте көрсетілгендей). Осы 26 әліпбиден бөлек, жоғарыдағы қатар және сол жақтағы баған әрқайсысында әліпби әріптері A-дан Z-ға дейін ретпен орналасқан. Табула ректа мәтінді шифрлау және дешифрлеу үшін бірнеше эквивалентті тәсілдерде қолданылуы мүмкін. Көбінесе, шифрлау және дешифрлеу үшін де ашық мәтін әріптері үшін сол жақ баған қолданылады. Бұл қолданылу осы жерде сипатталады. Тритемиус шифрын дешифрлеу үшін бірінші кезекте дешифрленетін әріптерді табу керек: бірінші әріп – бірінші ішкі бағанда, екінші әріп – екінші бағанда, және т.б.; бас бағанның ең сол жағындағы әріп – сәйкес дешифрленген ашық мәтін әріпі. Стандартты 1-ге жылжуды, кілт қолданылмаған жағдайда, шифрланған HFNOS мәтіні HELLO болып дешифрленеді (H > H, F > E, N > L, O > L, S > O). Мысалы, осы мәтіннің екінші әріпін дешифрлеу үшін, екінші ішкі бағандағы F әріпін тауып, содан кейін солға қарай, ең сол жақ бас бағанға дейін жылжу арқылы тиісті ашық мәтін әріпін табу керек: E. Деректер керісінше шифрланады, яғни хабарламаның әрбір ашық мәтін әріпін табула ректаның ең сол жақ бас бағанында іздеп, оны ішкі бағандардағы тиісті әріпке сәйкестендіру керек. Мысалы, хабарламаның бірінші әріпі сол жақ бас бағанда табылады, содан кейін "A" бағанындағы тікелей қарсы әріпке сәйкестендіріледі. Келесі әріп "B" бағанындағы сәйкес әріпке сәйкестендіріледі, және бұл процесс бүкіл хабарлама шифрланғанша жалғасады. Егер Тритемиус шифры ABCDEFGHIJKLMNOPQRSTUVWXYZ кілтімен анықталса, шифрлау процесін әр әріп үшін шифрланатын әріпті қамтитын қатардың шифрлау кілтімен сәйкес келетін бағанның қиылысын табу ретінде де қарастыруға болады. Бұл қатар мен баған қиылысатын әріп – шифрмәтін әріпі. Бағдарламалық тұрғыдан шифрды есептеуге болады, содан кейін шифрлау процесі дешифрлеуді бірдей процесте жүзеге асырады, шифрмәтін мен ашық мәтін алмастырылады. Кілт – жүріп тұратын кілт шифрындағы әріптің шифрмәтін мәні, Цезарь шифрындағы тұрақты шама немесе Тритемиус қолданысында белгілі бір кезеңмен нөлге негізделген санаушы ретінде анықталуы мүмкін.
Data is encrypted in the opposite fashion, by first locating each plaintext letter of the message in the leftmost header column of the tabula recta, and mapping it to the appropriate corresponding letter in the interior columns. For example, the first letter of the message is found within the left header column, and then mapped to the letter directly across in the column headed by "A". The next letter is then mapped to the corresponding letter in the column headed by "B", and this continues until the entire message is encrypted. If the Trithemius cipher is thought of as having the key ABCDEFGHIJKLMNOPQRSTUVWXYZ, the encryption process can also be conceptualized as finding, for each letter, the intersection of the row containing the letter to be encrypted with the column corresponding to the current letter of the key. The letter where this row and column cross is the ciphertext letter. Programmatically, the cipher is computable, assigning , then the encryption process is Decryption follows the same process, exchanging ciphertext and plaintext. key may be defined as the value of a letter from a companion ciphertext in a running key cipher, a constant for a Caesar cipher, or a zero based counter with some period in Trithemius's usage.