Example #1
0
 def MAC(self, seq, msg, key):
     """
     """
     mac = hmac.HMAC(key=key, digestmod=self.hash)
     seqnum = num_to_bytes(seq)
     mac.update(seqnum)
     mac.update(msg)
     return mac.digest()[:10] + b'\x00\x01' + seqnum
Example #2
0
 def MAC(self, seq, msg, key):
     """
     """
     mac = hmac.HMAC(key=key, digestmod=self.hash)
     seqnum = num_to_bytes(seq)
     mac.update(seqnum)
     mac.update(msg)
     return mac.digest()[:10] + b'\x00\x01' + seqnum
Example #3
0
    def flush(self):
        """
        """
        result = b''
        # Leave buffer space for the MAC
        mbuf = self._max_buffer - 10 - 2 - 4

        while self._enc_buf:
            msg = self._encbuf[:mbuf]
            mac = self.MAC(self._enc_seq, msg, self._enc_key, self.hash)
            self._enc_seq += 1
            msg += mac
            result += num_to_bytes(len(msg)) + msg
            self._enc_buf = self._enc_buf[mbuf:]

        return result
Example #4
0
    def flush(self):
        """
        """
        result = b''
        # Leave buffer space for the MAC
        mbuf = self._max_buffer - 10 - 2 - 4

        while self._enc_buf:
            msg = self._encbuf[:mbuf]
            mac = self.MAC(self._enc_seq, msg, self._enc_key, self.hash)
            self._enc_seq += 1
            msg += mac
            result += num_to_bytes(len(msg)) + msg
            self._enc_buf = self._enc_buf[mbuf:]

        return result