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


T

L

V

'90'

'00'

'80'

переменная

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


ПРИМЕЧАНИЕ. Если параметр P2 команды PSO: HASH равен 0x80, данные также могут быть представлены как простое значение (без TLV-кодирования).

12.3.3 PSO: HASH с командой Chaining

Цепочка команд должна быть реализована в соответствии с 7816-4 [2]. В частности:

- первая команда «PSO Hash» цепи должна иметь CLA. Bit5 = 1

- последняя команда «PSO Hash» цепи должна иметь CLA. Bit5 = 0

- В цепочке допускаются только команды «PSO Hash»

В следующей таблице показано содержимое поля первой команды функции PSO: HASH с цепочкой команд.


Таблица 63 - Поле данных для PSO: функция HASH с цепочкой команд


T

L

V

'90'

H' + C'

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

'80'

B

текст хэшируется


В следующей таблице показано содержимое второго поля (n-1) th первой команды функции PSO: HASH с цепочкой команд.


Таблица 64 - Поле данных от 2-й (n-1) - ой команды PSO: функция HASH с цепочкой команд


T

L

V

'80'

B

текст хэшируется


Таблица 65 - Поле данных последней команды PSO: функция HASH с цепочкой команд


T

L

V

'80'

'xx'

последний текстовый блок без заполнения (длина текста до байтов B)


ПРИМЕЧАНИЕ. Если параметр P2 команды PSO: HASH равен 0x80, данные также могут быть представлены как простое значение (без TLV-кодирования).

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

12.4 Форматы входа цифровой подписи (DSI)

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

В следующем тексте для различных сигнатурных алгоритмов описаны соответствующие форматы DSI для цифровой подписи ESIGN-G [1]. Обязательно поддерживать, по меньшей мере, один из этих форматов, то есть, если в ICC доступен только алгоритм RSA, тогда ICC сможет вычислить подпись на основе форматов ESIGN-G для RSA. Возможно, ICC может поддерживать другие форматы подписей.

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

12.4.2 DSI согласно ISO / IEC 14888 2 (схема 2)

Формат DSI, основанный на стандарте ISO / IEC 14888 2 (схема 2) и интегрировании случайного числа, имеет следующую структуру (этот пример предполагает модуль 2048 бит):

Таблица 66 - Пример: Вход цифровой подписи (DSI) - Формат в соотв. к ИСО / МЭК 14888 2 (схема 2)


T

L

V

'60' = флаги согласно ISO / IEC 14888 2 (схема 2)
'00 .. 00 01 '= Заполнение в соответствии с ISO 9796 (схема DS 1)
0 бит с последним бит = '1'. Прокладка должна быть такой длины, что термин «60» - «BC» имеет ту же длину, что и модуль.

RandomNo = случайное число, вставленное ICC (8 байтов)

Hash field = 'XX... XX'

«BC» = заполнение в соответствии с ISO / IEC 14888 2 (схема 2)

Блок «60 .. BC» формирует DSI (ввод цифровой подписи)


В отличие от исходного алгоритма ISO / IEC 14888 2 (схема 2) случайное число как внутреннее сообщение не интегрировано в вычисление хэш-кода. Также восстанавливаемая строка (см. ISO / IEC 14888 2) не создается, т. е. Промежуточная строка используется непосредственно как DSI.

Рисунок 27 - Пример для 2048 бит DSI в соответствии с ISO / IEC 14888 2 (схема 2) нет восстанавливаемой строки

Message (any number of bits) - Сообщение (любое количество бит)

Padding – Набивка

12.4.3 DSI согласно PKCS # 1 V 1.5


Формат DSI в соответствии с PKCS # 1 V 1.5 имеет следующую структуру:

Таблица 67 - Вход цифровой подписи (DSI) - Формат в соотв. к PKCS №1 V 2.1
(Глава 9.3 «EMSA-PKCS1-v1_5»)


T

L

V

'00' = начальный байт

'01' = Тип блока

  'FF..FF' = Padding String PS (минимум 8 байт)

