Package 'HEtools'

Title: Homomorphic Encryption Polynomials
Description: Homomorphic encryption (Brakerski and Vaikuntanathan (2014) <doi:10.1137/120868669>) using Ring Learning with Errors (Lyubashevsky et al. (2012) <https://eprint.iacr.org/2012/230>) is a form of Learning with Errors (Regev (2005) <doi:10.1145/1060590.1060603>) using polynomial rings over finite fields. Functions to generate the required polynomials (using 'polynom'), with various distributions of coefficients are provided. Additionally, functions to generate and take coefficient modulo are provided.
Authors: Bastiaan Quast [aut, cre]
Maintainer: Bastiaan Quast <[email protected]>
License: MIT + file LICENSE
Version: 1.0.0
Built: 2024-11-02 02:40:43 UTC
Source: https://github.com/bquast/hetools

Help Index


Coefficient Modulo

Description

Coefficient Modulo

Usage

CoefMod(x, k)

Arguments

x

polynomial from the polynom package

k

the modulo

Value

polynomial of the polynom class

Examples

polynomial = polynomial(c(5, 3, 6))
print(polynomial)

CoefMod(polynomial, 5)

Generate Polynomial with Discrete Gaussian Coefficients

Description

Generate Polynomial with Discrete Gaussian Coefficients

Usage

GenDiscrGauss(n, s = 3)

Arguments

n

the order

s

scale the sigma (down)

Value

polynomial of the form x^^n + 1

Examples

n = 5
GenDiscrGauss(n)

GenDiscrGauss(n=5, s=2)

Generate Polynomial Modulo

Description

Generate Polynomial Modulo

Usage

GenPolyMod(n)

Arguments

n

the order

Value

polynomial of the form x^^n + 1

Examples

n = 5
GenPolyMod(5)

Generate Polynomial with Ternary

Description

Generate Polynomial with Ternary

Usage

GenTernary(n)

Arguments

n

the order

Value

ternary polynomial of order x^^n with coefficients (-1,0,1)

Examples

n = 5
GenTernary(n)

Generate Polynomial with Uniform Distribution Coefficients

Description

Generate Polynomial with Uniform Distribution Coefficients

Usage

GenUnif(n, q)

Arguments

n

the order

q

the ciphermod of coefficients

Value

polynomial of order x^^n with coefficients 0,..,q

Examples

n = 5
q = 7
GenUnif(n, q)