![]() |
Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Схема цифровой подписи Эль Гамаля и ее модификации.
Схема Эль-Гамаля — криптосистема с открытым ключом, основанная на трудности вычисления дискретных логарифмов в конечном поле. Пусть Алиса собирается подписывать документы. Алиса выбирает большое простое число р и целое число g, такое, что различные степени g это различные числа по модулю р. Эти числа передаются или хранятся в открытом виде и могут быть общими для целой группы пользователей. Алиса выбирает случайное число х: Это число y Алиса публикует в качестве своего открытого ключа. Заметим, что при больших p, зная y, невозможно найти x (это задача дискретного логарифмирования). Теперь Алиса может подписывать сообщения. Допустим, она хочет подписать сообщение Вначале Алиса вычисляет значение хеш-функции Далее Алиса вычисляет числа Под Такое Получатель подписанного сообщения, прежде всего, заново вычисляет значение хеш-функции Если равенство выполняется, то подпись верна. Многочисленные модификации алгоритма Эль Гамаля связаны с несколькими шагами алгоритма. Во-первых, существует возможность при небольшом изменении формул выполнять все вычисления не по модулю р, а по модулю q, являющемуся наибольшим простым делителем р. Во-вторых, формула, вовлекающая секретный ключ и контрольную сумму(хеш-функцию) документа и выглядящая в базовом варианте как h = ks + xr является не единственно возможным соотношением. Другие формулы имеют вид: Способы ускорения процедур подписи и проверки На основе подписи Эль-Гамаля может быть построен более эффективный алгоритм, в котором время вычислений значительно сокращается за счет использования «коротких» показателей степени. Вначале для некоторого сообщества пользователей выбираются общие несекретные параметры. Прежде всего необходимо найти два простых числа, qдлиной 256 бит и р длиной 1024 бита, между которыми выполняется соотношение Данное равенство означает, что при возведении a в степени по модулюp показатели приводятся по модулю q, т.е. Стандарты цифровой подписи США (DSA) и России (ГОСТ Р 34.10) DSA. DSA (Digital Signature Algorithm) — криптографический алгоритм с использованием открытого ключа для создания электронной подписи, но не для шифрования (в отличие от RSA и схемы Эль-Гамаля). Подпись создается секретно, но может быть публично проверена. Это означает, что только один субъект может создать подпись сообщения, но любой может проверить её корректность. Алгоритм основан на вычислительной сложности взятия логарифмов в конечных полях. Вначале для некоторого сообщества пользователей выбираются общие несекретные параметры. Прежде всего необходимо найти два простых числа, q длиной 160 бит и р длиной 1024 бита, между которыми выполняется соотношение: Далее, каждый пользователь выбирает случайно число x, удовлетворяющее неравенству Число x будет секретным ключом пользователя, а число у — открытым ключом. Предполагается, что открытые ключи всех пользователей указываются в некотором несекретном, но «сертифицированном» справочнике, который должен быть у всех, кто собирается проверять подписи. Пусть имеется сообщение m, которое необходимо подписать. Генерация подписи выполняется следующим образом: 1. Вычисляем значение хеш-функции 2. Формируем случайное число k, 3. Вычисляем 4. Вычисляем 5. Получаем подписанное сообщение Для проверки подписи делаем следующее. 1. Вычисляем хеш-функцию для сообщения 2. Вычисляем 3. Вычисляем 4. Проверяем выполнение равенства Если же все проверки удачны, то подпись считается подлинной. ГОСТ Р34.10-2012(" Информационная технология. Криптографическая защита информации. Процессы формирования и проверки электронной цифровой подписи" ). Формирование цифровой подписи. ГОСТ Р 34.10-2012 - российский стандарт, описывающий алгоритмы формирования и проверки электронной подписи. ГОСТ Р 34.10-2012 основан на эллиптических кривых. Стойкость алгоритма основывается на сложности вычисления дискретного логарифма в группе точек эллиптической кривой, а также на стойкости хэш-функции. Согласно ГОСТ Р 34.10-2012 электронная подпись позволяет: 1. Аутентифицировать лицо, подписавшее сообщение; 2. Контролировать целостность сообщения; 3. Защищать сообщение от подделок; 4. Доказать авторство лица, подписавшего сообщение. Для получения ЭП под сообщением M необходимо выполнить следующие действия: 1. Вычислить хэш-функцию от сообщения 2. Вычислить целое число a, двоичным представлением которого является вектор 3. Сгенерировать случайное целое число 0< k< q 4. Вычислить точку эллиптической кривой 5. Вычислить значение 6. Вычислить двоичные векторы Исходными данными этого процесса являются ключ подписи d и подписываемое сообщение M, а выходным результатом — электронная подпись Проверка цифровой подписи Для проверки ЭП 1. По полученной подписи 2. Вычислить хэш-функцию от сообщения 3. Вычислить целое число a, двоичным представлением которого является вектор 4. Вычислить значение 5. Вычислить значения 6. Вычислить точку эллиптической кривой 7. Если выполнено равенство Исходными данными этого процесса являются подписанное сообщение M, цифровая подпись Популярное:
|
Последнее изменение этой страницы: 2016-04-11; Просмотров: 1473; Нарушение авторского права страницы