Шифр Віженера

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до: навігація, пошук

Шифр Віженера  — поліалфавітний шифр, який у якості ключа використовує слово.

Якщо пронумерувати літери алфавіту від 0 до 32 (а → 0, б → 1, в → 2, …), то шифрування Віженера є можливим представити формулою

Ci = (Pi + Kj) mod 33,

де Kj — j-та літера ключового слова.

Ключове слово повторюється, поки не отримано гаму, рівну довжині повідомлення.

Отримав назву на честь Блеза де Виженера.

Табличне представлення[ред.ред. код]

а б в г ґ д е є ж з и і ї й к л м н о п р с т у ф х ц ч ш щ ь ю я
а а б в г ґ д е є ж з и і ї й к л м н о п р с т у ф х ц ч ш щ ь ю я
б б в г ґ д е є ж з и і ї й к л м н о п р с т у ф х ц ч ш щ ь ю я а
в в г ґ д е є ж з и і ї й к л м н о п р с т у ф х ц ч ш щ ь ю я а б
г г ґ д е є ж з и і ї й к л м н о п р с т у ф х ц ч ш щ ь ю я а б в
ґ ґ д е є ж з и і ї й к л м н о п р с т у ф х ц ч ш щ ь ю я а б в г
д д е є ж з и і ї й к л м н о п р с т у ф х ц ч ш щ ь ю я а б в г ґ
е е є ж з и і ї й к л м н о п р с т у ф х ц ч ш щ ь ю я а б в г ґ д
є є ж з и і ї й к л м н о п р с т у ф х ц ч ш щ ь ю я а б в г ґ д е
ж ж з и і ї й к л м н о п р с т у ф х ц ч ш щ ь ю я а б в г ґ д е є
з з и і ї й к л м н о п р с т у ф х ц ч ш щ ь ю я а б в г ґ д е є ж
и и і ї й к л м н о п р с т у ф х ц ч ш щ ь ю я а б в г ґ д е є ж з
і і ї й к л м н о п р с т у ф х ц ч ш щ ь ю я а б в г ґ д е є ж з и
ї ї й к л м н о п р с т у ф х ц ч ш щ ь ю я а б в г ґ д е є ж з и і
й й к л м н о п р с т у ф х ц ч ш щ ь ю я а б в г ґ д е є ж з и і ї
к к л м н о п р с т у ф х ц ч ш щ ь ю я а б в г ґ д е є ж з и і ї й
л л м н о п р с т у ф х ц ч ш щ ь ю я а б в г ґ д е є ж з и і ї й к
м м н о п р с т у ф х ц ч ш щ ь ю я а б в г ґ д е є ж з и і ї й к л
н н о п р с т у ф х ц ч ш щ ь ю я а б в г ґ д е є ж з и і ї й к л м
о о п р с т у ф х ц ч ш щ ь ю я а б в г ґ д е є ж з и і ї й к л м н
п п р с т у ф х ц ч ш щ ь ю я а б в г ґ д е є ж з и і ї й к л м н о
р р с т у ф х ц ч ш щ ь ю я а б в г ґ д е є ж з и і ї й к л м н о п
с с т у ф х ц ч ш щ ь ю я а б в г ґ д е є ж з и і ї й к л м н о п р
т т у ф х ц ч ш щ ь ю я а б в г ґ д е є ж з и і ї й к л м н о п р с
у у ф х ц ч ш щ ь ю я а б в г ґ д е є ж з и і ї й к л м н о п р с т
ф ф х ц ч ш щ ь ю я а б в г ґ д е є ж з и і ї й к л м н о п р с т у
х х ц ч ш щ ь ю я а б в г ґ д е є ж з и і ї й к л м н о п р с т у ф
ц ц ч ш щ ь ю я а б в г ґ д е є ж з и і ї й к л м н о п р с т у ф х
ч ч ш щ ь ю я а б в г ґ д е є ж з и і ї й к л м н о п р с т у ф х ц
ш ш щ ь ю я а б в г ґ д е є ж з и і ї й к л м н о п р с т у ф х ц ч
щ щ ь ю я а б в г ґ д е є ж з и і ї й к л м н о п р с т у ф х ц ч ш
ь ь ю я а б в г ґ д е є ж з и і ї й к л м н о п р с т у ф х ц ч ш щ
ю ю я а б в г ґ д е є ж з и і ї й к л м н о п р с т у ф х ц ч ш щ ь
я я а б в г ґ д е є ж з и і ї й к л м н о п р с т у ф х ц ч ш щ ь ю

По вертикалі вибираємо літери відкритого тексту, а по горизонталі — ключа, на перетині цих значень отримуємо знаки шифротексту.

Приклад[ред.ред. код]

Наприклад,

Відкритий текст: «полі/алфа/вітн/ий ши/фр»

Ключ: «ключ/ключ/ключ/кл юч/кл»

Шифротекст: «аайд/йщтц/лхіу/чц хґ/дв».

У разі, якщо ключове слово рівне довжині повідомлення і використовується лише один раз, такий варіант шифра Віженера практично еквівалентний Шифрові Вернама.

З появою комп'ютерних мереж, часто використовується аналогічний за принципом побудови шифр XOR.

Криптоаналіз[ред.ред. код]

Зважаючи на те, що даний шифр був досить поширений у Європі з часів Відродження, перші відомості про метод його криптоаналізу були опублікований Фрідріхом Казіскі у 1863 році, і отримали назву Метод Казіскі.

У 1920 році Вільям Фредерік Фрідман опублікував роботу, у якій, зокрема, йшлося про універсальний показник, для знаходження довжини ключа, що спрощувало криптоаналіз поліалфавітних шифрів — Індекс збігу.

Криптоаналіз виконується так:

1. Знаходиться довжина ключа. Шифротекст розбивається на групи по номеру літери ключового слова.

2. За допомогою частотного аналізу груп знаходяться літери ключа.

У разі, якщо відомо частину відкритого тексту, ефективніша атака з відомим відкритим текстом.

Посилання[ред.ред. код]

Шифр Віженера