refactor use numpy in user_cipher.py
This commit is contained in:
@@ -63,8 +63,8 @@ if __name__ == "__main__":
|
||||
customer_id = api.create_new_customer(keypad_size, policy)
|
||||
customer = api.customers[customer_id]
|
||||
|
||||
set_vals = customer.customer_cipher.set_key
|
||||
attr_vals = customer.customer_cipher.prop_key
|
||||
set_vals = customer.cipher.set_key
|
||||
attr_vals = customer.cipher.prop_key
|
||||
customer_attr_view = list_to_matrix(attr_vals, keypad_size.props_per_key)
|
||||
|
||||
attr_keypad_view = list_to_matrix(attr_vals, keypad_size.props_per_key)
|
||||
@@ -78,7 +78,7 @@ if __name__ == "__main__":
|
||||
passcode_len = 4
|
||||
user_passcode = signup_interface[:passcode_len]
|
||||
selected_keys_set = select_keys_with_passcode_values(user_passcode, signup_interface, keypad_size.numb_of_keys)
|
||||
server_side_attr = [customer.customer_cipher.prop_key[idx] for idx in user_passcode]
|
||||
server_side_attr = [customer.cipher.prop_key[idx] for idx in user_passcode]
|
||||
|
||||
confirm_interface = api.set_nkode(username, customer_id, selected_keys_set, session_id)
|
||||
|
||||
@@ -88,20 +88,20 @@ if __name__ == "__main__":
|
||||
|
||||
success = api.confirm_nkode(username, customer_id, selected_keys_confirm, session_id)
|
||||
assert success
|
||||
passcode_server_attr = [customer.customer_cipher.prop_key[idx] for idx in user_passcode]
|
||||
passcode_server_set = [customer.customer_cipher.get_prop_set_val(attr) for attr in passcode_server_attr]
|
||||
passcode_server_attr = [customer.cipher.prop_key[idx] for idx in user_passcode]
|
||||
passcode_server_set = [customer.cipher.get_prop_set_val(attr) for attr in passcode_server_attr]
|
||||
|
||||
user_keys = customer.users[username].user_keys
|
||||
user_keys = customer.users[username].cipher
|
||||
|
||||
padded_passcode_server_set = user_keys.pad_user_mask(passcode_server_set, customer.customer_cipher.set_key)
|
||||
padded_passcode_server_set = user_keys.pad_user_mask(passcode_server_set, customer.cipher.set_key)
|
||||
|
||||
set_idx = [customer.customer_cipher.get_set_index(set_val) for set_val in padded_passcode_server_set]
|
||||
set_idx = [customer.cipher.get_set_index(set_val) for set_val in padded_passcode_server_set]
|
||||
mask_set_keys = [user_keys.set_key[idx] for idx in set_idx]
|
||||
ciphered_mask = xor_lists(mask_set_keys, padded_passcode_server_set)
|
||||
ciphered_mask = xor_lists(ciphered_mask, user_keys.mask_key)
|
||||
mask = user_keys.encode_base64_str(ciphered_mask)
|
||||
|
||||
ciphered_customer_attrs = xor_lists(customer.customer_cipher.prop_key, user_keys.prop_key)
|
||||
ciphered_customer_attrs = xor_lists(customer.cipher.prop_key, user_keys.prop_key)
|
||||
passcode_ciphered_attrs = [ciphered_customer_attrs[idx] for idx in user_passcode]
|
||||
pad_len = customer.nkode_policy.max_nkode_len - passcode_len
|
||||
|
||||
@@ -133,8 +133,8 @@ if __name__ == "__main__":
|
||||
"""
|
||||
|
||||
user = customer.users[username]
|
||||
set_vals = customer.customer_cipher.set_key
|
||||
user_keys = user.user_keys
|
||||
set_vals = customer.cipher.set_key
|
||||
user_keys = user.cipher
|
||||
user_mask = user.enciphered_passcode.mask
|
||||
decoded_mask = user_keys.decode_base64_str(user_mask)
|
||||
deciphered_mask = xor_lists(decoded_mask, user_keys.mask_key)
|
||||
@@ -148,7 +148,7 @@ if __name__ == "__main__":
|
||||
GET PRESUMED ATTRIBUTES
|
||||
"""
|
||||
|
||||
set_vals_idx = [customer.customer_cipher.get_set_index(set_val) for set_val in login_passcode_sets]
|
||||
set_vals_idx = [customer.cipher.get_set_index(set_val) for set_val in login_passcode_sets]
|
||||
|
||||
presumed_selected_attributes_idx = []
|
||||
for idx in range(passcode_len):
|
||||
@@ -161,11 +161,11 @@ if __name__ == "__main__":
|
||||
RENEW KEYS
|
||||
"""
|
||||
|
||||
old_attrs = customer.customer_cipher.prop_key.copy()
|
||||
old_sets = customer.customer_cipher.set_key.copy()
|
||||
customer.customer_cipher.renew()
|
||||
new_attrs = customer.customer_cipher.prop_key
|
||||
new_sets = customer.customer_cipher.set_key
|
||||
old_attrs = customer.cipher.prop_key.copy()
|
||||
old_sets = customer.cipher.set_key.copy()
|
||||
customer.cipher.renew()
|
||||
new_attrs = customer.cipher.prop_key
|
||||
new_sets = customer.cipher.set_key
|
||||
customer_new_attr_view = list_to_matrix(new_attrs, keypad_size.props_per_key)
|
||||
|
||||
"""
|
||||
@@ -175,18 +175,18 @@ if __name__ == "__main__":
|
||||
sets_xor = xor_lists(new_sets, old_sets)
|
||||
for user in customer.users.values():
|
||||
user.renew = True
|
||||
user.user_keys.set_key = xor_lists(user.user_keys.set_key, sets_xor)
|
||||
user.user_keys.prop_key = xor_lists(user.user_keys.prop_key, attrs_xor)
|
||||
user.cipher.set_key = xor_lists(user.cipher.set_key, sets_xor)
|
||||
user.cipher.prop_key = xor_lists(user.cipher.prop_key, attrs_xor)
|
||||
|
||||
"""
|
||||
REFRESH USER KEYS
|
||||
"""
|
||||
user.user_keys = UserCipher.create(
|
||||
customer.customer_cipher.keypad_size,
|
||||
customer.customer_cipher.set_key,
|
||||
user.user_keys.max_nkode_len
|
||||
user.cipher = UserCipher.create(
|
||||
customer.cipher.keypad_size,
|
||||
customer.cipher.set_key,
|
||||
user.cipher.max_nkode_len
|
||||
)
|
||||
user.enciphered_passcode = user.user_keys.encipher_nkode(presumed_selected_attributes_idx, customer.customer_cipher)
|
||||
user.enciphered_passcode = user.cipher.encipher_nkode(presumed_selected_attributes_idx, customer.cipher)
|
||||
user.renew = False
|
||||
|
||||
# Define some data to pass to the template
|
||||
@@ -202,7 +202,7 @@ if __name__ == "__main__":
|
||||
'server_side_attr': server_side_attr,
|
||||
'confirm_keypad': confirm_keypad,
|
||||
'selected_keys_confirm': selected_keys_confirm,
|
||||
'user_keys': user_keys,
|
||||
'cipher': user_keys,
|
||||
'passcode_server_attr': passcode_server_attr,
|
||||
'passcode_server_set': passcode_server_set,
|
||||
'enciphered_nkode': enciphered_nkode,
|
||||
|
||||
Reference in New Issue
Block a user