ГОСТ Р ИСО/МЭК 7816-4—2013
Метод вычисления может быть частью системной спецификации. С другой стороны, шаблон
«идентификатор криптографического механизма», см. 5.4.2. может идентифицировать стандарт (например.
ИСО/МЭК9797-1 [7]), устанавливающий метод вычисления.
Если не указано иное, должен использоваться следующий метод вычисления. Алгоритм под
управлением связанного с ним ключа, по существу, преобразует блок текущего ввода из к байтов (обычно 8.
16 или 20) в блок текущего вывода той же длины. Вычисление выполняется последовательно по
этапам.
Начальный этап. Начальный этап должен задать один из следующих блоков в качестве исходного
контрольного блока:
- нулевой блок. т. е. к байтов, установленных на ’00’;
- связующий блок. т.е. результат предыдущих вычислений, а именно, для команды — результирую
щий контрольный блок предшествующей команды, для ответа — результирующий контрольный блок пред
шествующего ответа:
- блок с начальным значением, предоставленный, например, внешним устройством;
- вспомогательный блок, являющийся результатом преобразования вспомогательныхданных под уп
равлением ключа. Если вспомогательные данные составляют менее к байтов, то они озаглавливаются
битами, установленными в ноль, до достижения длины блока.
Промежуточный этап(ы). Заголовок команды (CLA INS Р1 Р2) может быть инкапсулирован для
защиты (тег SM ’89’). Однако если биты с 8 по 6 в CLA установлены на 000, а биты с 4 по 3 на 11 (см. 5.1.1), то
первый блок данных состоит из заголовка команды (CLA INS Р1 Р2). за которым следуют один байт,
установленный на 80’ и к—5 байт, установленных на 00’.
Криптографическая контрольная суммадолжна включать любой информационный объект «безопас
ный обмен сообщениями», имеющий нечетный номер тега, и любой информационный объект с первым
байтом от ’80’ до ’BF*. Эти информационные объекты должны быть включены поблочно в текущий конт
рольный блок. Разбивка на блоки данных должна осуществляться по следующим правилам:
- объединение в блоки должно быть непрерывным на границе между смежными информационными
объектами, подлежащими включению;
-заполнение незначащей информацией должно применяться в конце каждого подлежащего вклю
чению информационного объекта, закоторым либоследует информационный объект, не подлежащий вклю
чению. либо отсутствуетдальнейший информационный объект. Незначащая информация состоит изодного
обязательного байта, установленного на ’80’. за которым, если требуется, должны следовать от 0 до к—1
байтов, установленных на ’00’. пока соответствующий блок данных не будет заполнен к байтами. Заполне ние
незначащей информацией для аутентификации неоказывает влияния на передачу, поскольку заполня ющие
байты недолжны передаваться.
В таком механизме, режимом работы является «последовательное блочное шифрование» (см.
ИСО/МЭК 10116 (11)). Первый ввод представляет собой операцию сложения «Исключающее ИЛИ» над
исходным контрольным блоком и первым блоком данных. Первый вывод является результатом первого
ввода. Текущий ввод представляет собой операцию сложения «Исключающее ИЛИ» над предыдущим
выводом и текущим блоком данных. Текущий вывод является результатом текущего ввода.
Заключительный этап. Результирующий контрольный блок является последним выводом. Заклю
чительный этап выделяет криптографическую контрольную сумму (первые m байтов, но не менее четырех)
из результирующего контрольного блока.
6.2.3.2 Элемент данных «цифровая подпись»
Схемы цифровой подписи основываются на асимметричных криптографическихметодах
(см. ИСО/МЭК 9796(6], ИСО/МЭК 14888 (16)). Вычисление предполагает использование хэш-функции
(см. ИСО/МЭК 10118 (12)). Ввод данных состоит из поля значения информационного объекта ввода
цифровой подписи, либо из сцепления полей значения информационных объектов, формирующих
шаблон ввода цифровой подписи. Ввод данных может определяться согласно механизму, определяемому
в 6.2.3.1.
6.3 Вспомогательные информационные объекты SM
В таблице 32 показаны вспомогательные информационные объекты SM.
3 5