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

x/hpke/src/kems/primitives/kyber/kyberBase.ts>KyberBase

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

Constructors

new
KyberBase()

Properties

private
_api: Crypto | undefined
protected
_compressedUSize: number
protected
_compressedVSize: number
protected
_du: number
protected
_dv: number
protected
_eta1: number
protected
_eta2: number
protected
_k: number
protected
_pkSize: number
protected
_skSize: number

Methods

private
_decap(ct: Uint8Array, sk: Uint8Array): Uint8Array
private
_deriveCpaKeyPair(cpaSeed: Uint8Array): [Uint8Array, Uint8Array]
private
_deriveKeyPair(seed: Uint8Array): [Uint8Array, Uint8Array]
private
_encap(
pk: Uint8Array,
msg: Uint8Array,
seed: Uint8Array,
): Uint8Array
private
_getSeed(seed?: Uint8Array): Uint8Array
private
_polyvecFromBytes(a: Uint8Array): Array<Array<number>>
private
_sampleMatrix(seed: Uint8Array, transposed: boolean): Array<Array<Array<number>>>
private
_setup()
protected
_compressU(r: Uint8Array, u: Array<Array<number>>): Uint8Array
protected
_compressV(r: Uint8Array, v: Array<number>): Uint8Array
protected
_decompressU(a: Uint8Array): Array<Array<number>>
protected
_decompressV(a: Uint8Array): Array<number>
protected
_sampleNoise1(
sigma: Uint8Array,
offset: number,
size: number,
): Array<Array<number>>
protected
_sampleNoise2(
sigma: Uint8Array,
offset: number,
size: number,
): Array<Array<number>>
decap(ct: Uint8Array, sk: Uint8Array): Promise<Uint8Array>
deriveKeyPair(seed: Uint8Array): Promise<[Uint8Array, Uint8Array]>
encap(pk: Uint8Array, seed?: Uint8Array): Promise<[Uint8Array, Uint8Array]>
generateKeyPair(): Promise<[Uint8Array, Uint8Array]>