Шифр гамування

Гамування.У цьому способі шифрування виконується шляхом складання символів вихідного тексту та ключа за модулем, що дорівнює літері в алфавіті. Якщо у вихідному алфавіті, наприклад, 33 символи, то додавання проводиться за модулем 33. Такий процес складання вихідного тексту і ключа називається в криптографіїнакладенням гами.

Нехай символи вихідного алфавіту відповідають числа від 0 (А) до 32 (Я). Якщо позначити число, що відповідає вихідному символу x, а символу ключа – k, то можна записати правило гамування наступним чином:

де z - закодований символ, N - кількість символів в алфавіті, а додавання за модулем N - операція, аналогічна звичайному додаванню, з тією відмінністю, що якщо звичайне підсумовування дає результат, більший або рівний N, то значенням суми вважається залишок від поділу його на N. Наприклад, нехай складемо за модулем 33 символи Г (3) та Ю (31):

3 + 31 (mod 33) = 1,

тобто в результаті одержуємо символ Б, що відповідає числу 1.

Найчастіше практично зустрічається двійкове гаммування. При цьому використовуєтьсядвійковий алфавіт, а додавання проводиться за модулем два. Операція додавання по модулю 2 часто позначається, тобто можна записати:

Операція додавання по модулю два валгебрі логікиназивається також "що виключає АБО" або англійською XOR.

Приклад: Припустимо, нам необхідно зашифрувати десяткове число 14 методом гамування з використанням ключа 12. Для цього спочатку необхідно перетворити вихідне число та ключ (гаму) у двійкову форму:14(10)=1110(2), 12(10)=1100( 2). Потім треба записати отримані двійкові числа один під одним і кожну пару символів скласти по два модулі. При додаванні двох двійкових знаків виходить 0, якщо вихідні двійковіцифри однакові, і 1, якщо цифри різні:

Складемо по модулю два двійкові числа 1110 та 1100:

Початкове число 1 1 1 0

Результат 0 0 1 0

В результаті додавання отримали двійкове число 0010. Якщо перевести його в десяткову форму, отримаємо 2. Таким чином, в результаті застосування до 14 операції гамування з ключем 12 отримуємо в результаті число 2.

Яким чином виконується розшифрування? Зашифроване число 2 подається у двійковому вигляді і знову проводиться додавання по модулю 2 з ключем:

Зашифроване число 0 0 1 0

Результат 1 1 1 0

Перекладемо отримане двійкове значення 1110 у десятковий вигляд і отримаємо 14, тобто вихідне число.

Комбіновані (складові) шифри.

Два найвідоміші польові шифри в історії криптографії - ADFGX і ADFGVX. Таблиця шифрозамін ADFGX є матрицею 5 х 5, а для ADFGVX – 6 х 6. Рядки та стовпці позначаються літерами, що входять у назву шифру. Приклад таблиці шифрозамін для шифру ADFGVX стосовно українського алфавіту показано на наступному малюнку.

ADFGVX

Шифрозаміна для літери вихідного тексту складається з літер, що позначають рядок та стовпець, на перетині яких вона знаходиться.

FD AX GA FD FG FV DA

На другому етапі для виконання перестановки отриманий набір шифрозамін вписується рядковим зверху-вниз в таблицю, кількість стовпців в якій строго визначено (ADFGX) або відповідає кількості літер у ключовому слові (ADFGVX). Нумерація стовпів або обговорюється сторонами (ADFGX) або відповідає положенню літер ключового слова в алфавіті, як у шифрі вертикальної перестановки (ADFGVX). Наприклад, для отриманого вище набору шифрозмін перестановна таблиця з ключовим словом «ДЯДИНА» показана на наступномумалюнку.

шифр

На третьому етапі літери виписуються зі стовпців відповідно до їх нумерації, при цьому зчитування відбувається по стовпцям, а літери об'єднуються в п'ятилітерні групи.

шифр

Таким чином, остаточна шифрограма для прикладу буде виглядати «AVFFD AFXGG FDDA».