aboutsummaryrefslogtreecommitdiffstats
path: root/packages/meshbay-common/src/meshbay_common/keyderive.py
diff options
context:
space:
mode:
authorChristophe Besson <cbesson@gmail.com>2026-09-19 17:58:05 +0200
committerChristophe Besson <cbesson@gmail.com>2026-09-19 17:58:05 +0200
commit1ec316035ce9aa656dd18a05889856bce9e3aba3 (patch)
treeb50e97f50d485ef2a88ce36fe4d7511d9fe3e288 /packages/meshbay-common/src/meshbay_common/keyderive.py
parent171a3e175889ce30f201fcdf5c4632f480344ae6 (diff)
parent95dd3dc13aecec85c2fd72410cd4d1f4ed582dfa (diff)
downloadmeshbay-1ec316035ce9aa656dd18a05889856bce9e3aba3.tar.gz
Merge origin/main: the tree-wide ruff pass beside the Music reconnect work
Diffstat (limited to 'packages/meshbay-common/src/meshbay_common/keyderive.py')
-rw-r--r--packages/meshbay-common/src/meshbay_common/keyderive.py6
1 files changed, 4 insertions, 2 deletions
diff --git a/packages/meshbay-common/src/meshbay_common/keyderive.py b/packages/meshbay-common/src/meshbay_common/keyderive.py
index 497f877..4b90af3 100644
--- a/packages/meshbay-common/src/meshbay_common/keyderive.py
+++ b/packages/meshbay-common/src/meshbay_common/keyderive.py
@@ -24,11 +24,11 @@ See keyderive.js for the browser-side implementation.
"""
import hashlib
+
from cryptography.hazmat.primitives.asymmetric.ed25519 import Ed25519PrivateKey
from cryptography.hazmat.primitives.asymmetric.x25519 import X25519PrivateKey
from cryptography.hazmat.primitives.kdf.argon2 import Argon2id
-
# Argon2id parameters — same as keystore (see crypto.py)
_ITERATIONS = 3
_MEMORY_COST = 65536 # 64 MB — increase to 262144 for production
@@ -85,9 +85,11 @@ def encrypt_keypair_bundle(
Returns: AES-256-GCM ciphertext (nonce prepended).
"""
import os
+
+ import msgpack
from cryptography.hazmat.primitives.ciphers.aead import AESGCM
+
from meshbay_common.crypto import sk_to_raw
- import msgpack
# Derive an AES key from the password (different info string from key derivation)
salt = hashlib.sha256(f"meshbay:bundle:v1:{username}".encode()).digest()