remove old code

This commit is contained in:
2024-05-17 14:36:27 -05:00
parent 63f561e1fa
commit 2dfdc33a8f
6 changed files with 0 additions and 12638 deletions

1966
darc.json

File diff suppressed because it is too large Load Diff

View File

@@ -1,51 +0,0 @@
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"collapsed": true,
"ExecuteTime": {
"end_time": "2024-04-26T18:17:33.998346Z",
"start_time": "2024-04-26T18:17:33.995935Z"
}
},
"outputs": [],
"source": [
"import random"
]
},
{
"cell_type": "code",
"execution_count": null,
"outputs": [],
"source": [
"random"
],
"metadata": {
"collapsed": false
}
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 2
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython2",
"version": "2.7.6"
}
},
"nbformat": 4,
"nbformat_minor": 0
}

View File

@@ -1,360 +0,0 @@
from src.models import AlphabetKey, OuterShuffleKey, InnerShuffleKey, PersistentKeys, EphemeralKeys, DarcKey, Phase1Session, Session, TxData, Medium
import json
def get_test_keys():
with open("../testDarcKeys.json", 'r') as fp:
test_data = json.load(fp)
persistent_keys = PersistentKeys(
serverKey=AlphabetKey(
matrix=test_data["persistentKeys"]["serverKey"]
),
functionKey=InnerShuffleKey(
matrix=test_data["persistentKeys"]["functionKey"]
),
serverShuffleKey=InnerShuffleKey(
matrix=test_data["persistentKeys"]["serverShuffleKey"]
),
outerFunctionKey=OuterShuffleKey(
matrix=[test_data["persistentKeys"]["outerFunctionKey"]]
),
outerFunctionFunctionKey=OuterShuffleKey(
matrix=[test_data["persistentKeys"]["outerFunctionFunctionKey"]]
),
outerServerShuffleKey=OuterShuffleKey(
matrix=[test_data["persistentKeys"]["outerServerShuffleKey"]]
),
outerServerShuffleFunctionKey=OuterShuffleKey(
matrix=[test_data["persistentKeys"]["outerServerShuffleFunctionKey"]]
),
clientKey=AlphabetKey(
matrix=test_data["persistentKeys"]["clientKey"]
),
sharedKey=AlphabetKey(
matrix=test_data["persistentKeys"]["sharedKey"]
),
clientShuffleKeyX=InnerShuffleKey(
matrix=test_data["persistentKeys"]["clientShuffleKeyX"]
),
clientShuffleKeyA=InnerShuffleKey(
matrix=test_data["persistentKeys"]["clientShuffleKeyA"]
),
functionMediumKey=InnerShuffleKey(
matrix=test_data["persistentKeys"]["functionMediumKey"]
),
clientShuffleMediumKeyX=InnerShuffleKey(
matrix=test_data["persistentKeys"]["clientShuffleMediumKeyX"]
),
inputMediumData=AlphabetKey(
matrix=test_data["persistentKeys"]["inputMediumData"]
),
serverMediumKey=InnerShuffleKey(
matrix=test_data["persistentKeys"]["serverMediumKey"]
),
outerFunctionMediumKey=OuterShuffleKey(
matrix=[test_data["persistentKeys"]["outerFunctionMediumKey"]]
),
outerFunctionFunctionMediumKey=OuterShuffleKey(
matrix=[test_data["persistentKeys"]["outerFunctionFunctionMediumKey"]]
),
outerServerShuffleMediumKey=OuterShuffleKey(
matrix=[test_data["persistentKeys"]["outerServerShuffleMediumKey"]]
),
outerServerShuffleFunctionMediumKey=OuterShuffleKey(
matrix=[test_data["persistentKeys"]["outerServerShuffleFunctionMediumKey"]]
),
sharedMediumKey=AlphabetKey(
matrix=test_data["persistentKeys"]["sharedMediumKey"]
),
outerPositionFunctionMediumKey=OuterShuffleKey(
matrix=[test_data["persistentKeys"]["outerPositionFunctionMediumKey"]]
),
outerPositionShuffleMediumKey=OuterShuffleKey(
matrix=[test_data["persistentKeys"]["outerPositionShuffleMediumKey"]]
),
clientMediumKey=AlphabetKey(
matrix=test_data["persistentKeys"]["clientMediumKey"]
),
positionFunctionMediumKey=InnerShuffleKey(
matrix=test_data["persistentKeys"]["positionFunctionMediumKey"]
),
clientShuffleMediumKeyA=InnerShuffleKey(
matrix=test_data["persistentKeys"]["clientShuffleMediumKeyA"]
)
)
ephemeral_keys = EphemeralKeys(
serverEphemeralKey=AlphabetKey(
matrix=test_data["ephemeralKeys"]["serverEphemeralKey"]
),
sharedEphemeralKey=AlphabetKey(
matrix=test_data["ephemeralKeys"]["sharedEphemeralKey"]
),
functionEphemeralKey=InnerShuffleKey(
matrix=test_data["ephemeralKeys"]["functionEphemeralKey"]
),
outerFunctionEphemeralKey=OuterShuffleKey(
matrix=[test_data["ephemeralKeys"]["outerFunctionEphemeralKey"]]
),
outerFunctionFunctionEphemeralKey=OuterShuffleKey(
matrix=[test_data["ephemeralKeys"]["outerFunctionFunctionEphemeralKey"]]
),
outerServerShuffleFunctionEphemeralKey=OuterShuffleKey(
matrix=[test_data["ephemeralKeys"]["outerServerShuffleFunctionEphemeralKey"]]
),
serverShuffleEphemeralKey=InnerShuffleKey(
matrix=test_data["ephemeralKeys"]["serverShuffleEphemeralKey"]
),
outerServerShuffleEphemeralKey=OuterShuffleKey(
matrix=[test_data["ephemeralKeys"]["outerServerShuffleEphemeralKey"]]
),
serverMediumEphemeralKey=AlphabetKey(
matrix=test_data["ephemeralKeys"]["serverMediumEphemeralKey"]
),
sharedMediumEphemeralKey=AlphabetKey(
matrix=test_data["ephemeralKeys"]["sharedMediumEphemeralKey"]
),
functionMediumEphemeralKey=InnerShuffleKey(
matrix=test_data["ephemeralKeys"]["functionMediumEphemeralKey"]
),
positionFunctionMediumEphemeralKey=InnerShuffleKey(
matrix=test_data["ephemeralKeys"]["positionFunctionMediumEphemeralKey"]
),
outerFunctionMediumEphemeralKey=OuterShuffleKey(
matrix=[test_data["ephemeralKeys"]["outerFunctionMediumEphemeralKey"]]
),
outerFunctionFunctionMediumEphemeralKey=OuterShuffleKey(
matrix=[test_data["ephemeralKeys"]["outerFunctionFunctionMediumEphemeralKey"]]
),
outerPositionFunctionMediumEphemeralKey=OuterShuffleKey(
matrix=[test_data["ephemeralKeys"]["outerPositionFunctionMediumEphemeralKey"]]
),
outerServerShuffleFunctionMediumEphemeralKey=OuterShuffleKey(
matrix=[test_data["ephemeralKeys"]["outerServerShuffleFunctionMediumEphemeralKey"]]
),
outerServerShuffleMediumEphemeralKey=OuterShuffleKey(
matrix=[test_data["ephemeralKeys"]["outerServerShuffleMediumEphemeralKey"]]
),
outerPositionShuffleMediumEphemeralKey=OuterShuffleKey(
matrix=[test_data["ephemeralKeys"]["outerPositionShuffleMediumEphemeralKey"]]
),
interfaceConfig=AlphabetKey(
matrix=test_data["ephemeralKeys"]["interfaceConfig"]
),
outerClientShuffleKey=OuterShuffleKey(
matrix=[test_data["ephemeralKeys"]["outerClientShuffleKey"]]
),
outerClientShuffleMediumKey=OuterShuffleKey(
matrix=[test_data["ephemeralKeys"]["outerClientShuffleMediumKey"]]
),
outerClientShuffleFunctionKey=OuterShuffleKey(
matrix=[test_data["ephemeralKeys"]["outerClientShuffleFunctionKey"]]
),
outerClientShuffleFunctionMediumKey=OuterShuffleKey(
matrix=[test_data["ephemeralKeys"]["outerClientShuffleFunctionMediumKey"]]
),
clientEphemeral=AlphabetKey(
matrix=test_data["ephemeralKeys"]["clientEphemeral"]
),
clientEphemeralMedium=AlphabetKey(
matrix=test_data["ephemeralKeys"]["clientEphemeralMedium"]
),
clientShuffleEphemeralA=InnerShuffleKey(
matrix=test_data["ephemeralKeys"]["clientShuffleEphemeralA"]
),
clientShuffleEphemeralMediumA=InnerShuffleKey(
matrix=test_data["ephemeralKeys"]["clientShuffleEphemeralMediumA"]
)
)
return persistent_keys, ephemeral_keys
def test1():
with open("../darc.json", 'r') as fp:
darc = json.load(fp)
serverEphemeralKey = AlphabetKey(matrix=darc["serverEphemeralKey"])
serverKey = AlphabetKey(matrix=darc["serverKey"])
functionEphemeralKey = InnerShuffleKey(matrix=darc["functionEphemeralKey"])
functionKey = InnerShuffleKey(matrix=darc["functionKey"])
outerFunctionEphemeralKey = OuterShuffleKey(matrix=[darc["outerFunctionEphemeralKey"]])
outerFunctionFunctionEphemeralKey = OuterShuffleKey(matrix=[darc["outerFunctionFunctionEphemeralKey"]])
outerFunctionFunctionKey = OuterShuffleKey(matrix=[darc["outerFunctionFunctionKey"]])
outerServerShuffleEphemeralKey = OuterShuffleKey(matrix=[darc["outerServerShuffleEphemeralKey"]])
outerServerShuffleKey = OuterShuffleKey(matrix=[darc["outerServerShuffleKey"]])
interfaceConfig = AlphabetKey(matrix=darc["interfaceConfig"])
outerFunctionFunctionKeyApplied = outerFunctionFunctionKey << outerFunctionFunctionEphemeralKey
outerFunctionKeyApplied = outerFunctionFunctionKey << outerFunctionEphemeralKey
functionKeyApplied = functionKey << functionEphemeralKey
outerServerShuffleKeyApplied = outerServerShuffleKey << outerServerShuffleEphemeralKey
inputData = interfaceConfig < outerServerShuffleKeyApplied
serverKeyShuffled = serverKey < outerFunctionKeyApplied
serverEphemeralKeyShuffled = serverEphemeralKey < outerFunctionKeyApplied
functionEphemeralKeyAppliedShuffled = functionKeyApplied < outerFunctionFunctionKeyApplied
incoming = ((inputData ^ (serverKeyShuffled << functionEphemeralKeyAppliedShuffled)) ^
(serverEphemeralKeyShuffled << functionEphemeralKeyAppliedShuffled))
def translate(outerFunctionFunction: DarcKey, innerFunction: DarcKey, outerFunction: DarcKey, inputData: DarcKey, repeatKeys: list[DarcKey]):
innerFunctionShuffled = innerFunction < outerFunctionFunction
repeatKeysShuffled = [(darc_key < outerFunction) << innerFunctionShuffled for darc_key in repeatKeys]
result = inputData
for darc_key in repeatKeysShuffled:
result = result ^ darc_key
return result
def compute_incoming(persistent_keys, ephemeral_keys):
functionEphemeralKeyApplied = persistent_keys.functionKey << ephemeral_keys.functionEphemeralKey
outerFunctionEphemeralKeyApplied = persistent_keys.outerFunctionKey << ephemeral_keys.outerFunctionEphemeralKey
outerFunctionFunctionEphemeralKeyApplied = persistent_keys.outerFunctionFunctionKey << ephemeral_keys.outerFunctionFunctionEphemeralKey
outerServerShuffleEphemeralKeyApplied = persistent_keys.outerServerShuffleKey << ephemeral_keys.outerServerShuffleEphemeralKey
outerServerShuffleFunctionEphemeralKeyApplied = persistent_keys.outerServerShuffleFunctionKey << ephemeral_keys.outerServerShuffleFunctionEphemeralKey
inputData = ephemeral_keys.interfaceConfig < outerServerShuffleEphemeralKeyApplied
serverShuffleEphemeralKeyApplied = ephemeral_keys.serverShuffleEphemeralKey << persistent_keys.serverShuffleKey
serverShuffleEphemeralKeyApplied = serverShuffleEphemeralKeyApplied < outerServerShuffleFunctionEphemeralKeyApplied
inputData = inputData << serverShuffleEphemeralKeyApplied
incoming = translate(outerFunctionFunctionEphemeralKeyApplied, functionEphemeralKeyApplied, outerFunctionEphemeralKeyApplied, inputData, [persistent_keys.serverKey, ephemeral_keys.serverEphemeralKey])
return incoming
def compute_medium_temp(persistent_keys, ephemeral_keys):
functionMediumKey = persistent_keys.functionMediumKey
inputMediumData = persistent_keys.inputMediumData
outerFunctionMediumKey = persistent_keys.outerFunctionMediumKey
outerFunctionFunctionMediumKey = persistent_keys.outerFunctionFunctionMediumKey
functionEphemeralKeyApplied = functionMediumKey << ephemeral_keys.functionMediumEphemeralKey
outerFunctionEphemeralKeyApplied = outerFunctionMediumKey << ephemeral_keys.outerFunctionMediumEphemeralKey
outerFunctionFunctionEphemeralKeyApplied = outerFunctionFunctionMediumKey << ephemeral_keys.outerFunctionFunctionMediumEphemeralKey
mediumTemp = translate(outerFunctionFunctionEphemeralKeyApplied, functionEphemeralKeyApplied, outerFunctionEphemeralKeyApplied, inputMediumData, [ephemeral_keys.serverMediumEphemeralKey])
return mediumTemp
def medium_translation(persistent_keys: PersistentKeys, ephemeral_keys: EphemeralKeys, mediumTemp: DarcKey):
clientKey = persistent_keys.clientMediumKey
sharedKey = persistent_keys.sharedMediumKey
functionKey = persistent_keys.functionMediumKey
outerFunctionFunctionKey = persistent_keys.outerFunctionFunctionMediumKey
outerFunctionKey = persistent_keys.outerFunctionMediumKey
outerServerShuffleFunctionKey = persistent_keys.outerServerShuffleFunctionMediumKey
clientShuffleKeyA = persistent_keys.clientShuffleMediumKeyA
outerClientShuffleKey = ephemeral_keys.outerClientShuffleMediumKey
outerClientShuffleFunctionKey = ephemeral_keys.outerClientShuffleFunctionMediumKey
clientEphemeral = ephemeral_keys.clientEphemeralMedium
clientShuffleEphemeralA = ephemeral_keys.clientShuffleEphemeralMediumA
outerFunctionFunctionEphemeral = ephemeral_keys.outerFunctionFunctionMediumEphemeralKey
functionEphemeral = ephemeral_keys.functionMediumEphemeralKey
outerFunctionEphemeral = ephemeral_keys.outerFunctionMediumEphemeralKey
outerServerShuffleFunctionEphemeral = ephemeral_keys.outerServerShuffleFunctionMediumEphemeralKey
appliedOuterServerShuffleFunctionKey = outerServerShuffleFunctionKey << outerServerShuffleFunctionEphemeral
functionSalt = functionKey << functionEphemeral
appliedClientShuffleKeyA = clientShuffleKeyA << clientShuffleEphemeralA
appliedOuterFunctionKey = outerFunctionKey << outerFunctionEphemeral
appliedOuterFunctionFunctionKey = outerFunctionFunctionKey << outerFunctionFunctionEphemeral
valuesArray = mediumTemp
preResult = translate(appliedOuterFunctionFunctionKey, functionSalt, appliedOuterFunctionKey, valuesArray, [clientEphemeral, clientKey, sharedKey])
result = preResult << (appliedClientShuffleKeyA < appliedOuterServerShuffleFunctionKey)
outerClientShuffleKeyShuffled = outerClientShuffleKey << outerClientShuffleFunctionKey
result = result < outerClientShuffleKeyShuffled
return result
def phase1(persistent_keys: PersistentKeys, ephemeral_keys: EphemeralKeys) -> Phase1Session:
incoming = compute_incoming(persistent_keys, ephemeral_keys)
mediumTemp = compute_medium_temp(persistent_keys, ephemeral_keys)
medium_translated = medium_translation(persistent_keys, ephemeral_keys, mediumTemp)
session = Session(
guid="",
interfaceConfig=ephemeral_keys.interfaceConfig,
serverEphemeralKey=ephemeral_keys.serverEphemeralKey,
functionEphemeralKey=ephemeral_keys.functionEphemeralKey,
serverShuffleEphemeralKey=ephemeral_keys.serverShuffleEphemeralKey,
outerServerShuffleEphemeralKey=ephemeral_keys.outerServerShuffleEphemeralKey,
outerFunctionEphemeralKey=ephemeral_keys.outerFunctionEphemeralKey,
outerFunctionFunctionEphemeralKey=ephemeral_keys.outerFunctionFunctionEphemeralKey,
outerServerShuffleFunctionEphemeralKey=ephemeral_keys.outerServerShuffleFunctionEphemeralKey,
serverMediumEphemeralKey=ephemeral_keys.serverMediumEphemeralKey,
functionMediumEphemeralKey=ephemeral_keys.functionMediumEphemeralKey,
outerServerShuffleMediumEphemeralKey=ephemeral_keys.outerServerShuffleMediumEphemeralKey,
outerFunctionMediumEphemeralKey=ephemeral_keys.outerFunctionMediumEphemeralKey,
outerFunctionFunctionMediumEphemeralKey=ephemeral_keys.outerFunctionFunctionMediumEphemeralKey,
outerServerShuffleFunctionMediumEphemeralKey=ephemeral_keys.outerServerShuffleFunctionMediumEphemeralKey,
positionFunctionMediumEphemeralKey=ephemeral_keys.positionFunctionMediumEphemeralKey,
outerPositionFunctionMediumEphemeralKey=ephemeral_keys.outerPositionFunctionMediumEphemeralKey,
sharedEphemeralKey=ephemeral_keys.sharedEphemeralKey,
sharedMediumEphemeralKey=ephemeral_keys.sharedMediumEphemeralKey,
outerPositionShuffleMediumEphemeralKey=ephemeral_keys.outerPositionShuffleMediumEphemeralKey
)
txData = TxData(
data=incoming,
functionEphemeralKey=ephemeral_keys.functionEphemeralKey,
outerServerShuffleEphemeralKey=ephemeral_keys.outerServerShuffleEphemeralKey,
outerFunctionFunctionEphemeralKey=ephemeral_keys.outerFunctionFunctionEphemeralKey,
outerFunctionEphemeralKey=ephemeral_keys.outerFunctionEphemeralKey,
outerServerShuffleFunctionEphemeralKey=ephemeral_keys.outerServerShuffleFunctionEphemeralKey,
sharedEphemeralKey=ephemeral_keys.sharedEphemeralKey,
outerClientShuffleKey=ephemeral_keys.outerClientShuffleKey,
outerClientShuffleFunctionKey=ephemeral_keys.outerClientShuffleFunctionKey,
clientEphemeral=ephemeral_keys.clientEphemeral,
clientShuffleEphemeralA=ephemeral_keys.clientShuffleEphemeralA,
clientShuffleEphemeralB=~ephemeral_keys.clientShuffleEphemeralA
)
medium = Medium(
data=medium_translated,
functionEphemeralKey=ephemeral_keys.functionMediumEphemeralKey,
outerServerShuffleEphemeralKey=ephemeral_keys.outerServerShuffleMediumEphemeralKey,
outerFunctionFunctionEphemeralKey=ephemeral_keys.outerFunctionFunctionMediumEphemeralKey,
outerFunctionEphemeralKey=ephemeral_keys.outerFunctionMediumEphemeralKey,
outerServerShuffleFunctionEphemeralKey=ephemeral_keys.outerServerShuffleFunctionMediumEphemeralKey,
sharedEphemeralKey=ephemeral_keys.sharedMediumEphemeralKey,
positionFunctionMediumEphemeralKey=ephemeral_keys.positionFunctionMediumEphemeralKey,
outerPositionFunctionMediumEphemeralKey=ephemeral_keys.outerPositionFunctionMediumEphemeralKey,
outerPositionShuffleMediumEphemeralKey=ephemeral_keys.outerPositionShuffleMediumEphemeralKey,
outerClientShuffleMediumKey=ephemeral_keys.outerClientShuffleMediumKey,
outerClientShuffleFunctionMediumKey=ephemeral_keys.outerClientShuffleFunctionMediumKey,
clientEphemeralMedium=ephemeral_keys.clientEphemeralMedium,
clientShuffleEphemeralMediumA=ephemeral_keys.clientShuffleEphemeralMediumA,
clientShuffleEphemeralMediumB=~ephemeral_keys.clientShuffleEphemeralMediumA
)
return Phase1Session(session=session, tx_data=txData, medium=medium)
def encrypted_alphabet(persistent_keys: PersistentKeys, txdata: TxData) -> AlphabetKey:
""" generateDataTranslationFixedKeys = function (persistantKeys, inputData) """
appliedOuterServerShuffleFunctionKey = persistent_keys.outerServerShuffleFunctionKey << txdata.outerServerShuffleFunctionEphemeralKey
functionSalt = persistent_keys.functionKey << txdata.functionEphemeralKey
appliedClientShuffleKeyA = persistent_keys.clientShuffleKeyA << txdata.clientShuffleEphemeralA
appliedOuterFunctionKey = persistent_keys.outerFunctionKey << txdata.outerFunctionEphemeralKey
appliedOuterFunctionFunctionKey = persistent_keys.outerFunctionFunctionKey << txdata.outerFunctionFunctionEphemeralKey
appliedClientShuffleKeyAShuffled = appliedClientShuffleKeyA < appliedOuterServerShuffleFunctionKey
outerClientShuffleKeyShuffled = txdata.outerClientShuffleKey << txdata.outerClientShuffleFunctionKey
result = translate(appliedOuterFunctionFunctionKey, functionSalt, appliedOuterFunctionKey, txdata.data, [txdata.clientEphemeral, persistent_keys.clientKey, persistent_keys.sharedKey])
result = result << appliedClientShuffleKeyAShuffled
result = result < outerClientShuffleKeyShuffled
return result
def compute_outgoing(persistent_keys: PersistentKeys, txdata: TxData, message: str, session: Session) -> AlphabetKey:
pass
if __name__ == "__main__":
persistent_keys, ephemeral_keys = get_test_keys()
phase1_output = phase1(persistent_keys, ephemeral_keys)
alphabet = encrypted_alphabet(persistent_keys, phase1_output.tx_data)

