| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| libkkpa-0.3.tar.gz | 2016-02-02 | 63.6 kB | |
| libkkpa-0.2.tar.gz | 2016-02-02 | 63.7 kB | |
| README | 2016-02-01 | 2.2 kB | |
| libkkpa-0.1.tar.gz | 2016-02-01 | 61.0 kB | |
| Totals: 4 Items | 190.4 kB | 0 |
KKPA [1] is a cryptosystem which offers additive and multiplicative homomorphism, making it very useful for privacy preserving applications. This is a simple C library which implements KKPA key generation, encryption, decryption, and also makes it easy to use the homomorphism. The excellent GNU Multiple Precision Arithmetic Library (GMP) is used for the underlying number theoretic operations, so you will need to have that installed before building libkkpa. Generally, the library is written in the most straightforward manner that you may imagine given that it is written in C and uses GMP. The KKPA cryptosystem is not very complicated, and neither is libkkpa. Right now, the only documentation available is the series of comments in the header file (kkpa.h). That is probably all that is necessary, however, given the simplicity of the library. There are couple security considerations to keep in mind if you intend to try to actually do something secure with libkkpa. Which you absolutely shouldn't do anyway, since there are probably other issues I'm overlooking. When the kkpa_keygen function selects a modulus n = p q, it does not bother ensuring that p and q are strong primes [2]. While this was at one point considered important (e.g., it is required by ANSI X9.31), modern factoring algorithms make any advantage of strong primes doubtful [3]. RSA Laboratories no longer recommends the practice. More importantly, at no point is any special effort made to securely "shred" sensitive memory. This means that it is important that functions dealing with private keys and plaintexts (e.g., kkpa_keygen and kkpa_enc) only be run on trusted machines. The resulting ciphertexts and public keys, however, may of course be handled in an untrusted manner. The following paper introduced the basic algorithms that libkkpa implements. [1] "Fully Homomorphic Encryption Scheme with Probabilistic Encryption" Kumar, Kumar, Pandey and Alam 2016 Please report any bugs, questions, comments, and contributions to ptb@inv.it.uc3m.es. Peter Breuer <ptb@inv.it.uc3m.es> [2] http://en.wikipedia.org/wiki/Strong_prime [3] http://eprint.iacr.org/2001/007