document alphabet phase 1-3. clean code

This commit is contained in:
2024-05-25 09:11:54 -05:00
parent 4de3ece8c9
commit c58a0a1ba7
4 changed files with 254 additions and 215 deletions

View File

@@ -107,26 +107,26 @@ class DarcKey(BaseModel):
)
class OuterShuffleKey(DarcKey):
class OuterKey(DarcKey):
key_type = DarcKeyTypes.outer_shuffle
@classmethod
def init_matrix(cls, height: int):
""" originally buildRandom """
matrix = [cls._random_shuffle(list(range(height)))]
return OuterShuffleKey(
return OuterKey(
matrix=matrix,
)
class InnerShuffleKey(DarcKey):
class InnerKey(DarcKey):
key_type = DarcKeyTypes.inner_shuffle
@classmethod
def init_matrix(cls, width: int, height: int):
""" originally buildRandom """
matrix = [cls._random_shuffle(list(range(width))) for _ in range(height)]
return InnerShuffleKey(
return InnerKey(
matrix=matrix,
)
@@ -146,214 +146,214 @@ class AlphabetKey(DarcKey):
class ClientEphemeralDataKeys(BaseModel):
outer_key_1: OuterShuffleKey
outer_key_2: OuterShuffleKey
alpha_key_1: AlphabetKey
inner_key_1: InnerShuffleKey
outer_key_1: OuterKey
outer_key_2: OuterKey
alpha_key: AlphabetKey
inner_key_1: InnerKey
@classmethod
def random_init(cls, height: int, width: int):
return ClientEphemeralDataKeys(
outer_key_1=OuterShuffleKey.init_matrix(height),
outer_key_2=OuterShuffleKey.init_matrix(height),
alpha_key_1=AlphabetKey.init_matrix(width, height, 255),
inner_key_1=InnerShuffleKey.init_matrix(width, height),
outer_key_1=OuterKey.init_matrix(height),
outer_key_2=OuterKey.init_matrix(height),
alpha_key=AlphabetKey.init_matrix(width, height, 255),
inner_key_1=InnerKey.init_matrix(width, height),
)
class ClientEphemeralMediumKeys(BaseModel):
outer_key_1: OuterShuffleKey
outer_key_2: OuterShuffleKey
inner_key_1: InnerShuffleKey
alpha_key_1: AlphabetKey
outer_key_1: OuterKey
outer_key_2: OuterKey
inner_key_1: InnerKey
alpha_key: AlphabetKey
@classmethod
def random_init(cls, height: int, width: int):
return ClientEphemeralMediumKeys(
outer_key_1=OuterShuffleKey.init_matrix(height),
outer_key_2=OuterShuffleKey.init_matrix(height),
inner_key_1=InnerShuffleKey.init_matrix(width, height),
alpha_key_1=AlphabetKey.init_matrix(width, height, 255)
outer_key_1=OuterKey.init_matrix(height),
outer_key_2=OuterKey.init_matrix(height),
inner_key_1=InnerKey.init_matrix(width, height),
alpha_key=AlphabetKey.init_matrix(width, height, 255)
)
class ClientPersistentDataKeys(BaseModel):
alpha_key_1: AlphabetKey
inner_key_1: InnerShuffleKey
outer_key_1: OuterShuffleKey
outer_key_2: OuterShuffleKey
alpha_key: AlphabetKey
inner_key_1: InnerKey
outer_key_1: OuterKey
outer_key_2: OuterKey
@classmethod
def random_init(cls, height: int, width: int):
return ClientPersistentDataKeys(
alpha_key_1=AlphabetKey.init_matrix(width, height, 255),
inner_key_1=InnerShuffleKey.init_matrix(width, height),
outer_key_1=OuterShuffleKey.init_matrix(height),
outer_key_2=OuterShuffleKey.init_matrix(height),
alpha_key=AlphabetKey.init_matrix(width, height, 255),
inner_key_1=InnerKey.init_matrix(width, height),
outer_key_1=OuterKey.init_matrix(height),
outer_key_2=OuterKey.init_matrix(height),
)
class ClientPersistentMediumKeys(BaseModel):
outer_key_1: OuterShuffleKey
outer_key_2: OuterShuffleKey
inner_key_1: InnerShuffleKey
alpha_key_1: AlphabetKey
outer_key_1: OuterKey
outer_key_2: OuterKey
inner_key_1: InnerKey
alpha_key: AlphabetKey
@classmethod
def random_init(cls, height: int, width: int):
return ClientPersistentMediumKeys(
outer_key_1=OuterShuffleKey.init_matrix(height),
outer_key_2=OuterShuffleKey.init_matrix(height),
inner_key_1=InnerShuffleKey.init_matrix(width, height),
alpha_key_1=AlphabetKey.init_matrix(width, height, 255)
outer_key_1=OuterKey.init_matrix(height),
outer_key_2=OuterKey.init_matrix(height),
inner_key_1=InnerKey.init_matrix(width, height),
alpha_key=AlphabetKey.init_matrix(width, height, 255)
)
class ServerEphemeralDataKeys(BaseModel):
outer_key_1: OuterShuffleKey
alpha_key_1: AlphabetKey
inner_key_1: InnerShuffleKey
outer_key_1: OuterKey
alpha_key: AlphabetKey
inner_key_1: InnerKey
@classmethod
def random_init(cls, height: int, width: int):
return ServerEphemeralDataKeys(
outer_key_1=OuterShuffleKey.init_matrix(height),
alpha_key_1=AlphabetKey.init_matrix(width, height, 255),
inner_key_1=InnerShuffleKey.init_matrix(width, height),
outer_key_1=OuterKey.init_matrix(height),
alpha_key=AlphabetKey.init_matrix(width, height, 255),
inner_key_1=InnerKey.init_matrix(width, height),
)
class ServerEphemeralMediumKeys(BaseModel):
alpha_key_1: AlphabetKey
alpha_key: AlphabetKey
@classmethod
def random_init(cls, height: int, width: int):
return ServerEphemeralMediumKeys(
alpha_key_1=AlphabetKey.init_matrix(width, height, 255)
alpha_key=AlphabetKey.init_matrix(width, height, 255)
)
class ServerPersistentDataKeys(BaseModel):
outer_key_1: OuterShuffleKey
alpha_key_1: AlphabetKey
inner_key_1: InnerShuffleKey
outer_key_1: OuterKey
alpha_key: AlphabetKey
inner_key_1: InnerKey
@classmethod
def random_init(cls, height: int, width: int):
return ServerPersistentDataKeys(
outer_key_1=OuterShuffleKey.init_matrix(height),
alpha_key_1=AlphabetKey.init_matrix(width, height, 255),
inner_key_1=InnerShuffleKey.init_matrix(width, height),
outer_key_1=OuterKey.init_matrix(height),
alpha_key=AlphabetKey.init_matrix(width, height, 255),
inner_key_1=InnerKey.init_matrix(width, height),
)
class ServerPersistentMediumKeys(BaseModel):
alpha_key_1: AlphabetKey
alpha_key: AlphabetKey
@classmethod
def random_init(cls, height: int, width: int):
return ServerPersistentMediumKeys(
alpha_key_1=AlphabetKey.init_matrix(width, height, 255)
alpha_key=AlphabetKey.init_matrix(width, height, 255)
)
class MutualEphemeralDataKeys(BaseModel):
alpha_key_1: AlphabetKey
inner_key_1: InnerShuffleKey
outer_key_1: OuterShuffleKey
outer_key_2: OuterShuffleKey
outer_key_3: OuterShuffleKey
alpha_key: AlphabetKey
inner_key_1: InnerKey
outer_key_1: OuterKey
outer_key_2: OuterKey
outer_key_3: OuterKey
@classmethod
def random_init(cls, height: int, width: int):
return MutualEphemeralDataKeys(
alpha_key_1=AlphabetKey.init_matrix(width, height, 255),
inner_key_1=InnerShuffleKey.init_matrix(width, height),
outer_key_1=OuterShuffleKey.init_matrix(height),
outer_key_2=OuterShuffleKey.init_matrix(height),
outer_key_3=OuterShuffleKey.init_matrix(height),
alpha_key=AlphabetKey.init_matrix(width, height, 255),
inner_key_1=InnerKey.init_matrix(width, height),
outer_key_1=OuterKey.init_matrix(height),
outer_key_2=OuterKey.init_matrix(height),
outer_key_3=OuterKey.init_matrix(height),
)
class MutualEphemeralMediumKeys(BaseModel):
alpha_key_1: AlphabetKey
alpha_key: AlphabetKey
outer_key_1: OuterShuffleKey
outer_key_2: OuterShuffleKey
outer_key_3: OuterShuffleKey
outer_key_4: OuterShuffleKey
outer_key_5: OuterShuffleKey
outer_key_6: OuterShuffleKey
outer_key_1: OuterKey
outer_key_2: OuterKey
outer_key_3: OuterKey
outer_key_4: OuterKey
outer_key_5: OuterKey
outer_key_6: OuterKey
inner_key_1: InnerShuffleKey
inner_key_2: InnerShuffleKey
inner_key_3: InnerShuffleKey
inner_key_1: InnerKey
inner_key_2: InnerKey
inner_key_3: InnerKey
@classmethod
def random_init(cls, height: int, width: int):
return MutualEphemeralMediumKeys(
alpha_key_1=AlphabetKey.init_matrix(width, height, 255),
outer_key_1=OuterShuffleKey.init_matrix(height),
outer_key_2=OuterShuffleKey.init_matrix(height),
outer_key_3=OuterShuffleKey.init_matrix(height),
outer_key_4=OuterShuffleKey.init_matrix(height),
outer_key_5=OuterShuffleKey.init_matrix(height),
outer_key_6=OuterShuffleKey.init_matrix(height),
inner_key_1=InnerShuffleKey.init_matrix(width, height),
inner_key_2=InnerShuffleKey.init_matrix(width, height),
inner_key_3=InnerShuffleKey.init_matrix(width, height),
alpha_key=AlphabetKey.init_matrix(width, height, 255),
outer_key_1=OuterKey.init_matrix(height),
outer_key_2=OuterKey.init_matrix(height),
outer_key_3=OuterKey.init_matrix(height),
outer_key_4=OuterKey.init_matrix(height),
outer_key_5=OuterKey.init_matrix(height),
outer_key_6=OuterKey.init_matrix(height),
inner_key_1=InnerKey.init_matrix(width, height),
inner_key_2=InnerKey.init_matrix(width, height),
inner_key_3=InnerKey.init_matrix(width, height),
)
class MutualPersistentDataKeys(BaseModel):
outer_key_1: OuterShuffleKey
outer_key_2: OuterShuffleKey
outer_key_3: OuterShuffleKey
alpha_key_1: AlphabetKey
inner_key_1: InnerShuffleKey
inner_key_2: InnerShuffleKey
outer_key_1: OuterKey
outer_key_2: OuterKey
outer_key_3: OuterKey
alpha_key: AlphabetKey
inner_key_1: InnerKey
inner_key_2: InnerKey
@classmethod
def random_init(cls, height: int, width: int):
return MutualPersistentDataKeys(
outer_key_1=OuterShuffleKey.init_matrix(height),
outer_key_2=OuterShuffleKey.init_matrix(height),
outer_key_3=OuterShuffleKey.init_matrix(height),
alpha_key_1=AlphabetKey.init_matrix(width, height, 255),
inner_key_1=InnerShuffleKey.init_matrix(width, height),
inner_key_2=InnerShuffleKey.init_matrix(width, height),
outer_key_1=OuterKey.init_matrix(height),
outer_key_2=OuterKey.init_matrix(height),
outer_key_3=OuterKey.init_matrix(height),
alpha_key=AlphabetKey.init_matrix(width, height, 255),
inner_key_1=InnerKey.init_matrix(width, height),
inner_key_2=InnerKey.init_matrix(width, height),
)
class MutualPersistentMediumKeys(BaseModel):
alpha_key_1: AlphabetKey
alpha_key: AlphabetKey
outer_key_1: OuterShuffleKey
outer_key_2: OuterShuffleKey
outer_key_3: OuterShuffleKey
outer_key_4: OuterShuffleKey
outer_key_5: OuterShuffleKey
outer_key_6: OuterShuffleKey
outer_key_1: OuterKey
outer_key_2: OuterKey
outer_key_3: OuterKey
outer_key_4: OuterKey
outer_key_5: OuterKey
outer_key_6: OuterKey
inner_key_1: InnerShuffleKey
inner_key_2: InnerShuffleKey
inner_key_3: InnerShuffleKey
inner_key_4: InnerShuffleKey
inner_key_1: InnerKey
inner_key_2: InnerKey
inner_key_3: InnerKey
inner_key_4: InnerKey
@classmethod
def random_init(cls, height: int, width: int):
return MutualPersistentMediumKeys(
alpha_key_1=AlphabetKey.init_matrix(width, height, 255),
outer_key_1=OuterShuffleKey.init_matrix(height),
outer_key_2=OuterShuffleKey.init_matrix(height),
outer_key_3=OuterShuffleKey.init_matrix(height),
outer_key_4=OuterShuffleKey.init_matrix(height),
outer_key_5=OuterShuffleKey.init_matrix(height),
outer_key_6=OuterShuffleKey.init_matrix(height),
inner_key_1=InnerShuffleKey.init_matrix(width, height),
inner_key_2=InnerShuffleKey.init_matrix(width, height),
inner_key_3=InnerShuffleKey.init_matrix(width, height),
inner_key_4=InnerShuffleKey.init_matrix(width, height),
alpha_key=AlphabetKey.init_matrix(width, height, 255),
outer_key_1=OuterKey.init_matrix(height),
outer_key_2=OuterKey.init_matrix(height),
outer_key_3=OuterKey.init_matrix(height),
outer_key_4=OuterKey.init_matrix(height),
outer_key_5=OuterKey.init_matrix(height),
outer_key_6=OuterKey.init_matrix(height),
inner_key_1=InnerKey.init_matrix(width, height),
inner_key_2=InnerKey.init_matrix(width, height),
inner_key_3=InnerKey.init_matrix(width, height),
inner_key_4=InnerKey.init_matrix(width, height),
)
class ServerPersistentKeys(BaseModel):