Я использую CryptoPP 8.2.
Пример в вики Здесь работает. Теперь я хочу отправить сгенерированные ключи через сокет, чтобы вычислить общий секрет на другом конце. Как мне установить полученные ключи в классе FHMQV_Domain?
OID CURVE = secp256r1();
FHMQV_Domain<DL_GroupParameters_EC<ECP>> fhmqvA(CURVE,true); //Client
FHMQV_Domain<DL_GroupParameters_EC<ECP>> fhmqvB(CURVE,false); //Server
Я не видел ни одного метода внутри этого класса для установки пользовательских ключей.
SecByteBlock sprivA(fhmqvA.StaticPrivateKeyLength()), spubA(fhmqvA.StaticPublicKeyLength());
// Party A, ephemeral (temporary) key pair
SecByteBlock eprivA(fhmqvA.EphemeralPrivateKeyLength()), epubA(fhmqvA.EphemeralPublicKeyLength());
// Party B, static (long term) key pair
SecByteBlock sprivB(fhmqvB.StaticPrivateKeyLength()), spubB(fhmqvB.StaticPublicKeyLength());
// Party B, ephemeral (temporary) key pair
SecByteBlock eprivB(fhmqvB.EphemeralPrivateKeyLength()), epubB(fhmqvB.EphemeralPublicKeyLength());
// Imitate a long term (static) key
fhmqvA.GenerateStaticKeyPair(rng, sprivA, spubA);
// Ephemeral (temporary) key
fhmqvA.GenerateEphemeralKeyPair(rng, eprivA, epubA);
// Imitate a long term (static) key
fhmqvB.GenerateStaticKeyPair(rng, sprivB, spubB);
// Ephemeral (temporary) key
fhmqvB.GenerateEphemeralKeyPair(rng, eprivB, epubB);
Это генерирует только случайные ключи. Я хочу предоставить их, когда они уже известны.
на вики-странице у него есть эта функция для создания класса с BufferedTransformation с параметрами и параметрами группы. Но я не знаю, как создать это, или это действительно то, что я ищу.
◆ FHMQV_Domain() [3/7]
Construct a FHMQV domain.
Parameters
bt BufferedTransformation with group parameters and options
clientRole flag indicating initiator or recipient```
Я использую эту функцию для создания класса
◆ FHMQV_Domain() [2/7]
Любая помощь будет с благодарностью.