import { MlKemBase } from "./mlKemBase.js"; /** * Represents the MlKem768 class, which extends the MlKemBase class. * * This class extends the MlKemBase class and provides specific implementation for MlKem768. * * @deprecated Use {@link createMlKem768} instead. This async class-based API will be removed in a future release. * * @remarks * * MlKem768 is a specific implementation of the ML-KEM key encapsulation mechanism. * * @example * * ```ts * // Using jsr: * import { createMlKem768 } from "@dajiaji/mlkem"; * // Using npm: * // import { createMlKem768 } from "mlkem"; // or "crystals-kyber-js" * * const recipient = await createMlKem768(); * const [pkR, skR] = recipient.generateKeyPair(); * * const sender = await createMlKem768(); * const [ct, ssS] = sender.encap(pkR); * * const ssR = recipient.decap(ct, skR); * // ssS === ssR * ``` */ export declare class MlKem768 extends MlKemBase { _k: number; _du: number; _dv: number; _eta1: number; _eta2: number; constructor(); /** * Generates a keypair [publicKey, privateKey]. * * If an error occurred, throws {@link MlKemError}. * * @returns A kaypair [publicKey, privateKey]. * @throws {@link MlKemError} */ generateKeyPair(): Promise<[Uint8Array, Uint8Array]>; /** * Derives a keypair [publicKey, privateKey] deterministically from a 64-octet seed. * * If an error occurred, throws {@link MlKemError}. * * @param seed A 64-octet seed for the deterministic key generation. * @returns A kaypair [publicKey, privateKey]. * @throws {@link MlKemError} */ deriveKeyPair(seed: Uint8Array): Promise<[Uint8Array, Uint8Array]>; /** * Generates a shared secret from the encapsulated ciphertext and the private key. * * If an error occurred, throws {@link MlKemError}. * * @param pk A public key. * @param seed An optional 32-octet seed for the deterministic shared secret generation. * @returns A ciphertext (encapsulated public key) and a shared secret. * @throws {@link MlKemError} */ encap(pk: Uint8Array, seed?: Uint8Array): Promise<[Uint8Array, Uint8Array]>; /** * Generates a ciphertext for the public key and a shared secret. * * If an error occurred, throws {@link MlKemError}. * * @param ct A ciphertext generated by {@link encap}. * @param sk A private key. * @returns A shared secret. * @throws {@link MlKemError} */ decap(ct: Uint8Array, sk: Uint8Array): Promise; } //# sourceMappingURL=mlKem768.d.ts.map