Изменения

Перейти к: навигация, поиск

Сетевая безопасность

2258 байт добавлено, 22:51, 19 декабря 2016
Нет описания правки
Есть 2 типа симметричного ключа:
# Потоковый шифр - симметричный шифр, в котором каждый символ сообщения преобразуется в символ зашифрованного текста в зависимости от используемого ключа и его расположения в сообщении. Одним из самых популярных шифров данного типа является RC4. Он широко используется в алгоритмах обеспечения безопасности беспроводных сетей WEP и WPA, а также может использоваться в протоколах SSL и TLS. Этот шифр строится на основе генератора псевдослучайных битов. На вход генератора записывается ключ, а на выходе читаются псевдослучайные биты. Длина ключа может составлять от 40 до 2048 бит. Генерируемые биты при этом имеют равномерное распределение. Основными преимуществами RC4 являются высокая скорость работы и переменный размер ключа. При этом он довольно уязвим, если используются не случайные или связанные ключи или один ключевой поток используется дважды.
# Блочный шифр - симметричный шифр, оперирующий группами бит фиксированной длины - блоками, характерный размер которых меняется в пределах 64-256 бит. Если исходный текст (или его остаток) меньше размера блока, перед шифрованием его дополняют. Фактически, блочный шифр представляет собой подстановку на алфавите блоков, которая, как следствие, может быть моно- или полиалфавитной. Главным достоинством блочных шифров является сходство алгоритмов шифрования и расшифрования, которые почти всегда отличаются лишь порядком действий. Блочный шифр сам по себе состоит из двух алгоритмов: шифрования и расшифрования. Оба алгоритма можно представить в виде функций. Функция шифрования <tex>E</tex> (англ. ''encryption'' - шифрование) на вход получает блок данных <tex>M</tex> (англ. ''message'' - сообщение) размером <tex>n</tex> бит и ключ <tex>K</tex> (англ. ''key'' - ключ) размером <tex>k</tex> бит и на выходе отдает блок шифротекста <tex>C</tex> (англ. ''cipher'' - шифр) размером <tex>n</tex> бит: <tex>E_{K}(M) := E(K, M) : \{0, 1\}^{k} \times \{0, 1\}^{n} \rightarrow \{0, 1\}^{n}</tex>. Для любого ключа <tex>K</tex>, <tex>E_{K}</tex> является биекцией на множестве <tex>n</tex>-битных блоков. Функция расшифрования <tex>D</tex> (англ. ''decryption'' - расшифрование) на вход получает шифр <tex>C</tex>, ключ <tex>K</tex> и на выходе отдает <tex>M</tex>: <tex>D_{K}(C) := D(K, C) : \{0, 1\}^{k} \times \{0, 1\}^{n} \rightarrow \{0, 1\}^{n}</tex>, являясь, при этом, обратной к функции шифрования: <tex>D = E^{-1}</tex>, <tex>\forall K : D_{K}(E_{K}(M)) = M</tex> и <tex>E_{K}(D_{K}(C)) = C</tex>. Можно заметить, что ключ, необходимый для шифрования и дешифрования, один и тот же - следствие симметричности блочности шифра.
333
правки

Навигация