
- •Методы защиты информации в компьютерных технологиях Москва 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-кодирования в коды Боуза-Чодхури-Хоквингема (бчх).
6. Вычисление парного сеансового ключа шифрования-дешифрования для абонентов а и в на основе преобразований Диффи-Хеллмана.
6.1. Действие абонента в.
Абонент В на своем рабочем компьютере вычисляет значение секретного парного сеансового симметричного ключа шифрования-дешифрования КАВ, используя метод Диффи-Хеллмана КАВ = [КЗВ]КОА .
В пункте 3.3.2.4 определена точка, характеризующая открытый ключ абонента «А» КОА = (X236; Y236) = (231; 165). Численное значение открытого ключа абонента А определяется числовым значением координаты «Х» точки КОА, т.е. значением абсциссы Х236 = 231 заданной эллиптической кривой, принимается значение открытого ключа абонента А равное КОА = 231.
Для вычисления секретного парного сеансового симметричного ключа шифрования-дешифрования между абонентами А и В на стороне абонента В выполняются операции вычислений всех удвоений точки КОА=G236 вплоть до [128]КОА, т.к. число 128 является максимальным по показателю 2n в составе чисел до 182 (КЗВ = 182 – закрытый ключ абонента «В»; КОА = G236 =(231; 165) – открытый ключ абонента «А»), а затем определяется композиция детерминированных точек удвоения.
6.1.1. Вычисление точки [2]коа , как результат удвоения точки коа:
- вычисление углового коэффициента касательной в точке КОА = =G236 = (X236; Y236) = (231; 165)
K
=
mod
P =
mod
293 = 106 mod 293 → 106.
- вычисление координат точки [2] КОА = (X2; Y2)
X2 = (K2 – 2X236) mod P = (1062 - 2*231) mod 293 = 226 mod 293 → 226;
Y2 = (K*(X236 – X2) – Y236) mod P = (106*(231 – 226) – 165) mod 293 =
= 72 mod 293 → 72.
Следовательно, [2] КОА = (X2; Y2) = (226; 72), координаты точки [2] КОА определены как X2 = 226; Y2 = 72.
6.1.2. Вычисление точки [4]КОА , как результат удвоения точки [2]КОА ( [2]КОА = (X2; Y2) = (226; 72)):
- вычисление углового коэффициента касательной в точке [2]КОА = (X2; Y2) = (226; 72)
K
=
mod
P =
mod
293 = 177 mod 293 → 177.
- вычисление координат точки [4] КОА = (X4; Y4)
X4 = (K2 – 2X2) mod P = (1772 - 2*226) mod 293 = 112 mod 293 → 112;
Y4 = (K*(X2 – X4) – Y2) mod P = (177*(226 – 112) – 72) mod 293 =
= 182 mod 293 → 182.
Следовательно, [4] КОА = (X4; Y4) = (112; 182), координаты точки
[4] КОА определены как X4 = 112; Y4 = 182.
6.1.3. Вычисление точки [8]КОА , как результат удвоения точки [4]КОА ( [4]КОА = (X4; Y4) = (112; 182)):
- вычисление углового коэффициента касательной в точке [4]КОА = (X4; Y4) = (112; 182)
K
=
mod
P =
mod
293 = 200 mod 293 → 200.
- вычисление координат точки [8] КОА = (X8; Y8)
X8 = (K2 – 2X4) mod P = (2002 - 2*112) mod 293 = 221 mod 293 → 221;
Y8 = (K*(X4 – X8) – Y4) mod P = (200*(112 – 221) – 182) mod 293 =
= 286 mod 293 → 286.
Следовательно, [8] КОА = (X8; Y8) = (221; 286), координаты точки
[8] КОА определены как X8 = 221; Y8 = 286.
6.1.4. Вычисление точки [16]КОА , как результат удвоения точки [8]КОА ( [8]КОА = (X8; Y8) = (221; 286)):
- вычисление углового коэффициента касательной в точке [8]КОА = (X8; Y8) = (221; 286)
K
=
mod
P =
mod
293 = 228 mod 293 → 228.
- вычисление координат точки [16] КОА = (X16; Y16)
X16 = (K2 – 2X8) mod P = (2282 - 2*221) mod 293 = 267 mod 293 → 267;
Y16 = (K*(X8 – X16) – Y8) mod P = (228*(221 – 267) – 286) mod 293 =
= 67 mod 293 → 67.
Следовательно, [16] КОА = (X16; Y16) = (267; 67), координаты точки
[16] КОА определены как X16 = 267; Y16 = 67.
6.1.5. Вычисление точки [32]КОА , как результат удвоения точки [16]КОА ( [16]КОА = (X16; Y16) = (267; 67)):
- вычисление углового коэффициента касательной в точке [16]КОА = (X16; Y16) = (267; 67)
K
=
mod
P =
mod
293 =177 mod 293 → 177.
- вычисление координат точки [32] КОА = (X32; Y32)
X32 = (K2 – 2X16) mod P = (1772 - 2*267) mod 293 = 30 mod 293 → 30;
Y32 = (K*(X16 – X32) – Y16) mod P = (177*(267 – 30) – 67) mod 293 =
= 276 mod 293 → 276.
Следовательно, [32] КОА = (X32; Y32) = (30; 276), координаты точки
[32] КОА определены как X32 = 30; Y32 = 276.
6.1.6. Вычисление точки [64]КОА , как результат удвоения точки [32]КОА ( [32]КОА = (X32; Y32) = (30; 276)):
- вычисление углового коэффициента касательной в точке [32]КОА = (X32; Y32) = (30; 276)
K
=
mod
P =
mod
293 =41 mod 293 → 41.
- вычисление координат точки [64] КОА = (X64; Y64)
X64 = (K2 – 2X32) mod P = (412 - 2*30) mod 293 = 156 mod 293 → 156;
Y64 = (K*(X32 – X64) – Y32) mod P = (41*(30 – 156) – 276) mod 293 =
= 125 mod 293 → 125.
Следовательно, [64] КОА = (X64; Y64) = (156; 125), координаты точки
[64] КОА определены как X64 = 156; Y64 = 125.
6.1.7. Вычисление точки [128]КОА , как результат удвоения точки [64]КОА ( [64]КОА = (X64; Y64) = (156; 125)):
- вычисление углового коэффициента касательной в точке [64]КОА = (X64; Y64) = (156; 125)
K
=
mod
P =
mod
293 =278 mod 293 → 278.
- вычисление координат точки [128] КОА = (X128; Y128)
X128 = (K2 – 2X64) mod P = (2782 - 2*156) mod 293 = 206 mod 293 → 206;
Y128 = (K*(X64 – X128) – Y64) mod P = (278*(156 – 206) – 125) mod 293 =
= 39 mod 293 → 39.
Следовательно, [128] КОА = (X128; Y128) = (206; 39), координаты точки [128] КОА определены как X128 = 206; Y128 = 39.