pars: Setup encryption scheme parameters

Description Usage Arguments Details Author(s) References See Also Examples

View source: R/pars.R

Description

Use this function to create an encryption scheme parameters object.

Usage

1
pars(scheme, ...)

Arguments

scheme

the scheme for which to create a parameter object. Currently only Fan and Vercauteren's scheme is supported by specifying "FandV".

...

pass the specific options for the chosen scheme as named arguments to override any default values. See the details section for options for encryption schemes currently implemented.

Details

Currently only the scheme of Fan and Vercauteren ("FandV") is implemented.

For "FandV" you may specify:

d

power of the cyclotomic polynomial ring (default 4096);

sigma

the standard deviation of the discrete Gaussian used to induce a distribution on the cyclotomic polynomial ring (default 16.0);

qpow

the power of 2 to use for the coefficient modulus (default 128);

t

the value to use for the message space modulus (default 32768).

This function simply sets up the parameters which must be specified to use a particular encryption scheme. Using the scheme then requires generating cryptographic keys.

Author(s)

Louis Aslett

References

Fan, J., & Vercauteren, F. (2012). Somewhat Practical Fully Homomorphic Encryption. IACR ePrint. Retrieved from https://eprint.iacr.org/2012/144

See Also

parsHelp for automatic assistance selecting parameters which achieve a certain security level and multiplicative depth.

keygen to generate encryption keys using these parameters.

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
# Simplest example
p <- pars("FandV")
keys <- keygen(p)
ct <- enc(keys$pk, 1)
dec(keys$sk, ct)

# Change degree of cyclotomic polynomial used for ciphertext
p <- pars("FandV", d=2048)
keys <- keygen(p)
ct <- enc(keys$pk, 1)
dec(keys$sk, ct)

iamtrask/R-Homomorphic-Encryption-Package documentation built on May 29, 2019, 2:56 p.m.