예제 #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
예제 #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
예제 #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")
예제 #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")
예제 #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")
예제 #6
0
파일: aes_test.py 프로젝트: dot-Sean/cscd27
 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")
예제 #7
0
파일: aes_test.py 프로젝트: dot-Sean/cscd27
 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")
예제 #8
0
파일: aes_test.py 프로젝트: dot-Sean/cscd27
 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")