renamed all variables in darc
This commit is contained in:
@@ -173,20 +173,19 @@ def transmit_medium(medium: DarcKey, client_persistent_keys: ClientPersistentMed
|
|||||||
|
|
||||||
inner_key_1 = mutual_inner_key_1 << mutual_inner_key_2
|
inner_key_1 = mutual_inner_key_1 << mutual_inner_key_2
|
||||||
|
|
||||||
client_shuffle_key_b = (~client_persistent_keys.inner_key_1) << mutual_persistent_keys.inner_key_2
|
inner_key_2 = (~client_persistent_keys.inner_key_1) << mutual_persistent_keys.inner_key_2
|
||||||
input_client_shuffle_key_b = client_inner_key_1 << client_shuffle_key_b
|
inner_key_3 = client_inner_key_1 << inner_key_2
|
||||||
input_client_shuffle_key_b = input_client_shuffle_key_b < outer_key_2
|
inner_key_3 = inner_key_3 < outer_key_2
|
||||||
shuffled_items = medium << input_client_shuffle_key_b
|
|
||||||
outer_function_key_applied = mutual_persistent_keys.outer_key_1 << mutual_ephemeral_keys.outer_key_1
|
|
||||||
input_outer_function_key = outer_function_key_applied << outer_key_1
|
|
||||||
|
|
||||||
inner_function_key_applied = inner_key_1
|
medium = medium << inner_key_3
|
||||||
operand = shuffled_items
|
mutual_outer_key_1 = mutual_persistent_keys.outer_key_1 << mutual_ephemeral_keys.outer_key_1
|
||||||
operand1 = client_ephemeral_keys.alpha_key_1 < input_outer_function_key
|
outer_key_3 = mutual_outer_key_1 << outer_key_1
|
||||||
operand2 = client_persistent_keys.alpha_key_1 < input_outer_function_key
|
|
||||||
operand3 = mutual_ephemeral_keys.alpha_key_1 < input_outer_function_key
|
|
||||||
|
|
||||||
result = operand ^ (operand1 << inner_function_key_applied) ^ (operand2 << inner_function_key_applied) ^ (operand3 << inner_function_key_applied)
|
operand1 = client_ephemeral_keys.alpha_key_1 < outer_key_3
|
||||||
|
operand2 = client_persistent_keys.alpha_key_1 < outer_key_3
|
||||||
|
operand3 = mutual_ephemeral_keys.alpha_key_1 < outer_key_3
|
||||||
|
|
||||||
|
result = medium ^ (operand1 << inner_key_1) ^ (operand2 << inner_key_1) ^ (operand3 << inner_key_1)
|
||||||
return result
|
return result
|
||||||
|
|
||||||
|
|
||||||
@@ -244,69 +243,65 @@ def merge_message(alphabet: DarcKey, medium: DarcKey, client_keys: ClientKeys, m
|
|||||||
|
|
||||||
|
|
||||||
def darc_phase_4(alphabet: AlphabetKey, darc_message: AlphabetKey, server_keys: ServerKeys, mutual_keys: MutualKeys):
|
def darc_phase_4(alphabet: AlphabetKey, darc_message: AlphabetKey, server_keys: ServerKeys, mutual_keys: MutualKeys):
|
||||||
outer_position_function_ephemeral_key_applied = mutual_keys.persistent.medium.outer_key_6 << mutual_keys.ephemeral.medium.outer_key_6
|
mutual_med_outer_key_6 = mutual_keys.persistent.medium.outer_key_6 << mutual_keys.ephemeral.medium.outer_key_6
|
||||||
outer_position_shuffle_ephemeral_key_applied = mutual_keys.persistent.medium.outer_key_4 << mutual_keys.ephemeral.medium.outer_key_4
|
mutual_med_outer_key_4 = mutual_keys.persistent.medium.outer_key_4 << mutual_keys.ephemeral.medium.outer_key_4
|
||||||
|
|
||||||
outer_position_function_ephemeral_key_applied = ~(outer_position_shuffle_ephemeral_key_applied << outer_position_function_ephemeral_key_applied)
|
outer_key_1 = ~(mutual_med_outer_key_4 << mutual_med_outer_key_6)
|
||||||
outer_position_shuffle_ephemeral_key_applied = ~outer_position_shuffle_ephemeral_key_applied
|
mutual_med_outer_key_4 = ~mutual_med_outer_key_4
|
||||||
|
|
||||||
outer_position_shuffle_function_ephemeral_key_applied = mutual_keys.persistent.medium.outer_key_5 << mutual_keys.ephemeral.medium.outer_key_5
|
mutual_med_outer_key_5 = mutual_keys.persistent.medium.outer_key_5 << mutual_keys.ephemeral.medium.outer_key_5
|
||||||
outer_position_shuffle_function_ephemeral_key_applied = outer_position_shuffle_function_ephemeral_key_applied << outer_position_function_ephemeral_key_applied
|
mutual_med_outer_key_5 = mutual_med_outer_key_5 << outer_key_1
|
||||||
|
|
||||||
outer_function_function_medium_ephemeral_key_applied = mutual_keys.persistent.medium.outer_key_2 << mutual_keys.ephemeral.medium.outer_key_2
|
mutual_med_outer_key_2 = mutual_keys.persistent.medium.outer_key_2 << mutual_keys.ephemeral.medium.outer_key_2
|
||||||
outer_server_shuffle_function_ephemeral_key_applied = mutual_keys.persistent.data.outer_key_3 << mutual_keys.ephemeral.data.outer_key_3
|
mutual_outer_key_3 = mutual_keys.persistent.data.outer_key_3 << mutual_keys.ephemeral.data.outer_key_3
|
||||||
|
|
||||||
outer_server_shuffle_function_medium_ephemeral_key_applied = mutual_keys.persistent.medium.outer_key_3 << mutual_keys.ephemeral.medium.outer_key_3
|
mutual_med_outer_key_3 = mutual_keys.persistent.medium.outer_key_3 << mutual_keys.ephemeral.medium.outer_key_3
|
||||||
|
|
||||||
function_medium_ephemeral_key_applied = mutual_keys.persistent.medium.inner_key_1 << mutual_keys.ephemeral.medium.inner_key_1
|
mutual_med_inner_key_1 = mutual_keys.persistent.medium.inner_key_1 << mutual_keys.ephemeral.medium.inner_key_1
|
||||||
|
|
||||||
client_shuffle_medium_key_x = mutual_keys.persistent.medium.inner_key_2 < outer_server_shuffle_function_medium_ephemeral_key_applied
|
mutual_med_inner_key_2 = mutual_keys.persistent.medium.inner_key_2 < mutual_med_outer_key_3
|
||||||
client_shuffle_medium_key_x = (function_medium_ephemeral_key_applied < outer_function_function_medium_ephemeral_key_applied) << client_shuffle_medium_key_x
|
inner_key_1 = (mutual_med_inner_key_1 < mutual_med_outer_key_2) << mutual_med_inner_key_2
|
||||||
|
|
||||||
position_shuffle_ephemeral_key_applied = mutual_keys.persistent.medium.inner_key_4 << mutual_keys.ephemeral.medium.inner_key_2
|
inner_key_2 = mutual_keys.persistent.medium.inner_key_4 << mutual_keys.ephemeral.medium.inner_key_2
|
||||||
|
|
||||||
position_shuffle_ephemeral_key_applied = position_shuffle_ephemeral_key_applied < outer_position_shuffle_function_ephemeral_key_applied
|
inner_key_2 = inner_key_2 < mutual_med_outer_key_5
|
||||||
client_shuffle_medium_key_x = client_shuffle_medium_key_x << position_shuffle_ephemeral_key_applied
|
inner_key_3 = inner_key_1 << inner_key_2
|
||||||
|
|
||||||
|
|
||||||
outer_function_medium_ephemeral_key_applied = mutual_keys.persistent.medium.outer_key_1 << mutual_keys.ephemeral.medium.outer_key_1
|
mutual_med_outer_key_1 = mutual_keys.persistent.medium.outer_key_1 << mutual_keys.ephemeral.medium.outer_key_1
|
||||||
|
|
||||||
rx_data = darc_message < outer_position_shuffle_ephemeral_key_applied
|
message = darc_message < mutual_med_outer_key_4
|
||||||
|
|
||||||
inner_key = client_shuffle_medium_key_x
|
operand1 = server_keys.persistent.medium.alpha_key_1 < mutual_med_outer_key_1
|
||||||
operand = rx_data
|
operand2 = server_keys.ephemeral.medium.alpha_key_1 < mutual_med_outer_key_1
|
||||||
operand1 = server_keys.persistent.medium.alpha_key_1 < outer_function_medium_ephemeral_key_applied
|
operand3 = mutual_keys.persistent.medium.alpha_key_1 < mutual_med_outer_key_1
|
||||||
operand2 = server_keys.ephemeral.medium.alpha_key_1 < outer_function_medium_ephemeral_key_applied
|
operand4 = mutual_keys.ephemeral.medium.alpha_key_1 < mutual_med_outer_key_1
|
||||||
operand3 = mutual_keys.persistent.medium.alpha_key_1 < outer_function_medium_ephemeral_key_applied
|
|
||||||
operand4 = mutual_keys.ephemeral.medium.alpha_key_1 < outer_function_medium_ephemeral_key_applied
|
|
||||||
|
|
||||||
rx_data = operand ^ (operand1 << inner_key) ^ (operand2 << inner_key) ^ (operand3 << inner_key) ^ (operand4 << inner_key)
|
message = message ^ (operand1 << inner_key_3) ^ (operand2 << inner_key_3) ^ (operand3 << inner_key_3) ^ (operand4 << inner_key_3)
|
||||||
|
|
||||||
position_function_ephemeral_key_applied = mutual_keys.persistent.medium.inner_key_3 << mutual_keys.ephemeral.medium.inner_key_3
|
mutual_med_inner_key_3 = mutual_keys.persistent.medium.inner_key_3 << mutual_keys.ephemeral.medium.inner_key_3
|
||||||
rx_data = rx_data << (~(position_shuffle_ephemeral_key_applied) << (~position_function_ephemeral_key_applied < outer_position_function_ephemeral_key_applied))
|
message = message << (~inner_key_2 << (~mutual_med_inner_key_3 < outer_key_1))
|
||||||
|
|
||||||
client_shuffle_key_x = mutual_keys.persistent.data.inner_key_2 < outer_server_shuffle_function_ephemeral_key_applied
|
mutual_inner_key_2 = mutual_keys.persistent.data.inner_key_2 < mutual_outer_key_3
|
||||||
outer_function_function_ephemeral_key_applied = mutual_keys.persistent.data.outer_key_2 << mutual_keys.ephemeral.data.outer_key_2
|
mutual_outer_key_2 = mutual_keys.persistent.data.outer_key_2 << mutual_keys.ephemeral.data.outer_key_2
|
||||||
|
|
||||||
function_ephemeral_key_applied = mutual_keys.persistent.data.inner_key_1 << mutual_keys.ephemeral.data.inner_key_1
|
mutual_inner_key_1 = mutual_keys.persistent.data.inner_key_1 << mutual_keys.ephemeral.data.inner_key_1
|
||||||
function_ephemeral_key_applied = (function_ephemeral_key_applied < outer_function_function_ephemeral_key_applied) << client_shuffle_key_x
|
inner_key_4 = (mutual_inner_key_1 < mutual_outer_key_2) << mutual_inner_key_2
|
||||||
server_shuffle_ephemeral_key_applied = ~(server_keys.persistent.data.inner_key_1 << mutual_keys.persistent.data.inner_key_2) << ~(server_keys.ephemeral.data.inner_key_1)
|
inner_key_5 = ~(server_keys.persistent.data.inner_key_1 << mutual_keys.persistent.data.inner_key_2) << ~(server_keys.ephemeral.data.inner_key_1)
|
||||||
server_shuffle_ephemeral_key_applied = ~(server_shuffle_ephemeral_key_applied < outer_server_shuffle_function_ephemeral_key_applied)
|
inner_key_5 = ~(inner_key_5 < mutual_outer_key_3)
|
||||||
|
|
||||||
outer_server_shuffle_ephemeral_key_applied = server_keys.persistent.data.outer_key_1 << server_keys.ephemeral.data.outer_key_1
|
server_outer_key_1 = server_keys.persistent.data.outer_key_1 << server_keys.ephemeral.data.outer_key_1
|
||||||
alpha_prep = (alphabet < outer_server_shuffle_ephemeral_key_applied) << server_shuffle_ephemeral_key_applied
|
translated_alpha = (alphabet < server_outer_key_1) << inner_key_5
|
||||||
|
|
||||||
outer_function_ephemeral_key_applied = mutual_keys.persistent.data.outer_key_1 << mutual_keys.ephemeral.data.outer_key_1
|
mutual_outer_key_1 = mutual_keys.persistent.data.outer_key_1 << mutual_keys.ephemeral.data.outer_key_1
|
||||||
|
|
||||||
inner_key = function_ephemeral_key_applied
|
operand1 = server_keys.persistent.data.alpha_key_1 < mutual_outer_key_1
|
||||||
operand = alpha_prep
|
operand2 = server_keys.ephemeral.data.alpha_key_1 < mutual_outer_key_1
|
||||||
operand1 = server_keys.persistent.data.alpha_key_1 < outer_function_ephemeral_key_applied
|
operand3 = mutual_keys.persistent.data.alpha_key_1 < mutual_outer_key_1
|
||||||
operand2 = server_keys.ephemeral.data.alpha_key_1 < outer_function_ephemeral_key_applied
|
operand4 = mutual_keys.ephemeral.data.alpha_key_1 < mutual_outer_key_1
|
||||||
operand3 = mutual_keys.persistent.data.alpha_key_1 < outer_function_ephemeral_key_applied
|
translated_alpha = translated_alpha ^ (operand1 << inner_key_4) ^ (operand2 << inner_key_4) ^ (operand3 << inner_key_4) ^ (operand4 << inner_key_4)
|
||||||
operand4 = mutual_keys.ephemeral.data.alpha_key_1 < outer_function_ephemeral_key_applied
|
|
||||||
alpha_prep = operand ^ (operand1 << inner_key) ^ (operand2 << inner_key) ^ (operand3 << inner_key) ^ (operand4 << inner_key)
|
|
||||||
|
|
||||||
return resolve_message(alpha_prep.matrix, rx_data.matrix)
|
return resolve_message(translated_alpha.matrix, message.matrix)
|
||||||
|
|
||||||
|
|
||||||
def resolve_message(translated_alphabet, translated_messasge):
|
def resolve_message(translated_alphabet, translated_messasge):
|
||||||
@@ -319,6 +314,7 @@ def resolve_message(translated_alphabet, translated_messasge):
|
|||||||
message.append(alphabet_map[alpha])
|
message.append(alphabet_map[alpha])
|
||||||
else:
|
else:
|
||||||
break
|
break
|
||||||
|
|
||||||
return message
|
return message
|
||||||
|
|
||||||
|
|
||||||
@@ -448,7 +444,6 @@ if __name__ == "__main__":
|
|||||||
#)
|
#)
|
||||||
#alphabet = AlphabetKey(**server_ephemeral_keys["Alphabet"])
|
#alphabet = AlphabetKey(**server_ephemeral_keys["Alphabet"])
|
||||||
|
|
||||||
|
|
||||||
server_keys = ServerKeys.random_init(height, width)
|
server_keys = ServerKeys.random_init(height, width)
|
||||||
mutual_keys = MutualKeys.random_init(height, width)
|
mutual_keys = MutualKeys.random_init(height, width)
|
||||||
client_keys = ClientKeys.random_init(height, width)
|
client_keys = ClientKeys.random_init(height, width)
|
||||||
|
|||||||
Reference in New Issue
Block a user