UNPKG

crypto-incognito

Version:

Crypto Incognito client-side library.

40 lines (35 loc) 1.51 kB
import ci from './'; const time = () => new Date().getTime(); (async () => { // create_privkey(). const privkey = ci.create_privkey(); console.log('privkey:', privkey); // pubkey_from_privkey(). const pubkey = ci.pubkey_from_privkey(privkey); console.log('privkey:', pubkey); // load_mG(). console.log('The number of points in mG.bin:', (await ci.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 = ci.selector_create(pubkey, index_counts, 1024); console.log(`Selector created (normal) in ${(time() - beginSelectorsCreate).toLocaleString()}ms.`); // selector_create_fast(). const beginSelectorsFastCreate = time(); const selectorFast = ci.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 ci.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.`); })();