'00' = разделитель

Хэш-код = ASN.1-Последовательность OID и параметра) и дайджест (ASN.1-DO имеет значение)

{

Информация дайджеста относится к следующим таблицам

}

Рисунок 28 - Пример для 2048 бит DSI в соответствии с PKCS # 1 2.1 EMSA-PKCS-1v1_5., (20-байтовый хэш) функция

Message (any number of bits) - Сообщение (любое количество бит)

Padding – Набивка

Hash algorithm – Хэш-алгоритм

Salt –

Masked –

Zeroize leftmost –  Нулевая левая

Информация дайджеста зависит от применяемого алгоритма хеширования. В таблице 68 - таблице 74 показано кодирование дайджеста, которое включает хэш-код финального раунда хеширования.

12.4.4 Информация о дайджесте для ХАШ SHA-X: дайджест Info SHA: дайджест


Таблица 68 - Информация для дайверов для SHA-1a


Метка

Длина
(в байтах)

Значение

Описание

'30'

'21'

Тег и длина SEQUENCE

'30'

'09

Тег и длина SEQUENCE

'06'

'05'

'2B 0E 03 02 1A'

OID SHA-1 (1 3 14 3 2 26)

'05'

'00'

TLV-кодирование NULL

'04'

'14'

'xx..xx'

Хэш-код

a        Что касается недавних нападений на SHA-1, кроме алгоритмов SHA-1, возможно, придется рассмотреть. Для любого нового продукта рекомендуется реализовать алгоритмы SHA-256, SHA-384 или SHA-512 соответственно.


Таблица 69 - Информация для дайверов для SHA-224


Tag

Длина
(в байтах)

Значение

Описание

'30'

'2D'

Тег и длина SEQUENCE

'30'

'0D

Тег и длина SEQUENCE

'06'

'09'

'60 86 48 01 65 03 04 02 04'

OID SHA-224 (2 16 840 1 101 3 4 2 4)

'05'

'00'

TLV кодирование ZERO

'04'

'1C'

'xx..xx'

Хэш-код


Таблица 70 - Информация для дайверов для SHA-256


Tag

Длина
(в байтах)

Значение

Описание

'30'

'31'

Тег и длина SEQUENCE

'30'

'0D'

Тег и длина SEQUENCE

'06'

'09'

'60 86 48 01 65 03 04 02 01'

OID SHA-256 (2 16 840 1 101 3 4 2 1)

'05'

'00'

TLV кодирование of ZERO

'04'

'20'

'xx..xx'

Хэш-код


Таблица 71 - Информация для дайверов для SHA384


Метка

Длина
(в байтах)

Значение

Описание

'30'

'41'

Тег и длина SEQUENCE

'30'

'0D'

Тег и длина SEQUENCE

'06'

'09'

'60 86 48 01 65 03 04 02 02'

OID SHA-384 (2 16 840 1 101 3 4 2 2)

'05'

'00'

TLV кодирование of ZERO

'04'

'30'

'xx..xx'

Хэш-код

Таблица 72 - Информация для дайверов для SHA-512


Метка

Длина
(в байтах)

Значение

Описание

'30'

'51'

Тег и длина SEQUENCE

'30'

'0D'

Тег и длина SEQUENCE

'06'

'09'

'60 86 48 01 65 03 04 02 03'

OID SHA-512 (2 16 840 1 101 3 4 2 3)

'05'

'00'

TLV кодирование ZERO

'04'

'40'

'xx..xx'

Хэш-код


Таблица 73 - Информация для дайверов для RIPEMD-160


Метка

Длина
(в байтах)

Значение

Описание

'30'

'21'

Тег и длина SEQUENCE

'30'

'09

Тег и длина SEQUENCE

'06'

'05'

'2B 24 03 02 01'

OID RIPEMD (1 3 36 3 2 1)

'05'

'00'

TLV кодирование NULL

'04'

'14

'xx..xx'

Хэш-код


12.4.5 DSI согласно PKCS # 1 V 2.x Функция MGF

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