UNPKG

@hpke/common

Version:

A Hybrid Public Key Encryption (HPKE) internal-use common module for @hpke family modules.

30 lines 1.57 kB
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: ArrayBufferLike | ArrayBufferView): Promise<CryptoKey>; serializePrivateKey(key: CryptoKey): Promise<ArrayBuffer>; deserializePrivateKey(key: ArrayBufferLike | ArrayBufferView): Promise<CryptoKey>; importKey(format: "raw" | "jwk", key: ArrayBuffer | JsonWebKey, isPublic?: boolean): Promise<CryptoKey>; generateKeyPair(): Promise<CryptoKeyPair>; deriveKeyPair(ikm: ArrayBufferLike | ArrayBufferView): Promise<CryptoKeyPair>; encap(params: SenderContextParams): Promise<{ sharedSecret: ArrayBuffer; enc: ArrayBuffer; }>; decap(params: RecipientContextParams): Promise<ArrayBuffer>; private _generateSharedSecret; } //# sourceMappingURL=dhkem.d.ts.map