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