refactor set_key -> position_key

This commit is contained in:
2025-03-19 09:34:02 -05:00
parent cfef58613c
commit 7b92a6b40b
10 changed files with 511 additions and 407 deletions

View File

@@ -1,5 +1,8 @@
from dataclasses import dataclass
from uuid import UUID, uuid4
import numpy as np
from src.customer_cipher import CustomerCipher
from src.models import NKodePolicy
from src.user import User
@@ -38,8 +41,8 @@ class Customer:
passcode_len = len(selected_keys)
user = self.users[username]
passcode_set_vals = user.cipher.decipher_mask(
user.enciphered_passcode.mask, self.cipher.set_key, passcode_len)
set_vals_idx = [self.cipher.get_set_index(set_val) for set_val in passcode_set_vals]
user.enciphered_passcode.mask, self.cipher.position_key, passcode_len)
set_vals_idx = [self.cipher.get_position_index(set_val) for set_val in passcode_set_vals]
presumed_property_idxs = user.user_keypad.get_prop_idxs_by_keynumb_setidx(selected_keys, set_vals_idx)
if not user.cipher.compare_nkode(presumed_property_idxs, self.cipher,user.enciphered_passcode.code):
return False
@@ -50,11 +53,11 @@ class Customer:
return True
def renew_keys(self) -> bool:
old_props = self.cipher.prop_key.copy()
old_sets = self.cipher.set_key.copy()
old_props = self.cipher.property_key.copy()
old_sets = self.cipher.position_key.copy()
self.cipher.renew()
new_props = self.cipher.prop_key
new_sets = self.cipher.set_key
new_props = self.cipher.property_key
new_sets = self.cipher.position_key
props_xor = new_props ^ old_props
set_xor = new_sets ^ old_sets
@@ -65,9 +68,10 @@ class Customer:
def valid_new_nkode(self, passcode_prop_idx: list[int]) -> bool:
nkode_len = len(passcode_prop_idx)
passcode_set_values = [
self.cipher.get_prop_set_val(int(self.cipher.prop_key[prop_idx])) for prop_idx in passcode_prop_idx
]
#passcode_set_values = [
# self.cipher.get_prop_set_val(int(self.cipher.property_key[prop_idx])) for prop_idx in passcode_prop_idx
#]
passcode_set_values = self.cipher.get_props_position_vals(passcode_prop_idx)
distinct_sets = len(set(passcode_set_values))
distinct_properties = len(set(passcode_prop_idx))
if (
@@ -77,3 +81,5 @@ class Customer:
):
return True
return False