restore random init

This commit is contained in:
2024-05-22 11:23:52 -05:00
parent 6d2472f099
commit 0927eb197c

View File

@@ -332,147 +332,143 @@ def resolve_message(translated_alphabet, translated_messasge):
if __name__ == "__main__": if __name__ == "__main__":
with open("../darc_key_json/client_persistent_keys.json") as fp: #with open("../darc_key_json/client_persistent_keys.json") as fp:
client_persistent_keys = json.load(fp) # client_persistent_keys = json.load(fp)
with open("../darc_key_json/client_ephemeral_keys.json") as fp: #with open("../darc_key_json/client_ephemeral_keys.json") as fp:
client_ephemeral_keys = json.load(fp) # client_ephemeral_keys = json.load(fp)
with open("../darc_key_json/server_persistent_keys.json") as fp: #with open("../darc_key_json/server_persistent_keys.json") as fp:
server_persistent_keys = json.load(fp) # server_persistent_keys = json.load(fp)
with open("../darc_key_json/server_ephemeral_keys.json") as fp: #with open("../darc_key_json/server_ephemeral_keys.json") as fp:
server_ephemeral_keys = json.load(fp) # server_ephemeral_keys = json.load(fp)
with open("../darc_key_json/mutual_ephemeral_keys.json") as fp: #with open("../darc_key_json/mutual_ephemeral_keys.json") as fp:
mutual_ephemeral_keys = json.load(fp) # mutual_ephemeral_keys = json.load(fp)
#client_persistent_keys = {k: {"matrix": v} for k, v in client_persistent_keys.items()}
#client_ephemeral_keys = {k: {"matrix": v} for k, v in client_ephemeral_keys.items()}
#server_persistent_keys = {k: {"matrix": v} for k, v in server_persistent_keys.items()}
#server_ephemeral_keys = {k: {"matrix": v} for k, v in server_ephemeral_keys.items()}
#mutual_ephemeral_keys = {k: {"matrix": v} for k, v in mutual_ephemeral_keys.items()}
#client_keys = ClientKeys(
# Persistent=ClientPersistentKeys(
# Data=ClientPersistentDataKeys(
# OuterClientShuffleKey=client_persistent_keys["OuterClientShuffleKey"],
# OuterClientShuffleFunctionKey=client_persistent_keys["OuterClientShuffleFunctionKey"],
# ClientKey=client_persistent_keys["ClientKey"],
# ClientShuffleKeyA=client_persistent_keys["ClientShuffleKeyA"]
# ),
# Medium=ClientPersistentMediumKeys(
# OuterClientShuffleMediumKey=client_persistent_keys["OuterClientShuffleMediumKey"],
# OuterClientShuffleFunctionMediumKey=client_persistent_keys["OuterClientShuffleFunctionMediumKey"],
# ClientShuffleMediumKeyA=client_persistent_keys["ClientShuffleMediumKeyA"],
# ClientMediumKey=client_persistent_keys["ClientMediumKey"]
# )
# ),
# Ephemeral=ClientEphemeralKeys(
# Data=ClientEphemeralDataKeys(
# OuterClientShuffleEphemeralKey=client_ephemeral_keys["OuterClientShuffleEphemeralKey"],
# OuterClientShuffleFunctionEphemeralKey=client_ephemeral_keys["OuterClientShuffleFunctionEphemeralKey"],
# ClientEphemeralKey=client_ephemeral_keys["ClientEphemeralKey"],
# ClientShuffleEphemeralKeyA=client_ephemeral_keys["ClientShuffleEphemeralKeyA"]
# ),
# Medium=ClientEphemeralMediumKeys(
# OuterClientShuffleMediumEphemeralKey=client_ephemeral_keys["OuterClientShuffleMediumEphemeralKey"],
# OuterClientShuffleFunctionMediumEphemeralKey=client_ephemeral_keys["OuterClientShuffleFunctionMediumEphemeralKey"],
# ClientShuffleMediumEphemeralKeyA=client_ephemeral_keys["ClientShuffleMediumEphemeralKeyA"],
# ClientMediumEphemeralKey=client_ephemeral_keys["ClientMediumEphemeralKey"]
# )
# )
#)
#server_keys = ServerKeys(
# Persistent=ServerPersistentKeys(
# Data=ServerPersistentDataKeys(
# OuterServerShuffleKey=server_persistent_keys["OuterServerShuffleKey"],
# ServerKey=server_persistent_keys["ServerKey"],
# ServerShuffleKey=server_persistent_keys["ServerShuffleKey"]
# ),
# Medium=ServerPersistentMediumKeys(
# ServerMediumKey=server_persistent_keys["ServerMediumKey"],
# )
# ),
# Ephemeral=ServerEphemeralKeys(
# Data=ServerEphemeralDataKeys(
# OuterServerShuffleEphemeralKey=server_ephemeral_keys["OuterServerShuffleEphemeralKey"],
# ServerEphemeralKey=server_ephemeral_keys["ServerEphemeralKey"],
# ServerShuffleEphemeralKey=server_ephemeral_keys["ServerShuffleEphemeralKey"]
# ),
# Medium=ServerEphemeralMediumKeys(
# ServerMediumEphemeralKey=server_ephemeral_keys["ServerMediumEphemeralKey"],
# )
# )
#)
#mutual_keys = MutualKeys(
# Persistent=MutualPersistentKeys(
# Data=MutualPersistentDataKeys(
# OuterFunctionKey=server_persistent_keys["OuterFunctionKey"],
# OuterFunctionFunctionKey=server_persistent_keys["OuterFunctionFunctionKey"],
# OuterServerShuffleFunctionKey=server_persistent_keys["OuterServerShuffleFunctionKey"],
# MutualKey=server_persistent_keys["MutualKey"],
# Inner1=server_persistent_keys["FunctionKey"],
# ClientShuffleKeyX=server_persistent_keys["ClientShuffleKeyX"],
# ),
# Medium=MutualPersistentMediumKeys(
# MutualMediumKey=server_persistent_keys["MutualMediumKey"],
# OuterFunctionMediumKey=server_persistent_keys["OuterFunctionMediumKey"],
# OuterFunctionFunctionMediumKey=server_persistent_keys["OuterFunctionFunctionMediumKey"],
# OuterServerShuffleFunctionMediumKey=server_persistent_keys["OuterServerShuffleFunctionMediumKey"],
# FunctionMediumKey=server_persistent_keys["FunctionMediumKey"],
# ClientShuffleMediumKeyX=server_persistent_keys["ClientShuffleMediumKeyX"],
# OuterPositionShuffleMediumKey=server_persistent_keys["OuterPositionShuffleMediumKey"],
# OuterPositionShuffleFunctionMediumKey=server_persistent_keys["OuterPositionShuffleFunctionMediumKey"],
# OuterPositionFunctionMediumKey=server_persistent_keys["OuterPositionFunctionMediumKey"],
# PositionFunctionMediumKey=server_persistent_keys["PositionFunctionMediumKey"],
# PositionShuffleMediumKey=server_persistent_keys["PositionShuffleMediumKey"],
# )
# ),
# Ephemeral=MutualEphemeralKeys(
# Data=MutualEphemeralDataKeys(
# MutualKey=mutual_ephemeral_keys["MutualEphemeralKey"],
# Inner1=mutual_ephemeral_keys["FunctionEphemeralKey"],
# OuterFunctionKey=mutual_ephemeral_keys["OuterFunctionEphemeralKey"],
# OuterFunctionFunctionKey=mutual_ephemeral_keys["OuterFunctionFunctionEphemeralKey"],
# OuterServerShuffleFunctionKey=mutual_ephemeral_keys["OuterServerShuffleFunctionEphemeralKey"]
# ),
# Medium=MutualEphemeralMediumKeys(
# MutualMediumKey=mutual_ephemeral_keys["MutualMediumEphemeralKey"],
# FunctionMediumKey=mutual_ephemeral_keys["FunctionMediumEphemeralKey"],
# PositionFunctionMediumEphemeralKey=mutual_ephemeral_keys["PositionFunctionMediumEphemeralKey"],
# OuterFunctionMediumEphemeralKey=mutual_ephemeral_keys["OuterFunctionMediumEphemeralKey"],
# OuterFunctionFunctionMediumEphemeralKey=mutual_ephemeral_keys["OuterFunctionFunctionMediumEphemeralKey"],
# OuterPositionFunctionMediumEphemeralKey=mutual_ephemeral_keys["OuterPositionFunctionMediumEphemeralKey"],
# OuterServerShuffleFunctionMediumEphemeralKey=mutual_ephemeral_keys["OuterServerShuffleFunctionMediumEphemeralKey"],
# OuterPositionShuffleFunctionMediumEphemeralKey=mutual_ephemeral_keys["OuterPositionShuffleFunctionMediumEphemeralKey"],
# PositionShuffleMediumEphemeralKey=mutual_ephemeral_keys["PositionShuffleMediumEphemeralKey"],
# OuterPositionShuffleMediumEphemeralKey=mutual_ephemeral_keys["OuterPositionShuffleMediumEphemeralKey"]
# )
# )
#)
#alphabet = AlphabetKey(**server_ephemeral_keys["Alphabet"])
# client_persistent_keys = ClientPersistentKeys.random_init(height, width) server_keys = ServerKeys.random_init(height, width)
# client_ephemeral_keys = ClientEphemeralKeys.random_init(height, width) mutual_keys = MutualKeys.random_init(height, width)
# server_persistent_keys = ServerPersistentKeys.random_init(height, width) client_keys = ClientKeys.random_init(height, width)
# server_ephemeral_keys = ServerEphemeralKeys.random_init(height, width) alphabet = AlphabetKey.init_matrix(width, height, 255)
# mutual_ephemeral_keys = MutualEphemeralKeys.random_init(height, width)
# mutual_persistent_keys = MutualPersistentKeys.random_init(height, width)
client_persistent_keys = {k: {"matrix": v} for k, v in client_persistent_keys.items()} server_keys.Persistent.Data.ServerKey = server_keys.Persistent.Data.ServerKey ^ mutual_keys.Persistent.Data.MutualKey
client_ephemeral_keys = {k: {"matrix": v} for k, v in client_ephemeral_keys.items()} server_keys.Persistent.Medium.ServerMediumKey = server_keys.Persistent.Medium.ServerMediumKey ^ mutual_keys.Persistent.Medium.MutualMediumKey
server_persistent_keys = {k: {"matrix": v} for k, v in server_persistent_keys.items()}
server_ephemeral_keys = {k: {"matrix": v} for k, v in server_ephemeral_keys.items()}
mutual_ephemeral_keys = {k: {"matrix": v} for k, v in mutual_ephemeral_keys.items()}
client_keys = ClientKeys( mutual_keys.Persistent.Data.MutualKey = mutual_keys.Persistent.Data.MutualKey ^ client_keys.Persistent.Data.ClientKey
Persistent=ClientPersistentKeys( mutual_keys.Persistent.Medium.MutualMediumKey = mutual_keys.Persistent.Medium.MutualMediumKey ^ client_keys.Persistent.Medium.ClientMediumKey
Data=ClientPersistentDataKeys(
OuterClientShuffleKey=client_persistent_keys["OuterClientShuffleKey"],
OuterClientShuffleFunctionKey=client_persistent_keys["OuterClientShuffleFunctionKey"],
ClientKey=client_persistent_keys["ClientKey"],
ClientShuffleKeyA=client_persistent_keys["ClientShuffleKeyA"]
),
Medium=ClientPersistentMediumKeys(
OuterClientShuffleMediumKey=client_persistent_keys["OuterClientShuffleMediumKey"],
OuterClientShuffleFunctionMediumKey=client_persistent_keys["OuterClientShuffleFunctionMediumKey"],
ClientShuffleMediumKeyA=client_persistent_keys["ClientShuffleMediumKeyA"],
ClientMediumKey=client_persistent_keys["ClientMediumKey"]
)
),
Ephemeral=ClientEphemeralKeys(
Data=ClientEphemeralDataKeys(
OuterClientShuffleEphemeralKey=client_ephemeral_keys["OuterClientShuffleEphemeralKey"],
OuterClientShuffleFunctionEphemeralKey=client_ephemeral_keys["OuterClientShuffleFunctionEphemeralKey"],
ClientEphemeralKey=client_ephemeral_keys["ClientEphemeralKey"],
ClientShuffleEphemeralKeyA=client_ephemeral_keys["ClientShuffleEphemeralKeyA"]
),
Medium=ClientEphemeralMediumKeys(
OuterClientShuffleMediumEphemeralKey=client_ephemeral_keys["OuterClientShuffleMediumEphemeralKey"],
OuterClientShuffleFunctionMediumEphemeralKey=client_ephemeral_keys["OuterClientShuffleFunctionMediumEphemeralKey"],
ClientShuffleMediumEphemeralKeyA=client_ephemeral_keys["ClientShuffleMediumEphemeralKeyA"],
ClientMediumEphemeralKey=client_ephemeral_keys["ClientMediumEphemeralKey"]
)
)
)
server_keys = ServerKeys(
Persistent=ServerPersistentKeys(
Data=ServerPersistentDataKeys(
OuterServerShuffleKey=server_persistent_keys["OuterServerShuffleKey"],
ServerKey=server_persistent_keys["ServerKey"],
ServerShuffleKey=server_persistent_keys["ServerShuffleKey"]
),
Medium=ServerPersistentMediumKeys(
ServerMediumKey=server_persistent_keys["ServerMediumKey"],
)
),
Ephemeral=ServerEphemeralKeys(
Data=ServerEphemeralDataKeys(
OuterServerShuffleEphemeralKey=server_ephemeral_keys["OuterServerShuffleEphemeralKey"],
ServerEphemeralKey=server_ephemeral_keys["ServerEphemeralKey"],
ServerShuffleEphemeralKey=server_ephemeral_keys["ServerShuffleEphemeralKey"]
),
Medium=ServerEphemeralMediumKeys(
ServerMediumEphemeralKey=server_ephemeral_keys["ServerMediumEphemeralKey"],
)
)
)
mutual_keys = MutualKeys(
Persistent=MutualPersistentKeys(
Data=MutualPersistentDataKeys(
OuterFunctionKey=server_persistent_keys["OuterFunctionKey"],
OuterFunctionFunctionKey=server_persistent_keys["OuterFunctionFunctionKey"],
OuterServerShuffleFunctionKey=server_persistent_keys["OuterServerShuffleFunctionKey"],
MutualKey=server_persistent_keys["MutualKey"],
Inner1=server_persistent_keys["FunctionKey"],
ClientShuffleKeyX=server_persistent_keys["ClientShuffleKeyX"],
),
Medium=MutualPersistentMediumKeys(
MutualMediumKey=server_persistent_keys["MutualMediumKey"],
OuterFunctionMediumKey=server_persistent_keys["OuterFunctionMediumKey"],
OuterFunctionFunctionMediumKey=server_persistent_keys["OuterFunctionFunctionMediumKey"],
OuterServerShuffleFunctionMediumKey=server_persistent_keys["OuterServerShuffleFunctionMediumKey"],
FunctionMediumKey=server_persistent_keys["FunctionMediumKey"],
ClientShuffleMediumKeyX=server_persistent_keys["ClientShuffleMediumKeyX"],
OuterPositionShuffleMediumKey=server_persistent_keys["OuterPositionShuffleMediumKey"],
OuterPositionShuffleFunctionMediumKey=server_persistent_keys["OuterPositionShuffleFunctionMediumKey"],
OuterPositionFunctionMediumKey=server_persistent_keys["OuterPositionFunctionMediumKey"],
PositionFunctionMediumKey=server_persistent_keys["PositionFunctionMediumKey"],
PositionShuffleMediumKey=server_persistent_keys["PositionShuffleMediumKey"],
)
),
Ephemeral=MutualEphemeralKeys(
Data=MutualEphemeralDataKeys(
MutualKey=mutual_ephemeral_keys["MutualEphemeralKey"],
Inner1=mutual_ephemeral_keys["FunctionEphemeralKey"],
OuterFunctionKey=mutual_ephemeral_keys["OuterFunctionEphemeralKey"],
OuterFunctionFunctionKey=mutual_ephemeral_keys["OuterFunctionFunctionEphemeralKey"],
OuterServerShuffleFunctionKey=mutual_ephemeral_keys["OuterServerShuffleFunctionEphemeralKey"]
),
Medium=MutualEphemeralMediumKeys(
MutualMediumKey=mutual_ephemeral_keys["MutualMediumEphemeralKey"],
FunctionMediumKey=mutual_ephemeral_keys["FunctionMediumEphemeralKey"],
PositionFunctionMediumEphemeralKey=mutual_ephemeral_keys["PositionFunctionMediumEphemeralKey"],
OuterFunctionMediumEphemeralKey=mutual_ephemeral_keys["OuterFunctionMediumEphemeralKey"],
OuterFunctionFunctionMediumEphemeralKey=mutual_ephemeral_keys["OuterFunctionFunctionMediumEphemeralKey"],
OuterPositionFunctionMediumEphemeralKey=mutual_ephemeral_keys["OuterPositionFunctionMediumEphemeralKey"],
OuterServerShuffleFunctionMediumEphemeralKey=mutual_ephemeral_keys["OuterServerShuffleFunctionMediumEphemeralKey"],
OuterPositionShuffleFunctionMediumEphemeralKey=mutual_ephemeral_keys["OuterPositionShuffleFunctionMediumEphemeralKey"],
PositionShuffleMediumEphemeralKey=mutual_ephemeral_keys["PositionShuffleMediumEphemeralKey"],
OuterPositionShuffleMediumEphemeralKey=mutual_ephemeral_keys["OuterPositionShuffleMediumEphemeralKey"]
)
)
)
#server_keys.Persistent.Data.ServerKey = server_keys.Persistent.Data.ServerKey ^ mutual_keys.Persistent.Data.MutualKey
#server_keys.Persistent.Medium.ServerMediumKey = server_keys.Persistent.Medium.ServerMediumKey ^ mutual_keys.Persistent.Medium.MutualMediumKey
#mutual_keys.Persistent.Data.MutualKey = mutual_keys.Persistent.Data.MutualKey ^ client_keys.Persistent.Data.ClientKey
#mutual_keys.Persistent.Medium.MutualMediumKey = mutual_keys.Persistent.Medium.MutualMediumKey ^ client_keys.Persistent.Medium.ClientMediumKey
#alphabet = AlphabetKey.init_matrix(width, height, 255)
alphabet = AlphabetKey(**server_ephemeral_keys["Alphabet"])
(phase1_alphabet, phase1_medium) = darc_phase1(alphabet, server_keys, mutual_keys) (phase1_alphabet, phase1_medium) = darc_phase1(alphabet, server_keys, mutual_keys)
(phase2_alphabet, phase2_medium) = darc_phase2(phase1_alphabet, phase1_medium, client_keys, mutual_keys) (phase2_alphabet, phase2_medium) = darc_phase2(phase1_alphabet, phase1_medium, client_keys, mutual_keys)
(phase3_alphabet, phase3_medium) = darc_phase3(phase2_alphabet, phase2_medium, client_keys, mutual_keys) (phase3_alphabet, phase3_medium) = darc_phase3(phase2_alphabet, phase2_medium, client_keys, mutual_keys)