UNPKG

hsynchronous

Version:

Hybrid synchronous encryption protocol using NIST approved post-quantum algorithms.

45 lines (42 loc) 1.27 kB
import { kem, sign } from 'pqclean'; interface generateKeysFunc { (KEM_ALGORITHM?: string, SIG_ALGORITHM?: string): Promise<{ kemKeyPair: kem.GenerateKeyPairResult; sigKeyPair: sign.GenerateKeyPairResult; }>; } interface encryptFunc { (message: string, keypair: { kemKeyPair: kem.GenerateKeyPairResult; sigKeyPair: sign.GenerateKeyPairResult; }, options?: { fixedRunTime?: boolean; }, nonce?: string): Promise<string>; } interface decryptFunc { (payload: string, keypair: { kemKeyPair: kem.GenerateKeyPairResult; sigKeyPair: sign.GenerateKeyPairResult; }, options?: { fixedRunTime?: boolean; memoryNonceProtection?: boolean; }): Promise<{ message: string; createdAt: Date; decryptedAt: Date; nonce: string; }>; } interface exportKeysFunc { (keypair: { kemKeyPair: kem.GenerateKeyPairResult; sigKeyPair: sign.GenerateKeyPairResult; }): Promise<string>; } interface importKeysFunc { (keys: string): Promise<{ kemKeyPair: kem.GenerateKeyPairResult; sigKeyPair: sign.GenerateKeyPairResult; }>; } export type { decryptFunc, encryptFunc, exportKeysFunc, generateKeysFunc, importKeysFunc };