Move utils.calc_msg_key into auth_key (cyclic imports py3.4)

This commit is contained in:
Lonami Exo 2018-01-08 12:01:38 +01:00
parent 59a1a6aef2
commit f4182376f1
3 changed files with 3 additions and 14 deletions

View File

@ -4,7 +4,6 @@ This module holds the AuthKey class.
import struct import struct
from hashlib import sha1 from hashlib import sha1
from .. import helpers as utils
from ..extensions import BinaryReader from ..extensions import BinaryReader
@ -36,4 +35,6 @@ class AuthKey:
""" """
new_nonce = new_nonce.to_bytes(32, 'little', signed=True) new_nonce = new_nonce.to_bytes(32, 'little', signed=True)
data = new_nonce + struct.pack('<BQ', number, self.aux_hash) data = new_nonce + struct.pack('<BQ', number, self.aux_hash)
return utils.calc_msg_key(data)
# Calculates the message key from the given data
return sha1(data).digest()[4:20]

View File

@ -91,11 +91,6 @@ def calc_key(auth_key, msg_key, client):
return aes_key, aes_iv return aes_key, aes_iv
def calc_msg_key(data):
"""Calculates the message key from the given data"""
return sha1(data).digest()[4:20]
def generate_key_data_from_nonce(server_nonce, new_nonce): def generate_key_data_from_nonce(server_nonce, new_nonce):
"""Generates the key data corresponding to the given nonce""" """Generates the key data corresponding to the given nonce"""
server_nonce = server_nonce.to_bytes(16, 'little', signed=True) server_nonce = server_nonce.to_bytes(16, 'little', signed=True)

View File

@ -99,13 +99,6 @@ class CryptoTests(unittest.TestCase):
assert iv == expected_iv, 'Invalid IV (expected ("{}"), got ("{}"))'.format( assert iv == expected_iv, 'Invalid IV (expected ("{}"), got ("{}"))'.format(
expected_iv, iv) expected_iv, iv)
@staticmethod
def test_calc_msg_key():
value = utils.calc_msg_key(b'Some random message')
expected = b'\xdfAa\xfc\x10\xab\x89\xd2\xfe\x19C\xf1\xdd~\xbf\x81'
assert value == expected, 'Value ("{}") does not equal expected ("{}")'.format(
value, expected)
@staticmethod @staticmethod
def test_generate_key_data_from_nonce(): def test_generate_key_data_from_nonce():
server_nonce = int.from_bytes(b'The 16-bit nonce', byteorder='little') server_nonce = int.from_bytes(b'The 16-bit nonce', byteorder='little')