This commit is contained in:
2024-05-29 13:32:27 -05:00
parent 80cd10c76a
commit 3a5d7266c3
3 changed files with 12 additions and 8 deletions

View File

@@ -104,8 +104,7 @@ def transmit_medium(medium_phase2: DarcKey, client_persistent_keys: ClientPersis
sub = client_persistent_keys.alpha_key ^ client_ephemeral_keys.alpha_key ^ mutual_ephemeral_keys.alpha_key
sub_mo1 = sub < mo1
sub_mo1_mi1_mo2_mpi1_mo3 = (sub_mo1 << mi1_mo2_mpi1_mo3)
medium_phase3 = (result ^ sub_mo1_mi1_mo2_mpi1_mo3) < co1_co2
medium_phase3 = (result ^ (sub_mo1 << mi1_mo2_mpi1_mo3)) < co1_co2
return medium_phase3

View File

@@ -95,7 +95,7 @@ def phase4_unwrap_medium(darc_message: AlphabetKey, server_persistent_keys: Serv
return medium_unwrapped
def resolve_message(translated_alphabet: AlphabetKey, translated_messasge: AlphabetKey):
def resolve_message(translated_alphabet: AlphabetKey, translated_messasge: AlphabetKey) -> list[int]:
alphabet_map = {str(key): idx for idx, key in enumerate(translated_alphabet.matrix)}
encoded_message = [str(alpha) for alpha in translated_messasge.matrix]

View File

@@ -1,14 +1,15 @@
from src.client_darc_noclient import merge_message_no_client, darc_phase_2_3
from src.client_darc import merge_message, darc_phase2, darc_phase3
from src.key_generation import generate_keys
from src.models import (AlphabetKey, OuterKey, ClientKeys, ServerKeys,
MutualKeys)
from src.models import AlphabetKey, OuterKey
from src.server_darc import darc_phase1, darc_phase_4, resolve_message
import pytest
@pytest.mark.parametrize("height, width, message_len", [(256, 10, 256), (100, 70, 70), (40, 50, 40), (256, 10, 128), (100, 70, 35), (40, 50, 20)])
@pytest.mark.parametrize(
"height, width, message_len",
[(256, 10, 256), (100, 70, 70), (40, 50, 40), (256, 10, 128), (100, 70, 35), (40, 50, 20)]
)
def test_darc(height, width, message_len):
alphabet = AlphabetKey.init_matrix(width, height, 255)
@@ -27,7 +28,11 @@ def test_darc(height, width, message_len):
message = resolve_message(translated_alphabet, unwrapped_message)
assert original_message == message
@pytest.mark.parametrize("height, width, message_len", [(256, 10, 256), (100, 70, 70), (40, 50, 40), (256, 10, 128), (100, 70, 35), (40, 50, 20)])
@pytest.mark.parametrize(
"height, width, message_len",
[(256, 10, 256), (100, 70, 70), (40, 50, 40), (256, 10, 128), (100, 70, 35), (40, 50, 20)]
)
def test_darc_no_client(height, width, message_len):
alphabet = AlphabetKey.init_matrix(width, height, 255)
server_keys, mutual_keys, client_keys = generate_keys(height, width)