Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Несимметричные криптографические системы или системы с открытым ключом




Функция у=f(x) является односторонней, если она за сравнительно небольшое число операций преобразует элемент открытого текста x в элемент шифротекста у для всех значений x из области определения функции, а обратная операция x=f-1(y) при известном y является вычислительно трудоемкой или невозможной (в идеале)

В качестве простейшей односторонней функции используют:

1) умножение матриц

2)скалярное произведение

3) вычисление значения полинома по модулю

4)экспоненциальные вычисления

В криптографических системах этого типа ключи шифрования и дешифрования различаются таким образом, что с помощью вычислений нельзя вывести один ключ из другого. Достигается это за счет применения в алгоритме генератора ключей односторонней функции с секретом.

Под односторонней функцией с секретом (с лазейкой, с потайной дверью - a trap-door one-way) называется зависящая от параметра k фукция y=fk(x), такая, что знание k дает возможность легко построить обратное преобразование x=fk-1(y), тогда как без знания k определение х по известному y вычислительно не осуществимо.

В несим криптосистемах общедоступным является только ключ для процесса шифрования, а процедура дешифрования известна лишь обладателю секретного ключа.

Конечно, оба ключа связаны особым образом (в каждой криптосистеме по-разному), но распространение открытого ключа не разрушает криптостойкость системы.

В асимметричных системах должно удовлетворяться следующее требование: нет такого алгоритма (или он пока неизвестен), который бы из криптотекста и открытого ключа выводил исходный текст. Стойкость шифра зависит от длины ключа, и, если, пожертвовав скоростью, применить ключевую последовательность достаточного размера, можно добиться любой требуемой степени надежности.

А – отправитель
W-перехватчик
Открытый канал связи
B- получатель
дешифратор
шифратор

 

 

 
 
Справочник открытых ключей

 


Секретный ключ получателя

Генератор ключевой пары
Открытый ключ

ПРИМЕРЫ современных несимметричных алгоритмов

1. RSA

2. PGP – Pretty Good Privacy (Филипп Циммерман)

3. Диффи-Хеллмана

4. Эль-Гамаля

Э лектронная Ц ифровая П одпись - ЭЦП

Служит для:

1) удостоверения подлинности документа

2) удостоверения подлинности автора

3) запрета отказа от авторства подписанного документа

4) защищает от изменения документа.


Шифрование в Windows

В операционных системах Windows широко используется шифрование как с симметричным, так и с открытым и частным ключом. Например, хеши паролей учетных записей пользователей Windows шифруются с симметричным ключом. Таким образом, если взломщики украдут копию SAM или Active Directory (AD), то им будет трудно расшифровать пароли пользователей. Можно повысить безопасность систем Windows, выбирая места хранения симметричного ключа с помощью утилиты Syskey. Но при работе с Syskey следует соблюдать осторожность, чтобы не лишиться доступа к системе, потеряв сохраненный вне ее ключ. Windows располагает собственной инфраструктурой PKI, которая основана на Certificate Services и интегрирована с AD и Group Policy. В работе Windows PKI задействованы и многие другие компоненты Windows. Автоматизирован ряд трудоемких задач, связанных с управлением PKI, таких как регистрация сертификатов и обновление и публикация списка отмены сертификатов (certificate revocation list — CRL).

Шифрование широко применяется в двух компонентах Windows — IPsec и Encrypting File System (EFS). В IPsec шифрование как симметричным, так и открытым и частным ключом используется для защиты информации, пересылаемой через сеть. Сертификаты применяются для начальной аутентификации двух устанавливающих соединение компьютеров, а затем собственно пакеты шифруются с помощью DES или Triple DES (3DES).

В EFS оба типа шифрования используются для защиты файлов на жестком диске на тот случай, если компьютер или жесткий диск будут украдены. Часто шифрование с открытым и частным ключом более предпочтительно, так как не нужно обмениваться секретным ключом, но алгоритм с симметричным ключом по-прежнему очень важен, поскольку процесс с открытым и частным ключом довольно медленный. Поэтому, чтобы использовать преимущества обоих способов, информация часто шифруется симметричным ключом, который потом зашифровывается открытым ключом получателя. Пример такого подхода — шифрованная файловая система EFS. Для каждого зашифрованного файла EFS генерирует симметричный ключ шифрования файла (file encryption key — FEK) и шифрует файлы блоками с применением DES, 3DES или AES. Затем EFS шифрует FEK открытым ключом пользовательского сертификата EFS и сохраняет FEK вместе с файлом на жестком диске. Когда впоследствии пользователь обращается к файлу, EFS расшифровывает FEK частным ключом пользователя. Для защиты частных ключей пользовательских сертификатов в реестре Windows предусмотрено специальное хранилище, где зашифрованы частные ключи и другая секретная информация. Ключи можно хранить и в файловой системе. Ключи защищены мастер-ключом, который в свою очередь защищен хешем пароля пользователя. Таким образом, пароль пользователя — краеугольный камень, на котором основана защита всех остальных элементов. Именно поэтому важно применять надежные пароли.

