示例#1
0
    def encrypt_msgs(self, msgs, pk, bits=settings.KEYBITS):
        p, g, y = pk
        k = MixCrypt(bits=bits)
        k.k = ElGamal.construct((p, g, y))

        cipher = [k.encrypt(i) for i in msgs]
        return cipher
示例#2
0
 def encrypt_msg(self, msg, v, bits=settings.KEYBITS):
     aux = v
     pk = aux.pub_key
     p, g, y = (pk.p, pk.g, pk.y)
     k = MixCrypt(bits=bits)
     k.k = ElGamal.construct((p, g, y))
     return k.encrypt(msg)
示例#3
0
 def encrypt_msgs(self, msgs, pk, bits=settings.KEYBITS):
     p, g, y = pk
     k = MixCrypt(bits=bits)
     k.k = ElGamal.construct((p, g, y))
     cipher = []
     for vote in msgs:
         a, b = k.encrypt(vote[0])
         cipher.append([a, b, vote[1], vote[2]])
     return cipher
示例#4
0
#!/usr/bin/env python

import sys
from mixnet.mixcrypt import MixCrypt
from mixnet.mixcrypt import ElGamal

PK = sys.argv[1]
MSG = sys.argv[2]

p, g, y = map(int, PK.split(','))
k = MixCrypt(bits=256)
k.k = ElGamal.construct((p, g, y))

print(','.join(map(str, k.encrypt(int(MSG)))))