UNPKG

@openpgp/tweetnacl

Version:

Port of TweetNaCl cryptographic library to JavaScript

99 lines (84 loc) 3.2 kB
// Type definitions for TweetNaCl.js export as namespace nacl; declare var nacl: nacl; export default nacl; declare namespace nacl { export interface BoxKeyPair { publicKey: Uint8Array; secretKey: Uint8Array; } export interface SignKeyPair { publicKey: Uint8Array; secretKey: Uint8Array; } // export interface secretbox { // (msg: Uint8Array, nonce: Uint8Array, key: Uint8Array): Uint8Array; // open(box: Uint8Array, nonce: Uint8Array, key: Uint8Array): Uint8Array | null; // readonly keyLength: number; // readonly nonceLength: number; // readonly overheadLength: number; // } export interface scalarMult { (n: Uint8Array, p: Uint8Array): Uint8Array; base(n: Uint8Array): Uint8Array; readonly scalarLength: number; readonly groupElementLength: number; } namespace boxProps { // export interface open { // (msg: Uint8Array, nonce: Uint8Array, publicKey: Uint8Array, secretKey: Uint8Array): Uint8Array | null; // after(box: Uint8Array, nonce: Uint8Array, key: Uint8Array): Uint8Array | null; // } export interface keyPair { (): BoxKeyPair; fromSecretKey(secretKey: Uint8Array): BoxKeyPair; } } export interface box { // (msg: Uint8Array, nonce: Uint8Array, publicKey: Uint8Array, secretKey: Uint8Array): Uint8Array; // before(publicKey: Uint8Array, secretKey: Uint8Array): Uint8Array; // after(msg: Uint8Array, nonce: Uint8Array, key: Uint8Array): Uint8Array; // open: boxProps.open; keyPair: boxProps.keyPair; // readonly publicKeyLength: number; // readonly secretKeyLength: number; // readonly sharedKeyLength: number; // readonly nonceLength: number; // readonly overheadLength: number; } namespace signProps { export interface detached { (msg: Uint8Array, secretKey: Uint8Array): Uint8Array; verify(msg: Uint8Array, sig: Uint8Array, publicKey: Uint8Array): boolean; } export interface keyPair { (): SignKeyPair; fromSecretKey(secretKey: Uint8Array): SignKeyPair; fromSeed(secretKey: Uint8Array): SignKeyPair; } } export interface sign { (msg: Uint8Array, secretKey: Uint8Array): Uint8Array; open(signedMsg: Uint8Array, publicKey: Uint8Array): Uint8Array | null; detached: signProps.detached; keyPair: signProps.keyPair; readonly publicKeyLength: number; readonly secretKeyLength: number; readonly seedLength: number; readonly signatureLength: number; } // export interface hash { // (msg: Uint8Array): Uint8Array; // readonly hashLength: number; // } } declare interface nacl { // randomBytes(n: number): Uint8Array; // secretbox: nacl.secretbox; scalarMult: nacl.scalarMult; box: nacl.box; sign: nacl.sign; // hash: nacl.hash; // verify(x: Uint8Array, y: Uint8Array): boolean; // setPRNG(fn: (x: Uint8Array, n: number) => void): void; }