Функция сжатия Comp () используется в нескольких частях этого стандарта. Конкретное определение зависит от базовой криптографической схемы и определяется следующим образом:

DH: Если P является значением в соответствующем поле вычетов, сжатая точка P является значением SHS-1 хэш-значения Comp (P) P, то есть байтовой строкой фиксированной длины 20 байт.

ECDH: для точки P эллиптической кривой Comp (P) определяется как x-компонента P, закодированная как байтовая строка, включая начальные нули.

11.7 DSA с параметрами открытого ключа ELC

11.7.1 Общие положения

DSA с ELC используется для генерации сигнатур и аутентификации устройства с возможностью отслеживания (см. EN 419212-3, раздел 3.6). Для генерации ключей параметры секретного и открытого ключа должны вычисляться в ICC.

Открытый ключ ELC-p

Эллиптическая кривая E над полем F с p элементами p prime (P> 3) задается уравнением

Y2 = X3 + aX + b с a, b ∈ F

с

4a3 + 27b2 ≠ 0 в F

Кривая E состоит из всех точек (x, y) x в F, y из F, удовлетворяющих предыдущему уравнению, а специальная точка O называется бесконечно удаленной точкой.

Пусть k - наименьшее число с P ≤ 28k. L. F - число ≥ k.

Число p и элементы в F представлены в виде байтовой последовательности длины L. F, в результате чего ведущие байты (L. F-k) равны нулю. Точка P на E (кроме точки на бесконечности) представляется как конкатенация последовательности байтов, которая представляет x-компонент P, за которой следует последовательность байтов, которая представляет y-компонент P. Длина этого конкатенированная последовательность равна 2 • L. F + 1.

НЕ нашли? Не то? Что вы ищете?

Таблица 58 - Параметры домена ECDSA


Метка

Длина

Значение

'81'

L. F

p — первичный модуль

'82'

L. F

a — коэффициент кривой E, a в F

'83'

L. F

b — коэффициент кривой E, b в F

'84'

2 • L. F + 1 1

xG и yG в F, которые определяют точку кривой G порядка n

'85'

L. F or L. F+1

n — порядок базовой точки (простое число)

'86'

2 • L. F + 1 1

Q — xQ и yQ в F которые определяют точку открытого ключа Q в E

'87'

Var

h — кофактор, согласно ISO/IEC 7816-8 кофактор является необязательным

1 Текущая версия ISO / IEC 7816 8 предлагает другое значение для длины этого поля.


Пара ключей ECDSA связана с набором параметров домена EC (p, a, b, G, n, h). Открытый ключ Q является случайным кратным базовой точке Q = dG, тогда как закрытый ключ d является случайным образом выбранным целым числом с 0 <d <n.

В соответствии с [13] параметры домена ECDSA должны использоваться только в несжатом формате. Для длины порядка точки генератора следует использовать L. F, а также L. F + 1, так как обозначены кривые для обеих длин, см., Например, [18].

11.7.2. Обычный формат цифровой подписи

Простой формат цифровой подписи (r, s) описан в [17], 5.2. В простом формате подпись (r, s) кодируется как строка байтов R || S, где R и S - числа r и s, закодированные как байтовые строки длины L. F соответственно. Таким образом, подпись имеет фиксированную длину 2 • L. F байта.

11.7.3 Несжатая кодировка

«Несжатое кодирование» P описано в 3.2.1 из [17]. В несжатом кодировании точка P представлена ​​двумя элементами поля, ее x-координатой обозначается xP и ее y-координатой, обозначаемой yP. Несжатое кодирование P (xP, yP) использует кодирование 2 • L. F + 1 байт.

Кодирование

Несжатое кодирование PO определяется как PO = PC || X || Y, где

PC: = 0x04

X: = FE2OS (xP)

Y: = FE2OS (yP)

с соответствующей длиной 2 • L. F + 1.

Расшифровка

Учитывая PO = PC || X || Y с PC = 0x04 и октетными строками X и Y той же длины. Прежде чем использовать P, необходимо проверить, что P действительно является точкой на эллиптической кривой E, проверяя, что

y2p = x3p + axp + b

Здесь FE2OS (xP) обозначает элемент поля xP, преобразованный в байтовую строку, тогда как OS2FE (X) обозначает преобразование X в элемент поля.

11.8 Общие параметры обмена ключами ELC

Протокол «Конфиденциальный модульный EAC (mEAC) с функцией не отслеживания» (EN 419212-3, раздел 3.7) требует следующих публичных параметров, которые кодируются как примитивные ДО.

