ENC: fixup after merge

This commit is contained in:
hasufell 2014-05-19 22:26:10 +02:00
parent cd1611c018
commit a15ef46ea6
No known key found for this signature in database
GPG Key ID: 220CD1C5BDEED020
2 changed files with 16 additions and 16 deletions

View File

@ -37,8 +37,8 @@ endif
LIBS += -L. LIBS += -L.
# objects # objects
PQC_OBJS = rand.o poly.o mem.o ntru_decrypt.o PQC_OBJS = rand.o poly.o mem.o ntru_decrypt.o pqc_encrypt.o
PQC_HEADERS = err.h rand.h poly.h context.h ntru_decrypt.h PQC_HEADERS = err.h rand.h poly.h context.h ntru_decrypt.h pqc_encrypt.h
# CUNIT_OBJS = cunit.o # CUNIT_OBJS = cunit.o
# includes # includes

View File

@ -19,46 +19,46 @@
* MA 02110-1301 USA * MA 02110-1301 USA
*/ */
#include "pcq_encrypt.h" #include "pqc_encrypt.h"
/* /*
* encrypt the msg, using the math: * encrypt the msg, using the math:
* e = (h r) + m (mod q) * e = (h r) + m (mod q)
* *
* e = the encrypted poly * e = the encrypted poly
* h = the public key * h = the public key
* r = the random poly * r = the random poly
* m = the message poly * m = the message poly
* q = large mod * q = large mod
* *
* @param ctx ntru_context* the ntru context * @param ctx ntru_context* the ntru context
* @param rnd pb_poly* the random poly * @param rnd pb_poly* the random poly
* @param msg pb_poly* the message to encrypt * @param msg pb_poly* the message to encrypt
* @param pubKey pb_poly* the public key * @param pubKey pb_poly* the public key
* @param out pb_poly* the output poly * @param out pb_poly* the output poly
*/ */
void pb_encrypt(ntru_context *ctx, void pb_encrypt(ntru_context *ctx,
pb_poly *rnd, pb_poly *rnd,
pb_poly *msg, pb_poly *msg,
pb_poly *pubKey, pb_poly *pubKey,
pb_poly *out) pb_poly *out)
{ {
mp_int *tmpOut; mp_int *tmpOut;
mp_int *tmpMsg; mp_int *tmpMsg;
mp_int mp_mod; mp_int mp_int_mod;
init_integer(&mp_mod); init_integer(&mp_int_mod);
MP_SET_INT(&mp_mod,(unsigned long)ctx->q); MP_SET_INT(&mp_int_mod,(unsigned long)ctx->q);
pb_starmultiply(pubKey, rnd, out, ctx, ctx->q); pb_starmultiply(pubKey, rnd, out, ctx, ctx->q);
tmpOut = out->terms; tmpOut = out->terms;
tmpMsg = msg->terms; tmpMsg = msg->terms;
for(unsigned int i = 0; i <= ctx->N-1; i++) { for(unsigned int i = 0; i <= ctx->N-1; i++) {
mp_add(tmpOut,tmpMsg,tmpOut); mp_add(tmpOut,tmpMsg,tmpOut);
mp_mod(tmpOut,mp_mod,tmpOut); mp_mod(tmpOut,&mp_int_mod,tmpOut);
tmpOut++; tmpOut++;
tmpMsg++; tmpMsg++;
} }