Ejemplo n.º 1
0
 def test_nonTransitiveConvert(self):
     self.addMember()
     sig1 = groupsig.sign(b"Hello, World1!", self.memkeys[0], self.grpkey)
     sig2 = groupsig.sign(b"Hello, World2!", self.memkeys[0], self.grpkey)
     b = groupsig.verify(sig1, b"Hello, World1!", self.grpkey)
     self.assertTrue(b)
     b = groupsig.verify(sig2, b"Hello, World2!", self.grpkey)
     self.assertTrue(b)
     bkey = bldkey.bldkey_random(self.code, self.grpkey)
     out = groupsig.blind(self.grpkey, sig1, "Hello, World1!", bkey)
     bsig1 = out["bsig"]
     out = groupsig.blind(self.grpkey, sig2, "Hello, World2!", bkey)
     bsig2 = out["bsig"]
     bkey_pub = bldkey.bldkey_import(constants.GL19_CODE,
                                     bldkey.bldkey_export_pub(bkey))
     csigs1 = groupsig.convert([bsig1],
                               self.grpkey,
                               bkey_pub,
                               mgrkey=self.cnvkey)
     csigs2 = groupsig.convert([bsig2],
                               self.grpkey,
                               bkey_pub,
                               mgrkey=self.cnvkey)
     nym1 = groupsig.unblind(csigs1[0], bkey)
     nym2 = groupsig.unblind(csigs2[0], bkey)
     self.assertNotEqual(nym1['nym'], nym2['nym'])
Ejemplo n.º 2
0
 def test_rejectValidSignatureWrongMessageBytes(self):
     self.addMember()
     sig = groupsig.sign(b"Hello, World!", self.memkeys[0], self.grpkey)
     b = groupsig.verify(sig, b"Hello, Worlds!", self.grpkey)
     self.assertFalse(b)
Ejemplo n.º 3
0
 def test_acceptValidSignatureBytes(self):
     self.addMember()
     sig = groupsig.sign(b"Hello, World!", self.memkeys[0], self.grpkey)
     b = groupsig.verify(sig, b"Hello, World!", self.grpkey)
     self.assertTrue(b)
Ejemplo n.º 4
0
 def test_sigExportImport(self):
     sig_str = signature.signature_export(self.sig)
     sig = signature.signature_import(self.code, sig_str)
     b = groupsig.verify(sig, "Hello, World!", self.grpkey)
     self.assertTrue(b)
Ejemplo n.º 5
0
# Setup
issuer = groupsig.setup(constants.GL19_CODE)
_gpk = issuer['grpkey']
isk = issuer['mgrkey']
converter = groupsig.setup(constants.GL19_CODE, _gpk)
csk = converter['mgrkey']
gpk = converter['grpkey']

# Join
msg1 = groupsig.join_mgr(0, isk, gpk)
msg2 = groupsig.join_mem(1, gpk, msgin=msg1)
usk = msg2['memkey']
msg3 = groupsig.join_mgr(2, isk, gpk, msg2['msgout'])
msg4 = groupsig.join_mem(3, gpk, msgin=msg3, memkey=usk)
usk = msg4['memkey']

# Sign
sig = groupsig.sign("Hello, World!", usk, gpk)

# Verify
b = groupsig.verify(sig, "Hello, World!", gpk)

if b == True:
    print("VALID signature.")
else:
    print("WRONG signature.")
    sys.exit()

groupsig.clear(constants.GL19_CODE, issuer['config'])
groupsig.clear(constants.GL19_CODE, converter['config'])