-class TestHMACPEP247(TestCase):
- def runTest(self):
- h = hmac.new(b'foo', digestmod=gost3411_2012)
- h.update(b'foobar')
- h.digest()
+class TestHMAC(TestCase):
+ """http://tc26.ru/methods/recommendation/%D0%A2%D0%9A26%D0%90%D0%9B%D0%93.pdf test vectors
+ """
+ def test_256(self):
+ for digestmod in (GOST34112012256, gost3411_2012_256):
+ self.assertEqual(
+ hmac.new(
+ key=hexdec("000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f"),
+ msg=hexdec("0126bdb87800af214341456563780100"),
+ digestmod=digestmod,
+ ).hexdigest(),
+ "a1aa5f7de402d7b3d323f2991c8d4534013137010a83754fd0af6d7cd4922ed9",
+ )
+
+ def test_512(self):
+ for digestmod in (GOST34112012512, gost3411_2012_512):
+ self.assertEqual(
+ hmac.new(
+ key=hexdec("000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f"),
+ msg=hexdec("0126bdb87800af214341456563780100"),
+ digestmod=digestmod,
+ ).hexdigest(),
+ "a59bab22ecae19c65fbde6e5f4e9f5d8549d31f037f9df9b905500e171923a773d5f1530f2ed7e964cb2eedc29e9ad2f3afe93b2814f79f5000ffc0366c251e6",
+ )