def capsule_from_bytes(self, data): """ Get capsule key from given byte array. :param data: byte array :return: capsule """ cs = Capsule(ProxyLib()) cs.set_pointer(self.get_pointer()) cs.from_bytes(data) return cs
def re_encryption(self, capsule): """ Running re-encryption for given capsule and returning re-encrypted capsule :param capsule: capsule obj :return recapsule: re-encrypted capsule """ recapsule = Capsule(ProxyLib()) capsule_pointer = proxylib.proxylib_get_re_encryption_capsule( self.cm.get_pointer(), capsule.get_pointer(), self.get_pointer()) recapsule.set_pointer(capsule_pointer) return recapsule
def encapsulation(self): """ Making encapsulation and getting Capsule with symmetric key :param no: :return capsule and symmetric key """ capsule = Capsule(ProxyLib()) capsule_pointer, symmetric_key = proxylib.proxylib_encapsulate( self.cm.get_pointer(), self.get_pointer()) capsule.set_pointer(capsule_pointer) return capsule, binascii.hexlify(symmetric_key)