PHP WebShell

Текущая директория: /usr/lib/node_modules/bitgo/node_modules/tweetnacl-ts

Просмотр файла: box.js

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
var array_1 = require("./array");
var core_1 = require("./core");
var random_1 = require("./random");
var salsa20_1 = require("./salsa20");
var scalarmult_1 = require("./scalarmult");
var secretbox_1 = require("./secretbox");
var check_1 = require("./check");
function box(msg, nonce, publicKey, secretKey) {
    var k = box_before(publicKey, secretKey);
    return secretbox_1.secretbox(msg, nonce, k);
}
exports.box = box;
function box_before(publicKey, secretKey) {
    check_1.checkArrayTypes(publicKey, secretKey);
    check_1.checkBoxLengths(publicKey, secretKey);
    var k = array_1.ByteArray(32 /* SharedKey */);
    _box_beforenm(k, publicKey, secretKey);
    return k;
}
exports.box_before = box_before;
exports.box_after = secretbox_1.secretbox;
function box_open(msg, nonce, publicKey, secretKey) {
    var k = box_before(publicKey, secretKey);
    return secretbox_1.secretbox_open(msg, nonce, k);
}
exports.box_open = box_open;
exports.box_open_after = secretbox_1.secretbox_open;
function box_keyPair() {
    var pk = array_1.ByteArray(32 /* PublicKey */);
    var sk = array_1.ByteArray(32 /* SecretKey */);
    _box_keypair(pk, sk);
    return { publicKey: pk, secretKey: sk };
}
exports.box_keyPair = box_keyPair;
function box_keyPair_fromSecretKey(secretKey) {
    check_1.checkArrayTypes(secretKey);
    if (secretKey.length !== 32 /* SecretKey */)
        throw new Error('bad secret key size');
    var pk = array_1.ByteArray(32 /* PublicKey */);
    scalarmult_1._scalarMult_base(pk, secretKey);
    return { publicKey: pk, secretKey: array_1.ByteArray(secretKey) };
}
exports.box_keyPair_fromSecretKey = box_keyPair_fromSecretKey;
// low level
function _box_keypair(y, x) {
    random_1._randomBytes(x, 32);
    return scalarmult_1._scalarMult_base(y, x);
}
function _box_beforenm(k, y, x) {
    var s = array_1.ByteArray(32);
    scalarmult_1._scalarMult(s, x, y);
    return salsa20_1._hsalsa20(k, core_1._0, s, salsa20_1._sigma);
}
//# sourceMappingURL=box.js.map

Выполнить команду


Для локальной разработки. Не используйте в интернете!