Подписание OpenPGP

Я читаю RFC4880, пытаясь создать реализацию подмножества OpenPGP (подписи RSA), используя http://phpseclib.sourceforge.net/. Я проанализировал пакеты с открытым ключом и сжатием литеральной подписи. Я могу извлечь n и e и передать их Crypt_RSA для создания верификатора. Я говорю, что использую sha256. Затем ему нужны параметры «сообщение» и «подпись». Я получаю данные подписи из пакета подписи без проблем. У меня вопрос: что такое "сообщение"? Согласно разделу 5.2.4, это некоторая комбинация буквального пакета(ов?) данных (их тел или всего пакета?) и «хешированных» подпакетов. Мне просто объединить все пакеты данных и хешированные пакеты вместе в том порядке, в котором они появляются?


person singpolyma    schedule 30.03.2010    source источник


Ответы (1)


Хэш состоит из буквального содержимого пакета данных (не всего тела, а только данных), за которым следует «трейлер» (буквальные байты от пакета подписи до хешированных подпакетов включительно), за которым следует {0x44, 0xff, trailer_length_as_4_octet_network_order_unsigned_integer}

person singpolyma    schedule 01.04.2010