mirror of
https://github.com/borgbackup/borg.git
synced 2026-06-11 09:59:19 -04:00
use GMAC as default for now, integrate into maccer type system, adapt tests
This commit is contained in:
parent
20d1a74aaa
commit
4cdb1c37ba
3 changed files with 16 additions and 13 deletions
|
|
@ -494,6 +494,7 @@ Type "Yes I am sure" if you understand this and want to continue.\n""")
|
|||
- 01 sha512-256 (just simple hash, no MAC, faster on 64bit CPU)
|
||||
- 10 hmac-sha256 (HMAC, faster on 32bit CPU)
|
||||
- 11 hmac-sha512-256 (HMAC, faster on 64bit CPU)
|
||||
- 20 gmac (MAC, fastest on CPUs with AES-GCM HW support)
|
||||
""" % (COMPR_DEFAULT, HASH_DEFAULT, MAC_DEFAULT))
|
||||
subparser = subparsers.add_parser('init', parents=[common_parser],
|
||||
description=self.do_init.__doc__, epilog=init_epilog,
|
||||
|
|
|
|||
|
|
@ -115,6 +115,8 @@ class HMAC_SHA512_256(HMAC):
|
|||
|
||||
|
||||
class GMAC:
|
||||
TYPE = 20
|
||||
|
||||
def __init__(self, key, data):
|
||||
if key is None:
|
||||
raise Exception("do not use GMAC if you don't have a key")
|
||||
|
|
@ -129,7 +131,7 @@ class GMAC:
|
|||
return tag
|
||||
|
||||
|
||||
MAC_DEFAULT = HMAC_SHA256.TYPE
|
||||
MAC_DEFAULT = GMAC.TYPE
|
||||
|
||||
|
||||
class ZlibCompressor(object): # uses 0..9 in the mapping
|
||||
|
|
@ -238,8 +240,7 @@ class AESKeyBase(KeyBase):
|
|||
only 295 exabytes!
|
||||
"""
|
||||
def id_hash(self, data):
|
||||
return GMAC(self.id_key, data).digest()
|
||||
#return self.maccer(self.id_key, data).digest()
|
||||
return self.maccer(self.id_key, data).digest()
|
||||
|
||||
def encrypt(self, data):
|
||||
data = self.compressor.compress(data)
|
||||
|
|
@ -500,6 +501,7 @@ maccer_mapping = {
|
|||
# MACs:
|
||||
HMAC_SHA256.TYPE: HMAC_SHA256,
|
||||
HMAC_SHA512_256.TYPE: HMAC_SHA512_256,
|
||||
GMAC.TYPE: GMAC,
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -18,19 +18,19 @@ class KeyTestCase(AtticTestCase):
|
|||
|
||||
keyfile2_key_file = """
|
||||
ATTIC KEY 0000000000000000000000000000000000000000000000000000000000000000
|
||||
hqppdGVyYXRpb25zzgABhqCkc2FsdNoAICiRWfijWqIuvr+70VzOsUS4Y6NM45FWm6LgCu
|
||||
2GyalGqWFsZ29yaXRobaRnbWFjpGhhc2jaACDgCK7u30Pi+Du1qHRyWBupAAAAAAAAAAAA
|
||||
AAAAAAAAAKd2ZXJzaW9uAaRkYXRh2gDQrlCtq2mzdmkuhwIoko5+amxYqnlfNHHZxRFiX9
|
||||
F8AliP7H6S0j9uHyrBKRDWtj7VGYWVW8COy/FncLRgRhspB59rH3y/GS6pfeEw7RWUPd32
|
||||
eOcB6v8q+IHUvGttyFRcN6PxSFHBhOKN0jqStP0UqXLv+d9rGWi6X/HNZGu9WPkqs/g0G9
|
||||
xnf48i9pOy19aQo3HV//ubf+VYWmc1J8zjCS2Og0JkMtxbqM6j4mShPjkURZZBXSJGtORV
|
||||
5IzNAzixJWmr8LR12TmFGVb0U9P79A==""".strip()
|
||||
hqlhbGdvcml0aG2kZ21hY6d2ZXJzaW9uAaRkYXRh2gDQByfRqTSTSlAic/cXPGs0IsqVb+
|
||||
Zi/U16d6T+dUBtRHFjaFCJqtY+CPWiv2BD35cZop4TImLdGYcGvOAVOzdGKL7n8dTVnI0G
|
||||
jnapbvt8NBYRhXV9G3hFMTLjncJoHLQwHSXkVoG/UjBWHf9pcyhfSdWAyePkWrfk0K+O97
|
||||
/MGvYdUDeMju89c7SZKOD4PVZ+gG9ILpmI0SvCciptAX2ZrNqeJ3AkqoVzThT7VsNwbpHF
|
||||
j7MgZ5hWAqLA+PkEZ39jnchWWm2dxJMkjUmeAGjoiappdGVyYXRpb25zzgABhqCkc2FsdN
|
||||
oAIHxtfNeGPOnhza/lXT492RZEVFmm2hewR0MwDhI6DQAopGhhc2jaACAtXRPR5mDd71wp
|
||||
xNWoIlr9AAAAAAAAAAAAAAAAAAAAAA==""".strip()
|
||||
|
||||
keyfile2_cdata = unhexlify(re.sub('\W', '', """
|
||||
004078370be366ac3ad9d147992be8ebee000000000000000000000000000000000000000000000000
|
||||
b94bfb5d0a63b0c47cf74e2d0585aa
|
||||
039295060014da0020c772252fb7a88e06be0e1e371168fb5b00000000000000000000000000000000
|
||||
a80000000000000000af86399e604aa35fed0fae7bc02b39ae
|
||||
"""))
|
||||
keyfile2_id = unhexlify('45f309b4ef353c467d16a19039b87e5400000000000000000000000000000000')
|
||||
keyfile2_id = unhexlify('b1927b00c683abe7b40ec4cc3d8c8f2f00000000000000000000000000000000')
|
||||
|
||||
def setUp(self):
|
||||
self.tmppath = tempfile.mkdtemp()
|
||||
|
|
|
|||
Loading…
Reference in a new issue