/rev/7115ba16f72a
changeset: 1369:7115ba16f72a
user: Janus Dam Nielsen <[email protected]>
date: Thu Oct 29 13:46:21 2009 +0100
summary: Orlandi: Uniform format for Paillier keys.
diffstat:
viff/orlandi.py | 10 +++++-----
viff/paillier.py | 17 +++++++++++------
viff/paillierutil.py | 3 ---
3 files changed, 16 insertions(+), 14 deletions(-)
diffs (82 lines):
diff -r 4306568ab9c6 -r 7115ba16f72a viff/orlandi.py
--- a/viff/orlandi.py Thu Oct 29 13:46:21 2009 +0100
+++ b/viff/orlandi.py Thu Oct 29 13:46:21 2009 +0100
@@ -877,7 +877,7 @@
pc = tuple(self.program_counter)
p3 = field.modulus**3
for pi in self.players.keys():
- n = self.players[pi].pubkey[0]
+ n = self.players[pi].pubkey['n']
nsq = n * n
# choose random d_i,j in Z_p^3
dij = random_number(p3)
@@ -915,9 +915,9 @@
r2 = random_number(field.modulus)
# compute alpha_i = Enc_eki(a_i)
- n, g = self.players[self.id].pubkey
- alpha_randomness = rand.randint(1, long(n))
- alphai = encrypt_r(ai.value, alpha_randomness, (n, g))
+ pubkey = self.players[self.id].pubkey
+ alpha_randomness = rand.randint(1, long(pubkey['n']))
+ alphai = encrypt_r(ai.value, alpha_randomness, pubkey)
# and A_i = Com_ck(a_i, r_i).
Ai = commitment.commit(ai.value, r1.value, r2.value)
@@ -1136,7 +1136,7 @@
# 3) the gammaij he received is equal to the gammaij
# he now computes based on the values he reveives
for j in xrange(len(ais)):
- n = self.players[self.id].pubkey[0]
+ n = self.players[self.id].pubkey['n']
nsq = n * n
dij = dijs[j]
# 5) ... and dij < p^3.
diff -r 4306568ab9c6 -r 7115ba16f72a viff/paillier.py
--- a/viff/paillier.py Thu Oct 29 13:46:21 2009 +0100
+++ b/viff/paillier.py Thu Oct 29 13:46:21 2009 +0100
@@ -52,20 +52,25 @@
g = rand.randint(1, long(nsq))
if gmpy.gcd(L(pow(g, lm, nsq), n), n) == 1: break
- return (n, g), (n, g, lm)
+ return {'n':n, 'g': g}, {'n': n, 'g': g, 'lm': lm}
-def encrypt(m, (n, g)):
- r = rand.randint(1, long(n))
- return encrypt_r(m, r, (n, g))
+def encrypt(m, pubkey):
+ r = rand.randint(1, long(pubkey['n']))
+ return encrypt_r(m, r, pubkey)
-def encrypt_r(m, r, (n, g)):
+def encrypt_r(m, r, pubkey):
+ n = pubkey['n']
+ g = pubkey['g']
nsq = n*n
return (pow(g, m, nsq)*pow(r, n, nsq)) % nsq
#: Cache for ciphertext-independent factors.
_decrypt_factors = {}
-def decrypt(c, (n, g, lm)):
+def decrypt(c, seckey):
+ n = seckey['n']
+ g = seckey['g']
+ lm = seckey['lm']
numer = L(pow(c, lm, n*n), n)
key = (n, g, lm)
try:
diff -r 4306568ab9c6 -r 7115ba16f72a viff/paillierutil.py
--- a/viff/paillierutil.py Thu Oct 29 13:46:21 2009 +0100
+++ b/viff/paillierutil.py Thu Oct 29 13:46:21 2009 +0100
@@ -53,9 +53,6 @@
def deserializer(paillier_type, str):
- if paillier_type == "viff":
- return tuple(map(long, str))
- if paillier_type == "nacl":
d = {}
for k, v in str.items():
d[k] = long(v)
_______________________________________________
viff-commits mailing list
[email protected]
http://lists.viff.dk/listinfo.cgi/viff-commits-viff.dk