русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Российский стандарт цифровой подписи


Дата добавления: 2013-12-23; просмотров: 1469; Нарушение авторских прав


Алгоритм AES.

Алгоритм DES.

Долгое время самым популярным алгоритмом симметричного шифрования являлся DES (Data Encrypting Standart), принятый в 1977 году. Этот алгоритм базируется на структуре шифра Файстеля с размером блока 64 бита и 56-битным ключом. Функция раунда F использует набор из восьми так называемых S-матриц. Каждая матрица состоит из 4 строк, причем каждая строка представляет собой перестановку чисел от 0 до 15 (16 столбцов). Матрицы жестко заданы. Каждая матрица получает на вход шесть бит и выдает четырехбитовый результат. Первый и последний бит входного значения задают строку матрицы, а четыре остальных – столбец. Двоичное представление числа, находящегося на их пересечении, и будет результатом преобразования. Преобразование F заключается в следующем:

1. 32-битовый блок Ri расширяется до 48 битов с помощью специальной таблицы путем дублирования некоторых 16 битов.

2. Полученный результат складывается с 48-битным подключом Ki операцией XOR.

3. Результат сложения разбивается на 8 шестибитовых блоков и каждый из них преобразуется с помощью соответствующей S-матрицы.

4. Получившийся в итоге 32-битный блок подвергается жестко заданной в алгоритме перестановке.

Долгое время DES являлся федеральным стандартом шифрования США. Этот алгоритм показывает хороший лавинный эффект (изменение одного бита открытого текста или ключа приводит к изменению многих битов зашифрованного текста) и успешно противостоял многолетним попыткам взлома. Однако длина ключа в 56 битов при возросшей производительности ЭВМ сделала шифр потенциально уязвимым к перебору ключей, поэтому в 1997 году был объявлен конкурс на новый алгоритм.

Победитель конкурса был определен в 2000 году – им стал бельгийский шифр RIJNDAEL, который был переименован в AES (Advanced Encryption Standard). Он является нетрадиционным блочным шифром, поскольку не использует сеть Фейштеля. Каждый блок входных данных представляется в виде двумерного массива байт (4х4, 4х6 или 4х8 в зависимости от размера блока, которая может варьироваться). В зависимости от размера блока и длины ключа алгоритм содержит от 10 до 14 раундов, в каждом из которых проводится ряд преобразований – либо над независимыми столбцами, либо над независимыми строками, либо над отдельными байтами в таблице.



Среди других современных алгоритмов симметричного шифрования шифры IDEA, Blowfish, RC5, CAST-128.

 

 

Отечественный стандарт цифровой подписи (ГОСТ Р 34.10–94) вступил в силу в 1995 г. Алгоритм цифровой подписи, определяемый этим стандартом, концептуально близок американскому алгоритму DSA (Digital Signature Algorithm), который был предложен в 1991 г. Национальным институтом стандартов и технологий США для использования в стандарте цифровой подписи DSS (Digital Signature Standard). Алгоритм DSA является развитием алгоритмов цифровой подписи Эль Гамаля и К. Шнорра.

В российском стандарте цифровой подписи используются следующие параметры:

p – большое простое число длиной от 509 до 512 бит либо от 1020 до 1024 бит;

q – простой сомножитель числа (p −1), имеющий длину 254 … 256 бит;

α – любое целое число, меньшее (p −1), причем такое, что αqmod p=1;

δ – некоторое целое число, меньшее q;

β =αδ mod p.

Кроме того, этот алгоритм использует однонаправленную хэш-функцию H(⋅). Соответствующий российский стандарт ГОСТ Р 34.11–94 определяет хэш-функцию, основанную на использовании стандартного симметричного алгоритма ГОСТ 28147–89.

Первые три параметра p, q, α являются открытыми и могут быть общими для всех пользователей компьютерной сети. Число δ является секретным ключом, а число β – открытым ключом.

Чтобы подписать некоторое сообщение М, а затем проверить подпись, выполняются следующие шаги.

1. Абонент А генерирует случайное число r, причем r <q.

2. Абонент А вычисляет значения

k = (αr mod p)mod q,

s = (δ ⋅ k + r ⋅ (H(M)))mod q.

Если (H(M))mod q = 0, то значение (H(M))mod q принимают равным единице. Если k =0, то выбирают другое значение r, и алгоритм начинают снова.

Цифровая подпись представляет собой два числа:

rmod 2256 и smod 2256 .

Абонент А отправляет эти числа, а также открытый текст M абоненту Б.

3. Абонент Б проверяет полученную подпись, вычисляя

v=(H(M))q−2 mod q,

z1=(s v)mod q,

z2=((qk)⋅ v)mod q,

u =((αz1 ⋅βz2 )mod p)mod q.

Если u = r , то подпись считается подлинной.

Различие между этим алгоритмом и алгоритмом DSA заключается в том, что в DSA

s = (r−1(δ ⋅ k + (H(M))))mod q ,

что приводит к другому уравнению проверки подлинности цифровой подписи.

В американском стандарте цифровой подписи параметр q имеет длину 160 бит, в отечественном – 256 бит, что обеспечивает более безопасную подпись.

В 2001 г. в России принят еще один стандарт цифровой подписи – ГОСТ Р 34.10–2001, который базируется на математическом аппарате эллиптических кривых, использует хэш-функцию длиной 256 бит и обладает более высокой криптостойкостью, чем предыдущий стандартный алгоритм цифровой подписи ГОСТ Р 34.11–94.

В США с 2001 г. начал действовать новый стандарт на симметричные блочные криптосистемы – AES (Advanced Encryption Standard), заменивший DES. Алгоритм допускает размеры ключей в 128, 192 и 256 бит.

 



<== предыдущая лекция | следующая лекция ==>
Современные алгоритмы симметричного шифрования | ОСНОВНЫЕ ТЕХНОЛОГИИ ПОСТРОЕНИЯ ЗАЩИЩЕННЫХ ЭКОНОМИЧЕСКИХ ИНФОРМАЦИОННЫХ СИСТЕМ


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.004 сек.