
- •Методы защиты информации в компьютерных технологиях Москва 2011
- •1. Основные направления криптологии.
- •2. Методы криптографических преобразований с открытым ключом.
- •2.1. Алгоритм нахождения числа по модулю.
- •2.2. Вычисление обратных величин в модулярной алгебре.
- •2.3. Алгоритм операции возведения числа в степень по модулю.
- •2.4. Определение односторонней функции.
- •3. Алгоритмы формирования и функционирования криптографических систем с открытым ключом.
- •3.1. Алгоритм криптографической системы rsa (Райвест-Шамир-Адлеман).
- •3.2. Алгоритм криптографической системы на основе вычисления дискретных логарифмов в конечном поле – алгоритм Эль Гамаля.
- •3.3. Алгоритм функционирования криптографической системы на основе дискретного логарифмирования в метрике эллиптических кривых.
- •3.3.1. Основные операции криптографических преобразований в метрике эллиптических кривых.
- •3.4. Преобразование Диффи-Хеллмана в системах криптографии с открытым ключом.
- •XcxпШифратор
- •3.5. Формирование криптограмм открытых сообщений и их дешифрование с использованием методов дискретного логарифмирования в метрике эллиптических кривых.
- •4.1. Вычисление множества точек удвоения заданной эллиптической кривой.
- •4.1.3. Вычисление координат точки [8]g, как результат удвоения точки [4]g:
- •4.1.4. Вычисление координат точки [16]g , как результат удвоения точки [8]g:
- •4.1.5. Вычисление координат точки [32]g , как результат удвоения точки [16]g:
- •4.1.6. Вычисление координат точки [64]g , как результат удвоения точки [32]g:
- •4.1.7. Вычисление координат точки [128]g , как результат удвоения точки [64]g:
- •4.2. Вычисление композиций точек удвоения [4]g; [8]g; [32]g; [64]g; [128]g заданной эллиптической кривой.
- •5. Алгоритм формирования открытого ключа абонента в.
- •5.1. Вычисление множеств точек удвоения заданной эллиптической кривой.
- •5.1.3. Вычисление точки [8]g, как результат удвоения точки [4]g:
- •5.1.4. Вычисление точки [16]g , как результат удвоения точки [8]g:
- •5.1.5. Вычисление точки [32]g , как результат удвоения точки [16]g:
- •5.1.6. Вычисление точки [64]g , как результат удвоения точки [32]g:
- •5.1.7. Вычисление точки [128]g , как результат удвоения точки [64]g:
- •5.2. Вычисление композиций различных точек удвоения заданной эллиптической кривой ( [2]g; [4]g; [16]g; [32]g; [128]g ).
- •6. Вычисление парного сеансового ключа шифрования-дешифрования для абонентов а и в на основе преобразований Диффи-Хеллмана.
- •6.1. Действие абонента в.
- •6.1.1. Вычисление точки [2]коа , как результат удвоения точки коа:
- •6.2. Вычисление композиций различных точек удвоения заданной эллиптической кривой: [2]коа; [4] коа; [16] коа; [32] коа; [128]коа).
- •7. Дешифрование абонентом а криптограммы, полученной от абонента в с использованием парного секретного симметричного ключа, сформированного по методу Диффи-Хеллмана в метрике эллиптических кривых.
- •7.1. Вычисление удвоений множества точек заданной эллиптической кривой на стороне абонента «а» по значению точки ков, характеризующей открытый ключ абонента «в».
- •7.1.1. Вычисление значения удвоения точки ков – [2]ков:
- •7.2. Вычисление композиций различных точек удвоения заданной эллиптической кривой: [4]ков; [8]ков; [32]ков; [64]коа; [128]ков).
- •7. 3. Дешифрование абонентом «а» криптограммы с, полученной от абонента «в».
- •4. Алгоритмы электронной цифровой подписи.
- •4.1. Алгоритм электронной цифровой подписи rsa (Райвест-Шамир-Адлеман).
- •4.2. Алгоритм электронной цифровой подписи Эль Гамаля (egsa). Egsa (el Gamal Signature Algorithm).
- •4. 3. Алгоритм электронной цифровой подписи dsa (Digital Signature Algorithm).
- •4.4. Алгоритм электронной цифровой подписи гост р34.10-94. (Отечественный стандарт электронной цифровой подписи).
- •4.5. Алгоритм электронной цифровой подписи гост р34.10-2001. (Отечественный стандарт электронной цифровой подписи).
- •3.1. Вычисление множества точек удвоения заданной эллиптической кривой.
- •3.1.3. Вычисление координат точки [8]g, как результат удвоения точки [4]g:
- •3.1.4. Вычисление координат точки [16]g , как результат удвоения точки [8]g:
- •3.1.5. Вычисление координат точки [32]g , как результат удвоения точки [16]g:
- •3.1.6. Вычисление точки [64]g , как результат удвоения точки [32]g:
- •3.1.7. Вычисление точки [128]g , как результат удвоения точки [64]g:
- •3.2. Вычисление композиций точек удвоения [4]g; [8]g; [32]g; [64]g; [128]g заданной эллиптической кривой.
- •4. Действие абонента-отправителя (абонента «а») по формированию электронной цифровой подписи электронного сообщения «м».
- •4.3.2. Вычисление композиций точек удвоения [256]g; [64]g; [16]g; [8]g; [2]g; g заданной эллиптической кривой.
- •4.3.2.3. Вычисление композиции точек [336]g и [8]g;
- •4.3.2.4. Вычисление композиции точек [344]g и [2]g;
- •4.3.2.5. Вычисление композиции точек [346]g и g;
- •4.5. Вычисление параметра электронной цифровой подписи Si .
- •5. Действия абонента «в» по приему и аутентификации подписанного электронного сообщения «м».
- •5.5.2. Вычисление композиции точек [32]g и [8]g;
- •5.5.3. Вычисление композиции точек [40]g и [4]g;
- •5.5.5. Вычисление композиций точек удвоения
- •5.5.5.1. Вычисление композиции точек [128]коа и [64]коа;
- •5.5.5.2. Вычисление композиции точек [192]коа и [32]коа;
- •5.5.5.3. Вычисление композиции точек [224]коа и [2]коа;
- •5.5.5.4. Вычисление композиции точек [u1]g и [u2]коа;
- •5.5.5.5. Сравниваются вычисленные значения параметра «r», принятого в составе эцп от абонента-отправителя и значения абсциссы точки «q» → «xq», вычисленное абонентом получателем.
- •6. Элементы симметричных криптографических преобразований.
- •6.2. Табличное шифрование методом перестановки по ключевому слову или фразе, задающими перестановку.
- •6.3. Табличное шифрование методом двойной перестановки.
- •6.5. Шифры сложной замены.
- •7. Корректирующие коды.
- •6. 1. Блочные коды.
- •6.1.1. Систематические коды.
- •6.1.2. Корректирующие коды с обнаружением искажений, применяемые в системах передачи и обработки информации.
- •7. Windows-кодирование.
- •7.1. Преобразование Windows-кодирования - коды Грея.
- •7.2. Преобразование Windows-кодирования в систематические коды.
- •7.3. Преобразование Windows-кодирования в коды Хэмминга.
- •7.5. Преобразование Windows-кодирования в коды Боуза-Чодхури-Хоквингема (бчх).
4. Алгоритмы электронной цифровой подписи.
Введение.
Построение криптографических систем с открытым ключом создало грандиозные предпосылки для формирования и научно-практического применения нового направления в компьютерных технологиях – создание электронного юридически значимого электронного документа. В Федерально Законе №1 от 10 января 2002 года утверждается, что целью настоящего Федерального Закона является обеспечение правовых условий для использования электронной цифровой подписи в электронных документах, при соблюдении которых электронная цифровая подпись в электронном документе признается равнозначной собственноручной подписи человека (гражданина или юридического лица) в документе на бумажном носителе. Практически все ведущие страны мира приняли у себя соответствующие законодательства. В июне месяце 1999 года Европейским Союзом принята директива «Об условиях использования электронных подписей»
На современном этапе развития общества и общественных отношений в Российской Федерации и зарубежных странах в процессы повседневной жизни внедряются информационно-телекоммуникационные технологии и системы. В этих условиях использование корпоративных, региональных и глобальных телекоммуникационных систем для обеспечения эффективной деятельности системы государственного управления и деловой жизни общества приобретает первостепенное значение.
Целью аутентификации электронных сообщений является их защита от возможных несанкционированных и злоумышленных действий:
- активный перехват: изменение электронных документов, передаваемых в компьютерных сетевых системах;
- маскарад: посыл электронного сообщения от другого лица под видом зарегистрированного абонента;
- ренегатство: отказ от отправленного электронного сообщения;
При обработке документов в электронной форме совершенно неприемлемы традиционные способы установления их подлинности, принципиально новым решением является электронная цифровая подпись. Система электронной цифровой подписи включает две глобальные процедуры:
- процедура постановки ЭЦП;
- процедура проверки ЭЦП.
В процессе постановки подписи используется секретный ключ КЗ отправителя электронного сообщения, а в процедуре проверки подписи используется открытый ключ КО отправителя электронного сообщения.
Структурная схема процесса формирования и функционирования электронной цифровой подписи представлена ни рис.6.
Сообщение
Мррр
Блок
хеширования
Шифратор
рррКО
КЗ
Дешифратор
Сообщение
«М»
Блок
хэширования сообщений
Шифратор
хэш-функции
КО
КЗ
Блок
хэширования сообщений
хэширования
Дешифратор
криптограммы Ch(M)
Блок
хэширования сообщений
Ch(M)
h(M)D
h(M)D
h(M)B
Сообщение Сообщение
модифицировано достоверно
h(M) B
Рис. 6 . Структурная схема процесса аутентификации электронного сообщения.
Где:
М – открытое сообщение;
h(M) – хэш-функция (функция свертки; дайджест сообщения) передаваемого открытого сообщения «М»;
Ch(M) – криптограмма хэш-функции открытого сообщения « М»;
КЗ – закрытый ключ абонента-отправителя электронного документа;
КО – открытый ключ абонента-отправителя электронного документа;
h(M)В – хэш-функция вычисленная из принятого сообщения «М»;
h(M)D – хэш-функция дешифрованная из принятой криптограммы Ch(M).
Допустим, абонент-отправитель электронного сообщения «А» формирует на своем компьютере сообщение «М» и подписывает его своей ЭЦП, а абонент «В» получает подписанное сообщение «М» и на основе ЭЦП проводит его аутентификацию.
В этом случае под сообщением «М» понимается любой стандарт файла сообщения, это может быть текстовое сообщение, графический материал, фотографии, рисунки, видеофильмы и т.д.
Действие абонента-отправителя «А» электронного сообщения «М».
Абонент-отправитель аутентифицированного сообщения «М» после его формирования реализует операцию хеширования, т.е. сообщение «М» подается на блок вычисления хеш-функции. Эта операция получила также название как операция вычисления функции свертки или операция формирования дайджест-сообщения.
Основное назначение хеш-функции состоит в формировании однозначного отображения образа исходного сообщения в виде короткого блока информации. В соответствии с ГОСТ Р34.11-94 длина блока отображения образа исходного сообщения составляет 256 бит и не зависит от размера исходного текста. На вход блока хеширования поступает сообщение «М» произвольного размера, а на его выходе формируется отображение его образа фиксированного размера h(M) → 256 бит.
В свою очередь на хеш-функцию накладывается ряд ограничений, которые позволяют реализовать операцию однозначного отображения, т.е. формирование образа исходного сообщения «М» в виде одного короткого блока данных. Эти ограничения интерпретируются следующим образом:
1. Требование чувствительности хэш-функции h(M) к любым изменениям образа исходного сообщения «М». В этом случае функция преобразования образа исходного сообщения «М» в его отображение h(M) гарантированно исключает возможности изменения содержания исходного сообщения, перестановку, исключение или замену его отдельных символов или элементов, т.е. любые изменения образа исходного сообщения вносят изменения в его отображение М → h(M) – однозначно.
2.
Требование необратимости процесса
хеширования. Если отображение исходного
документа в виде результата функции
хеширования формируется на основе его
образа, то по полученному в результате
хеширования отображению образ исходного
сообщения не может быть восстановлен
ни при каких-либо условиях. Если М →
h(M),
то h(M)
→
.
3.
Требование однозначности установления
соответствия между образом исходного
сообщения и его отображением. Это
требование определяет условие
невозможности подбора или формирования
двух разных сообщений, которые имели
бы одно и то же отображение, т.е. один и
тот же результат хеширования {M1;
M2}
→
.
В настоящее время для реализации процессов аутентификации электронных сообщений с использованием электронных цифровых подписей в мировой практике предложены алгоритмы хеширования, такие как MD5; SHA-1, SHA- 256, SHA- 384, SHA- 512 (Secure Hash Algorithm), разработан Управлением национальной безопасности США; RIPEMID и ряд других.
В Российской Федерации алгоритм хеширования реализован в соответствии с ГОСТ Р34.11-94, который основан на блоковом шифре в соответствии со стандартом шифрования ГОСТ 28147-89. В результате преобразования электронного сообщения любого размера на выходе блока хеширования по ГОСТ Р34.11-94 формируется сообщение фиксированного размера равного 256 бит, однако восстановить исходное сообщение из значения хеш-функции невозможно, т.е. операция хеширования относится к классу однонаправленных функций.
После реализации операции вычисления значения хеш-функции h(M)B сообщения «М» абонент-отправитель (в данном случае абонент «А») на своем компьютере формирует случайным образом закрытый (секретный) ключ КЗА и вычисляет открытый ключ КОА. Закрытый ключ КЗА служит для формирования электронной цифровой подписи, а открытый ключ КОА для проверки аутентичности подписанного сообщения всеми абонентами корпоративной системы электронного документооборота.
Кодовая комбинация хеш-функции h(M)B подается на блок шифрования и с помощью закрытого (секретного) ключа КЗА абонента- отправителя производится шифрование кодовой комбинации хеш-функции h(M)B В результате шифрования значения хеш-функции h(M)B с помощью закрытого ключа КЗА на выходе блока шифрования формируется криптограмма хеш-функции исходного сообщения «М». Эта криптограмма Ch(M) и является электронной цифровой подписью открытого сообщения «М».
Криптограмма электронной цифровой подписи Ch(M), открытый ключ абонента-отправителя подписанного сообщения КОА и непосредственно исходное сообщение «М» единым файлом передаются по открытым телекоммуникационным каналам абоненту–получателю (абонентам-получателям) электронного сообщения корпоративной информационной системы.
Действия абонента «В» по приему и аутентификации подписанного электронного сообщения «М».
По каналу теледоступа абонент «В» получает:
- криптограмму значения хеш-функции Ch(M) – электронную цифровую подпись сообщения «М»;
- открытый ключ КОА абонента-отправителя подписанного сообщения (абонента «А»);
- исходное сообщение «М».
Криптограмма Ch(M) подается на вход дешифратора приемного устройства, на другой вход которого (вход ввода ключевой информации) подается открытый ключ абонента-отправителя КОА подписанного электронного сообщения. С помощью открытого ключа КОА, принятого по телекоммуникационным каналам связи, производится дешифрование криптограммы электронной цифровой подписи принятого сообщения Ch(M). В результате дешифрования на выходе дешифратора формируется восстановленное значение хеш-функции ЭЦП - h(M)D . Дешифрованная кодовая комбинация значения хеш-функции h(M)D далее поступает на блок анализа системы аутентификации электронного сообщения. Полученное в результате дешифрования криптограммы Ch(M) значение хеш-функции h(M)D абсолютно идентично кодовой комбинации хеш-функции h(M)B, сформированной по сообщению «М» на стороне абонента-отправителя (абонента «А»). Со стороны неавторизованного пользователя модификация принимаемой кодовой комбинации хэш-функции исключена, т.к. шифрование хэш-значения сообщения «М» производится на стороне абонента «А» на основе его закрытого (секретного) ключа КЗА, который никогда никому не передается и хранится в секрете у абонента-отправителя. В процессе восстановления значения хэш-функции h(M)D из принимаемой криптограммы Ch(M) закрытый ключ КЗА не участвует, что исключает возможность модификации сформированного значения хэш-функции исходного сообщения в передаваемой криптограмме Ch(M) по открытым каналам телекоммуникаций.
В свою очередь, открытое сообщение «М», принятое вместе с криптограммой хэш-функции Ch(M) и открытым ключом абонента-отправителя КОА, поступает на блок хеширования абонента-получателя (абонента «В»).
Функциональное назначение блока хеширования на стороне абонента-получателя идентично блоку хеширования стороны абонента-отправителя и строится в полном соответствии с ГОСТ Р34.11-94. Следовательно, если сообщение «М» в процессе передачи по телекоммуникационным каналам не было модифицировано случайно или преднамеренно, то на выходе блока хеширования абонента-получателя формируется значение хэш-функции абсолютно равное хэш-значению, вычисленному на стороне абонента-отправителя исходного сообщения. Это вычисленное значение хэш-функции h(M)B из принятого сообщения «М» на стороне абонента-получателя также поступает на блок анализа.
Функционально блок анализа реализует операцию сравнения двух кодовых комбинаций значений хэш-функций, поступающих на его входы. Проводится сравнение значения хэш-функции, полученной в результате дешифрования криптограммы Ch(M), и значения хэш-функции вычисленного из принятого по телекоммуникационным каналам исходного сообщения «М». В случае полного совпадения с точностью до 1 бита этих значений принимается решение о достоверности принятого сообщения, в случае несовпадения исходное сообщение признается недостоверным (модифицированным).