split mutual persistent into own class
This commit is contained in:
128
src/models.py
128
src/models.py
@@ -146,79 +146,28 @@ class AlphabetKey(DarcKey):
|
||||
|
||||
|
||||
class ServerPersistentKeys(BaseModel):
|
||||
OuterFunctionKey: OuterShuffleKey
|
||||
OuterFunctionFunctionKey: OuterShuffleKey
|
||||
OuterServerShuffleFunctionKey: OuterShuffleKey
|
||||
MutualKey: AlphabetKey
|
||||
FunctionKey: InnerShuffleKey
|
||||
ClientShuffleKeyX: InnerShuffleKey
|
||||
OuterServerShuffleKey: OuterShuffleKey
|
||||
ServerKey: AlphabetKey
|
||||
ServerShuffleKey: InnerShuffleKey
|
||||
|
||||
MutualMediumKey: AlphabetKey
|
||||
OuterFunctionMediumKey: OuterShuffleKey
|
||||
OuterFunctionFunctionMediumKey: OuterShuffleKey
|
||||
OuterServerShuffleFunctionMediumKey: OuterShuffleKey
|
||||
FunctionMediumKey: InnerShuffleKey
|
||||
ClientShuffleMediumKeyX: InnerShuffleKey
|
||||
OuterPositionShuffleMediumKey: OuterShuffleKey
|
||||
OuterPositionShuffleFunctionMediumKey: OuterShuffleKey
|
||||
OuterPositionFunctionMediumKey: OuterShuffleKey
|
||||
PositionFunctionMediumKey: InnerShuffleKey
|
||||
PositionShuffleMediumKey: InnerShuffleKey
|
||||
ServerMediumKey: AlphabetKey
|
||||
|
||||
@classmethod
|
||||
def random_init(cls, height: int, width: int):
|
||||
return ServerPersistentKeys(
|
||||
OuterFunctionKey=OuterShuffleKey.init_matrix(height),
|
||||
OuterFunctionFunctionKey=OuterShuffleKey.init_matrix(height),
|
||||
OuterServerShuffleFunctionKey=OuterShuffleKey.init_matrix(height),
|
||||
MutualKey=AlphabetKey.init_matrix(width, height, 255),
|
||||
FunctionKey=InnerShuffleKey.init_matrix(width, height),
|
||||
ClientShuffleKeyX=InnerShuffleKey.init_matrix(width, height),
|
||||
OuterServerShuffleKey=OuterShuffleKey.init_matrix(height),
|
||||
ServerKey=AlphabetKey.init_matrix(width, height, 255),
|
||||
ServerShuffleKey=InnerShuffleKey.init_matrix(width, height),
|
||||
MutualMediumKey=AlphabetKey.init_matrix(width, height, 255),
|
||||
OuterFunctionMediumKey=OuterShuffleKey.init_matrix(height),
|
||||
OuterFunctionFunctionMediumKey=OuterShuffleKey.init_matrix(height),
|
||||
OuterServerShuffleFunctionMediumKey=OuterShuffleKey.init_matrix(height),
|
||||
FunctionMediumKey=InnerShuffleKey.init_matrix(width, height),
|
||||
ClientShuffleMediumKeyX=InnerShuffleKey.init_matrix(width, height),
|
||||
OuterPositionShuffleMediumKey=OuterShuffleKey.init_matrix(height),
|
||||
OuterPositionShuffleFunctionMediumKey=OuterShuffleKey.init_matrix(height),
|
||||
OuterPositionFunctionMediumKey=OuterShuffleKey.init_matrix(height),
|
||||
PositionFunctionMediumKey=InnerShuffleKey.init_matrix(width, height),
|
||||
PositionShuffleMediumKey=InnerShuffleKey.init_matrix(width, height),
|
||||
ServerMediumKey=AlphabetKey.init_matrix(width, height, 255)
|
||||
)
|
||||
|
||||
|
||||
class ClientPersistentKeys(BaseModel):
|
||||
OuterFunctionKey: OuterShuffleKey
|
||||
OuterFunctionFunctionKey: OuterShuffleKey
|
||||
OuterServerShuffleFunctionKey: OuterShuffleKey
|
||||
MutualKey: AlphabetKey
|
||||
FunctionKey: InnerShuffleKey
|
||||
ClientShuffleKeyX: InnerShuffleKey
|
||||
ClientKey: AlphabetKey
|
||||
ClientShuffleKeyA: InnerShuffleKey
|
||||
OuterClientShuffleKey: OuterShuffleKey
|
||||
OuterClientShuffleFunctionKey: OuterShuffleKey
|
||||
|
||||
MutualMediumKey: AlphabetKey
|
||||
OuterFunctionMediumKey: OuterShuffleKey
|
||||
OuterFunctionFunctionMediumKey: OuterShuffleKey
|
||||
OuterServerShuffleFunctionMediumKey: OuterShuffleKey
|
||||
FunctionMediumKey: InnerShuffleKey
|
||||
ClientShuffleMediumKeyX: InnerShuffleKey
|
||||
OuterPositionShuffleMediumKey: OuterShuffleKey
|
||||
OuterPositionShuffleFunctionMediumKey: OuterShuffleKey
|
||||
OuterPositionFunctionMediumKey: OuterShuffleKey
|
||||
PositionFunctionMediumKey: InnerShuffleKey
|
||||
PositionShuffleMediumKey: InnerShuffleKey
|
||||
OuterClientShuffleMediumKey: OuterShuffleKey
|
||||
OuterClientShuffleFunctionMediumKey: OuterShuffleKey
|
||||
ClientShuffleMediumKeyA: InnerShuffleKey
|
||||
@@ -227,16 +176,46 @@ class ClientPersistentKeys(BaseModel):
|
||||
@classmethod
|
||||
def random_init(cls, height: int, width: int):
|
||||
return ClientPersistentKeys(
|
||||
OuterFunctionKey=OuterShuffleKey.init_matrix(height),
|
||||
OuterFunctionFunctionKey=OuterShuffleKey.init_matrix(height),
|
||||
OuterServerShuffleFunctionKey=OuterShuffleKey.init_matrix(height),
|
||||
MutualKey=AlphabetKey.init_matrix(width, height, 255),
|
||||
FunctionKey=InnerShuffleKey.init_matrix(width, height),
|
||||
ClientShuffleKeyX=InnerShuffleKey.init_matrix(width, height),
|
||||
ClientKey=AlphabetKey.init_matrix(width, height, 255),
|
||||
ClientShuffleKeyA=InnerShuffleKey.init_matrix(width, height),
|
||||
OuterClientShuffleKey=OuterShuffleKey.init_matrix(height),
|
||||
OuterClientShuffleFunctionKey=OuterShuffleKey.init_matrix(height),
|
||||
OuterClientShuffleMediumKey=OuterShuffleKey.init_matrix(height),
|
||||
OuterClientShuffleFunctionMediumKey=OuterShuffleKey.init_matrix(height),
|
||||
ClientShuffleMediumKeyA=InnerShuffleKey.init_matrix(width, height),
|
||||
ClientMediumKey=AlphabetKey.init_matrix(width, height, 255)
|
||||
)
|
||||
|
||||
|
||||
class MutualPersistentKeys(BaseModel):
|
||||
OuterFunctionKey: OuterShuffleKey
|
||||
OuterFunctionFunctionKey: OuterShuffleKey
|
||||
OuterServerShuffleFunctionKey: OuterShuffleKey
|
||||
MutualKey: AlphabetKey
|
||||
Inner1: InnerShuffleKey
|
||||
ClientShuffleKeyX: InnerShuffleKey
|
||||
|
||||
MutualMediumKey: AlphabetKey
|
||||
OuterFunctionMediumKey: OuterShuffleKey
|
||||
OuterFunctionFunctionMediumKey: OuterShuffleKey
|
||||
OuterServerShuffleFunctionMediumKey: OuterShuffleKey
|
||||
FunctionMediumKey: InnerShuffleKey
|
||||
ClientShuffleMediumKeyX: InnerShuffleKey
|
||||
OuterPositionShuffleMediumKey: OuterShuffleKey
|
||||
OuterPositionShuffleFunctionMediumKey: OuterShuffleKey
|
||||
OuterPositionFunctionMediumKey: OuterShuffleKey
|
||||
PositionFunctionMediumKey: InnerShuffleKey
|
||||
PositionShuffleMediumKey: InnerShuffleKey
|
||||
|
||||
@classmethod
|
||||
def random_init(cls, height: int, width: int):
|
||||
return MutualPersistentKeys(
|
||||
OuterFunctionKey=OuterShuffleKey.init_matrix(height),
|
||||
OuterFunctionFunctionKey=OuterShuffleKey.init_matrix(height),
|
||||
OuterServerShuffleFunctionKey=OuterShuffleKey.init_matrix(height),
|
||||
MutualKey=AlphabetKey.init_matrix(width, height, 255),
|
||||
Inner1=InnerShuffleKey.init_matrix(width, height),
|
||||
ClientShuffleKeyX=InnerShuffleKey.init_matrix(width, height),
|
||||
MutualMediumKey=AlphabetKey.init_matrix(width, height, 255),
|
||||
OuterFunctionMediumKey=OuterShuffleKey.init_matrix(height),
|
||||
OuterFunctionFunctionMediumKey=OuterShuffleKey.init_matrix(height),
|
||||
@@ -248,19 +227,15 @@ class ClientPersistentKeys(BaseModel):
|
||||
OuterPositionFunctionMediumKey=OuterShuffleKey.init_matrix(height),
|
||||
PositionFunctionMediumKey=InnerShuffleKey.init_matrix(width, height),
|
||||
PositionShuffleMediumKey=InnerShuffleKey.init_matrix(width, height),
|
||||
OuterClientShuffleMediumKey=OuterShuffleKey.init_matrix(height),
|
||||
OuterClientShuffleFunctionMediumKey=OuterShuffleKey.init_matrix(height),
|
||||
ClientShuffleMediumKeyA=InnerShuffleKey.init_matrix(width, height),
|
||||
ClientMediumKey=AlphabetKey.init_matrix(width, height, 255)
|
||||
)
|
||||
|
||||
|
||||
class ServerEphemeralKeys(BaseModel):
|
||||
OuterServerShuffleEphemeralKey: OuterShuffleKey
|
||||
ServerEphemeralKey: AlphabetKey
|
||||
ServerShuffleEphemeralKey: InnerShuffleKey
|
||||
|
||||
ServerMediumEphemeralKey: AlphabetKey
|
||||
Alphabet: AlphabetKey
|
||||
|
||||
@classmethod
|
||||
def random_init(cls, height: int, width: int):
|
||||
@@ -269,19 +244,18 @@ class ServerEphemeralKeys(BaseModel):
|
||||
ServerEphemeralKey=AlphabetKey.init_matrix(width, height, 255),
|
||||
ServerShuffleEphemeralKey=InnerShuffleKey.init_matrix(width, height),
|
||||
ServerMediumEphemeralKey=AlphabetKey.init_matrix(width, height, 255),
|
||||
Alphabet=AlphabetKey.init_matrix(width, height, 255)
|
||||
)
|
||||
|
||||
|
||||
class MutualEphemeralKeys(BaseModel):
|
||||
MutualEphemeralKey: AlphabetKey
|
||||
FunctionEphemeralKey: InnerShuffleKey
|
||||
OuterFunctionEphemeralKey: OuterShuffleKey
|
||||
OuterFunctionFunctionEphemeralKey: OuterShuffleKey
|
||||
OuterServerShuffleFunctionEphemeralKey: OuterShuffleKey
|
||||
MutualKey: AlphabetKey
|
||||
Inner1: InnerShuffleKey
|
||||
OuterFunctionKey: OuterShuffleKey
|
||||
OuterFunctionFunctionKey: OuterShuffleKey
|
||||
OuterServerShuffleFunctionKey: OuterShuffleKey
|
||||
|
||||
MutualMediumEphemeralKey: AlphabetKey
|
||||
FunctionMediumEphemeralKey: InnerShuffleKey
|
||||
MutualMediumKey: AlphabetKey
|
||||
FunctionMediumKey: InnerShuffleKey
|
||||
PositionFunctionMediumEphemeralKey: InnerShuffleKey
|
||||
OuterFunctionMediumEphemeralKey: OuterShuffleKey
|
||||
OuterFunctionFunctionMediumEphemeralKey: OuterShuffleKey
|
||||
@@ -294,13 +268,13 @@ class MutualEphemeralKeys(BaseModel):
|
||||
@classmethod
|
||||
def random_init(cls, height: int, width: int):
|
||||
return MutualEphemeralKeys(
|
||||
MutualEphemeralKey=AlphabetKey.init_matrix(width, height, 255),
|
||||
FunctionEphemeralKey=InnerShuffleKey.init_matrix(width, height),
|
||||
OuterFunctionEphemeralKey=OuterShuffleKey.init_matrix(height),
|
||||
OuterFunctionFunctionEphemeralKey=OuterShuffleKey.init_matrix(height),
|
||||
OuterServerShuffleFunctionEphemeralKey=OuterShuffleKey.init_matrix(height),
|
||||
MutualMediumEphemeralKey=AlphabetKey.init_matrix(width, height, 255),
|
||||
FunctionMediumEphemeralKey=InnerShuffleKey.init_matrix(width, height),
|
||||
MutualKey=AlphabetKey.init_matrix(width, height, 255),
|
||||
Inner1=InnerShuffleKey.init_matrix(width, height),
|
||||
OuterFunctionKey=OuterShuffleKey.init_matrix(height),
|
||||
OuterFunctionFunctionKey=OuterShuffleKey.init_matrix(height),
|
||||
OuterServerShuffleFunctionKey=OuterShuffleKey.init_matrix(height),
|
||||
MutualMediumKey=AlphabetKey.init_matrix(width, height, 255),
|
||||
FunctionMediumKey=InnerShuffleKey.init_matrix(width, height),
|
||||
PositionFunctionMediumEphemeralKey=InnerShuffleKey.init_matrix(width, height),
|
||||
OuterFunctionMediumEphemeralKey=OuterShuffleKey.init_matrix(height),
|
||||
OuterFunctionFunctionMediumEphemeralKey=OuterShuffleKey.init_matrix(height),
|
||||
|
||||
Reference in New Issue
Block a user