Криптография. 1 История криптографии
Скачать 251.1 Kb.
|
№7 Современные комбинированные шифрыПри комбинированном шифровании реализуются принципы как блочного, так и поточного шифрования. При этом возможно использование блочного шифра в поточном режиме (гаммирование, шифрование с обратной связью) и поточного шифра в блочном режиме (шифрование блоков). Комбинированное шифрование применяется на практике в различных режимах стандартов шифрования ГОСТ 28147-89 и DES. Одноключевые криптографические алгоритмы наиболее хорошо известны в огромном мире криптографии. Сравнительные характеристики некоторых из них представлены в табл. 5.1. Все приведенные в табл. 1 одноключевые алгоритмы используют сложный режим шифрования с обратной связью CFB американского федерального стандарта шифрования данных DES. Двухключевые криптографические системы характеризуются на использовании двух ключей: открытого (несекретного) и закрытого (секретного). Особенность двухключевых систем состоит в возможности получения двух разновидностей шифрования в зависимости от вариантов применения открытого и секретного ключей. №8 системы шифрования с секретным ключом Криптометоды с секретным ключом, или как их ещё называют, симметричные методы , используют один и тот же ключ для шифрования и дешифрования, поэтому его нужно хранить в секрете от третьих лиц, поскольку, зная ключ и имея соответствующий криптоалгоритм, злоумышленник может дешифровать данные. Симметричные системы отличаются высокой скоростью работы (по сравнению с асимметричными), что позволяет применять их для шифрования крупных объёмов данных. Симметричные криптосистемы делятся в свою очередь ещё на две группы: на блочные и поточные методы. Блочные шифры применяют одно и то же преобразование к тексту, разбитому на блоки, длина которых может быть равна 8, 16, 24, 32 байтам в зависимости от криптометода. Криптосистема, предоставляемая .NET, работает по принципу построения цепочки блочных шифров (Cipher Block Chaining - CBC), которая использует ключ и вектор инициализации (Initialization Vector - IV). Простая блочная система шифрования, не использующая вектор инициализации, преобразует один и тот же блок исходного текста в тот же самый блок зашифрованного текста, т. е. безо всяких перемещений и рекомбинаций. Если у вас был дублированный блок в исходном тексте, то он появится и в зашифрованном. В результате, зная структуру исходного текста, злоумышленник может дешифровать соответствующую часть криптограммы и определить ключ шифрования. Чтобы этого избежать, в технологии CBC информация из предыдущего блока внедряется в шифруемый следующий блок. Поскольку такой подход использует предыдущий блок для шифрования следующего, то IV шифрует самый первый блок. Это позволяет защитить заголовок (первый блок), чтобы взломщик не мог использовать его для получения ключа.
Другая группа симметричных криптосистем - поточные методы. Эти методы применяют изменяющиеся во время шифрования преобразования к наборам символов, образующим единый исходный текст. Среди симметричных алгоритмов можно выделить следующие: DES (Data Encryption Standard), DES 2, различные вариации TripleDES, Rijndael/AES (Advanced Encryption Standard), RC2, RC4, ГОСТ 28147-89… Если взглянуть на их алгоритмы, то очевидно, что многие из них основаны на операторе XOr. Вообще, впервые оператор " исключающий или " был применён в так называемом методе одноразовых блокнотов , изученном Клодом Шенноном. Действовал этот метод по следующему принципу: бралась строка исходного текста и строка ключа такой же длины, после чего каждый символ исходного текста XOr’ился с соответствующим символом строки ключа. Этот метод работает и как шифровщик, и как дешифровщик, поскольку повторный вызов функции XOr возвращает исходное значение.
Инфраструктура .NET Framework содержит классы для работы со следующими методами: DES, TripleDES, RC2, Rijndael. Но если воспользоваться услугами CryptoAPI, то можно также получить возможность работать с поточным симметричным методом шифрования RC4. Позже мы рассмотрим примеры использования всех этих методов, а сейчас перейдём к следующему криптографическому примитиву - к шифрованию с открытым ключом (асимметричная система). |