View File

@@ -145,127 +145,6 @@ class AlphabetKey(DarcKey):
) )
class EphemeralKeys(BaseModel):
serverEphemeralKey: AlphabetKey
sharedEphemeralKey: AlphabetKey
functionEphemeralKey: InnerShuffleKey
outerFunctionEphemeralKey: OuterShuffleKey
outerFunctionFunctionEphemeralKey: OuterShuffleKey
outerServerShuffleFunctionEphemeralKey: OuterShuffleKey
serverShuffleEphemeralKey: InnerShuffleKey
outerServerShuffleEphemeralKey: OuterShuffleKey
serverMediumEphemeralKey: AlphabetKey
sharedMediumEphemeralKey: AlphabetKey
functionMediumEphemeralKey: InnerShuffleKey
positionFunctionMediumEphemeralKey: InnerShuffleKey
outerFunctionMediumEphemeralKey: OuterShuffleKey
outerFunctionFunctionMediumEphemeralKey: OuterShuffleKey
outerPositionFunctionMediumEphemeralKey: OuterShuffleKey
outerServerShuffleFunctionMediumEphemeralKey: OuterShuffleKey
outerServerShuffleMediumEphemeralKey: OuterShuffleKey
outerPositionShuffleMediumEphemeralKey: OuterShuffleKey
interfaceConfig: AlphabetKey
outerClientShuffleKey: OuterShuffleKey
outerClientShuffleMediumKey: OuterShuffleKey
outerClientShuffleFunctionKey: OuterShuffleKey
outerClientShuffleFunctionMediumKey: OuterShuffleKey
clientEphemeral: AlphabetKey
clientEphemeralMedium: AlphabetKey
clientShuffleEphemeralA: InnerShuffleKey
clientShuffleEphemeralMediumA: InnerShuffleKey
class PersistentKeys(BaseModel):
serverKey: AlphabetKey
functionKey: InnerShuffleKey
serverShuffleKey: InnerShuffleKey
outerFunctionKey: OuterShuffleKey
outerFunctionFunctionKey: OuterShuffleKey
outerServerShuffleKey: OuterShuffleKey
outerServerShuffleFunctionKey: OuterShuffleKey
clientKey: AlphabetKey
sharedKey: AlphabetKey
clientShuffleKeyX: InnerShuffleKey
clientShuffleKeyA: InnerShuffleKey
functionMediumKey: InnerShuffleKey
clientShuffleMediumKeyX: InnerShuffleKey
inputMediumData: AlphabetKey
serverMediumKey: OuterShuffleKey
outerFunctionMediumKey: OuterShuffleKey
outerFunctionFunctionMediumKey: OuterShuffleKey
outerServerShuffleMediumKey: OuterShuffleKey
outerServerShuffleFunctionMediumKey: OuterShuffleKey
sharedMediumKey: AlphabetKey
outerPositionFunctionMediumKey: OuterShuffleKey
outerPositionShuffleMediumKey: OuterShuffleKey
clientMediumKey: AlphabetKey
positionFunctionMediumKey: InnerShuffleKey
clientShuffleMediumKeyA: InnerShuffleKey
class Session(BaseModel):
guid: str
interfaceConfig: AlphabetKey
serverEphemeralKey: AlphabetKey
functionEphemeralKey: InnerShuffleKey
serverShuffleEphemeralKey: InnerShuffleKey
outerServerShuffleEphemeralKey: OuterShuffleKey
outerFunctionEphemeralKey: OuterShuffleKey
outerFunctionFunctionEphemeralKey: OuterShuffleKey
outerServerShuffleFunctionEphemeralKey: OuterShuffleKey
serverMediumEphemeralKey: AlphabetKey
functionMediumEphemeralKey: InnerShuffleKey
outerServerShuffleMediumEphemeralKey: OuterShuffleKey
outerFunctionMediumEphemeralKey: OuterShuffleKey
outerFunctionFunctionMediumEphemeralKey: OuterShuffleKey
outerServerShuffleFunctionMediumEphemeralKey: OuterShuffleKey
positionFunctionMediumEphemeralKey: InnerShuffleKey
outerPositionFunctionMediumEphemeralKey: OuterShuffleKey
sharedEphemeralKey: AlphabetKey
sharedMediumEphemeralKey: AlphabetKey
outerPositionShuffleMediumEphemeralKey: OuterShuffleKey
class TxData(BaseModel):
data: AlphabetKey
functionEphemeralKey: InnerShuffleKey
outerServerShuffleEphemeralKey: OuterShuffleKey
outerFunctionFunctionEphemeralKey: OuterShuffleKey
outerFunctionEphemeralKey: OuterShuffleKey
outerServerShuffleFunctionEphemeralKey: OuterShuffleKey
sharedEphemeralKey: AlphabetKey
outerClientShuffleKey: OuterShuffleKey
outerClientShuffleFunctionKey: OuterShuffleKey
clientEphemeral: AlphabetKey
clientShuffleEphemeralA: InnerShuffleKey
clientShuffleEphemeralB: InnerShuffleKey
class Medium(BaseModel):
data: AlphabetKey
functionEphemeralKey: InnerShuffleKey
outerServerShuffleEphemeralKey: OuterShuffleKey
outerFunctionFunctionEphemeralKey: OuterShuffleKey
outerFunctionEphemeralKey: OuterShuffleKey
outerServerShuffleFunctionEphemeralKey: OuterShuffleKey
sharedEphemeralKey: AlphabetKey
positionFunctionMediumEphemeralKey: InnerShuffleKey
outerPositionFunctionMediumEphemeralKey: OuterShuffleKey
outerPositionShuffleMediumEphemeralKey: OuterShuffleKey
outerClientShuffleMediumKey: OuterShuffleKey
outerClientShuffleFunctionMediumKey: OuterShuffleKey
clientEphemeralMedium: AlphabetKey
clientShuffleEphemeralMediumA: InnerShuffleKey
clientShuffleEphemeralMediumB: InnerShuffleKey
class Phase1Session(BaseModel):
session: Session
tx_data: TxData
medium: Medium
alphabet: list[list[int]] | None = None
class ServerPersistentKeys(BaseModel): class ServerPersistentKeys(BaseModel):
OuterFunctionKey: OuterShuffleKey OuterFunctionKey: OuterShuffleKey
OuterFunctionFunctionKey: OuterShuffleKey OuterFunctionFunctionKey: OuterShuffleKey

