Шифр Віженера — поліалфавітний шифр , який як ключ використовує слово.
Якщо пронумерувати літери алфавіту від 0 до 32 (а → 0, б → 1, в → 2, …), то шифрування Віженера можна подати формулою:
Ci = (Pi + Kj ) mod 33,
де Kj — j-та літера ключового слова, Pi — і-а літера вихідного слова.
Ключове слово повторюється, поки не отримано гаму , рівну довжині повідомлення.
Дешифрування відбувається за наступною формулою:
Ci = (Pi + 33 - Kj ) mod 33
Отримав назву на честь Блеза де Віженера , хоча насправді його винайшов італійський криптограф Джованні Баттіста Белласо .
Табличне представлення
_
а
б
в
г
ґ
д
е
є
ж
з
и
і
ї
й
к
л
м
н
о
п
р
с
т
у
ф
х
ц
ч
ш
щ
ь
ю
я
а
б
в
г
ґ
д
е
є
ж
з
и
і
ї
й
к
л
м
н
о
п
р
с
т
у
ф
х
ц
ч
ш
щ
ь
ю
я
а
б
в
г
ґ
д
е
є
ж
з
и
і
ї
й
к
л
м
н
о
п
р
с
т
у
ф
х
ц
ч
ш
щ
ь
ю
я
а
б
в
г
ґ
д
е
є
ж
з
и
і
ї
й
к
л
м
н
о
п
р
с
т
у
ф
х
ц
ч
ш
щ
ь
ю
я
а
б
в
г
ґ
д
е
є
ж
з
и
і
ї
й
к
л
м
н
о
п
р
с
т
у
ф
х
ц
ч
ш
щ
ь
ю
я
а
б
в
г
ґ
д
е
є
ж
з
и
і
ї
й
к
л
м
н
о
п
р
с
т
у
ф
х
ц
ч
ш
щ
ь
ю
я
а
б
в
г
ґ
д
е
є
ж
з
и
і
ї
й
к
л
м
н
о
п
р
с
т
у
ф
х
ц
ч
ш
щ
ь
ю
я
а
б
в
г
ґ
д
е
є
ж
з
и
і
ї
й
к
л
м
н
о
п
р
с
т
у
ф
х
ц
ч
ш
щ
ь
ю
я
а
б
в
г
ґ
д
е
є
ж
з
и
і
ї
й
к
л
м
н
о
п
р
с
т
у
ф
х
ц
ч
ш
щ
ь
ю
я
а
б
в
г
ґ
д
е
є
ж
з
и
і
ї
й
к
л
м
н
о
п
р
с
т
у
ф
х
ц
ч
ш
щ
ь
ю
я
а
б
в
г
ґ
д
е
є
ж
з
и
і
ї
й
к
л
м
н
о
п
р
с
т
у
ф
х
ц
ч
ш
щ
ь
ю
я
а
б
в
г
ґ
д
е
є
ж
з
и
і
ї
й
к
л
м
н
о
п
р
с
т
у
ф
х
ц
ч
ш
щ
ь
ю
я
а
б
в
г
ґ
д
е
є
ж
з
и
і
ї
й
к
л
м
н
о
п
р
с
т
у
ф
х
ц
ч
ш
щ
ь
ю
я
а
б
в
г
ґ
д
е
є
ж
з
и
і
ї
й
к
л
м
н
о
п
р
с
т
у
ф
х
ц
ч
ш
щ
ь
ю
я
а
б
в
г
ґ
д
е
є
ж
з
и
і
ї
й
к
л
м
н
о
п
р
с
т
у
ф
х
ц
ч
ш
щ
ь
ю
я
а
б
в
г
ґ
д
е
є
ж
з
и
і
ї
й
к
л
м
н
о
п
р
с
т
у
ф
х
ц
ч
ш
щ
ь
ю
я
а
б
в
г
ґ
д
е
є
ж
з
и
і
ї
й
к
л
м
н
о
п
р
с
т
у
ф
х
ц
ч
ш
щ
ь
ю
я
а
б
в
г
ґ
д
е
є
ж
з
и
і
ї
й
к
л
м
н
о
п
р
с
т
у
ф
х
ц
ч
ш
щ
ь
ю
я
а
б
в
г
ґ
д
е
є
ж
з
и
і
ї
й
к
л
м
н
о
п
р
с
т
у
ф
х
ц
ч
ш
щ
ь
ю
я
а
б
в
г
ґ
д
е
є
ж
з
и
і
ї
й
к
л
м
н
о
п
р
с
т
у
ф
х
ц
ч
ш
щ
ь
ю
я
а
б
в
г
ґ
д
е
є
ж
з
и
і
ї
й
к
л
м
н
о
п
р
с
т
у
ф
х
ц
ч
ш
щ
ь
ю
я
а
б
в
г
ґ
д
е
є
ж
з
и
і
ї
й
к
л
м
н
о
п
р
с
т
у
ф
х
ц
ч
ш
щ
ь
ю
я
а
б
в
г
ґ
д
е
є
ж
з
и
і
ї
й
к
л
м
н
о
п
р
с
т
у
ф
х
ц
ч
ш
щ
ь
ю
я
а
б
в
г
ґ
д
е
є
ж
з
и
і
ї
й
к
л
м
н
о
п
р
с
т
у
ф
х
ц
ч
ш
щ
ь
ю
я
а
б
в
г
ґ
д
е
є
ж
з
и
і
ї
й
к
л
м
н
о
п
р
с
т
у
ф
х
ц
ч
ш
щ
ь
ю
я
а
б
в
г
ґ
д
е
є
ж
з
и
і
ї
й
к
л
м
н
о
п
р
с
т
у
ф
х
ц
ч
ш
щ
ь
ю
я
а
б
в
г
ґ
д
е
є
ж
з
и
і
ї
й
к
л
м
н
о
п
р
с
т
у
ф
х
ц
ч
ш
щ
ь
ю
я
а
б
в
г
ґ
д
е
є
ж
з
и
і
ї
й
к
л
м
н
о
п
р
с
т
у
ф
х
ц
ч
ш
щ
ь
ю
я
а
б
в
г
ґ
д
е
є
ж
з
и
і
ї
й
к
л
м
н
о
п
р
с
т
у
ф
х
ц
ч
ш
щ
ь
ю
я
а
б
в
г
ґ
д
е
є
ж
з
и
і
ї
й
к
л
м
н
о
п
р
с
т
у
ф
х
ц
ч
ш
щ
ь
ю
я
а
б
в
г
ґ
д
е
є
ж
з
и
і
ї
й
к
л
м
н
о
п
р
с
т
у
ф
х
ц
ч
ш
щ
ь
ю
я
а
б
в
г
ґ
д
е
є
ж
з
и
і
ї
й
к
л
м
н
о
п
р
с
т
у
ф
х
ц
ч
ш
щ
ь
ю
я
а
б
в
г
ґ
д
е
є
ж
з
и
і
ї
й
к
л
м
н
о
п
р
с
т
у
ф
х
ц
ч
ш
щ
ь
ю
я
а
б
в
г
ґ
д
е
є
ж
з
и
і
ї
й
к
л
м
н
о
п
р
с
т
у
ф
х
ц
ч
ш
щ
ь
ю
я
а
б
в
г
ґ
д
е
є
ж
з
и
і
ї
й
к
л
м
н
о
п
р
с
т
у
ф
х
ц
ч
ш
щ
ь
ю
я
По вертикалі вибираємо літери відкритого тексту , а по горизонталі — ключа , на перетині цих значень отримуємо знаки шифротексту .
Приклад
Наприклад,
Відкритий текст : «полі/алфа/вітн/ий ши/фр»
Ключ : «ключ/ключ/ключ/кл юч/кл»
Шифротекст : «аайд/кьтч/мцрі/фш цґ/дв».
У разі, якщо ключове слово рівне довжині повідомлення і використовується лише один раз, такий варіант шифра Віженера практично еквівалентний Шифрові Вернама .
З появою комп'ютерних мереж, часто використовується аналогічний за принципом побудови шифр XOR .
Криптоаналіз
Зважаючи на те, що даний шифр був досить поширений у Європі з часів Відродження, перші відомості про метод його криптоаналізу були опублікований Фрідріхом Казіскі у 1863 році, і отримали назву Метод Казіскі .
У 1920 році Вільям Фредерік Фрідман опублікував роботу, у якій, зокрема, йшлося про універсальний показник, для знаходження довжини ключа, що спрощувало криптоаналіз поліалфавітних шифрів — Індекс збігу .
Криптоаналіз виконується так:
1. Знаходиться довжина ключа . Шифротекст розбивається на групи по номеру літери ключового слова.
2. За допомогою частотного аналізу груп знаходяться літери ключа .
У разі, якщо відомо частину відкритого тексту , ефективніша атака з відомим відкритим текстом .
Посилання
Класичні шифри, підстановка Класичні шифри, перестановка Сучасні шифри