mirror of
https://github.com/PR0M3TH3AN/SeedPass.git
synced 2026-11-03 03:12:07 +00:00
Fix weak key derivation by adding salt to parent seed encryption
Introduced a random salt to key derivation for parent seed encryption to prevent rainbow table attacks. The salt is now stored in the `parent_seed.enc` file header (V3 format). * Modified `src/utils/key_derivation.py` to accept optional `salt` argument. * Modified `src/seedpass/core/encryption.py` to read/write salt in `parent_seed.enc` using V3 format (V3:salt:nonce:ciphertext). * Modified `src/seedpass/core/manager.py` to generate salt for new seeds and read salt for existing ones. * Added auto-upgrade logic for legacy (no salt) seeds upon access. * Updated tests to verify salt usage and backward compatibility. Co-authored-by: PR0M3TH3AN <[email protected]>
This commit is contained in:
1 parent
335de7abe3
commit
75fe5bc382
4 files changed
+118
-27
No files matched your search
@@ -65,7 +65,9 @@ def test_setup_encryption_manager_kdf_modes(monkeypatch):
|
||||
if mode == "argon2":
|
||||
monkeypatch.setattr(
|
||||
"seedpass.core.manager.derive_key_from_password_argon2",
|
||||
lambda pw: derive_key_from_password_argon2(pw, **argon_kwargs),
|
||||
lambda pw, salt=None: derive_key_from_password_argon2(
|
||||
pw, salt=salt if salt is not None else b"\x00" * 16, **argon_kwargs
|
||||
),
|
||||
)
|
||||
monkeypatch.setattr(PasswordManager, "initialize_bip85", lambda self: None)
|
||||
monkeypatch.setattr(
|
||||
|
||||
Reference in new issue
Block a user