File diff suppressed because it is too large Load Diff

View File

@@ -1,120 +0,0 @@
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"collapsed": true,
"ExecuteTime": {
"end_time": "2023-12-27T16:48:00.857374Z",
"start_time": "2023-12-27T16:48:00.827545Z"
}
},
"outputs": [],
"source": [
"from src.darc_key import DarcKey"
]
},
{
"cell_type": "code",
"execution_count": 2,
"outputs": [],
"source": [
"rows = 4\n",
"columns = 26\n",
"input_block_length = 10"
],
"metadata": {
"collapsed": false,
"ExecuteTime": {
"end_time": "2023-12-27T16:48:01.105305Z",
"start_time": "2023-12-27T16:48:01.097428Z"
}
}
},
{
"cell_type": "code",
"execution_count": 3,
"outputs": [],
"source": [
"serverEphemeralKey = DarcKey.init_mask_matrix(rows, columns, 255)"
],
"metadata": {
"collapsed": false,
"ExecuteTime": {
"end_time": "2023-12-27T16:48:02.630012Z",
"start_time": "2023-12-27T16:48:02.626613Z"
}
}
},
{
"cell_type": "code",
"execution_count": 3,
"outputs": [],
"source": [
"a = \"8\t\t\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t4\t\t\t\t\t\t\t\t\t5\t\t\t\t\t\t\t\t\t2\t\t\t\t\t\t\t\t\t3\t\t\t\t\t\t\t\t\t7\t\t\t\t\t\t\t\t\t6\t\t\t\t\t\t\t\t\t0\t\t\t\t\t\t\t\t\t9\t\t\t\t\t\t\t\t\""
],
"metadata": {
"collapsed": false,
"ExecuteTime": {
"end_time": "2024-01-16T01:13:13.747045Z",
"start_time": "2024-01-16T01:13:13.739449Z"
}
}
},
{
"cell_type": "code",
"execution_count": 4,
"outputs": [
{
"data": {
"text/plain": "['8', '1', '4', '5', '2', '3', '7', '6', '0', '9']"
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"a.split()"
],
"metadata": {
"collapsed": false,
"ExecuteTime": {
"end_time": "2024-01-16T01:13:14.470781Z",
"start_time": "2024-01-16T01:13:14.467313Z"
}
}
},
{
"cell_type": "code",
"execution_count": null,
"outputs": [],
"source": [],
"metadata": {
"collapsed": false
}
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 2
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython2",
"version": "2.7.6"
}
},
"nbformat": 4,
"nbformat_minor": 0
}