...
 
Commits (4)
......@@ -7,11 +7,12 @@ job1:
stage: build
script:
- make anonize2.js
- mkdir js
- mv anonize2.*js js/
only:
- master
tags:
- docker
artifacts:
paths:
- anonize2.js
- anonize2.js.mem
\ No newline at end of file
- js/
......@@ -176,7 +176,7 @@ public:
Big id, inv;
const char* cmsg = idstr.c_str();
int len = idstr.length();
size_t len = idstr.length();
set_int(id, cmsg, len);
mult(t, gg, id);
......@@ -211,7 +211,7 @@ public:
Cred(const char* usrid) {
userid = string(usrid);
int len = strlen(usrid);
size_t len = strlen(usrid);
set_int(id, usrid, len);
rand_int(sid);
rand_int(sig.s);
......@@ -238,7 +238,7 @@ public:
if (!(is >> t)) { return 0; }
std::getline(is, userid); // consume newline from topline
std::getline(is, userid); // read userid entirely
int len = userid.length();
size_t len = userid.length();
if (len>31) { return 0; } // fail on long address
set_int(id, userid.c_str(), len);
......@@ -527,7 +527,7 @@ const char* registerServerResponse(const char* userid, const char* usermsg, cons
G1 sigma;
// transform userid into bigint
int len = strlen(userid);
size_t len = strlen(userid);
set_int(id, userid, len);
mult(tt, rask.gg, id);
......@@ -651,7 +651,7 @@ int extendSurvey(const char* emails, survey *s) {
} else {
// extend sigs
ostringstream newsigs;
newsigs << s->sigs << endl << sigs.str();
newsigs << s->sigs << sigs.str();
free((void*)s->sigs);
s->sigs = strdup(newsigs.str().c_str());
s->cnt += cnt;
......@@ -969,7 +969,7 @@ public:
add(r1, r1, r2);
// 1 = beta * C^-z1 * H(vid)^z4
G1 Hvid, r3, l3, t3;
G1 Hvid, r3, l3;
H1(vidstr, Hvid);
mult(r3, Hvid, z4);
......@@ -1053,14 +1053,14 @@ public:
normalize(r5,r5);
// gamma2 F^c = g^z3 hg^z8 u^{z13} t^{z12}
G1 r7, t7;
G1 r7;
mult(r7, ravk.gg, z3);
add(r7,r7,t5); // add tt^z12 since it is precomputed
mult(t5, vavk.gg, z8);
add(r7, r7, t5);
mult(t5, ravk.uu, z13);
add(r7, r7, t5);
normalize(r7,l7);
normalize(r7,r7);
// eta H^c = t^{z13} v^{z14}
G1 l6, r6, t6;
......@@ -1069,11 +1069,11 @@ public:
mult(r6, ravk.tt, z13);
mult(t6, ravk.vv, z14);
add(r6,r6,t6);
normalize(l6,r6);
normalize(l6,l6);
normalize(r6,r6);
if (equal(l1,r1) && equal(E1,E1r) && equal(E2,E2r) && equal(l3,r3)
&& equal(l4,r4) && equal(l5,r5) && equal(l7,l7) && equal(l6,r6)
&& equal(l4,r4) && equal(l5,r5) && equal(l7,r7) && equal(l6,r6)
) {
return true;
} else {
......
// ___ _ ___
// / | ____ ____ ____ (_)___ ___ |__ \
// / /| | / __ \/ __ \/ __ \/ /_ / / _ \__/ /
// / ___ |/ / / / /_/ / / / / / / /_/ __/ __/
// /_/ |_/_/ /_/\____/_/ /_/_/ /___/\___/____/
//
// Copyright 2015 abhi shelat
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
......
......@@ -34,7 +34,7 @@ void pretty(const char* str, const char* title) {
printf("%s:\n",title);
const char *p = str;
do {
char *l = strchr(p, '\n');
const char *l = strchr(p, '\n');
if (l) {
printf(" %.*s\n", (int)(l-p),p);
p = l+1;
......@@ -49,7 +49,7 @@ int main() {
initAnonize();
for(int i=0; i<1; i++) {
for(int i=0; i<100; i++) {
// make keys
......
......@@ -94,7 +94,7 @@ void rand_int(Big& k) {
bn_rand(k.k, BN_POS, 256);
}
static inline void set_int(Big& k, const char* cmsg, int len) {
static inline void set_int(Big& k, const char* cmsg, size_t len) {
bn_new(k.k);
uint8_t buf[BN_PRECI/8];
......@@ -305,9 +305,9 @@ std::istream &operator>>( std::istream &input, G1& G ) {
std::string x,y,z;
ep_null(G.g);
G.g->norm = 1;
input >> x; fp_read_str(G.g->x, x.c_str(), x.length(), 64);
input >> y; fp_read_str(G.g->y, y.c_str(), y.length(), 64);
input >> z; fp_read_str(G.g->z, z.c_str(), z.length(), 64);
input >> x; fp_read_str(G.g->x, x.c_str(), (int)x.length(), 64);
input >> y; fp_read_str(G.g->y, y.c_str(), (int)y.length(), 64);
input >> z; fp_read_str(G.g->z, z.c_str(), (int)z.length(), 64);
if (!ep_is_valid(G.g)) {
input.setstate(std::ios::failbit);
......@@ -320,14 +320,14 @@ std::istream &operator>>( std::istream &input, G2& G ) {
std::string str;
ep2_null(G.g);
G.g->norm = 1;
input >> str; fp_read_str(G.g->x[0], str.c_str(), str.length(), 64);
input >> str; fp_read_str(G.g->x[1], str.c_str(), str.length(), 64);
input >> str; fp_read_str(G.g->x[0], str.c_str(), (int)str.length(), 64);
input >> str; fp_read_str(G.g->x[1], str.c_str(), (int)str.length(), 64);
input >> str; fp_read_str(G.g->y[0], str.c_str(), str.length(), 64);
input >> str; fp_read_str(G.g->y[1], str.c_str(), str.length(), 64);
input >> str; fp_read_str(G.g->y[0], str.c_str(), (int)str.length(), 64);
input >> str; fp_read_str(G.g->y[1], str.c_str(), (int)str.length(), 64);
input >> str; fp_read_str(G.g->z[0], str.c_str(), str.length(), 64);
input >> str; fp_read_str(G.g->z[1], str.c_str(), str.length(), 64);
input >> str; fp_read_str(G.g->z[0], str.c_str(), (int)str.length(), 64);
input >> str; fp_read_str(G.g->z[1], str.c_str(), (int)str.length(), 64);
if (!ep2_is_valid(G.g)) {
input.setstate(std::ios::failbit);
......@@ -341,19 +341,19 @@ std::istream &operator>>( std::istream &input, GT& G ) {
std::string str;
fp12_zero(G.g);
input >> str; fp_read_str(G.g[0][0][0], str.c_str(), str.length(), 64);
input >> str; fp_read_str(G.g[0][0][1], str.c_str(), str.length(), 64);
input >> str; fp_read_str(G.g[0][1][0], str.c_str(), str.length(), 64);
input >> str; fp_read_str(G.g[0][1][1], str.c_str(), str.length(), 64);
input >> str; fp_read_str(G.g[0][2][0], str.c_str(), str.length(), 64);
input >> str; fp_read_str(G.g[0][2][1], str.c_str(), str.length(), 64);
input >> str; fp_read_str(G.g[1][0][0], str.c_str(), str.length(), 64);
input >> str; fp_read_str(G.g[1][0][1], str.c_str(), str.length(), 64);
input >> str; fp_read_str(G.g[1][1][0], str.c_str(), str.length(), 64);
input >> str; fp_read_str(G.g[1][1][1], str.c_str(), str.length(), 64);
input >> str; fp_read_str(G.g[1][2][0], str.c_str(), str.length(), 64);
input >> str; fp_read_str(G.g[1][2][1], str.c_str(), str.length(), 64);
input >> str; fp_read_str(G.g[0][0][0], str.c_str(), (int)str.length(), 64);
input >> str; fp_read_str(G.g[0][0][1], str.c_str(), (int)str.length(), 64);
input >> str; fp_read_str(G.g[0][1][0], str.c_str(), (int)str.length(), 64);
input >> str; fp_read_str(G.g[0][1][1], str.c_str(), (int)str.length(), 64);
input >> str; fp_read_str(G.g[0][2][0], str.c_str(), (int)str.length(), 64);
input >> str; fp_read_str(G.g[0][2][1], str.c_str(), (int)str.length(), 64);
input >> str; fp_read_str(G.g[1][0][0], str.c_str(), (int)str.length(), 64);
input >> str; fp_read_str(G.g[1][0][1], str.c_str(), (int)str.length(), 64);
input >> str; fp_read_str(G.g[1][1][0], str.c_str(), (int)str.length(), 64);
input >> str; fp_read_str(G.g[1][1][1], str.c_str(), (int)str.length(), 64);
input >> str; fp_read_str(G.g[1][2][0], str.c_str(), (int)str.length(), 64);
input >> str; fp_read_str(G.g[1][2][1], str.c_str(), (int)str.length(), 64);
return input;
}
......@@ -362,7 +362,7 @@ std::istream &operator>>( std::istream &input, Big& k ) {
bn_new(k.k);
std::string str;
input >> str;
bn_read_str(k.k, str.c_str(), str.length(), 64);
bn_read_str(k.k, str.c_str(), (int)str.length(), 64);
return input;
}
......
......@@ -9,15 +9,15 @@
# See the License for the specific language governing permissions and
# limitations under the License.
CC=clang++
CC=g++
CFLAGS=-std=c++11 -stdlib=libc++ -fomit-frame-pointer -DNDEBUG -msse2 -mfpmath=sse -march=native
#CFLAGS = -g -O1 -fomit-frame-pointer -DNDEBUG -msse2 -mfpmath=sse -march=native
CFLAGS_WARN=-Wall -Wextra -Wformat=2 -Wcast-qual -Wcast-align -Wwrite-strings -Wfloat-equal -Wpointer-arith #-Wswitch-enum -Wstrict-aliasing=2
CFLAGS_ALWAYS = -D_FILE_OFFSET_BITS=64 -fno-operator-names
LDFLAGS = -lm -lzm $(LIB_DIR) -lgmp -lgmpxx
EMCC = /tmp/emsdk_portable/emscripten/master/emcc
EMCC = ~/Projects/emscripten/emsdk_portable/emscripten/1.35.0/emcc
RELIC_CFLAGS = -I../relic-darwin/include -I../relic/include
RELIC_LDFLAGS = -L../relic-darwin/lib -lrelic_s
......@@ -49,7 +49,7 @@ sha2.bc: sha2.cpp
$(EMCC) -O2 sha2.cpp -o sha2.bc
anonize2.js: anonize2.bc sha2.bc
$(EMCC) -O2 anonize2.bc sha2.bc /build/relic-js/lib/librelic_s.a -o anonize2.js -s EXPORTED_FUNCTIONS="['_initAnonize','_printParams','_makeCred','_makeKey','_createSurvey','_extendSurvey','_freeSurvey','_freeSurveyResponse','_registerUserMessage','_registerServerResponse','_registerUserFinal','_submitMessage','_verifyMessage']"
$(EMCC) -O2 anonize2.bc sha2.bc /build/relic-js/lib/librelic_s.a -o anonize2.js --memory-init-file 0 --post-js anonize2-post.js -s EXPORTED_FUNCTIONS="['_initAnonize','_printParams','_makeCred','_makeKey','_createSurvey','_extendSurvey','_freeSurvey','_freeSurveyResponse','_registerUserMessage','_registerServerResponse','_registerUserFinal','_submitMessage','_verifyMessage']"
#For MR_PAIRING_BLS curve
......
......@@ -132,9 +132,11 @@
this.registerUserFinal = Module.cwrap('registerUserFinal','string',['string','string','string','string']);
// message,cred,uidsig,vidstr,vavk_str,ravk_str
this.submitMessage = Module.cwrap('submitMessage', 'string',
this.submitMessage = Module.cwrap('submitMessage', 'string',
['string','string','string','string','string','string']);
this.verifyMessage = Module.cwrap('verifyMessage', 'number', ['string','string','string','string','number']);
var uid = '[email protected]';
......@@ -195,32 +197,6 @@
},
onVerifyEmail: function() {
var e = document.getElementById('email_field');
var s = document.getElementById('server_field');
var ee, ss;
if (e==null || s==null) {
console.log("Invalid email or server name");
return;
}
ee = e.value;
ss = s.value;
console.log(" --- verify email " + ss + " ----");
var xhr = new XMLHttpRequest();
if (xhr!=null) {
xhr.onreadystatechange=function() {
if (xhr.readyState == 4 && xhr.status == 200) {
console.log("Response Received");
}
}
xhr.open("POST", ss + "/reg", true);
xhr.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xhr.send("email="+encodeURIComponent(ee));
}
},
onGetCredential: function() {
var e = document.getElementById('email_field');
var c = document.getElementById('code_field');
......