Exemplo n.º 1
0
def test_gf_mult():
    ''' Used by mix_columns and inv_mix_columns to perform multiplication in
    GF(2^8).  param bv is an 8-bit BitVector, param factor is an integer.
        returns an 8-bit BitVector, whose value is bv*factor in GF(2^8) '''
    bitVector = newBV(0x87)
    factor = 0x02
    expected = newBV(0x15)
    actual = AES.gf_mult(bitVector, factor)
    assert expected == actual

    bitVector = newBV(0xca)
    factor = 0x53
    expected = newBV(0x01)
    actual = AES.gf_mult(bitVector, factor)
    assert expected == actual

    bitVector = newBV(0xb6)
    factor = 0x53
    expected = newBV(0x36)
    actual = AES.gf_mult(bitVector, factor)
    assert expected == actual
Exemplo n.º 2
0
def test_gf_mult():
    ''' Used by mix_columns and inv_mix_columns to perform multiplication in
    GF(2^8).  param bv is an 8-bit BitVector, param factor is an integer.
        returns an 8-bit BitVector, whose value is bv*factor in GF(2^8) '''
    bitVector = newBV(0x87)
    factor = 0x02
    expected = newBV(0x15)
    actual = AES.gf_mult(bitVector, factor)
    assert expected == actual

    bitVector = newBV(0xca)
    factor = 0x53
    expected = newBV(0x01)
    actual = AES.gf_mult(bitVector, factor)
    assert expected == actual

    bitVector = newBV(0xb6)
    factor = 0x53
    expected = newBV(0x36)
    actual = AES.gf_mult(bitVector, factor)
    assert expected == actual
Exemplo n.º 3
0
 def test_gv_mult_3(self):
     bv_1 = aes.key_bv("01")
     self.assertEqual(aes.bv_hex_str(aes.gf_mult(bv_1,1)),'01',\
                      "testing gf_mult with 63 * 2 = c6")
Exemplo n.º 4
0
 def test_gv_mult_2(self):
     bv_2 = aes.key_bv("e0")
     self.assertEqual(aes.bv_hex_str(aes.gf_mult(bv_2,3)),'3b',\
                      "testing gf_mult with e0 * 3 = 3b")
Exemplo n.º 5
0
 def test_gv_mult_1(self):
     bv_1 = aes.key_bv("63")
     self.assertEqual(aes.bv_hex_str(aes.gf_mult(bv_1,2)),'c6',\
                      "testing gf_mult with 63 * 2 = c6")
Exemplo n.º 6
0
 def test_gv_mult_3(self):
     bv_1 = aes.key_bv("01")
     self.assertEqual(aes.bv_hex_str(aes.gf_mult(bv_1,1)),'01',\
                      "testing gf_mult with 63 * 2 = c6")
Exemplo n.º 7
0
 def test_gv_mult_2(self):
     bv_2 = aes.key_bv("e0")
     self.assertEqual(aes.bv_hex_str(aes.gf_mult(bv_2,3)),'3b',\
                      "testing gf_mult with e0 * 3 = 3b")
Exemplo n.º 8
0
 def test_gv_mult_1(self):
     bv_1 = aes.key_bv("63")        
     self.assertEqual(aes.bv_hex_str(aes.gf_mult(bv_1,2)),'c6',\
                      "testing gf_mult with 63 * 2 = c6")