Я занимаюсь реализацией ECDH CNG, а затем пытаюсь использовать KCRF BCRYPT_KDF_SP80056A_CONCAT для получения симметричного ключа AES256 (BCryptDeriveKey ()).У меня проблема (я всегда получаю 0xc000000d возвращенное состояние.)
Я успешно сгенерировал общий секрет и создал буфер desc "BCryptBufferDesc", который имеет массив "BCryptBuffer" с 1 AlgorithmID,1 PartyU и 1 PartyV "Другая информация".Я думаю, что у меня есть все структуры, которые определены и заполнены правильно.Я просто выбираю некоторые «значения» для байтов PartyU и PartyV (я пробовал 1 байт и 16 байтов для каждого, но я получаю тот же результат).Документация NIST не дает подробных сведений о том, какой должна быть другая информация.
Я следовал за веб-сайтом Microsoft для создания этих структур, использования их строк, определений и т. Д. Я пытался использовать стандартный L "HASH" kdfи это работает, и я получаю один и тот же производный ключ с обеих "сторон", но с конкатенацией KDF я всегда получаю один и тот же статус 0xC000000D.
Кто-нибудь еще смог успешно использовать BCRYPT_KDF_SP80056A_CONCAT CNG KDF?Если вы это сделали, у вас есть какие-нибудь намеки?