UNPKG

shamir-secret-sharing-bn254

Version:

![build](https://github.com/CluEleSsUK/shamir-secret-sharing-bn254/actions/workflows/build.yml/badge.svg)

28 lines (27 loc) 1.27 kB
export type SecretKey = { sk: Uint8Array; }; export type PublicKey = { pk: Uint8Array; }; export type PublicKeyShare = { index: bigint; pk: Uint8Array; }; export type SecretKeyShare = { index: bigint; share: bigint; }; export declare function createPrivateKey(): SecretKey; export declare function createPublicKey(secretKey: SecretKey | Uint8Array): PublicKey; export declare function createPublicKeyShare(secretKeyShare: SecretKeyShare): PublicKeyShare; export declare function sign(secretKey: SecretKey | Uint8Array, message: Uint8Array): Uint8Array; export declare function signPartial(secretKeyShare: SecretKeyShare, message: Uint8Array): Uint8Array; export declare function verify(publicKey: PublicKey | Uint8Array, message: Uint8Array, signature: Uint8Array): boolean; export declare function verifyPartial(publicKey: PublicKeyShare | Uint8Array, message: Uint8Array, partialSignature: PartialSignature | Uint8Array): boolean; export type PartialSignature = { index: bigint; signature: Uint8Array; }; export declare function aggregateGroupSignature(partials: Array<PartialSignature>): Uint8Array; export declare function split(secretKey: SecretKey | Uint8Array, numberOfShares: number, threshold: number): Array<SecretKeyShare>;