Raiff1982 commited on
Commit
ac8274a
·
verified ·
1 Parent(s): b22f4e7

Create secure_memory.py

Browse files
Files changed (1) hide show
  1. modules/secure_memory.py +40 -0
modules/secure_memory.py ADDED
@@ -0,0 +1,40 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from pathlib import Path
2
+
3
+ # Encrypted memory session handler template
4
+ memory_isolation_code = """
5
+ # secure_memory.py
6
+ from cryptography.fernet import Fernet
7
+ import numpy as np
8
+ import base64
9
+ class SecureMemorySession:
10
+ def __init__(self, encryption_key: bytes = None):
11
+ self.key = encryption_key or Fernet.generate_key()
12
+ self.fernet = Fernet(self.key)
13
+ self.sessions = {}
14
+ def encrypt_vector(self, user_id: int, vector: np.ndarray) -> str:
15
+ vector_bytes = vector.tobytes()
16
+ encrypted = self.fernet.encrypt(vector_bytes)
17
+ encoded = base64.b64encode(encrypted).decode('utf-8')
18
+ if user_id not in self.sessions:
19
+ self.sessions[user_id] = []
20
+ self.sessions[user_id].append(encoded)
21
+ return encoded
22
+ def decrypt_vectors(self, user_id: int) -> list:
23
+ if user_id not in self.sessions:
24
+ return []
25
+ decrypted_vectors = []
26
+ for encoded in self.sessions[user_id]:
27
+ encrypted = base64.b64decode(encoded)
28
+ decrypted = self.fernet.decrypt(encrypted)
29
+ vector = np.frombuffer(decrypted, dtype=np.int64) # adjust dtype if needed
30
+ decrypted_vectors.append(vector)
31
+ return decrypted_vectors
32
+ def get_encryption_key(self) -> bytes:
33
+ return self.key
34
+ """
35
+
36
+ # Save it as a Python file
37
+ memory_path = Path("/mnt/data/secure_memory.py")
38
+ memory_path.write_text(memory_isolation_code)
39
+
40
+ memory_path