Шифр Вернама (інша назва: англ. one-time pad - схема одноразових блокнотів) — у криптографії, система симетричного шифрування, винайдена в 1917 році співробітниками і . Шифр Вернама є єдиною системою шифрування, для якої доведена .
Опис
Для утворення шифротексту повідомлення об'єднується операцією XOR з ключем (названим одноразовим блокнотом або ). При цьому ключ повинен мати чотири критично важливі властивості:
- Бути справді випадковим;
- Збігатися за розміром з заданим відкритим текстом;
- Застосовуватися тільки один раз;
- Повинен зберігатися в повній таємниці сторонами, що спілкуються.
Шифр названий на честь телеграфіста AT&T Гільберта Вернама, який у 1917 році побудував телеграфний апарат, що виконував цю операцію автоматично - треба було тільки подати на нього стрічку з ключем. Не будучи шифрувальником, Вернам, тим не менш, помітив важливу властивість свого шифру - кожна стрічка повинна використовуватися тільки один раз і після цього знищуватися. Це було важко застосувати на практиці - тому апарат був перероблений на кілька зациклених стрічок із взаємно простими періодами.
Розвиток
На початку 20 ст. для передачі повідомлень все ширше і ширше використовувалися телетайпи. Тому потрібні були методи, що дозволяють шифрувати текст не до того, як він потрапляє до телеграфіста, а безпосередньо в момент передачі, і, відповідно, розшифровувати в момент прийому. Дуже хотілося доручити цю справу машині. Як виявилося, коливання струму в лінії передачі можна легко записати за допомогою осцилографа і потім перетворити у літери переданого повідомлення. Змінивши з'єднання проводів телетайпа, телеграфісти отримували повідомлення, зашифроване . Усі розуміли, що такий захист надто слабкий, але, не зумівши вигадати нічого іншого, користувалися ним доти, поки Вернам не запропонував використовувати для кодування повідомлень особливості телетайпного коду, в якому знак, що кодується, виражається у вигляді п'яти елементів. Кожен з цих елементів символізує наявність («плюс») або відсутність («мінус») електричного струму в лінії зв'язку. Наприклад, літера «А» відповідає комбінація «+ - - - -». Підготовлене до відправки повідомлення набивається на перфострічці: отвору відповідає «плюс» коду, його відсутність - «мінус». В процесі передачі металеві щупи телетайпа проходять через отвори, замикаючись у ланцюг, і посилають імпульси струму («+»). Там, де отворів немає і папір не дозволяє щупам замкнути ланцюг, імпульс не передається («-»).
Для шифрування Вернам запропонував заздалегідь готувати «гаму» - перфострічку з випадковими знаками - і потім електромеханічно складати її імпульси з імпульсами знаків відкритого тексту. Отримана сума являла собою шифротекст. На приймальному кінці імпульси, отримані по каналу зв'язку, складалися з імпульсами тієї ж самої «гами», в результаті чого відновлювалися вихідні імпульси повідомлення. А якщо повідомлення перехоплювати, то без «гами» розшифрувати його було неможливо, противник бачив тільки беззмістовну послідовність «плюсів» і «мінусів».
Подальше вдосконалення методу, запропонованого Вернамом, належить майбутньому начальнику зв'язку військ США Джозефу Моборну, який об'єднав хаотичність «гами», на яку спирався Вернам у своїй системі «», з використовуваним у той час у військах правилом «одноразового шифрблокнота». Ідея Моборна полягала в тому, що кожна випадкова «гама» повинна використовуватися один, і тільки один раз. При цьому для шифрування кожного знака всіх текстів, які вже передані або будуть передані в найближчому майбутньому, повинен застосовуватися абсолютно новий і такий, що не піддається передбаченню, знак «гами».
Криптографічна стійкість
У 1945 році Клод Шеннон написав роботу (розсекречену лише після Другої світової війни у 1949 р.), у якій довів абсолютну стійкість шифру Вернама. Інших шифрів з цією властивістю не існує. Але дана властивість забезпечується лише за умови використання випадкового ключа, довжина якого дорівнює довжині повідомлення. Це обмеження робить використання шифру недоцільним, оскільки для обміну ключами сторони мають передати по захищеному каналу об’єм інформації, що дорівнює повідомленню (за наявності такого каналу доцільніше одразу передати саме повідомлення).
Наведемо підтвердження абсолютної криптографічної стійкості. Нехай повідомлення представлене двійковою послідовністю довжини . Розподіл ймовірності повідомлень може бути будь-яким. Ключ також представлений двійковою послідовністю тієї ж довжини, але з рівномірним розподілом для всіх ключів.
Відповідно до схеми шифрування, зробимо шифротекст, покомпонентно сумуючи за модулем 2 послідовності відкритого тексту та ключа:
Легальний користувач знає ключ і здійснює розшифрування:
Знайдемо ймовірнісний розподіл N-блоків шифротекстів, використовуючи формулу:
Результат підтверджує відомий факт про те, що сума двох випадкових величин, одна з яких має дискретний рівномірний розподіл на кінцевій групі, є випадковою величиною з рівномірним розподілом. Таким чином, у нашому випадку розподіл шифротекстів рівномірний.
Запишемо спільний розподіл відкритих текстів та шифротекстів:
Знайдемо умовний розподіл
оскільки ключ та відкритий текст є незалежними випадковими величинами. Отже:
Підстановка правої частини цієї формули у формулу для спільного розподілу дає
Що доводить незалежність шифротекстів та відкритих текстів у цій системі. Це й означає абсолютну криптографічну стійкість.
Сфера застосування
На практиці можна один раз фізично передати носій інформації з довгим дійсно випадковим ключем, а потім у міру потреби пересилати повідомлення. На цьому заснована ідея шифроблокнотів: шифрувальник при особистій зустрічі забезпечується блокнотом, кожна сторінка якого містить ключ. Такий же блокнот є і в сторони, що приймає повідомлення. Використані сторінки знищуються.
Крім того, якщо є два незалежних канали, у кожному з яких ймовірність перехоплення низька, але відрізняється від нуля, шифр Вернама також можна застосувати: по одному каналу можна передати зашифроване повідомлення, по другому - ключ. Для того, щоб розшифрувати повідомлення, перехоплювач повинен прослуховувати обидва канали.
Шифр Вернама може застосовуватися, якщо є односторонній захищений канал: ключ передається в одну сторону по захищеному каналу, в іншу сторону повідомлення захищаються ключем.
Не є шифром Вернама, але близька до нього схема одноразових кодів: наприклад, кодове слово «Альфа» означає «Повертаюсь».
Технічне застосування
У період між двома світовими війнами в більшості країн з'являються електромеханічні шифратори. Вони були двох типів. Перший - пристрій, що складається з та механізму зміни їх кутових положень. За обома сторонами комутаційного диска розміщені контакти, які відповідають алфавіту відкритого та шифрованого тексту. Контакти ці з'єднуються між собою відповідно до деякого правила підстановки, що зветься комутацією диска. Ця комутація визначає заміну літер в початковому кутовому положенні. При зміні кутового положення диска змінюється і правило підстановки. Таким чином, ключ шифрування містить кілька невідомих: схему з'єднання контактів і початкове кутове положення. Якщо після шифрування кожної літери міняти кутове положення диска - отримаємо багатоалфавітне шифрування. Ще складніший пристрій отримаємо, з'єднавши послідовно кілька дисків, кутові положення яких змінюються з різною швидкістю.
Широко відома шифромашина «Енігма», якою були оснащені німецькі війська часів Другої світової війни, є типовим прикладом пристрою на комутаційних дисках. Конструктивно «Енігма» була схожою на звичайну друкарську машинку, тільки натискання клавіші призводило не до удару молоточка по папері, а створювало електричний імпульс, що надходив у схему криптоперетворення. Американська шифромашина - типовий приклад другого типу шифратора, - шифратора на цівочних дисках.
Цікаво, що Радянський Союз виробляв шифромашини обох названих типів.
Таким чином, перед Другою світовою війною всі провідні країни мали на озброєнні електромеханічні шифросистеми, що мають високу швидкість обробки інформації і високу стійкість. Вважалося, що застосовувані системи неможливо розшифрувати, і криптоаналізу більше робити абсолютно нічого. Як часто буває, ця думка була згодом спростована, і дешифрувальники були безпосередніми учасниками бойових дій.
Приклад роботи
Нехай потрібно зашифрувати повідомлення: "Wikipedia". Кожній букві алфавіту A(a) ... Z(z) (вважатимо, що повідомлення не чутливе до регістру) задається відповідно число від 0 до 25. Тобто a = 0, b = 1 і так далі до z = 25. Для роботи шифру необхідно утворити ключ, розміром як саме повідомлення, з дійсно випадкових чисел, ключ також можна задати відповідними літерами. Перетворення проводиться при шифруванні за таблицею Віженера. Тобто буква ключа є стовпцем, буква повідомлення — рядком, а шифртекст — це буква на перетині.
Шифрування
Метод шифрування полягає в об’єднанні ключа і повідомлення за допомогою модульного додавання. Числове значення кожної літери додається до відповідного значення ключа за модулем 26 (кількість літер в алфавіті). Тобто якщо сума більша за 25, то від неї віднімається 26. Після чого утвореному числу відповідно ставиться буква.
Повідомлення: Wikipedia -> 22 8 10 8 15 4 3 8 0 Ключ: RPXHGQDYG -> 17 15 23 7 6 16 3 24 6 Повідомлення + ключ -> 39 23 33 15 21 20 6 32 6 (Повідомлення + ключ) за mod 26 -> 13 23 7 15 21 20 6 6 6 Зашифроване повідомлення: NXHPVUGGG
Дешифрування
Для дешифрування відповідні значення зашифрованого тексту та ключа віднімаються, знову ж таки за допомогою модульної арифметики. Якщо утворене різницею число від’ємне, то до нього додається 26, щоб воно було 0 або більше 0.
Зашифроване повідомлення: NXHPVUGGG -> 13 23 7 15 21 20 6 6 6 Ключ: RPXHGQDYG -> 17 15 23 7 6 16 3 24 6 Повідомлення - ключ -> -4 8 -16 8 15 4 3 -18 0 (Повідомлення - ключ) за mod 26 -> 22 8 10 8 15 4 3 8 0 Повідомлення: WIKIPEDIA
Вади
- Для роботи шифру Вернама необхідна дійсно випадкова послідовність нулів та одиниць (ключ). За визначенням, послідовність, отримана з використанням будь-якого алгоритму, є не зовсім випадковою, а псевдовипадковою. Тобто, потрібно отримати випадкову послідовність неалгорітмічно (наприклад, використовуючи радіоактивний розпад ядер, створений електронним генератором білий шум або інші досить випадкові події). Щоб зробити розподіл гранично близьким до рівномірного, випадкову послідовність зазвичай проганяються через хеш-функцію на кшталт MD5.
- Проблемою є таємна передача послідовності та збереження її в таємниці. Якщо існує надійно захищений від перехоплення канал передачі повідомлень, шифри взагалі не потрібні: секретні повідомлення можна передавати з цього каналу. Якщо ж передавати ключ системи Вернама за допомогою іншого шифру (наприклад, DES), то отриманий шифр буде захищеним рівно настільки, наскільки захищений DES. При цьому, оскільки довжина ключа така ж, як і довжина повідомлення, передати його не простіше, ніж повідомлення. Шифроблокнот на фізичному носії можна вкрасти або скопіювати.
- Можливі проблеми з надійним знищенням використаної сторінки. Це стосується як паперових сторінок блокнота, так і сучасних електронних реалізацій з використанням компакт-дисків або флеш-пам'яті.
- Якщо третя сторона якимось чином зрозуміє повідомлення, вона легко відновить ключ і зможе підмінити повідомлення на інше такої ж довжини.
- Шифр Вернама чутливий до будь-якого порушення процедури шифрування. Наприклад, контррозвідка США часто розшифровувала радянські та німецькі послання через неточності генератора випадкових чисел (програмний генератор псевдовипадкових чисел у німців і друкарка, що б'є по клавішах, в СРСР). Бували випадки, коли одна і та ж сторінка блокнота застосовувалася двічі - США також могли розшифровувати такі послання.
Тим не менш, схема шифроблокнотів досить надійна при ручній шифровці. Перераховані вище недоліки можна усунути, якщо застосувати квантову криптографію, зокрема, для генерації та передачі одноразових блокнотів. У разі використання квантової криптографії шифр Вернама також буде досить надійним.
Реалізація
Представлення літер в таблиці Unicode: A = 65 ... Z = 90
from random import randint # Генератор псевдовипадкових чисел def encrypt(message): crypt_text = "" keys = [] for symbol in message.upper(): key = randint(0, 25) # Генерація псевдовипадкового число keys.append(str(key)) if ord(symbol) < 65 or ord(symbol) > 90: # Якщо символ не з алфавіту, то замість нього ставиться пробіл crypt_text += " " else: # В іншому випадку за допомогою ключа шифрується літера num = ord(symbol) + key - 13 crypt_text += chr((num % 26) + 65) str_keys = " ".join(keys) # Перетворення списку ключів у стрічку print(crypt_text) print(str_keys) def decrypt(crypt_text, keys): arr_keys = keys.split(" ") # Перетворення стрічки ключів у список decrypt_text = "" for idx, symbol in enumerate(crypt_text): if ord(symbol) < 65 or ord(symbol) > 90: # Якщо символ не з алфавіту, то замість нього ставиться пробіл decrypt_text += " " else: # В іншому випадку вираховується номер з таблиці Unicode num = ord(symbol) - int(arr_keys[idx]) - 13 decrypt_text += chr((num % 26) + 65) print(decrypt_text) encrypt("Wikipedia") # Шифрування decrypt("NXHPVUGGG", "17 15 23 7 6 16 3 24 6") # Дешифрування
Шифр Вернама в мистецтві
В американському кінофільмі 2001 року "Пароль «Риба-меч»" хакер (якого грає Г'ю Джекмен) зламує саме шифр Вернама.
Цікаво
Ще в середині 1990-х шифр Вернама використовували для зв'яку між Москвою і Вашингтоном, ключ доставляли довіреним кур'єром.
Див. також
Джерела
- Тарнавський (2018). Технології захисту інформації [ 3 грудня 2021 у Wayback Machine.]. КПІ ім. Ігоря Сікорського.
Примітки
- Alfred J. Menezes, Paul C. van Oorschot, Scott A. Vanstone. Handbook of applied cryptography. — CRC-Press, 1996. — С. 21. — .
Посилання
- http://students.uni-vologda.ac.ru/pages/pm00/kan/symmetric.htm [ 23 квітня 2009 у Wayback Machine.]
- Шифроблокнот КГБ [ 29 січня 2009 у Wayback Machine.](англ.)
Це незавершена стаття з математики. Ви можете проєкту, виправивши або дописавши її. |
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Shifr Vernama insha nazva angl one time pad shema odnorazovih bloknotiv u kriptografiyi sistema simetrichnogo shifruvannya vinajdena v 1917 roci spivrobitnikami AT amp T i Shifr Vernama ye yedinoyu sistemoyu shifruvannya dlya yakoyi dovedena OpisDlya utvorennya shifrotekstu povidomlennya ob yednuyetsya operaciyeyu XOR z klyuchem nazvanim odnorazovim bloknotom abo Pri comu klyuch povinen mati chotiri kritichno vazhlivi vlastivosti Buti spravdi vipadkovim Zbigatisya za rozmirom z zadanim vidkritim tekstom Zastosovuvatisya tilki odin raz Povinen zberigatisya v povnij tayemnici storonami sho spilkuyutsya Shifr nazvanij na chest telegrafista AT amp T Gilberta Vernama yakij u 1917 roci pobuduvav telegrafnij aparat sho vikonuvav cyu operaciyu avtomatichno treba bulo tilki podati na nogo strichku z klyuchem Ne buduchi shifruvalnikom Vernam tim ne mensh pomitiv vazhlivu vlastivist svogo shifru kozhna strichka povinna vikoristovuvatisya tilki odin raz i pislya cogo znishuvatisya Ce bulo vazhko zastosuvati na praktici tomu aparat buv pereroblenij na kilka zaciklenih strichok iz vzayemno prostimi periodami RozvitokNa pochatku 20 st dlya peredachi povidomlen vse shirshe i shirshe vikoristovuvalisya teletajpi Tomu potribni buli metodi sho dozvolyayut shifruvati tekst ne do togo yak vin potraplyaye do telegrafista a bezposeredno v moment peredachi i vidpovidno rozshifrovuvati v moment prijomu Duzhe hotilosya doruchiti cyu spravu mashini Yak viyavilosya kolivannya strumu v liniyi peredachi mozhna legko zapisati za dopomogoyu oscilografa i potim peretvoriti u literi peredanogo povidomlennya Zminivshi z yednannya provodiv teletajpa telegrafisti otrimuvali povidomlennya zashifrovane Usi rozumili sho takij zahist nadto slabkij ale ne zumivshi vigadati nichogo inshogo koristuvalisya nim doti poki Vernam ne zaproponuvav vikoristovuvati dlya koduvannya povidomlen osoblivosti teletajpnogo kodu v yakomu znak sho koduyetsya virazhayetsya u viglyadi p yati elementiv Kozhen z cih elementiv simvolizuye nayavnist plyus abo vidsutnist minus elektrichnogo strumu v liniyi zv yazku Napriklad litera A vidpovidaye kombinaciya Pidgotovlene do vidpravki povidomlennya nabivayetsya na perfostrichci otvoru vidpovidaye plyus kodu jogo vidsutnist minus V procesi peredachi metalevi shupi teletajpa prohodyat cherez otvori zamikayuchis u lancyug i posilayut impulsi strumu Tam de otvoriv nemaye i papir ne dozvolyaye shupam zamknuti lancyug impuls ne peredayetsya Dlya shifruvannya Vernam zaproponuvav zazdalegid gotuvati gamu perfostrichku z vipadkovimi znakami i potim elektromehanichno skladati yiyi impulsi z impulsami znakiv vidkritogo tekstu Otrimana suma yavlyala soboyu shifrotekst Na prijmalnomu kinci impulsi otrimani po kanalu zv yazku skladalisya z impulsami tiyeyi zh samoyi gami v rezultati chogo vidnovlyuvalisya vihidni impulsi povidomlennya A yaksho povidomlennya perehoplyuvati to bez gami rozshifruvati jogo bulo nemozhlivo protivnik bachiv tilki bezzmistovnu poslidovnist plyusiv i minusiv Podalshe vdoskonalennya metodu zaproponovanogo Vernamom nalezhit majbutnomu nachalniku zv yazku vijsk SShA Dzhozefu Mobornu yakij ob yednav haotichnist gami na yaku spiravsya Vernam u svoyij sistemi z vikoristovuvanim u toj chas u vijskah pravilom odnorazovogo shifrbloknota Ideya Moborna polyagala v tomu sho kozhna vipadkova gama povinna vikoristovuvatisya odin i tilki odin raz Pri comu dlya shifruvannya kozhnogo znaka vsih tekstiv yaki vzhe peredani abo budut peredani v najblizhchomu majbutnomu povinen zastosovuvatisya absolyutno novij i takij sho ne piddayetsya peredbachennyu znak gami Kriptografichna stijkistU 1945 roci Klod Shennon napisav robotu rozsekrechenu lishe pislya Drugoyi svitovoyi vijni u 1949 r u yakij doviv absolyutnu stijkist shifru Vernama Inshih shifriv z ciyeyu vlastivistyu ne isnuye Ale dana vlastivist zabezpechuyetsya lishe za umovi vikoristannya vipadkovogo klyucha dovzhina yakogo dorivnyuye dovzhini povidomlennya Ce obmezhennya robit vikoristannya shifru nedocilnim oskilki dlya obminu klyuchami storoni mayut peredati po zahishenomu kanalu ob yem informaciyi sho dorivnyuye povidomlennyu za nayavnosti takogo kanalu docilnishe odrazu peredati same povidomlennya Navedemo pidtverdzhennya absolyutnoyi kriptografichnoyi stijkosti Nehaj povidomlennya predstavlene dvijkovoyu poslidovnistyu dovzhini N m m 1 m 2 m n displaystyle N m m 1 m 2 ldots m n Rozpodil jmovirnosti povidomlen P m m displaystyle P m m mozhe buti bud yakim Klyuch takozh predstavlenij dvijkovoyu poslidovnistyu k k 1 k 2 k n displaystyle k k 1 k 2 ldots k n tiyeyi zh dovzhini ale z rivnomirnim rozpodilom P k k 1 2 N displaystyle P k k 1 2 N dlya vsih klyuchiv Vidpovidno do shemi shifruvannya zrobimo shifrotekst pokomponentno sumuyuchi za modulem 2 poslidovnosti vidkritogo tekstu ta klyucha C M K m 1 k 1 m 2 k 2 m N k N displaystyle C M oplus K m 1 oplus k 1 m 2 oplus k 2 ldots m N oplus k N Legalnij koristuvach znaye klyuch i zdijsnyuye rozshifruvannya M C K c 1 k 1 c 2 k 2 c N k N displaystyle M C oplus K c 1 oplus k 1 c 2 oplus k 2 ldots c N oplus k N Znajdemo jmovirnisnij rozpodil N blokiv shifrotekstiv vikoristovuyuchi formulu P c a P m k a m P m P m k a m m P m 1 2 N 1 2 N displaystyle P c a P m oplus k a sum m P m P m oplus k a m sum m P m 1 2 N 1 2 N Rezultat pidtverdzhuye vidomij fakt pro te sho suma dvoh vipadkovih velichin odna z yakih maye diskretnij rivnomirnij rozpodil na kincevij grupi ye vipadkovoyu velichinoyu z rivnomirnim rozpodilom Takim chinom u nashomu vipadku rozpodil shifrotekstiv rivnomirnij Zapishemo spilnij rozpodil vidkritih tekstiv ta shifrotekstiv P m a c b P m a P c b m a displaystyle P m a c b P m a P c b m a Znajdemo umovnij rozpodil P c b m a P m k b m a P k b a m a P k b a 1 2 N displaystyle P c b m a P m oplus k b m a P k b oplus a m a P k b oplus a 1 2 N oskilki klyuch ta vidkritij tekst ye nezalezhnimi vipadkovimi velichinami Otzhe P c b m a 1 2 N displaystyle P c b m a 1 2 N Pidstanovka pravoyi chastini ciyeyi formuli u formulu dlya spilnogo rozpodilu daye P m a c b P m a 1 2 N displaystyle P m a c b P m a 1 2 N Sho dovodit nezalezhnist shifrotekstiv ta vidkritih tekstiv u cij sistemi Ce j oznachaye absolyutnu kriptografichnu stijkist Sfera zastosuvannyaNa praktici mozhna odin raz fizichno peredati nosij informaciyi z dovgim dijsno vipadkovim klyuchem a potim u miru potrebi peresilati povidomlennya Na comu zasnovana ideya shifrobloknotiv shifruvalnik pri osobistij zustrichi zabezpechuyetsya bloknotom kozhna storinka yakogo mistit klyuch Takij zhe bloknot ye i v storoni sho prijmaye povidomlennya Vikoristani storinki znishuyutsya Krim togo yaksho ye dva nezalezhnih kanali u kozhnomu z yakih jmovirnist perehoplennya nizka ale vidriznyayetsya vid nulya shifr Vernama takozh mozhna zastosuvati po odnomu kanalu mozhna peredati zashifrovane povidomlennya po drugomu klyuch Dlya togo shob rozshifruvati povidomlennya perehoplyuvach povinen prosluhovuvati obidva kanali Shifr Vernama mozhe zastosovuvatisya yaksho ye odnostoronnij zahishenij kanal klyuch peredayetsya v odnu storonu po zahishenomu kanalu v inshu storonu povidomlennya zahishayutsya klyuchem Ne ye shifrom Vernama ale blizka do nogo shema odnorazovih kodiv napriklad kodove slovo Alfa oznachaye Povertayus Tehnichne zastosuvannyaU period mizh dvoma svitovimi vijnami v bilshosti krayin z yavlyayutsya elektromehanichni shifratori Voni buli dvoh tipiv Pershij pristrij sho skladayetsya z ta mehanizmu zmini yih kutovih polozhen Za oboma storonami komutacijnogo diska rozmisheni kontakti yaki vidpovidayut alfavitu vidkritogo ta shifrovanogo tekstu Kontakti ci z yednuyutsya mizh soboyu vidpovidno do deyakogo pravila pidstanovki sho zvetsya komutaciyeyu diska Cya komutaciya viznachaye zaminu liter v pochatkovomu kutovomu polozhenni Pri zmini kutovogo polozhennya diska zminyuyetsya i pravilo pidstanovki Takim chinom klyuch shifruvannya mistit kilka nevidomih shemu z yednannya kontaktiv i pochatkove kutove polozhennya Yaksho pislya shifruvannya kozhnoyi literi minyati kutove polozhennya diska otrimayemo bagatoalfavitne shifruvannya She skladnishij pristrij otrimayemo z yednavshi poslidovno kilka diskiv kutovi polozhennya yakih zminyuyutsya z riznoyu shvidkistyu Shiroko vidoma shifromashina Enigma yakoyu buli osnasheni nimecki vijska chasiv Drugoyi svitovoyi vijni ye tipovim prikladom pristroyu na komutacijnih diskah Konstruktivno Enigma bula shozhoyu na zvichajnu drukarsku mashinku tilki natiskannya klavishi prizvodilo ne do udaru molotochka po paperi a stvoryuvalo elektrichnij impuls sho nadhodiv u shemu kriptoperetvorennya Amerikanska shifromashina tipovij priklad drugogo tipu shifratora shifratora na civochnih diskah Cikavo sho Radyanskij Soyuz viroblyav shifromashini oboh nazvanih tipiv Takim chinom pered Drugoyu svitovoyu vijnoyu vsi providni krayini mali na ozbroyenni elektromehanichni shifrosistemi sho mayut visoku shvidkist obrobki informaciyi i visoku stijkist Vvazhalosya sho zastosovuvani sistemi nemozhlivo rozshifruvati i kriptoanalizu bilshe robiti absolyutno nichogo Yak chasto buvaye cya dumka bula zgodom sprostovana i deshifruvalniki buli bezposerednimi uchasnikami bojovih dij Priklad robotiNehaj potribno zashifruvati povidomlennya Wikipedia Kozhnij bukvi alfavitu A a Z z vvazhatimo sho povidomlennya ne chutlive do registru zadayetsya vidpovidno chislo vid 0 do 25 Tobto a 0 b 1 i tak dali do z 25 Dlya roboti shifru neobhidno utvoriti klyuch rozmirom yak same povidomlennya z dijsno vipadkovih chisel klyuch takozh mozhna zadati vidpovidnimi literami Peretvorennya provoditsya pri shifruvanni za tabliceyu Vizhenera Tobto bukva klyucha ye stovpcem bukva povidomlennya ryadkom a shifrtekst ce bukva na peretini Shifruvannya Metod shifruvannya polyagaye v ob yednanni klyucha i povidomlennya za dopomogoyu modulnogo dodavannya Chislove znachennya kozhnoyi literi dodayetsya do vidpovidnogo znachennya klyucha za modulem 26 kilkist liter v alfaviti Tobto yaksho suma bilsha za 25 to vid neyi vidnimayetsya 26 Pislya chogo utvorenomu chislu vidpovidno stavitsya bukva Povidomlennya Wikipedia gt 22 8 10 8 15 4 3 8 0 Klyuch RPXHGQDYG gt 17 15 23 7 6 16 3 24 6 Povidomlennya klyuch gt 39 23 33 15 21 20 6 32 6 Povidomlennya klyuch za mod 26 gt 13 23 7 15 21 20 6 6 6 Zashifrovane povidomlennya NXHPVUGGG Deshifruvannya Dlya deshifruvannya vidpovidni znachennya zashifrovanogo tekstu ta klyucha vidnimayutsya znovu zh taki za dopomogoyu modulnoyi arifmetiki Yaksho utvorene rizniceyu chislo vid yemne to do nogo dodayetsya 26 shob vono bulo 0 abo bilshe 0 Zashifrovane povidomlennya NXHPVUGGG gt 13 23 7 15 21 20 6 6 6 Klyuch RPXHGQDYG gt 17 15 23 7 6 16 3 24 6 Povidomlennya klyuch gt 4 8 16 8 15 4 3 18 0 Povidomlennya klyuch za mod 26 gt 22 8 10 8 15 4 3 8 0 Povidomlennya WIKIPEDIAVadiDlya roboti shifru Vernama neobhidna dijsno vipadkova poslidovnist nuliv ta odinic klyuch Za viznachennyam poslidovnist otrimana z vikoristannyam bud yakogo algoritmu ye ne zovsim vipadkovoyu a psevdovipadkovoyu Tobto potribno otrimati vipadkovu poslidovnist nealgoritmichno napriklad vikoristovuyuchi radioaktivnij rozpad yader stvorenij elektronnim generatorom bilij shum abo inshi dosit vipadkovi podiyi Shob zrobiti rozpodil granichno blizkim do rivnomirnogo vipadkovu poslidovnist zazvichaj proganyayutsya cherez hesh funkciyu na kshtalt MD5 Problemoyu ye tayemna peredacha poslidovnosti ta zberezhennya yiyi v tayemnici Yaksho isnuye nadijno zahishenij vid perehoplennya kanal peredachi povidomlen shifri vzagali ne potribni sekretni povidomlennya mozhna peredavati z cogo kanalu Yaksho zh peredavati klyuch sistemi Vernama za dopomogoyu inshogo shifru napriklad DES to otrimanij shifr bude zahishenim rivno nastilki naskilki zahishenij DES Pri comu oskilki dovzhina klyucha taka zh yak i dovzhina povidomlennya peredati jogo ne prostishe nizh povidomlennya Shifrobloknot na fizichnomu nosiyi mozhna vkrasti abo skopiyuvati Mozhlivi problemi z nadijnim znishennyam vikoristanoyi storinki Ce stosuyetsya yak paperovih storinok bloknota tak i suchasnih elektronnih realizacij z vikoristannyam kompakt diskiv abo flesh pam yati Yaksho tretya storona yakimos chinom zrozumiye povidomlennya vona legko vidnovit klyuch i zmozhe pidminiti povidomlennya na inshe takoyi zh dovzhini Shifr Vernama chutlivij do bud yakogo porushennya proceduri shifruvannya Napriklad kontrrozvidka SShA chasto rozshifrovuvala radyanski ta nimecki poslannya cherez netochnosti generatora vipadkovih chisel programnij generator psevdovipadkovih chisel u nimciv i drukarka sho b ye po klavishah v SRSR Buvali vipadki koli odna i ta zh storinka bloknota zastosovuvalasya dvichi SShA takozh mogli rozshifrovuvati taki poslannya Tim ne mensh shema shifrobloknotiv dosit nadijna pri ruchnij shifrovci Pererahovani vishe nedoliki mozhna usunuti yaksho zastosuvati kvantovu kriptografiyu zokrema dlya generaciyi ta peredachi odnorazovih bloknotiv U razi vikoristannya kvantovoyi kriptografiyi shifr Vernama takozh bude dosit nadijnim RealizaciyaPython Predstavlennya liter v tablici Unicode A 65 Z 90from random import randint Generator psevdovipadkovih chisel def encrypt message crypt text keys for symbol in message upper key randint 0 25 Generaciya psevdovipadkovogo chislo keys append str key if ord symbol lt 65 or ord symbol gt 90 Yaksho simvol ne z alfavitu to zamist nogo stavitsya probil crypt text else V inshomu vipadku za dopomogoyu klyucha shifruyetsya litera num ord symbol key 13 crypt text chr num 26 65 str keys join keys Peretvorennya spisku klyuchiv u strichku print crypt text print str keys def decrypt crypt text keys arr keys keys split Peretvorennya strichki klyuchiv u spisok decrypt text for idx symbol in enumerate crypt text if ord symbol lt 65 or ord symbol gt 90 Yaksho simvol ne z alfavitu to zamist nogo stavitsya probil decrypt text else V inshomu vipadku virahovuyetsya nomer z tablici Unicode num ord symbol int arr keys idx 13 decrypt text chr num 26 65 print decrypt text encrypt Wikipedia Shifruvannya decrypt NXHPVUGGG 17 15 23 7 6 16 3 24 6 DeshifruvannyaShifr Vernama v mistectviV amerikanskomu kinofilmi 2001 roku Parol Riba mech haker yakogo graye G yu Dzhekmen zlamuye same shifr Vernama CikavoShe v seredini 1990 h shifr Vernama vikoristovuvali dlya zv yaku mizh Moskvoyu i Vashingtonom klyuch dostavlyali dovirenim kur yerom Div takozhSimetrichne shifruvannya Odnorazovij parol Steganografiya Vidstan yedinostiDzherelaTarnavskij 2018 Tehnologiyi zahistu informaciyi 3 grudnya 2021 u Wayback Machine KPI im Igorya Sikorskogo PrimitkiAlfred J Menezes Paul C van Oorschot Scott A Vanstone Handbook of applied cryptography CRC Press 1996 S 21 ISBN 0849385237 Posilannyahttp students uni vologda ac ru pages pm00 kan symmetric htm 23 kvitnya 2009 u Wayback Machine Shifrobloknot KGB 29 sichnya 2009 u Wayback Machine angl Ce nezavershena stattya z matematiki Vi mozhete dopomogti proyektu vipravivshi abo dopisavshi yiyi