Потоковые шифры

advertisement
Криптосистемы
Симметричные
Ассиметричные
 Потоковые
 Блочные
Ключи шифрования и дешифрования совпадают
Различные ключи шифрования и дешифрования
Таблица истинности XOR
a
b
0
1
0
1
0
0
1
1
Пример:
101
200 = 173
01100101
11001000
10101101
101
200
173 (128+32+8+4+1)
Свойства операции XOR
 Инволютивность
(A ⊕ B) ⊕ B == A.
Пример:
((100 ⊕ 200) ⊕ 50) ⊕ 150= 8
8 ⊕ 150 ⊕ 50 ⊕ 200 = 100
a
⊕b
0
1
1
0
Совершенно секретные
криптосистемы
M={M1,M2,…,Mm} – множество сообщений
K={K1,K2,…,Kn}- множество ключей
E={E1,E2,…,Ek} – множество криптограмм
Ej =f(Mi,Kt}
Априорное распределение вероятностей
P(Mi), i={1,…,m}
P(A|B) – условная вероятность
…
P(“привет”)=0.3
P(“тытут”)=0.1
P(“здравствуй”)=0.3
…
P(“тытут”|”фэфхф”) = 1
фэфхф
A
B
(Шифр Цезаря)
Шифр Вернама
M={Mi}, Mi={0,1}*, |Mi|<=n
K=M, P(Ki)=1/2n
1<= i<=2n
Для
Mi = m1m2…mn
Ki = k1k2…kn
Ei = e1e2…en = Mi ⊕ Ki (шифровка)
Mi = Ei ⊕ Ki (дешифровка)
Пример:
100101 m
111000 k
_______________________
011101
e
011101 e
111000 k
_______________________
100101
m
Шифр Вернама является совершенно секретной
криптосистемой
Симметричное шифрование
Потоковые шифры
Шифр, в котором криптограмма получается по правилу
yi=xi
⊕ zi , i=1..n
а z1…zn – псевдослучайная последовательность
называется потоковым.
Дешифрование:
xi=yi
⊕ zi , i=1..n
Генераторы псевдослучайных чисел
Линейный конгруэнтный генератор
псевдослучайных чисел
Правило:
a,b,c - коэффициенты
z0 – начальное значение
Пример:
a=5,b=12,c=23
z0 =4
RC4
K0K1…KL
(n-битные слова)
ГПСЧ
z0 z1 z2…
zi ∈ {0,…,2n-1}
S=(0,1,2,…, 2n-1)
Перемешивание
Генерация
n←0
i← (i+1) mod 2n
j← (j+Si) mod 2n
Sj ↔ Si
t← (Sj + Si) mod 2n
zn←St
n←n+1
Пример
K=25 (L=2), n=3
S=(0,1,2,3,4,5,6,7)
Перемешивание
Генерация
WAKE, VEST, Rabbit, ISAAC
Related documents
Download