Example #1
0
    def test_should_generate_mle_and_mac_key_when_generate_keys_method_is_called_with_sequence_counter_equal_1(
            self):
        """
        7.1.4.2 Test Vector 2
        """

        # GIVEN
        sequence_counter = 1

        creator = net_crypto.CryptoMaterialCreator(master_key)

        # WHEN
        mle_key, mac_key = creator._generate_keys(sequence_counter)

        # THEN
        self.assertEqual(
            mle_key,
            bytearray([
                0x8f, 0x4c, 0xd1, 0xa2, 0x7d, 0x95, 0xc0, 0x7d, 0x12, 0xdb,
                0x89, 0x74, 0xbd, 0x61, 0x5c, 0x13
            ]))
        self.assertEqual(
            mac_key,
            bytearray([
                0x9b, 0xe0, 0xd1, 0xaf, 0x7b, 0xd8, 0x73, 0x50, 0xde, 0xab,
                0xcd, 0xd0, 0x7f, 0xeb, 0xb9, 0xd5
            ]))
Example #2
0
    def test_should_generate_mle_and_mac_key_when_generate_keys_method_is_called_with_sequence_counter_equal_2(
            self):
        """
        7.1.4.3 Test Vector 3
        """

        # GIVEN
        sequence_counter = 2

        creator = net_crypto.CryptoMaterialCreator(master_key)

        # WHEN
        mle_key, mac_key = creator._generate_keys(sequence_counter)

        # THEN
        self.assertEqual(
            mle_key,
            bytearray([
                0x01, 0x6e, 0x2a, 0xb8, 0xec, 0x88, 0x87, 0x96, 0x87, 0xa7,
                0x2e, 0x0a, 0x35, 0x7e, 0xcf, 0x2a
            ]))
        self.assertEqual(
            mac_key,
            bytearray([
                0x56, 0x41, 0x09, 0xe9, 0xd2, 0xaa, 0xd7, 0xf7, 0x23, 0xec,
                0x3b, 0x96, 0x11, 0x0e, 0xef, 0xa3
            ]))
Example #3
0
    def test_should_generate_mle_and_mac_key_when_generate_keys_method_is_called_with_sequence_counter_equal_0(
            self):
        """
        7.1.4.1 Test Vector 1
        """

        # GIVEN
        sequence_counter = 0

        creator = net_crypto.CryptoMaterialCreator(master_key)

        # WHEN
        mle_key, mac_key = creator._generate_keys(sequence_counter)

        # THEN
        self.assertEqual(
            mle_key,
            bytearray([
                0x54, 0x45, 0xf4, 0x15, 0x8f, 0xd7, 0x59, 0x12, 0x17, 0x58,
                0x09, 0xf8, 0xb5, 0x7a, 0x66, 0xa4
            ]))
        self.assertEqual(
            mac_key,
            bytearray([
                0xde, 0x89, 0xc5, 0x3a, 0xf3, 0x82, 0xb4, 0x21, 0xe0, 0xfd,
                0xe5, 0xa9, 0xba, 0xe3, 0xbe, 0xf0
            ]))