lec_7.ppt
- Количество слайдов: 9
CИММЕТРИЧНЫЕ КРИПТОСИСТЕМЫ
Функции криптосистемы Криптосистема – это завершенная комплексная модель, способная производить двусторонние криптопреобразования над данными произвольного объема, обладающая механизмом преобразования паролей и ключей и системой транспортного кодирования. Криптосистема выполняет три основные функции: • . усиление защищенности данных, • . облегчение работы с криптоалгоритмом со стороны человека • обеспечение совместимости потока данных с другим программным обеспечением. Конкретная программная реализация криптосистемы называется криптопакетом.
Методы, используемые при создании криптопакетов Шифрование (блочное) Создание цепочек Рандомизации сообщений Для того, чтобы одни и те же данные, передаваемые по сети многократно, шифровались каждый раз по-новому, необходимо внесение в процесс шифрования по специальным схемам какой-либо случайной информации. Две основные методики внесения случайности в процесс шифрования представляют из себя : а) внесение случайных бит в сам шифруемый файл с игнорированием их на дешифрующей стороне, б) шифрование исходного файла случайным ключом. Архивация
Хеширование паролей Для того, чтобы не заставлять человека запоминать ключ – длинную последовательность цифр, были разработаны методы преобразования строки символов любой длины (так называемого пароля) в блок байт заранее заданного размера (ключ). На алгоритмы, используемые в этих методах, накладываются требования, сравнимые с требованиями на сами криптоалгоритмы. Хеш-функцией (от англ. hashing – мелкая нарезка и перемешивание) называется такое математическое или алгоритмическое преобразование заданного блока данных, которое обладает следующими свойствами: . хеш-функция имеет бесконечную область определения, . хеш-функция имеет конечную область значений, . она необратима, . изменение входного потока информации на один бит меняет около половины всех бит выходного потока, то есть результата хеш-функции.
Пример формирования ключа с использованием хеш-функции Вся строка-пароль разбивается на блоки байт, равные по длине ключу используемого для хеширования блочного шифра Первоначальное значение хеш-результата H 0 устанавливается равным 0, Производятся преобразования по реккурентной формуле: Hj=Hj-1 XOR En. Crypt(Hj-1, PSWj), где En. Crypt(X, Key) – используемый блочный шифр. Последнее значение Hk используется в качестве искомого результата.
Транспортное кодирование В некоторых системах передачи информации требуется, чтобы поток содержал только определенные символы ASCII кодировки. Однако, выходной поток криптоалгоритма имеет очень высокую рандомизацию и в нем встречаются с равной вероятностью все 256 символов. Для преодоления этой проблемы используется транспортное кодирование. Транспортное кодирование - дополнительное кодирование (не шифрование !) информации исключительно для обеспечения совместимости с протоколами передачи данных. Наиболее простой метод состоит в записи каждого байта двумя шестнадцатиричными цифрами-символами. Байт 252 будет записан двумя символами 'FC'; Байт с кодом 26, попадающий на специальный символ CTRL-Z, будет записан двумя допустимыми символами '1 A'. Эта схема очень избыточна : в одном байте передается только 4 бита информации.
Система Base 64 (стандарт RFC 1251). Кодируются 3 байта произвольного содержания 4 -мя байтами из исключительно разрешенных (так называемых печатных) символов. Исходный текст блокируется по 3 символа: 24 бита исходного текста 8 бит 6 бит 8 бит 6 бит Эти группы затем рассматриваются как 4 соединенные 6 -битные группы, каждая из которых транслируется в одиночную цифру алфавита base 64 Каждая 6 -битная группа используется как индекс для массива 64 -х печатных символов. Эти символы выбраны так, чтобы быть универсально представимыми и исключают символы, имеющие специальное значение (". ", CR, LF).
Значение 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Код A B C D E F G H I J K L M N O P Q Алфавит Base 64 Значение Код Значение 17 R 34 18 S 35 19 T 36 20 U 37 21 V 38 22 W 39 23 X 40 24 Y 41 25 Z 42 26 a 43 27 b 44 28 c 45 29 d 46 30 e 47 31 f 48 32 g 49 33 h 50 Код Значение i 51 j 52 k 53 l 54 m 55 n 56 o 57 p 58 q 59 r 60 s 61 t 62 u 63 v заполнитель w x y Код z 0 1 2 3 4 5 6 7 8 9 + / =
Общая схема симметричной криптосистемы


