aboutsummaryrefslogtreecommitdiffstats
path: root/poc/spike1_crypto.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 /poc/spike1_crypto.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 'poc/spike1_crypto.py')
-rw-r--r--poc/spike1_crypto.py18
1 files changed, 11 insertions, 7 deletions
diff --git a/poc/spike1_crypto.py b/poc/spike1_crypto.py
index 335758c..4006506 100644
--- a/poc/spike1_crypto.py
+++ b/poc/spike1_crypto.py
@@ -4,17 +4,20 @@ MeshBay — Spike 1: Crypto Primitives
Validates the full cryptographic stack needed for MeshBay.
"""
-import os, time, base64, sys
+import base64
+import os
+import sys
+import time
+import blake3
+import jwt
+from cryptography.hazmat.primitives import hashes, serialization
from cryptography.hazmat.primitives.asymmetric.ed25519 import Ed25519PrivateKey
from cryptography.hazmat.primitives.asymmetric.x25519 import X25519PrivateKey
+from cryptography.hazmat.primitives.ciphers import Cipher, algorithms, modes
from cryptography.hazmat.primitives.ciphers.aead import ChaCha20Poly1305
-from cryptography.hazmat.primitives.kdf.hkdf import HKDF
from cryptography.hazmat.primitives.kdf.argon2 import Argon2id
-from cryptography.hazmat.primitives import hashes, serialization
-from cryptography.hazmat.primitives.ciphers import Cipher, algorithms, modes
-import blake3
-import jwt
+from cryptography.hazmat.primitives.kdf.hkdf import HKDF
PASS = "✓"
FAIL = "✗"
@@ -240,7 +243,8 @@ print("\n=== Test 7: AES-256-GCM — Keystore encryption ===")
def test_aes_gcm_keystore():
# Derive an AES key from Argon2id (as done for keystore unlock)
salt = os.urandom(16)
- aes_key = Argon2id(salt=salt, length=32, iterations=3, lanes=4, memory_cost=65536).derive(b"password")
+ aes_key = Argon2id(salt=salt, length=32, iterations=3, lanes=4,
+ memory_cost=65536).derive(b"password")
# Encrypt a mock keystore blob
keystore_data = b'{"sk_user": "base64...", "sk_group": "base64..."}'