
- •Методы защиты информации в компьютерных технологиях Москва 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-кодирования в коды Боуза-Чодхури-Хоквингема (бчх).
5. Действия абонента «в» по приему и аутентификации подписанного электронного сообщения «м».
По каналу теледоступа абонент «В» получает:
- криптограмму значения хеш-функции Ch(M) – электронную цифровую подпись сообщения «М»;
- открытый ключ КОА абонента-отправителя подписанного сообщения (абонента «А»);
- исходное сообщение «М».
5.1. После приема электронного сообщения «М» от абонента-отправителя абонент-получатель производит вычисление функции хеширования принятого электронного сообщения «М» - hв(М).
5.2. Проверяется условие, что принятые элементы ЭЦП (r; Si) удовлетворяют соотношению «0 < r; Si < N. Если условие не удовлетворено принятое сообщение отвергается как модифицированное.
5.3. Вычисляются параметры U1 = Si * h(M)-1 mod P и
U2 = - r * h(M)-1 mod P.
5.4. Вычисляется композиция точек на заданной эллиптической кривой Q = [U1]G + [U2]КОА, в случае равенства значения абсциссы XQ по модулю «Р» числовому значению принятого параметра ЭЦП «r» принятое сообщение «М» признается достоверным, в противном случае признается факт модификации принятого сообщения.
Если XQ mod P = r mod P подпись доверительна.
Рассмотрим процесс аутентификации принятого сообщения «Криптон» по первому значению криптографического элемента функции хеширования «S1 = 237» и числовому значению параметра «r = 261» полученными от абонента-отправителя (абонента «А»).
5.4. Вычисление параметров U1 и U2 для первого элемента криптограммы функции хеширования S1 = 237 полученного сообщения «М».
U1 = Si * h(M)-1 mod P = S1 * h1(M)-1 mod P = 237 * 52-1 mod 293 =
237 * 52291 mod 293 = 237 * 62 mod 293 = 14694 mod 293 = 44 mod 293 → 44
U2 = - r * h(M)-1 mod P = - r * h1(M)-1 mod P = - 261 * 52-1 mod 293 =
= - 261 * 52291 mod 293 = -261 * 62 mod 293 = - 16182 mod 293 =
= -67 mod 293 = (293-67) mod 293 = 226 mod 293 → 226
5.5. После вычисления значений U1 = Si * h(M)-1 mod P и U2 = - r * h(M)-1 mod P вычисляется композиция точек на заданной эллиптической кривой Q = [U1]G + [U2]КОА.
5.5.1. Для вычисления композиции Q = [U1]G + [U2]КОА изначально необходимо вычислить значение [U1]G = [44]G. Для вычисления [44]G изначально необходимо вычислить все удвоения точки G до [32]G, т.к. число 32 является максимальным числом степени 2n в составе числа 44. Значение числа 44 числам 2n можно отобразить как 44 = 32 + 8 + 4, т.е. на первом этапе для вычисления параметра «[44]G» необходимо вычислить следующие точки удвоения точки G: [4]G, [8]G, [32]G. Значения указанного множества точек берутся из ранее выполненных вычислений (пункт 3.1):
[32]G → (X32 = 243; Y32 = 3); [8]G → (X8 = 84; Y8 = 254);
[4]G → (X4 = 86; Y4 = 71).
Для вычисления композиции [44]G необходимо вычислить композицию точек [4]G + [8]G + [32]G = [44]G.
5.5.2. Вычисление композиции точек [32]g и [8]g;
[32]G + [8]G = [40]G = (X40; Y40) .
([32]G = (X32; Y32) = (X32 =243; Y32 =3); [8]G = (X8; Y8) = (X8 =84;
Y8 =254)).
- Вычисляется угловой коэффициент «к» прямой, проходящей через точки [32]G и [8]G заданной эллиптической кривой:
к
=
mod
P =
mod
293 =
mod
293 =
= -251 * 159-1 mod 293 = -251 * 129291 mod 293 = -32379 mod 293 =
- 149 mod 293 = (293-149) mod 293 = 144 mod 293 → 144, т.е. к = 144.
- Вычисляются координаты точки [40]G = (X40; Y40):
X40 = (к2 – X8 – X32) mod P = (1442 – 84 – 243) mod 293 = 20409 mod 293 =
= 192 mod 293 → 192.
Y40 = (к * (X32 – X346) – Y40) mod P = (144 * (243 – 192) – 3) mod 293 =
= 7341 mod 293 = 16 mod 293 → 16.
Следовательно, [40]G = (X40; Y40) = (192; 16), координаты точки [40]G определены как X40 = 192; Y40 = 16.