Симметричные алгоритмы
Использование классических симметричных алгоритмов предполагает применение только одной секретной единицы в системе — ключа, позволяющего отправителю зашифровать сообщение, а получателю расшифровать его. Стойкость хорошей шифровальной системы должно определяться только секретностью ключа, т.е. предполагается, что собственно алгоритм шифрования может быть открыт.
Ниже перечислены основные классы преобразований, используемые в симметричных системах.
· Моно- и многоалфавитные подстановки — замена символов или строк исходного сообщения на другие символы или строки по некоторому правилу, определяемому ключом. Это простой метод и для обеспечения высокой криптостойкости требуется использование больших ключей.
· Перестановки — изменение порядка следования строк. Этот тривиальный прием обычно используется в сочетании с другими методами.
· Гаммирование — наложение на открытые данные псевдослучайной последовательности, генерируемой на основе ключа;
· Блочные шифры — использование комбинации перечисленных методов, с возможным чередованием и повторением, для шифрования блока, т.е. части сообщения. Чаще всего используемый метод. Стандартизованные алгоритмы шифрования обычно относятся к этому классу.
Пример гаммирования:
· пусть исходное сообщение есть последовательность 16-ричных чисел
16h | 50h | 40h | FAh | 20h | E4h | EEh | 81h |
· пусть генератор псевдослучайных чисел имеет вид Xi = (Xi-1*343FDh+269EC3h), и псевдослучайная последовательность формируется из xi = ((Xi SHR 16) AND 7FFFh) SHR 7;
· пусть ключ равен 10h 20h 30h 40h;
· пусть генератор инициализируется ключом, рассматриваемым как 32-разрядное число, т.е. X0 = 10203040h;
· пусть гамма накладывается путем побитового логического сложения по модулю 2 символа гаммы и соответствующего символа сообщения.
Генерация гаммы:
Шаг i | Xi | xi |
10203040h | ||
ED570E03h | DAh | |
81E340BAh | 03h | |
99DC4495h | 33h | |
82886504h | 05h | |
E26E7FB7h | C4h | |
31ECBB9Eh | 63h | |
7F1063E9h | FEh | |
093A5708h | 12h |
Шифрование:
Сообщение | 16h | 50h | 40h | FAh | 20h | E4h | EEh | 81h |
Гамма | DAh | 03h | 33h | 05h | C4h | 63h | FEh | 12h |
Криптограмма | ССh | 53h | 73h | FFh | E4h | 87h | 10h | 93h |
Процесс расшифровывания состоит в генерации гаммы шифра на основании секретного ключа и наложении гаммы на криптограмму.
Можно указать следующие требования к генератору гаммы:
1. Период гаммы должен быть достаточно большим для кодирования сообщения большой длины.
2. Гамма должна быть труднопредсказуемой. Например, если известен генератор и часть гаммы, то нельзя предсказать следующий за этой частью бит гаммы с вероятностью выше небольшого p. Аналогично для куска гаммы, предшествующего известной части.
3. Генерирование гаммы не должно представлять существенных технических сложностей.
Таким образом, стойкость системы зависит как от характеристик генератора, так и от собственно алгоритма получения гаммы.
Примеры блочных шифров:
1. DES (Data Encryption Standard) — алгоритм, принятый в качестве федерального стандарта США в 1977 г. Алгоритм открыт и был многократно опубликован. При шифровании используется 64-разрядный ключ, причем для кодирования применяется только 56 разрядов, а остальные 8 являются контрольными. Каждый блок кодируется независимо. Программные и аппаратные реализации не сложны. Недостаток состоит в малой длине ключа.
2. ГОСТ 28.147-89 «Системы обработки информации. Защита криптографическая. Алгоритм криптографического преобразования» — российский стандарт на алгоритм криптографической защиты для крупных ИС, ЛВС и ПЭВМ. Может быть реализован как программно, так и аппаратно. В соответствии с имеющейся нормативной базой может быть использован для защиты информации любой степени секретности. Ключ состоит из 256 разрядов. Недостатком является сложность и низкая скорость программной реализации.
Дата добавления: 2018-11-25; просмотров: 589;