Таблица 59 - Параметры обмена ключами ELC


Tag

Length

Value

'81'

L. F

p — первичный модуль

'82'

L. F

a — коэффициент кривой E, a в F

'83'

L. F

b — коэффициент кривой E, b в F

'84'

2 • L. F + 1 1

xG и yG в F, которые определяют точку кривой G порядка n

'85'

L. F or L. F+1

n — порядок базовой точки (простое число)

'87'

Var

h — кофактор, согласно ISO/IEC 7816-8 кофактор является необязательным

1 Текущая версия ISO / IEC 7816 8 предлагает другое значение для длины этого поля.


По соображениям безопасности рекомендуется использовать кофактор h, так как небольшие атаки подгрупп предотвращаются с помощью (совместимого) умножения кофактора в алгоритмах согласования ключей.

12 AlgIDs, Hash - и DSI-форматы

12.1 Общие положения

В этой главе описываются параметры, которые используются в разных функциях, например. аутентификация устройства и создание подписи.

12.2 Идентификаторы алгоритмов и OID

Для некоторых функций могут использоваться различные алгоритмические параметры, например. различные алгоритмы для использования с функцией цифровой подписи или различные методы для выполнения этапа протокола аутентификации устройства. Эти параметры должны быть идентифицированы из описания протокола этого стандарта

- при выборе алгоритма во время выполнения функции

- или впоследствии для заданного результата для предоставления информации о выбранном алгоритме, например. для подписи сертификата для выбранного алгоритма подписи, что важно знать, чтобы иметь возможность его проверить.

При предоставлении информации об выбранном алгоритме обычно только идентификаторы объектов используются как глобально стандартизованный, совместимый способ идентификации алгоритмических вариантов, например, в сертификате (см. EN 419212-3, раздел 3.5).

Для активного выбора алгоритма при использовании идентификаторов алгоритма ICC могут быть определены определенные опции (см. Приложение A). Идентификаторы алгоритмов обычно требуют меньше байтов для кодирования той же информации, что и идентификатор объекта, но только уникальные и совместимые в данном контексте, которые могут быть определены с помощью механизмов, описанных в 14 «Криптографическом информационном приложении».

Поэтому идентификаторы объектов используются для идентификации функциональных опций и вариантов в таких случаях, например. протокол mEAC (см. EN 419212-3, раздел 3.7.4.12 и EN 419212-1, Приложение C).

Идентификаторы алгоритмов и идентификаторы объектов должны быть отправлены в ICC с использованием команды MSE: SET, используя поле данных DO '80'x. OID будут закодированы по их значению (без кодирования 06'x), AlgID будут кодироваться в соответствии с EN 419212-1, приложениями A, OID и AlgID. Кодирование можно различать по полю длины, которое всегда должно быть больше 4 байтов для OIDs.

Приложение CIA указывает на следующие криптографические алгоритмы при использовании для безопасного обмена сообщениями:

- расчет ключей сеанса (Hash или XOR)

- AES или TDES

- EMAC или CMAC

12.3 Хэш-входные форматы

12.3.1 Общие положения

Используются следующие обозначения:

H'        обозначает длину промежуточного хэш-кода в байтах

C'        обозначает длину счетчика, указывающую количество битов, уже хэшированных в байтах B        обозначает длину блока хэш-алгоритма в байтах

Значения H ', C' и B зависят от алгоритма хеширования, как определено в FIPS 180-2. и ссылка RIPEMD-160.

Таблица 60 - зависимые константы алгоритма хеша


Хэш алгоритм

H'/байты

C'/байты

B/байты

SHA-1*

20

8

64

RIPEMD-160*

20

8

64

SHA-224

32

8

64

SHA-256

32

8

64

SHA-384

64

16

128

SHA-512

64

16

128

* RIPEMD-160 и SHA-1 более не рекомендуются, но сохраняются по наследству.


Когда хеширование выполняется частично внутри и частично вне карты, поле данных команды PSO: HASH для хэш-алгоритмов должно быть структурировано следующим образом:

12.3.2 PSO: HASH без командного соединения

Для сообщения длиннее длины блока B кодирование поля данных команды определено в таблице 61.


Таблица 61 - Поле данных для PSO: функция HASH без команды


T

L

V

'90'

H' + C'

промежуточный хэш-код, за которым следует бит-бит большого байта бит байтов (количество бит уже хэшируется)

'80'

переменная

текст остается хэшированным без заполнения (длина текста до байтов B) - может быть пустым


Для сообщения, которое короче или равно длине блока B, кодирование поля данных команды определено в таблице 62.

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20