def __init__(self, groupObj): IBEnc.__init__(self) IBEnc.setProperty(self, secdef='IND_ID_CPA', assumption='DBDH', secmodel='Standard') #, other={'id':ZR} #message_space=[GT, 'KEM'] global group, hashObj group = groupObj hashObj = hashlib.new('sha1')
def __init__(self, groupObj): IBEnc.__init__(self) IBEnc.setProperty(self, secdef='IND_sID_CPA', assumption='DBDH', message_space=[GT, 'KEM'], secmodel='ROM', other={'id': ZR}) global group group = groupObj
def extract(self, mk, ID): if not self.ibe_good: return IBEnc.extract(self, mk, ID) if type(ID) == str: ID2 = self.group.hash(ID) return self.ibenc.extract(mk, ID2) else: assert False, "invalid type on ID."
def __init__(self, scheme, group): IBEnc.__init__(self) self.group = group self.ibe_good = False # validate that we have the appropriate object if IBEnc.checkProperty(self, scheme, {'scheme':self.baseSchemeTypes.IBEnc, 'secdef':self.baseSecDefs.sIND_ID_CPA, 'id':ZR}): self.ibenc = scheme # change our property as well IBEnc.setProperty(self, secdef='IND_ID_CPA', other={'id':str}, secmodel='ROM') # check message space? self.ibe_good = True if not self.ibe_good: assert False, "ibe object does not satisfy requirements."
def __init__(self, scheme, group): IBEnc.__init__(self) self.group = group self.ibe_good = False # validate that we have the appropriate object if IBEnc.checkProperty( self, scheme, { 'scheme': self.baseSchemeTypes.IBEnc, 'secdef': self.baseSecDefs.sIND_ID_CPA, 'id': ZR }): self.ibenc = scheme # change our property as well IBEnc.setProperty(self, secdef='IND_ID_CPA', other={'id': str}, secmodel='ROM') # check message space? self.ibe_good = True if not self.ibe_good: assert False, "ibe object does not satisfy requirements."
def __init__(self, groupObj): IBEnc.__init__(self) IBEnc.setProperty(self, secdef='IND_sID_CPA', assumption='DBDH', message_space=[GT, 'KEM'], secmodel='ROM', other={'id':ZR}) global group group = groupObj
def __init__(self, groupObj): IBEnc.__init__(self) global group,h,ZN group = groupObj h = Hash('sha1', group) ZN = -1
def decrypt(self, pk, sk, ct): if not self.ibe_good: return IBEnc.decrypt(self, pk, sk, ct) return self.ibenc.decrypt(pk, sk, ct)
def encrypt(self, pk, ID, msg): if not self.ibe_good: return IBEnc.encrypt(self, pk, ID, msg) return self.ibenc.encrypt(pk, ID, msg)
def setup(self): if not self.ibe_good: return IBEnc.setup(self) return self.ibenc.setup()
def __init__(self, groupObj): IBEnc.__init__(self) global group,h,ZN group = groupObj h = Hash('sha1', group.Pairing) ZN = -1