Numbers Probably Matter

    fhe

    0.0.4 • Public • Published

    node-gentry

    A reference library for the qCrypt implementation of Fully Homomorphic Encryption (FHE) by Craig Gentry. Built for qCrypt.

    Install

    npm install fhe

    Information

    This library makes use of the BigInteger.js library by Peter Olson. Inspired by a Python demonstration by Christopher Swenson.

    This library is intended for educational purposes ONLY and is NOT suitable for production use.

    Usage

    // Optionally, pass in an object to the constructor to set custom FHE params
    var fhe         = require("fhe")();
     
    // Simple explainer for the FHE parameters
    // (debug purposes)
    fhe.explainParameters();
     
    // Run a test encryption / decryption bit cycle
    // This method returns a boolean as a result
    // true  === success
    // false === something went wrong
    console.log(fhe.runTest());

    For custom implementations

    // Generate a keypair (public key and private key)
    var keyPair     = fhe.genKeyPair();
     
    // Encrypt a bit
    var bit = 1;
    var ciphertext  = fhe.encryptBit(keyPair.public, bit);
     
    // Decrypt the bit
    var decrypted   = fhe.decryptBit(keyPair.secret, ciphertext);
     
    // Verify the decrypted bit is the same as the original
    console.log(decrypted === bit);

    Method List

    Initiation

    Debug

    Crypto

    General

    Install

    npm i fhe

    DownloadsWeekly Downloads

    1

    Version

    0.0.4

    License

    GPL

    Last publish

    Collaborators

    • narruc