- •Оглавление
- •1. Введение
- •3. Требования к криптосистемам
- •4. Краткая история. Традиционные симметричные криптосистемы
- •5. Классификация современных криптографических систем
- •Шифратор
- •Дешифратор
- •6. Симметричные Системы с закрытым (секретным) ключом
- •Шифратор
- •Дешифратор
- •6.1 Алгоритмы des и Тройной des
- •6.2 Алгоритм idea
- •6.3 Алгоритм гост 28147-89
- •6.4 Новый американский стандарт aes
- •7. Асимметричные Системы с открытым ключом
- •7.1 Математические основы шифрования с открытым ключом
- •7.2 Алгоритм rsa (Rivest, Shamir, Adleman)
- •7.3 Алгоритм Эль Гамаля
- •7.4 Алгоритм pgp (Pretty Good Privacy)
- •8. Электронная подпись
- •8.1 Электронная подпись на основе алгоритма rsa
- •8.2 Цифровая сигнатура
- •9. Управление ключами
- •9.2 Накопление ключей
- •9.4 Алгоритм Диффи-Хеллмана
- •10. Проблемы и перспективы криптографических систем
- •10.1 Шифрование больших сообщений и потоков данных
- •10.2 Использование “блуждающих ключей”
- •11. Основные типы криптоаналитических атак
Шифратор
Дешифратор
Несекретный
ключ Е
Секретный
ключ D
Генератор
ключей {E},
{D}
Рис. 3.2. Использование асимметричного метода шифрования с открытым ключом
Как отмечалось, основным недостатком асимметричных алгоритмов является их низкое быстродействие: данные алгоритмы в несколько тысяч раз медленнее симметричных алгоритмов! Поэтому для исключения данного недостатка используют технологии сочетания симметричных и асимметричных методов шифрования. В частности, текст шифруется быстродействующим симметричным алгоритмом, а секретный (случайный) ключ, сопровождающий текст, - асимметричным алгоритмом.
6. Симметричные Системы с закрытым (секретным) ключом
Современное проектирование алгоритмов шифрования данных основано на рациональном выборе функций, преобразующих исходные (незашифрованные) сообщения в шифртекст. Идея непосредственного применения такой функции ко всему сообщению реализуется крайне редко. Практически все применяемые криптографические методы связаны с разбиением сообщения на большое число фрагментов (или знаков) фиксированного размера, каждый из которых шифруется отдельно. Такой подход существенно упрощает задачу шифрования, так как сообщения обычно имеют различную длину.
Различают три основных способа шифрования 10.2.4:
поточные шифры;
блочные шифры;
блочные шифры с обратной связью.
В табл. 4.1 приведены типы криптосистем и их основные характеристики.
Таблица 4.1
Тип криптосистемы |
Операции с битами или блоками |
Зависимость от предыдущих знаков |
Позиционная зависимость |
Симметричность функции шифрования |
Поточного шифрования |
Биты |
Не зависит |
Зависит |
Симметричная |
Блочного шифрования |
Блоки |
Не зависит |
Не зависит |
Симметричная или несимметричная |
С обратной связью от шифртекста |
Биты или блоки |
Зависит |
Не зависит |
Симметричная |
Поточное шифрование состоит в том, что биты открытого текста складываются по модулю 2 с битами псевдослучайной последовательности. К достоинствам поточных шифров относятся высокая скорость шифрования, относительная простота реализации и отсутствие размножения ошибок. Недостатком является необходимость передачи информации синхронизации перед заголовком сообщения, которая должна быть принята до расшифрования любого сообщения. Это обусловлено тем, что если два различных сообщения шифруются на одном и том же ключе, то для расшифрования этих сообщений требуется одна и та же псевдослучайная последовательность. Такое положение может создать угрозу криптостойкости системы. Поэтому часто используют дополнительный, случайно выбираемый ключ сообщения, который передается в начале сообщения и применяется для модификации ключа шифрования. В результате разные сообщения будут шифроваться с помощью различных последовательностей.
Поточные шифры широко применяются для шифрования преобразованных в цифровую форму речевых сигналов и цифровых данных, требующих оперативной доставки потребителю информации. До недавнего времени такие применения были преобладающими для данного метода шифрования. Это обусловлено, в частности, относительной простотой проектирования и реализации генераторов хороших шифрующих последовательностей. Но самым важным фактором, конечно, является отсутствие размножения ошибок в поточном шифре. Стандартным методом генерирования последовательностей для поточного шифрования является метод, применяемый в стандарте шифрования DES в режиме обратной связи по выходу.
В настоящее время подавляющее большинство применяемых на практике симметричных систем с закрытым (секретным) ключом представляют собой блочные системы, которые задают параметризованное ключом преобразование блоков исходного сообщения (как правило, длиной 64 бита) в блоки шифрограммы.
При блочном шифровании открытый текст сначала разбивается на равные по длине блоки, затем применяется зависящая от ключа функция шифрования для преобразования блока открытого текста длиной m бит в блок шифртекста такой же длины.
Достоинством блочного шифрования является то, что каждый бит блока шифртекста зависит от значений всех битов соответствующего блока открытого текста, и никакие два блока открытого текста не могут быть представлены одним и тем же блоком шифртекста. Поэтому в настоящее время подавляющее большинство применяемых на практике как симметричных систем с закрытым (секретным) ключом так и асимметричных систем с открытым ключом представляют собой блочные системы, как правило, с длиной блоков в 64 бита.
Алгоритм блочного шифрования может использоваться в различных режимах. Четыре режима шифрования алгоритма DES практически применимы к любому блочному шифру.
Наиболее часто применяются системы блочного шифрования с обратной связью. Как и при простом блочном шифровании, сообщения разбиваются на ряд блоков. Для преобразования этих блоков в блоки шифртекста используются специальные функции шифрования. Однако, если в блочном шифре такая функция зависит только от ключа, то в блочных шифрах с обратной связью она зависит как от ключа, так и от одного или более предшествующих блоков шифртекста.
Достоинством криптосистем с блочного шифрования с обратной связью является возможность применения их для обнаружения манипуляций сообщениями, производимых активными перехватчиками. При этом используется факт размножения ошибок в таких шифрах, а также способность этих систем легко генерировать код аутентификации сообщений.
Основным недостатком систем блочного шифрования с обратной связью является размножение ошибок и сложность при разработке и реализации.
