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
TypeScript
/* 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