Кратко

  • Последний звонок рабочей группы OpenPGP по draft-ietf-openpgp-nist-bp-comp-04 был назначен до 9 сентября 2026 года. Документ остаётся активным Internet-Draft с предполагаемым статусом Informational; наступление даты не означает принятия или одобрения IETF.
  • В редакции 04 используются экспериментальные идентификаторы 100–107. Предложение, редакционная ветка и реализации уже испытывают 37–44, однако зафиксированный реестр IANA всё ещё помечает 37–99 как неназначенные.
  • Для составных KEM номер передаётся как algId в multiKeyCombine и меняет производный ключ шифрования и обёрнутый материал сеансового ключа. В схемах подписи меняются пакеты и отпечатки.
  • К каждому результату совместимости нужен паспорт состояния: редакция, точный номер, commit, хеш векторов, сборка, строка реестра и допустимость официального выпуска.

Объявление последнего звонка датировано 19 августа и просит прислать замечания к 9 сентября. Это срок обсуждения, а не автоматическое решение. В сохранённой карточке Datatracker по-прежнему стоит In WG Last Call, у IESG — только I-D Exists. История документа показывает процессуальные переходы, но в карточке нет shepherd, ответственного Area Director или telechat. Целевой статус — Informational.

Редакция 04 описывает сочетания постквантовых алгоритмов NIST с устоявшимися алгоритмами на эллиптических кривых для OpenPGP. Четыре составных KEM и четыре составные подписи являются необязательными. Им временно назначены 100–107 из частного или экспериментального диапазона. Текст разрешает такие значения для невыпущенного ПО и экспериментов по совместимости, запрещает формальные релизы с ними и откладывает обращение к IANA до появления неэкспериментального номера у каждого перечисленного алгоритма.

Код проверяет предполагаемое будущее

Предложение в рабочей группе размещает восемь схем в диапазоне 37–44. Daniel Kahn Gillmor в ответе называет схему правдоподобной, но советует реализациям сохранять экспериментальные значения, пока не опубликована версия черновика с неэкспериментальными. Так можно испытать следующий вариант, не выдавая его за общий действующий ориентир.

GitHub pull request 50 показывает объём испытания. На момент фиксации он был открыт, не помечен как draft и не слит. Головной commit — 577adce5255e7382e5d4b0c9e52be626deb77126. Изменение заменяет 100–107 на 37–44 и заново строит отпечатки, результаты KEM и тестовые векторы в 27 файлах.

Язык разработчиков уже частично перешёл в следующее состояние. Сообщение авторов представляет векторы с названными «assigned» значениями. Отчёт по rPGP говорит, что реализация обновлена до 37–44 и совпадает с векторами NIST, однако изменение общей системы тестов ждёт подтверждения номеров. GitLab merge request 255 закрепляет эту осторожность: он открыт, остаётся draft, не слит и прямо требует не сливать до официального назначения.

Все четыре свидетельства могут быть добросовестными. Опубликованный черновик задаёт текущую экспериментальную базу, PR готовит следующую редакцию, ветка реализации проверяет исполнимость, IANA отражает публичное назначение после предусмотренной процедуры. Несоответствие возникает не между людьми, а в артефакте, который перестал указывать своё время и основание.

Число входит в криптографический контекст

При обработке составного KEM реализация извлекает идентификатор алгоритма из пакета открытого ключа и передаёт его как algId в multiKeyCombine. Полученный ключ шифрования оборачивает материал сеансового ключа. Если отправитель подставит 37, а получатель — 100, производные значения не совпадут, даже когда компоненты ML-KEM и ECDH одинаковы.

В составных подписях идентификатор также записывается в пакетах ключей OpenPGP. Другой номер означает другие сериализованные байты, а следовательно, и другие отпечатки и связанные воспроизводимые артефакты. Смена номера не переписывает математику ML-KEM, ECDH или примитивов подписи и сама по себе не доказывает усиление либо уязвимость. Меняется привязка к протоколу OpenPGP — поэтому пересборка векторов обязательна по существу.

Публичная точка отсчёта

Сохранённый реестр OpenPGP IANA указывает дату обновления 2 июля 2026 года. Значения 35 и 36 относятся к RFC 9980; 37–99 обозначены Unassigned, 100–110 — Private or Experimental Use. Следовательно, слово «assigned» в письме разработчиков описывает ожидаемое или веточное состояние, а не публичную строку реестра на момент проверки.

RFC 9580 задаёт современный формат OpenPGP и рамки реестров. RFC 8126 определяет язык политик назначения. Регистрация не сертифицирует безопасность, не требует внедрения и не разрешает продуктовый выпуск. Отсутствие регистрации тоже не обесценивает лабораторную совместимость. Оно ограничивает формулировку вывода.

Минимальный инструмент — паспорт состояния алгоритма при каждом наборе векторов и результате: редакция и этап документа; экспериментальный номер в опубликованном тексте; предложенный номер в ветке; состояние PR/MR и commit; строка IANA и время наблюдения; commit и хеш векторов; версия и сборка реализации; реально использованный номер; допустимость формального релиза. Тогда старый вектор для 100 остаётся точным свидетельством старого эксперимента, а новый для 37 проверяет следующий вариант, не подменяя реестр.

Источники