@stellot/crypto
Version:
Crypto libraries for front and backend
36 lines (35 loc) • 1.34 kB
TypeScript
/// <reference types="node" />
import DecryptionElGamal from './decryption';
import EncryptionElGamal from './encryption';
import { BigInteger as BigInt } from 'jsbn';
import EncryptedValue from './encryptedValue';
import DecryptedValue from './decryptedValue';
import BN from 'bn.js';
export { ElGamal, EncryptionElGamal, DecryptionElGamal, DecryptedValue, EncryptedValue };
export declare function createEncryptionKeypair(primeBits?: number): {
publicKey: Buffer;
privateKey: Buffer;
};
export declare function encodePublicKey(prime: BigInt, generator: BigInt, publicKey: BigInt): Buffer;
export declare function decodePublicKey(der: Buffer): {
p: BN;
g: BN;
y: BN;
};
export declare function encodePrivateKey(prime: BigInt, generator: BigInt, y: BigInt, x: BigInt): Buffer;
export declare function decodePrivateKey(der: Buffer): {
p: BN;
g: BN;
y: BN;
x: BN;
};
export default class ElGamal {
static generate(primeBits?: number): {
p: any;
g: any;
y: any;
x: any;
};
static fromPrivateKey(p: BigInt | string | number, g: BigInt | string | number, y: BigInt | string | number, x: BigInt | string | number): DecryptionElGamal;
static fromPublicKey(p: BigInt | string | number, g: BigInt | string | number, y: BigInt | string | number): EncryptionElGamal;
}