
- •Методы защиты информации в компьютерных технологиях Москва 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.3.2.5. Вычисление композиции точек [346]g и g;
[346]G + G = [347]G = (X347; Y347) .
([346]G = (X346; Y346) = (X346 =242; Y346 =34); G = (X1; Y1) = (X1 =18;
Y1 =11)).
- Вычисляется угловой коэффициент «к» прямой, проходящей через точки [346]G и G заданной эллиптической кривой:
к
=
mod
P =
mod
293 =
mod
293 =
= 23 * 224-1 mod 293 = 23 * 224291 mod 293 = 23 * 276 mod 293 =
= 6348 mod 293 = 195 mod 293 → 195, т.е. к = 195.
- Вычисляются координаты точки [347]G = (X347; Y347):
X347 = (к2 – X1 – X346) mod P = (1952 – 18 – 242) mod 293 = 37765 mod 293 =
= 261 mod 293 → 261.
Y347 = (к * (X346 – X347) – Y346) mod P = (195 * (242 – 261) – 34) mod 293 =
= -3739 mod 293 = - 223 mod 293 = (293-223) mod 293 = 70 mod 293 → 70.
Следовательно, [347]G = (X347; Y347) = (261; 70), координаты точки [347]G определены как X347 = 261; Y347 = 70.
4.4. Вычисление значения параметра электронной цифровой подписи r = XN mod P (если значение «r» оказывается равным нулю необходимо вернуться к пункту 4.2 и выбрать иное значение «к»).
В рассматриваемом примере XN = X347 = 261, следовательно,
r = XN mod P = X347 mod 293 = 261 mod 293 → 293, т.е. r = 261.
4.5. Вычисление параметра электронной цифровой подписи Si .
Si = (к * hв(М) + r * КЗА) mod P. Для рассматриваемого примера:
Si = (347 * hв(М) + 261 * 236) mod 293.
Множества значений Si являются криптографическими элементами функции хеширования hв(М) подписываемого электронного сообщения «М». В соответствии с ГОСТ Р 34.11-94 число элементов функции хеширования сообщения «М» составляет 32 десятичных знака, следовательно и множество криптографических элементов функции хеширования также будет содержать 32 десятичных знака. Для сообщения «Криптон» функция хеширования hв(М) определена как:
hВ(M) → { 52 48 52 48 50 42 46 46 40 56 48 48 50 54 46 42 52 56 56 52 50 50 50 50 44 52 48 48 54 50 46 42}.
Следовательно, криптографические значения отдельных элементов функции хеширования определяются как:
S1 = (к * h1(М) + r * КЗА) mod P = (347 * 52 + 261* 236) mod 293 =
= 79640 mod 293 = 237 mod 293 → 237.
Все последующие элементы криптограммы функции хеширования hВ(M) определяются аналогичным образом. В результате выполненных операций формируется криптограмма сообщения «М» → Криптон:
Ci = Si = {237 21 237 21 129 283 206 206 175 160 21 21 129 52 206 283 237 160 160 237 129 129 129 129 98 237 21 21 52 129 206 283}.
В результате выполненных операций формируется электронная цифровая подпись, которая отображается парными значениями параметра «r» и элемента криптографического значения функции хеширования «Si»:
ЭЦП → {r Si} → {r S1; r S2; r S3; … r S32} = {261-237; 261-21; 261-237; 261-21;261-129; 261-283;261-206;261-206;261-175;261-160;261-21;261-21;261- 129;261-52;261-206;261-283;261-237;261-160;261-160;261-237;261- 129;261-129;261-129;261-129;261-98;261- 237;261-21;261-21;261-52;261- 129;261-206;261-283;}.
Электронное сообщение «М» совместно с ЭЦП – криптограммой функции хеширования и числового значения параметра «r» передаются абоненту-получателю (в рассматриваемом примере абоненту «В»).