
- •Методы защиты информации в компьютерных технологиях Москва 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-кодирования в коды Боуза-Чодхури-Хоквингема (бчх).
7. Дешифрование абонентом а криптограммы, полученной от абонента в с использованием парного секретного симметричного ключа, сформированного по методу Диффи-Хеллмана в метрике эллиптических кривых.
Со стороны абонента А вычисление парного ключа определяется как:
КАВ = [КЗА]КОВ mod P
где:
КАВ – парный секретный симметричный ключ шифрования-дешифрования, формируемый на стороне абонента «А»;
КЗА – закрытый (секретный) ключ абонента «А» асимметричной криптосистемы; в рассматриваемом примере КЗА= 236;
КОВ – открытый ключ абонента «В» асимметричной криптосистемы; в рассматриваемом примере КОВ= (XОВ; YОВ) = (283; 119).
Следовательно, в рассматриваемом примере:
КАВ = [КЗА]КОВ mod P= [236] КОВ mod P = [236] (XОВ; YОВ) =[236] (283; 119)
Для определения парного секретного симметричного ключа шифрования-дешифрования на стороне абонента «А» операция такого вычисления определяется следующим образом:
- изначально вычисляются операции удвоения точки КОВ и всех последующих вычисляемых точек вплоть до [128] КОВ (для рассматриваемого примера) поскольку число 128 является максимальным степенного значения 2n в составе КЗА = 236.
- затем вычисляется композиция всего полученного детерминированного множества.
7.1. Вычисление удвоений множества точек заданной эллиптической кривой на стороне абонента «а» по значению точки ков, характеризующей открытый ключ абонента «в».
7.1.1. Вычисление значения удвоения точки ков – [2]ков:
- вычисление углового коэффициента касательной в точке
КОВ (X1; Y1) = КОВ(283; 119)
K
=
mod
P =
mod
293 = 53mod 293 → 53.
- вычисление координат точки [2] КОВ = (X2; Y2)
X2 = (K2 – 2X1) mod P = (532 - 2*283) mod 293 = 192 mod 293 → 192;
Y2 = (K*(X1 – X2) – Y1) mod P = (53*(283 – 192) – 119) mod 293 =
= 16 mod 293 → 16.
Следовательно, [2] КОВ = (X2; Y2) = (192; 16), координаты точки [2] КОВ определены как X2 = 192; Y2 = 16.
7.1.2. Вычисление точки [4]КОВ , как результат удвоения точки [2]КОВ ( [2]КОВ = (X2; Y2) = (192; 16)):
- вычисление углового коэффициента касательной в точке [2]КОВ = (X2; Y2) = (192; 16)
K
=
mod
P =
mod
293 = 160 mod 293 → 160.
- вычисление координат точки [4] КОВ = (X4; Y4)
X4 = (K2 – 2X2) mod P = (1602 - 2*192) mod 293 = 18 mod 293 → 18;
Y4 = (K*(X2 – X4) – Y2) mod P = (160*(192 – 18) – 16) mod 293 =
= 282 mod 293 → 282.
Следовательно, [4] КОВ = (X4; Y4) = (18; 282), координаты точки
[4] КОВ определены как X4 = 18; Y4 = 282.
7.1.3. Вычисление точки [8]КОВ , как результат удвоения точки [4]КОВ ( [4]КОВ = (X4; Y4) = (18; 282)):
- вычисление углового коэффициента касательной в точке [4]КОВ = (X4; Y4) = (18; 282)
K
=
mod
P =
mod
293 = 62 mod 293 → 62.
- вычисление координат точки [8] КОВ = (X8; Y8)
X8 = (K2 – 2X4) mod P = (622 - 2*18) mod 293 = 292 mod 293 → 292;
Y8 = (K*(X4 – X8) – Y4) mod P = (62*(18 – 292) – 282) mod 293 =
= 17 mod 293 → 17.
Следовательно, [8] КОВ = (X8; Y8) = (292; 17), координаты точки
[8] КОВ определены как X8 = 292; Y8 = 17.
7.1.4. Вычисление точки [16]КОВ , как результат удвоения точки [8]КОВ ( [8]КОВ = (X8; Y8) = (292; 17)):
- вычисление углового коэффициента касательной в точке [8]КОВ = (X8; Y8) = (292; 17)
K
=
mod
P =
mod
293 = 233 mod 293 → 233.
- вычисление координат точки [16] КОВ = (X16; Y16)
X16 = (K2 – 2X8) mod P = (2332 - 2*292) mod 293 = 86 mod 293 → 86;
Y16 = (K*(X8 – X16) – Y8) mod P = (233*(292 – 86) – 17) mod 293 =
= 222 mod 293 → 222.
Следовательно, [16] КОВ = (X16; Y16) = (86; 17), координаты точки
[16] КОВ определены как X16 = 86; Y16 = 222.
7.1.5. Вычисление точки [32]КОВ , как результат удвоения точки [16]КОВ ( [16]КОВ = (X16; Y16) = (86; 222)):
- вычисление углового коэффициента касательной в точке [16]КОВ = (X16; Y16) = (86; 222)
K
=
mod
P =
mod
293 = 277 mod 293 → 277.
- вычисление координат точки [32] КОВ = (X32; Y32)
X32 = (K2 – 2X16) mod P = (2772 - 2*86) mod 293 = 84 mod 293 → 84;
Y32 = (K*(X16 – X32) – Y16) mod P = (277*(86 – 84) – 222) mod 293 =
= 39 mod 293 → 39.
Следовательно, [32] КОВ = (X32; Y32) = (84; 39), координаты точки
[32] КОВ определены как X32 = 84; Y32 = 39.
7.1.6. Вычисление точки [64]КОВ , как результат удвоения точки [32]КОВ ( [32]КОВ = (X32; Y32) = (84; 39)):
- вычисление углового коэффициента касательной в точке [32]КОВ = (X32; Y32) = (84; 39)
K
=
mod
P =
mod
293 = 279 mod 293 → 279.
- вычисление координат точки [64] КОВ = (X64; Y64)
X64 = (K2 – 2X32) mod P = (2792 - 2*84) mod 293 = 28 mod 293 → 28;
Y64 = (K*(X32 – X64) – Y32) mod P = (279*(84 – 28) – 39) mod 293 =
= 56 mod 293 → 56.
Следовательно, [64] КОВ = (X64; Y64) = (28; 56), координаты точки
[64] КОВ определены как X64 = 28; Y64 = 56.
7.1.7. Вычисление точки [128]КОВ , как результат удвоения точки [64]КОВ ( [64]КОВ = (X64; Y64) = (28; 56)):
- вычисление углового коэффициента касательной в точке [64]КОВ = (X64; Y64) = (28; 56)
K
=
mod
P =
mod
293 = 42 mod 293 → 42.
- вычисление координат точки [128] КОВ = (X128; Y128)
X128 = (K2 – 2X64) mod P = (422 - 2*28) mod 293 = 243 mod 293 → 243;
Y128 = (K*(X64 – X128) – Y64) mod P = (42*(28 – 243) – 56) mod 293 =
= 290 mod 293 → 290.
Следовательно, [128] КОВ = (X128; Y128) = (243; 290), координаты точки [128] КОВ определены как X128 = 243; Y128 = 290.