@blueking/crypto-js-sdk
Version:
crypto-js-sdk
38 lines (37 loc) • 1.09 kB
TypeScript
import { BigInteger } from './jsbn';
import SecureRandom from './secure-random';
import { ECPointFp, ECCurveFp } from './ec';
declare class SM2 {
eccP: BigInteger;
eccA: BigInteger;
eccB: BigInteger;
eccN: BigInteger;
eccGx: BigInteger;
eccGy: BigInteger;
rng: SecureRandom;
ecCurve: ECCurveFp;
ecPointG: ECPointFp;
constructor();
getBigRandom(limit: any): any;
generateKeyPairHex(): {
privkeyhex: string;
pubkeyhex: string;
};
generateKeyPairBigInteger(): {
privkey: any;
pubkey: any;
};
formartXY(bg: any, needLength: number): any[] | null;
kdf(xy: any, data: any): number;
arrayCompare(src1: any, pos1: any, src2: any, pos2: any, len: number): 0 | -1;
encrypt(pubkey: string, dataHex: string): string | null;
decrypt(privkey: string, cipherHex: string): string | null;
cipherToDer(c1x: any, c1y: any, c2: any, c3: any): any[];
derDecode(der: any): {
c1x: any[];
c1y: any[];
c2: any[];
c3: any[];
} | null;
}
export default SM2;