UNPKG

ever-crypto-js

Version:

Node.js native addon for the ever-crypto library - Post-quantum cryptography made simple

37 lines (34 loc) 1.73 kB
/* tslint:disable */ /* eslint-disable */ /* auto-generated by NAPI-RS */ export const XCHACHA_KEY_SIZE: number export const XCHACHA_NONCE_SIZE: number export const XCHACHA_MAC_SIZE: number export const KYBER_PUBLIC_KEY_SIZE: number export const KYBER_SECRET_KEY_SIZE: number export const KYBER_CIPHERTEXT_SIZE: number export const KYBER_SHARED_SECRET_SIZE: number /** Generate a random 32-byte encryption key for XChaCha20Poly1305 */ export declare function generateXchachaKey(): Buffer /** Generate a random 24-byte nonce for XChaCha20Poly1305 */ export declare function generateXchachaNonce(): Buffer /** Encrypt plaintext with XChaCha20Poly1305 authenticated encryption */ export declare function xchachaEncrypt(key: Buffer, nonce: Buffer, plaintext: Buffer, associatedData?: Buffer | undefined | null): Buffer /** Decrypt ciphertext with XChaCha20Poly1305 authenticated decryption */ export declare function xchachaDecrypt(key: Buffer, nonce: Buffer, ciphertext: Buffer, associatedData?: Buffer | undefined | null): Buffer /** Kyber1024 key pair structure for JavaScript */ export interface KyberKeyPair { publicKey: Buffer secretKey: Buffer } /** Kyber1024 encapsulation result for JavaScript */ export interface KyberEncapsulation { ciphertext: Buffer sharedSecret: Buffer } /** Generate a new Kyber1024 key pair for key encapsulation */ export declare function generateKyberKeypair(): KyberKeyPair /** Encapsulate a shared secret using a Kyber1024 public key */ export declare function kyberEncapsulate(publicKey: Buffer): KyberEncapsulation /** Decapsulate the shared secret using a Kyber1024 secret key and ciphertext */ export declare function kyberDecapsulate(secretKey: Buffer, ciphertext: Buffer): Buffer