add benchmark; modify darc implementation so mutual inner key 2 has an ephemeral key
This commit is contained in:
21
benchmark/generate_test_vectors.py
Normal file
21
benchmark/generate_test_vectors.py
Normal file
@@ -0,0 +1,21 @@
|
||||
from src.client_darc import darc_phase2, darc_phase3, merge_message
|
||||
from src.key_generation import generate_keys
|
||||
from src.models import SubstitutionKey, OuterKey
|
||||
from src.server_darc import darc_phase1, darc_phase_4, resolve_message
|
||||
|
||||
alphabet = SubstitutionKey.init_matrix(width, height, 255)
|
||||
|
||||
server_keys, mutual_keys, client_keys = generate_keys(height, width)
|
||||
original_message = OuterKey.init_matrix(height).matrix[0]
|
||||
original_message = original_message[:message_len]
|
||||
|
||||
(alphabet_phase1, medium_phase1) = darc_phase1(alphabet, server_keys, mutual_keys)
|
||||
|
||||
(alphabet_phase2, medium_phase2) = darc_phase2(alphabet_phase1, medium_phase1, client_keys, mutual_keys)
|
||||
(phase3_alphabet, phase3_medium) = darc_phase3(alphabet_phase2, medium_phase2, client_keys, mutual_keys)
|
||||
darc_message = merge_message(phase3_alphabet, phase3_medium, client_keys, mutual_keys, original_message)
|
||||
|
||||
translated_alphabet, unwrapped_message = darc_phase_4(alphabet, darc_message, server_keys, mutual_keys)
|
||||
|
||||
message = resolve_message(translated_alphabet, unwrapped_message)
|
||||
assert original_message == message
|
||||
Reference in New Issue
Block a user