Ed448PublicKeyFromSeed

Криптография

Описание

Извлича 57-байтовия публичен ключ Ed448 от 57-байтова seed стойност

Синтаксис

Delphi

Function Ed448PublicKeyFromSeed(Const Seed: AnsiString; Out PublicKey: AnsiString): Boolean;

Връщани стойности

FalseSeed не е 57 байта и PublicKey е празен
TruePublicKey съдържа 57-байтовото кодиране на точката

Бележки

Seed се хешира със SHAKE256 до 114-байтов дайджест, чийто ниски 57 байта се подрязват съгласно RFC 8032: двата най-ниски бита на първия байт се изчистват, бит 255 на байт 55 се задава, а байт 56 се нулира; подрязваният скалар умножава базовата точка edwards448, а резултатът се съхранява като 57-байтово little-endian кодиране на точката. Подписването е налично чрез Ed448Sign, който извлича същия публичен ключ вътрешно; известните тестови вектори от RFC 8032, раздел 7.4, преминават байт по байт

Пример

OK:= Ed448PublicKeyFromSeed(Seed, PubKey);
OK:= Ed448Sign(Msg, Seed, Sig);

Виж също

Ed448Sign, Ed448Verify, Ed25519PublicKeyFromSeed, SHAKE256ByteArray