simplify message merge

This commit is contained in:
2024-05-27 10:40:22 -05:00
parent 3a2bce7755
commit 9c459536d5

View File

@@ -214,7 +214,6 @@ def transceive_medium(medium_phase1: DarcKey, client_persistent_keys: ClientPers
def merge_message(alphabet: DarcKey, medium: DarcKey, client_keys: ClientKeys, mutual_keys: MutualKeys, input_sequence: list[int]): def merge_message(alphabet: DarcKey, medium: DarcKey, client_keys: ClientKeys, mutual_keys: MutualKeys, input_sequence: list[int]):
msg_len = len(input_sequence) msg_len = len(input_sequence)
eof_arr = AlphabetKey.init_matrix(width, height, 255).matrix[0]
if msg_len < height: if msg_len < height:
padded_input_sequence = OuterKey.init_matrix(height) padded_input_sequence = OuterKey.init_matrix(height)
@@ -223,32 +222,25 @@ def merge_message(alphabet: DarcKey, medium: DarcKey, client_keys: ClientKeys, m
padded_input_sequence = OuterKey(matrix=[input_sequence]) padded_input_sequence = OuterKey(matrix=[input_sequence])
input_seq = padded_input_sequence input_seq = padded_input_sequence
a_i = alphabet < input_seq a_i = alphabet < input_seq
eof_arr = AlphabetKey.init_matrix(width, height, 255).matrix[0]
if msg_len < height: if msg_len < height:
a_i.matrix[msg_len] = eof_arr a_i.matrix[msg_len] = eof_arr
mmi3 = mutual_keys.persistent.medium.inner_key_3 << mutual_keys.ephemeral.medium.inner_key_3 mmi3 = mutual_keys.persistent.medium.inner_key_3 << mutual_keys.ephemeral.medium.inner_key_3
mmo6 = mutual_keys.persistent.medium.outer_key_6 << mutual_keys.ephemeral.medium.outer_key_6 mmo6 = mutual_keys.persistent.medium.outer_key_6 << mutual_keys.ephemeral.medium.outer_key_6
mmo4 = mutual_keys.persistent.medium.outer_key_4 << mutual_keys.ephemeral.medium.outer_key_4 mmo4 = mutual_keys.persistent.medium.outer_key_4 << mutual_keys.ephemeral.medium.outer_key_4
nmmo6_nmmo4 = ~(mmo4 << mmo6)
nmmo6_nmmo4_co1_co2 = nmmo6_nmmo4
mmi3_nmmo6_nmmo4_co1_co2 = (mmi3 < nmmo6_nmmo4_co1_co2)
message = (medium ) ^ ((a_i << mmi3_nmmo6_nmmo4_co1_co2))
mmo5 = mutual_keys.persistent.medium.outer_key_5 << mutual_keys.ephemeral.medium.outer_key_5 mmo5 = mutual_keys.persistent.medium.outer_key_5 << mutual_keys.ephemeral.medium.outer_key_5
mpmi4_memi2 = mutual_keys.persistent.medium.inner_key_4 << mutual_keys.ephemeral.medium.inner_key_2 mpmi4_memi2 = mutual_keys.persistent.medium.inner_key_4 << mutual_keys.ephemeral.medium.inner_key_2
mmo5_nmmo6_nmmo4 = mmo5 << nmmo6_nmmo4 nmmo6 = ~mmo6
message = medium ^ (a_i << (mmi3 < ~(mmo4 << mmo6)))
mmo5_nmmo6 = mmo5 << nmmo6
message = (message < mmo4) << (mpmi4_memi2 < mmo5_nmmo6)
message = message << ((mpmi4_memi2 < mmo5_nmmo6_nmmo4))
message = (message ) < mmo4
return message return message