crypto-incognito
Version:
Crypto Incognito client-side library.
40 lines • 1.94 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const _1 = __importDefault(require("./"));
const time = () => new Date().getTime();
(async () => {
// create_privkey().
const privkey = _1.default.create_privkey();
console.log('privkey:', privkey);
// pubkey_from_privkey().
const pubkey = _1.default.pubkey_from_privkey(privkey);
console.log('privkey:', pubkey);
// load_mG().
console.log('The number of points in mG.bin:', (await _1.default.load_mG(`${process.env['HOME']}/.crypto-incognito/mG.bin`)).toLocaleString());
// selector_create().
const index_counts = new BigUint64Array(3);
index_counts[0] = 1000n;
index_counts[1] = 1000n;
index_counts[2] = 1000n;
const beginSelectorsCreate = time();
const selector = _1.default.selector_create(pubkey, index_counts, 1024);
console.log(`Selector created (normal) in ${(time() - beginSelectorsCreate).toLocaleString()}ms.`);
// selector_create_fast().
const beginSelectorsFastCreate = time();
const selectorFast = _1.default.selector_create_fast(privkey, index_counts, 1024);
console.log(`Selector created (fast) in ${(time() - beginSelectorsFastCreate).toLocaleString()}ms.`);
// reply_decrypt().
const beginDecrypt = time();
const data = require('../src/test_napi_reply_data.json');
const decrypted = await _1.default.reply_decrypt(new Uint8Array(data.reply), new Uint8Array(data.privkey), data.dimension, data.packing);
for (let i = 0; i < data.correct.length; i++) {
if (decrypted[i] != data.correct[i]) {
throw new Error('Decrypted is not correct.');
}
}
console.log(`Reply decrypted in ${(time() - beginDecrypt).toLocaleString()}ms.`);
})();
//# sourceMappingURL=test_napi.js.map