@iota-big3/sdk-quantum
Version:
Quantum-ready architecture with post-quantum cryptography
38 lines • 1.65 kB
TypeScript
export declare class QuantumCrypto {
private config;
private kemAlgorithm;
private signatureAlgorithm;
private keyCache;
private isEnabled;
constructor(config: QuantumConfig);
private initializeAlgorithms;
generateKeyPair(algorithm: QuantumAlgorithm, usage: KeyUsage[]): Promise<QuantumKeyPair>;
encapsulate(publicKey: Uint8Array): Promise<EncapsulatedSecret>;
decapsulate(ciphertext: Uint8Array, privateKey: Uint8Array): Promise<Uint8Array>;
sign(data: Uint8Array, privateKey: Uint8Array): Promise<QuantumSignature>;
verify(data: Uint8Array, signature: QuantumSignature, publicKey: Uint8Array): Promise<boolean>;
hybridEncrypt(data: Uint8Array, quantumPublicKey: Uint8Array, classicalPublicKey?: Uint8Array): Promise<{
quantumCiphertext: Uint8Array;
classicalCiphertext?: Uint8Array;
encapsulatedKey: Uint8Array;
}>;
hybridDecrypt(quantumCiphertext: Uint8Array, encapsulatedKey: Uint8Array, quantumPrivateKey: Uint8Array, classicalCiphertext?: Uint8Array, classicalPrivateKey?: Uint8Array): Promise<Uint8Array>;
getSecurityLevel(algorithm: QuantumAlgorithm): SecurityLevel;
estimateQuantumResistance(): {
years: number;
confidence: number;
assumptions: string[];
};
private isKEMAlgorithm;
private isSignatureAlgorithm;
private generateKeyId;
private calculateExpiration;
private getSecurityBits;
private deriveKey;
private symmetricEncrypt;
private symmetricDecrypt;
private classicalEncrypt;
private classicalDecrypt;
private compareArrays;
}
//# sourceMappingURL=quantum-crypto.d.ts.map