11. Однонаправленные хэш-функции

 

Криптографические хэш-функции hash function -применяются в криптографии в алгоритмах шифрования, а также для формирования ЭЦП   Однонаправленной Хэш-функцией называется вычислительно необратимая функция, осуществляющая преобразование массива данных произвольного размера в блок данных фиксированного размера - Хэш-код(“цифровой отпечаток”). Это односторонняя функция, предназначенная для получения дайджеста или "цифрового отпечатка" файла, сообщения или некоторого блока данных. Хэш-код создается функцией Н: H (O) = h Где O является сообщением произвольной длины и h является хэш-кодом фиксированной длины, меньшей или равной длине О. Таким образом, хэш-код сложным образом зависит от сообщения O и является его сжатым представлением, но не позволяет восстановить исходное сообщение. Все хэш-функции выполняются следующим образом. Входное значение (сообщение, файл и т.п.) рассматривается как последовательность n-битовых блоков. Входное значение обрабатывается последовательно блок за блоком, и создается m-битовое значение хэш-кода. Одним из простейших примеров хэш-функции является поразрядный XOR каждого блока: Hi = bi1 ⊕ bi2 ⊕... ⊕ bik Где Hi - i-ый бит хэш-кода, 1 ≤ i ≤ n. k - число n-битовых блоков входа. bij - i-ый бит в j-ом блоке. ⊕ - операция XOR. В результате получается хэш-код длины n, известный как продольный избыточный контроль. Этот метод является эффективным при случайных сбоях для проверки целостности данных. Часто при использовании подобного продольного избыточного контроля для каждого блока выполняется однобитовый циклический сдвиг после вычисления хэш-кода. Это можно описать следующим образом.
  • Установить n-битовый хэш-код в ноль.
  • Для каждого n-битового блока данных выполнить следующие операции:
    • сдвинуть циклически текущий хэш-код влево на один бит;
    • выполнить операцию XOR для очередного блока и хэш-кода.
Это придает эффект "случайности" входным данным и уничтожает любую регулярность, которая присутствует во входных значениях. Рассмотрим требования, которым должна соответствовать хэш-функция для того, чтобы она могла использоваться в качестве аутентификатора сообщения.
  1. Хэш-функция Н должна применяться к блоку данных любой длины.
  2. Хэш-функция Н создает выход фиксированной длины.
  3. Н (O) относительно легко (за полиномиальное время) вычисляется для любого значения O.
  4. Для любого данного значения хэш-кода h вычислительно невозможно найти O такое, что Н (O) = h – свойство необратимости.
  5. Для любого данного х вычислительно невозможно найти y ≠ x, что H (y) = H (x) – защита от подделки.
  6. Вычислительно невозможно найти произвольную пару (х, y) такую, что H (y) = H (x) – стойкость к коллизиям.
Очевидно, что длина хэш-кода должна быть достаточно большой. Длина, равная 64 битам, в настоящее время не считается безопасной. Предпочтительнее, чтобы длина составляла порядка 128 бит.

Например, количество арифметических операций, необходимых для того, чтобы найти другой блок данных, имеющий такой же хэш, как и исходный, для хэш-функции MD5, составляет приблизительно 264; для MD5 предполагаемое количество операций, необходимых для вычисления исходного сообщения по известному результату хэширования, равно 2128

Хэш-функция MD5

MD5 (MD2, MD4 - Message Digest)– автор Ron Rivest – 128 -битовая функция, исходное сообщение разбивается на блоки 512 бит.

Алгоритм MD4

MD5 является более сложным и, следовательно, более медленным при выполнении, чем MD4. Считается, что добавление сложности оправдывается возрастанием уровня безопасности

SHA (Secure Hash Algorithm) – семейство функций разработано Управлением Национальной Безопасности США. SHA-1 это 160-битовая хэш-функция, основанная на алгоритме MD4. Наличие общего предшественника делает SHA-1 схожей с MD5, однако SHA-1 обладает более консервативной структурой и работает в 3 раза медленнее. В алгоритме используется 160-битовое промежуточное состояние, которое разбивается на 5*32-битовых слов. Как и в MD5 выполняются 4 раунда, но вместо обработки каждого блока сообщения по 4 раза, используется линейная рекуррентная функция для того, наличие которой гарантирует, что каждый бит сообщения используется по меньшей мере 10 раз. Единственным отличием SHA-1 от SHA-0 стало добавление к линейной рекуррунтной функции циклического сдвига на один бит.

Существуют SHA-256, SHA-384, SHA-512. Функция SHA-256 (выдает 256-битовый результат) работает намного медленнее, чем SHA-1 и занимает примерно такое же время, как и AES-шифрование.

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...