X-Git-Url: http://www.git.cypherpunks.ru/?p=pygost.git;a=blobdiff_plain;f=pygost%2Fwrap.py;h=301023eda18228d35ca1b00d2916afc30495e30a;hp=a3c206ca4c52a02c61e35fb55806fed0d5a36ae3;hb=2335694cd5ee459de19d261c08e9427438325bc8;hpb=4277661e11e63906d923827e5c124877f1dc0c8d diff --git a/pygost/wrap.py b/pygost/wrap.py index a3c206c..301023e 100644 --- a/pygost/wrap.py +++ b/pygost/wrap.py @@ -18,6 +18,7 @@ :rfc:`4357` key wrapping (28147-89 and CryptoPro). """ +from hmac import compare_digest from struct import pack from struct import unpack @@ -26,6 +27,8 @@ from pygost.gost28147 import DEFAULT_SBOX from pygost.gost28147 import ecb_decrypt from pygost.gost28147 import ecb_encrypt from pygost.gost28147_mac import MAC +from pygost.gost3413 import ctr +from pygost.gost3413 import mac def wrap_gost(ukm, kek, cek, sbox=DEFAULT_SBOX): @@ -111,3 +114,34 @@ def diversify(kek, ukm, sbox=DEFAULT_SBOX): iv = pack("