@hpke/common
Version:
A Hybrid Public Key Encryption (HPKE) internal-use common module for @hpke family modules.
30 lines • 1.5 kB
TypeScript
import type { KdfInterface } from "../interfaces/kdfInterface.js";
import type { KemId } from "../identifiers.js";
import type { KemInterface } from "../interfaces/kemInterface.js";
import type { DhkemPrimitives } from "../interfaces/dhkemPrimitives.js";
import type { SenderContextParams } from "../interfaces/senderContextParams.js";
import type { RecipientContextParams } from "../interfaces/recipientContextParams.js";
export declare class Dhkem implements KemInterface {
readonly id: KemId;
readonly secretSize: number;
readonly encSize: number;
readonly publicKeySize: number;
readonly privateKeySize: number;
protected _prim: DhkemPrimitives;
protected _kdf: KdfInterface;
constructor(id: KemId, prim: DhkemPrimitives, kdf: KdfInterface);
serializePublicKey(key: CryptoKey): Promise<ArrayBuffer>;
deserializePublicKey(key: ArrayBuffer): Promise<CryptoKey>;
serializePrivateKey(key: CryptoKey): Promise<ArrayBuffer>;
deserializePrivateKey(key: ArrayBuffer): Promise<CryptoKey>;
importKey(format: "raw" | "jwk", key: ArrayBuffer | JsonWebKey, isPublic?: boolean): Promise<CryptoKey>;
generateKeyPair(): Promise<CryptoKeyPair>;
deriveKeyPair(ikm: ArrayBuffer): Promise<CryptoKeyPair>;
encap(params: SenderContextParams): Promise<{
sharedSecret: ArrayBuffer;
enc: ArrayBuffer;
}>;
decap(params: RecipientContextParams): Promise<ArrayBuffer>;
private _generateSharedSecret;
}
//# sourceMappingURL=dhkem.d.ts.map