84 lines
3.2 KiB
TypeScript
84 lines
3.2 KiB
TypeScript
import { type CryptoKeys, type Signer, type SigOpts, type TRet, type VerOpts } from './utils.ts';
|
|
type FalconRandom = (bytesLength?: number) => TRet<Uint8Array>;
|
|
type FalconSigOpts = SigOpts & {
|
|
random?: FalconRandom;
|
|
};
|
|
/** Falcon attached-signature API. */
|
|
export type FalconAttached = CryptoKeys & {
|
|
/** Key lengths plus the 48-byte sampler-seed hook for signing. */
|
|
lengths: CryptoKeys['lengths'] & {
|
|
signRand?: number;
|
|
};
|
|
/**
|
|
* Signs a message and appends it to the returned attached signature.
|
|
* @param msg Message bytes to sign.
|
|
* @param secretKey Falcon secret key bytes.
|
|
* @param opts Optional Falcon signing options.
|
|
* @returns Attached signature containing both the message and signature.
|
|
*/
|
|
seal(msg: Uint8Array, secretKey: Uint8Array, opts?: FalconSigOpts): Uint8Array;
|
|
/**
|
|
* Verifies an attached signature and returns the embedded message.
|
|
* @param sig Attached Falcon signature bytes.
|
|
* @param publicKey Falcon public key bytes.
|
|
* @param opts Optional verification options.
|
|
* @returns Embedded message bytes when the signature is valid.
|
|
*/
|
|
open(sig: Uint8Array, publicKey: Uint8Array, opts?: VerOpts): Uint8Array;
|
|
};
|
|
/** Falcon detached-signature API with an attached-signature helper. */
|
|
export type Falcon = Signer & {
|
|
/** Attached-signature helper for the same Falcon parameter set. */
|
|
attached: FalconAttached;
|
|
};
|
|
/**
|
|
* Falcon-512 detached-signature API with the attached helper exposed as `.attached`.
|
|
* @example
|
|
* Generate a Falcon-512 keypair and verify one detached signature.
|
|
* ```ts
|
|
* const { secretKey, publicKey } = falcon512.keygen();
|
|
* const msg = new Uint8Array([1, 2, 3]);
|
|
* const sig = falcon512.sign(msg, secretKey);
|
|
* falcon512.verify(sig, msg, publicKey);
|
|
* ```
|
|
*/
|
|
export declare const falcon512: TRet<Falcon>;
|
|
/**
|
|
* Falcon-512 padded detached-signature API with the attached helper exposed as `.attached`.
|
|
* @example
|
|
* Generate a Falcon-512 padded keypair and verify one detached signature.
|
|
* ```ts
|
|
* const { secretKey, publicKey } = falcon512padded.keygen();
|
|
* const msg = new Uint8Array([1, 2, 3]);
|
|
* const sig = falcon512padded.sign(msg, secretKey);
|
|
* falcon512padded.verify(sig, msg, publicKey);
|
|
* ```
|
|
*/
|
|
export declare const falcon512padded: TRet<Falcon>;
|
|
/**
|
|
* Falcon-1024 detached-signature API with the attached helper exposed as `.attached`.
|
|
* @example
|
|
* Generate a Falcon-1024 keypair and verify one detached signature.
|
|
* ```ts
|
|
* const { secretKey, publicKey } = falcon1024.keygen();
|
|
* const msg = new Uint8Array([1, 2, 3]);
|
|
* const sig = falcon1024.sign(msg, secretKey);
|
|
* falcon1024.verify(sig, msg, publicKey);
|
|
* ```
|
|
*/
|
|
export declare const falcon1024: TRet<Falcon>;
|
|
/**
|
|
* Falcon-1024 padded detached-signature API with the attached helper exposed as `.attached`.
|
|
* @example
|
|
* Generate a Falcon-1024 padded keypair and verify one detached signature.
|
|
* ```ts
|
|
* const { secretKey, publicKey } = falcon1024padded.keygen();
|
|
* const msg = new Uint8Array([1, 2, 3]);
|
|
* const sig = falcon1024padded.sign(msg, secretKey);
|
|
* falcon1024padded.verify(sig, msg, publicKey);
|
|
* ```
|
|
*/
|
|
export declare const falcon1024padded: TRet<Falcon>;
|
|
export declare const __tests: any;
|
|
export {};
|
|
//# sourceMappingURL=falcon.d.ts.map
|