EDDSAPrivateKey.fromKhalow constructor
Creates an EdDSA private key from a private key value for Khalow curves.
Parameters:
generator: The Edwards curve generator point.- privateKey: The private key bytes for Khalow curves.
Implementation
factory EDDSAPrivateKey.fromKhalow(EDPoint generator, List<int> secretKey) {
final baselen = generator.curve.baselen;
assert(secretKey.length == baselen || secretKey.length == baselen * 2);
if (secretKey.length < baselen) {
throw ArgumentException.invalidOperationArguments(
"EDDSAPrivateKey",
name: "secretKey",
reason: "Invalid secret key bytes length.",
);
}
final List<int> privateKeyPart = secretKey.sublist(0, baselen);
final List<int> extendedKey = secretKey.sublist(baselen);
final secret = BigintUtils.fromBytes(
privateKeyPart,
byteOrder: Endian.little,
);
return EDDSAPrivateKey._(
generator: generator,
privateKey: privateKeyPart,
secret: secret,
extendedKey: extendedKey,
);
}