135 lines
6.3 KiB
Python
135 lines
6.3 KiB
Python
import json
|
|
|
|
from src.models import MutualEphemeralDataKeys, MutualEphemeralMediumKeys, MutualEphemeralKeys, \
|
|
MutualPersistentMediumKeys, MutualPersistentDataKeys, MutualPersistentKeys, MutualKeys, ServerEphemeralMediumKeys, \
|
|
ServerEphemeralDataKeys, ServerEphemeralKeys, ServerPersistentMediumKeys, ServerPersistentDataKeys, ServerKeys, \
|
|
ServerPersistentKeys, ClientEphemeralMediumKeys, ClientEphemeralDataKeys, ClientEphemeralKeys, \
|
|
ClientPersistentMediumKeys, ClientKeys, ClientPersistentKeys, ClientPersistentDataKeys, AlphabetKey
|
|
|
|
|
|
def keys():
|
|
with open("darc_key_json/client_persistent_keys.json") as fp:
|
|
client_persistent_keys = json.load(fp)
|
|
|
|
with open("darc_key_json/client_ephemeral_keys.json") as fp:
|
|
client_ephemeral_keys = json.load(fp)
|
|
|
|
with open("darc_key_json/server_persistent_keys.json") as fp:
|
|
server_persistent_keys = json.load(fp)
|
|
|
|
with open("darc_key_json/server_ephemeral_keys.json") as fp:
|
|
server_ephemeral_keys = json.load(fp)
|
|
|
|
with open("darc_key_json/mutual_ephemeral_keys.json") as 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(
|
|
outer_key_1=client_persistent_keys["outer_key_1"],
|
|
outer_key_2=client_persistent_keys["outer_key_2"],
|
|
alpha_key=client_persistent_keys["alpha_key"],
|
|
inner_key_4=client_persistent_keys["inner_key_4"]
|
|
|
|
),
|
|
medium_phase2=ClientPersistentMediumKeys(
|
|
outer_key_1=client_persistent_keys["outer_key_1"],
|
|
outer_key_2=client_persistent_keys["outer_key_2"],
|
|
inner_key_4=client_persistent_keys["inner_key_4"],
|
|
alpha_key=client_persistent_keys["alpha_key"]
|
|
)
|
|
),
|
|
ephemeral=ClientEphemeralKeys(
|
|
data=ClientEphemeralDataKeys(
|
|
outer_key_1=client_ephemeral_keys["outer_key_1"],
|
|
outer_key_2=client_ephemeral_keys["outer_key_2"],
|
|
alpha_key=client_ephemeral_keys["alpha_key"],
|
|
inner_key_4=client_ephemeral_keys["inner_key_4"]
|
|
),
|
|
medium_phase2=ClientEphemeralMediumKeys(
|
|
outer_key_1=client_ephemeral_keys["outer_key_1"],
|
|
outer_key_2=client_ephemeral_keys["outer_key_2"],
|
|
inner_key_4=client_ephemeral_keys["inner_key_4"],
|
|
alpha_key=client_ephemeral_keys["alpha_key"]
|
|
)
|
|
)
|
|
)
|
|
|
|
server_keys = ServerKeys(
|
|
persistent=ServerPersistentKeys(
|
|
data=ServerPersistentDataKeys(
|
|
outer_key_1=server_persistent_keys["outer_key_1"],
|
|
alpha_key=server_persistent_keys["alpha_key"],
|
|
inner_key_4=server_persistent_keys["inner_key_4"]
|
|
),
|
|
medium_phase2=ServerPersistentMediumKeys(
|
|
alpha_key=server_persistent_keys["alpha_key"],
|
|
)
|
|
),
|
|
ephemeral=ServerEphemeralKeys(
|
|
data=ServerEphemeralDataKeys(
|
|
outer_key_1=server_ephemeral_keys["outer_key_1"],
|
|
alpha_key=server_ephemeral_keys["alpha_key"],
|
|
inner_key_4=server_ephemeral_keys["inner_key_4"]
|
|
),
|
|
medium_phase2=ServerEphemeralMediumKeys(
|
|
alpha_key=server_ephemeral_keys["alpha_key"],
|
|
)
|
|
)
|
|
)
|
|
|
|
mutual_keys = MutualKeys(
|
|
persistent=MutualPersistentKeys(
|
|
data=MutualPersistentDataKeys(
|
|
outer_key_1=server_persistent_keys["outer_key_1"],
|
|
outer_key_2=server_persistent_keys["outer_key_2"],
|
|
outer_key_6=server_persistent_keys["outer_key_6"],
|
|
alpha_key=server_persistent_keys["alpha_key"],
|
|
inner_key_4=server_persistent_keys["FunctionKey"],
|
|
inner_key_1=server_persistent_keys["inner_key_1"],
|
|
),
|
|
medium_phase2=MutualPersistentMediumKeys(
|
|
alpha_key=server_persistent_keys["alpha_key"],
|
|
outer_key_1=server_persistent_keys["outer_key_1"],
|
|
outer_key_2=server_persistent_keys["outer_key_2"],
|
|
outer_key_6=server_persistent_keys["outer_key_6"],
|
|
inner_key_4=server_persistent_keys["inner_key_4"],
|
|
inner_key_1=server_persistent_keys["inner_key_1"],
|
|
outer_key_3=server_persistent_keys["outer_key_3"],
|
|
outer_key_5=server_persistent_keys["outer_key_5"],
|
|
outer_key_4=server_persistent_keys["outer_key_4"],
|
|
inner_key_3=server_persistent_keys["inner_key_3"],
|
|
)
|
|
),
|
|
ephemeral=MutualEphemeralKeys(
|
|
data=MutualEphemeralDataKeys(
|
|
alpha_key=mutual_ephemeral_keys["MutualEphemeralKey"],
|
|
inner_key_4=mutual_ephemeral_keys["FunctionEphemeralKey"],
|
|
outer_key_1=mutual_ephemeral_keys["OuterFunctionEphemeralKey"],
|
|
outer_key_2=mutual_ephemeral_keys["OuterFunctionFunctionEphemeralKey"],
|
|
outer_key_6=mutual_ephemeral_keys["OuterServerShuffleFunctionEphemeralKey"]
|
|
),
|
|
medium_phase2=MutualEphemeralMediumKeys(
|
|
alpha_key=mutual_ephemeral_keys["MutualMediumEphemeralKey"],
|
|
inner_key_4=mutual_ephemeral_keys["FunctionMediumEphemeralKey"],
|
|
inner_key_3=mutual_ephemeral_keys["inner_key_3"],
|
|
outer_key_1=mutual_ephemeral_keys["outer_key_1"],
|
|
outer_key_2=mutual_ephemeral_keys["outer_key_2"],
|
|
outer_key_6=mutual_ephemeral_keys["outer_key_6"],
|
|
outer_key_3=mutual_ephemeral_keys["outer_key_3"],
|
|
outer_key_5=mutual_ephemeral_keys["outer_key_5"],
|
|
outer_key_4=mutual_ephemeral_keys["outer_key_4"]
|
|
|
|
)
|
|
)
|
|
)
|
|
alphabet = AlphabetKey(**server_ephemeral_keys["Alphabet"])
|
|
|
|
return alphabet, server_keys, mutual_keys, client_keys
|