keyPair static method
Generates a key pair, from seed (32 bytes) when given.
Implementation
static MlDsa65KeyPair keyPair({List<int>? seed}) => using((arena) {
if (seed != null) {
if (seed.length != seedLength) {
throw ArgumentError.value(
seed.length,
'seed',
'ML-DSA-65 seed is $seedLength bytes',
);
}
final pkey = keyFromOctetParam(arena, algorithm, 'seed', seed);
return MlDsa65KeyPair(
rawPublicBytes(arena, pkey),
rawPrivateBytes(arena, pkey),
Uint8List.fromList(seed),
);
}
return withGeneratedKey(
arena,
algorithm,
(pkey) => MlDsa65KeyPair(
rawPublicBytes(arena, pkey),
rawPrivateBytes(arena, pkey),
octetParam(arena, pkey, 'seed'),
),
);
});