Skip to main content
Using Deno in production at your company? Earn free Deno merch.
Give us feedback
Module

x/hpke/src/kems/dhkemPrimitives/ec.ts>Ec

A Hybrid Public Key Encryption (HPKE) module built on top of Web Cryptography API.
Latest
class Ec
implements DhkemPrimitives
import { Ec } from "https://deno.land/x/hpke@1.2.7/src/kems/dhkemPrimitives/ec.ts";

Constructors

new
Ec(kem: KemId, hkdf: KdfInterface)

Properties

private
_alg: EcKeyGenParams
private
_bitmask: number
private
_hkdf: KdfInterface
private
_nDh: number
private
_nPk: number
private
_nSk: number
private
_order: Uint8Array
private
_pkcs8AlgId: Uint8Array

Methods

private
_deserializePkcs8Key(k: Uint8Array): Promise<CryptoKey>
private
_importJWK(key: JsonWebKey, isPublic: boolean): Promise<CryptoKey>
private
_importRawKey(key: ArrayBuffer, isPublic: boolean): Promise<CryptoKey>
deriveKeyPair(ikm: ArrayBuffer): Promise<CryptoKeyPair>
deserializePrivateKey(key: ArrayBuffer): Promise<CryptoKey>
deserializePublicKey(key: ArrayBuffer): Promise<CryptoKey>
dh(sk: CryptoKey, pk: CryptoKey): Promise<ArrayBuffer>
importKey(
format: "raw" | "jwk",
key: ArrayBuffer | JsonWebKey,
isPublic: boolean,
): Promise<CryptoKey>
serializePrivateKey(key: CryptoKey): Promise<ArrayBuffer>
serializePublicKey(key: CryptoKey): Promise<ArrayBuffer>