Шифр XOR: відмінності між версіями

[неперевірена версія][неперевірена версія]
Вилучено вміст Додано вміст
Рядок 15:
Схематично генератори ПВЧ можуть бути реалізовані у вигляді скінченних автоматів, які включають двійкові тригерні комірки пам'яті. Якщо скінченний автомат має <math>n</math> комірок пам'яті, тоді він може приймати <math>2^{n}</math> різних внутрішніх станів <math>S.</math> Функція перетворення станів <math>g(K)</math> представляється за допомогою комбінаторної логіки.
 
ПроцесУ загальному, процес шифрування полягає у генерації відправником за допомогою ГПВЧ гами шифру й накладанні отриманої гами на відкритий текст таким чином, наприклад з використанням операції додавання по модулю 2, що в результаті отримується шифрований текст. Процес розшифрування зводиться до повторної генерації гами шифру отримувачем повідомлення й накладення цієї гами на зашифровані дані.
 
В якості ключового потоку можна використовувати нелінійно "відфільтровани" вміст зсувного регістру, а для отримання послідовності максимальної довжини - лінійний зворотний зв'язок.
[[Файл:Nonlinearlogicgamma.tif|центр|безрамки|415x415пкс]]
Функція f обирається таким чином, щоб забезпечити баланс між нулями та одиницями, а фільтрована послідовність мала розподіл, близький до рівномірного. Також потрібно, щоб фільрована послідовність мала великий період. Якщо <math>2^{m}-1</math> є простим числом (наприклад, при <math>m=3, \,\,\,\quad\,\,2^{3}-1=7</math>), то фільтрована послідовність може мати період <math>2^{m}-1</math> при виборі структури зсувового регістру у відповідності із незвідним тривіальним многочленом <math>h(X)</math> степені <math>m.</math> До таких <math>m</math> відносяться 2, 3, 5, 7, 13, 17, 19, 31, 61, 89, 107, 127, 607, 1279, 2203, 2281, а отримані таким чином чила є [[Число Мерсенна|простими числами Мерсенна]].
 
В колі зворотного зв'язку може використовуватися нелінійна логіка. Типовий нелінійний генератор із регістром зсуву представляє собою генератор, у схемі зворотного зв'язку якого засосовується нелінійна логіка. У лінійному генераторі використовувався лише зворотний зв'язок по модулю 2; цей зворотний зв'язок можна розглядати як "лінійну логіку". Прикладом нелінійної логіки може бути додавання по модулю 2 вихідного сигналу одного каскаду <math>S_{i}</math> із логічною комбінацією кон'юнкції вихідних сигналів двох інших каскадів (<math>S_{j}</math> та <math>S_{k}</math>). Це можна записати наступним чином:
 
<math>\text{Логіка зворотного зв'язку = } S_{i}+S_{j}S_{k.}</math>
 
Основною перевагою такого нелінійного генератора із регістром зсуву (у порівнянні із лінійним генератором й нелінійними генераторами інших типів) є те, що він дає більше "максимальних" послідовностей (довжиною <math>2^{n}</math>) при даному числі n каскадів регістру.
 
Якщо період гами шифру перевищує довжину тексту, який шифрується й нападнику невідома жодна частина відкритого тексту, то такий шифр можна відкрити лише прямим перебором усії варіантів ключа. У цьому випадку криптостійкість шифру визначається довжиною ключа, яка може бути достатньо великою.