restore random init
This commit is contained in:
@@ -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)
|
||||||
|
|||||||
Reference in New Issue
Block a user