Browse Source

crypto.py: remove 'hash_rounds' arg from scramble_seed()

MMGen 5 years ago
parent
commit
f060ecdca8
3 changed files with 8 additions and 9 deletions
  1. 2 2
      mmgen/addr.py
  2. 4 5
      mmgen/crypto.py
  3. 2 2
      mmgen/seed.py

+ 2 - 2
mmgen/addr.py

@@ -494,7 +494,7 @@ Removed {{}} duplicate WIF key{{}} from keylist (also in {pnm} key-address file
 		if g.proto.is_testnet():
 			scramble_key += ':testnet'
 		dmsg_sc('str',scramble_key)
-		return scramble_seed(seed,scramble_key.encode(),g.scramble_hash_rounds)
+		return scramble_seed(seed,scramble_key.encode())
 
 	def encrypt(self,desc='new key list'):
 		from mmgen.crypto import mmgen_encrypt
@@ -883,7 +883,7 @@ Record this checksum: it will be used to verify the password file in the future
 		# NB: In original implementation, pw_id_str was 'baseN', not 'bN'
 		scramble_key = '{}:{}:{}'.format(self.pw_fmt,self.pw_len,self.pw_id_str)
 		from mmgen.crypto import scramble_seed
-		return scramble_seed(seed,scramble_key.encode(),g.scramble_hash_rounds)
+		return scramble_seed(seed,scramble_key.encode())
 
 class AddrData(MMGenObject):
 	msgs = {

+ 4 - 5
mmgen/crypto.py

@@ -37,18 +37,17 @@ keystrokes will also be used as a source of randomness.
 }
 
 def sha256_rounds(s,n):
-	assert is_int(n) and n > 0
 	for i in range(n):
 		s = sha256(s).digest()
 	return s
 
-def scramble_seed(seed,scramble_key,hash_rounds):
+def scramble_seed(seed,scramble_key):
 	import hmac
-	scr_seed = hmac.new(seed,scramble_key,sha256).digest()
+	step1 = hmac.new(seed,scramble_key,sha256).digest()
 	if g.debug:
 		fs = 'Seed:  {!r}\nScramble key: {}\nScrambled seed: {}\n'
-		msg(fs.format(seed.hex(),scramble_key,scr_seed.hex()))
-	return sha256_rounds(scr_seed,hash_rounds)
+		msg(fs.format(seed.hex(),scramble_key,step1.hex()))
+	return sha256_rounds(step1,g.scramble_hash_rounds)
 
 def encrypt_seed(seed,key):
 	return encrypt_data(seed,key,desc='seed')

+ 2 - 2
mmgen/seed.py

@@ -241,7 +241,7 @@ class SubSeed(SeedBase):
 						nonce.to_bytes(2,'big',signed=False) + \
 						short.to_bytes(1,'big',signed=False)
 		byte_len = 16 if short else seed.length // 8
-		return scramble_seed(seed.data,scramble_key,g.scramble_hash_rounds)[:byte_len]
+		return scramble_seed(seed.data,scramble_key)[:byte_len]
 
 class SeedSplitList(SubSeedList):
 	have_short = False
@@ -325,7 +325,7 @@ class SeedSplit(SubSeed):
 						idx.to_bytes(2,'big',signed=False) + \
 						nonce.to_bytes(2,'big',signed=False)
 		byte_len = seed.length // 8
-		return scramble_seed(seed.data,scramble_key,g.scramble_hash_rounds)[:byte_len]
+		return scramble_seed(seed.data,scramble_key)[:byte_len]
 
 class SeedSplitLast(SubSeed):