diff --git a/darc.json b/darc.json deleted file mode 100644 index 255dba4..0000000 --- a/darc.json +++ /dev/null @@ -1,1966 +0,0 @@ -{ - "serverKey": [ - [ - 65, - 122, - 103, - 126 - ], - [ - 240, - 240, - 36, - 207 - ], - [ - 92, - 199, - 236, - 194 - ], - [ - 119, - 249, - 99, - 21 - ], - [ - 106, - 1, - 114, - 19 - ], - [ - 166, - 251, - 180, - 12 - ], - [ - 157, - 106, - 215, - 59 - ], - [ - 90, - 135, - 197, - 193 - ], - [ - 221, - 139, - 226, - 233 - ], - [ - 236, - 33, - 70, - 51 - ], - [ - 220, - 201, - 216, - 215 - ], - [ - 81, - 150, - 167, - 31 - ], - [ - 148, - 142, - 167, - 154 - ], - [ - 7, - 82, - 154, - 166 - ], - [ - 232, - 87, - 233, - 60 - ], - [ - 101, - 77, - 165, - 224 - ], - [ - 176, - 62, - 49, - 103 - ], - [ - 147, - 215, - 160, - 145 - ], - [ - 96, - 170, - 30, - 68 - ], - [ - 67, - 161, - 250, - 113 - ], - [ - 96, - 24, - 78, - 59 - ], - [ - 127, - 27, - 106, - 229 - ], - [ - 67, - 249, - 121, - 220 - ], - [ - 22, - 147, - 24, - 254 - ], - [ - 67, - 73, - 130, - 158 - ], - [ - 175, - 94, - 133, - 147 - ] - ], - "serverEphemeralKey": [ - [ - 102, - 67, - 14, - 139 - ], - [ - 22, - 207, - 112, - 97 - ], - [ - 118, - 242, - 15, - 0 - ], - [ - 25, - 119, - 238, - 47 - ], - [ - 227, - 16, - 186, - 192 - ], - [ - 155, - 245, - 19, - 128 - ], - [ - 43, - 167, - 85, - 144 - ], - [ - 45, - 82, - 213, - 25 - ], - [ - 99, - 220, - 147, - 136 - ], - [ - 109, - 142, - 44, - 225 - ], - [ - 78, - 172, - 221, - 211 - ], - [ - 179, - 223, - 58, - 122 - ], - [ - 167, - 226, - 244, - 172 - ], - [ - 38, - 121, - 221, - 12 - ], - [ - 242, - 3, - 203, - 72 - ], - [ - 244, - 65, - 165, - 185 - ], - [ - 73, - 12, - 236, - 191 - ], - [ - 191, - 129, - 71, - 227 - ], - [ - 3, - 206, - 59, - 169 - ], - [ - 194, - 248, - 204, - 243 - ], - [ - 113, - 144, - 63, - 111 - ], - [ - 111, - 135, - 28, - 186 - ], - [ - 174, - 12, - 56, - 209 - ], - [ - 159, - 185, - 68, - 32 - ], - [ - 176, - 173, - 48, - 226 - ], - [ - 96, - 104, - 31, - 196 - ] - ], - "functionKey": [ - [ - 1, - 2, - 0, - 3 - ], - [ - 2, - 3, - 1, - 0 - ], - [ - 3, - 1, - 2, - 0 - ], - [ - 2, - 1, - 3, - 0 - ], - [ - 3, - 0, - 1, - 2 - ], - [ - 3, - 0, - 1, - 2 - ], - [ - 1, - 3, - 0, - 2 - ], - [ - 3, - 1, - 2, - 0 - ], - [ - 0, - 2, - 1, - 3 - ], - [ - 1, - 3, - 2, - 0 - ], - [ - 0, - 1, - 3, - 2 - ], - [ - 3, - 2, - 1, - 0 - ], - [ - 2, - 1, - 3, - 0 - ], - [ - 0, - 2, - 1, - 3 - ], - [ - 0, - 2, - 1, - 3 - ], - [ - 2, - 0, - 1, - 3 - ], - [ - 0, - 1, - 2, - 3 - ], - [ - 1, - 2, - 0, - 3 - ], - [ - 2, - 3, - 0, - 1 - ], - [ - 2, - 1, - 3, - 0 - ], - [ - 1, - 0, - 3, - 2 - ], - [ - 0, - 1, - 2, - 3 - ], - [ - 2, - 1, - 3, - 0 - ], - [ - 0, - 2, - 3, - 1 - ], - [ - 3, - 0, - 1, - 2 - ], - [ - 1, - 2, - 0, - 3 - ] - ], - "functionEphemeralKey": [ - [ - 2, - 3, - 1, - 0 - ], - [ - 2, - 3, - 0, - 1 - ], - [ - 0, - 3, - 2, - 1 - ], - [ - 3, - 2, - 1, - 0 - ], - [ - 2, - 1, - 0, - 3 - ], - [ - 3, - 1, - 2, - 0 - ], - [ - 2, - 0, - 1, - 3 - ], - [ - 3, - 2, - 0, - 1 - ], - [ - 2, - 1, - 3, - 0 - ], - [ - 2, - 0, - 1, - 3 - ], - [ - 0, - 3, - 2, - 1 - ], - [ - 0, - 1, - 3, - 2 - ], - [ - 1, - 2, - 0, - 3 - ], - [ - 1, - 0, - 3, - 2 - ], - [ - 1, - 3, - 2, - 0 - ], - [ - 2, - 3, - 1, - 0 - ], - [ - 2, - 1, - 3, - 0 - ], - [ - 1, - 0, - 3, - 2 - ], - [ - 2, - 1, - 0, - 3 - ], - [ - 1, - 0, - 3, - 2 - ], - [ - 1, - 0, - 3, - 2 - ], - [ - 3, - 0, - 2, - 1 - ], - [ - 2, - 3, - 1, - 0 - ], - [ - 0, - 1, - 2, - 3 - ], - [ - 3, - 1, - 0, - 2 - ], - [ - 1, - 2, - 3, - 0 - ] - ], - "outerFunctionFunctionKey": [ - 23, - 17, - 25, - 19, - 16, - 11, - 15, - 9, - 0, - 10, - 22, - 24, - 7, - 8, - 4, - 1, - 3, - 6, - 14, - 2, - 18, - 20, - 12, - 13, - 5, - 21 - ], - "outerFunctionFunctionEphemeralKey": [ - 14, - 0, - 23, - 24, - 11, - 21, - 3, - 1, - 4, - 9, - 13, - 16, - 18, - 22, - 19, - 8, - 10, - 20, - 25, - 12, - 2, - 5, - 17, - 6, - 15, - 7 - ], - "outerFunctionEphemeralKey": [ - 19, - 6, - 20, - 10, - 23, - 13, - 12, - 17, - 3, - 25, - 24, - 21, - 15, - 14, - 18, - 4, - 8, - 7, - 1, - 0, - 5, - 2, - 16, - 22, - 11, - 9 - ], - "outerServerShuffleKey": [ - 5, - 8, - 23, - 6, - 0, - 4, - 2, - 1, - 13, - 10, - 21, - 17, - 11, - 22, - 15, - 19, - 14, - 16, - 12, - 9, - 25, - 18, - 3, - 20, - 7, - 24 - ], - "outerServerShuffleEphemeralKey": [ - 23, - 2, - 16, - 20, - 22, - 13, - 18, - 25, - 8, - 7, - 4, - 10, - 19, - 3, - 0, - 14, - 21, - 1, - 17, - 15, - 11, - 9, - 6, - 12, - 5, - 24 - ], - "outerFunctionFunctionEphemeralKeyApplied": [ - 4, - 23, - 13, - 5, - 24, - 20, - 19, - 17, - 16, - 10, - 8, - 3, - 14, - 12, - 2, - 0, - 22, - 18, - 21, - 7, - 25, - 11, - 6, - 15, - 1, - 9 - ], - "outerFunctionEphemeralKeyApplied": [ - 2, - 15, - 18, - 22, - 13, - 8, - 7, - 6, - 19, - 21, - 5, - 20, - 1, - 4, - 14, - 16, - 0, - 9, - 17, - 23, - 11, - 25, - 3, - 12, - 24, - 10 - ], - "functionEphemeralKeyApplied": [ - [ - 0, - 3, - 2, - 1 - ], - [ - 1, - 0, - 2, - 3 - ], - [ - 3, - 0, - 2, - 1 - ], - [ - 0, - 3, - 1, - 2 - ], - [ - 1, - 0, - 3, - 2 - ], - [ - 2, - 0, - 1, - 3 - ], - [ - 0, - 1, - 3, - 2 - ], - [ - 0, - 2, - 3, - 1 - ], - [ - 1, - 2, - 3, - 0 - ], - [ - 2, - 1, - 3, - 0 - ], - [ - 0, - 2, - 3, - 1 - ], - [ - 3, - 2, - 0, - 1 - ], - [ - 1, - 3, - 2, - 0 - ], - [ - 2, - 0, - 3, - 1 - ], - [ - 2, - 3, - 1, - 0 - ], - [ - 1, - 3, - 0, - 2 - ], - [ - 2, - 1, - 3, - 0 - ], - [ - 2, - 1, - 3, - 0 - ], - [ - 0, - 3, - 2, - 1 - ], - [ - 1, - 2, - 0, - 3 - ], - [ - 0, - 1, - 2, - 3 - ], - [ - 3, - 0, - 2, - 1 - ], - [ - 3, - 0, - 1, - 2 - ], - [ - 0, - 2, - 3, - 1 - ], - [ - 2, - 0, - 3, - 1 - ], - [ - 2, - 0, - 3, - 1 - ] - ], - "outerServerShuffleEphemeralKeyApplied": [ - 20, - 23, - 14, - 25, - 3, - 22, - 12, - 24, - 13, - 1, - 0, - 21, - 9, - 6, - 5, - 15, - 18, - 8, - 16, - 19, - 17, - 10, - 2, - 11, - 4, - 7 - ], - "interfaceConfig": [ - [ - 2, - 4, - 10, - 24 - ], - [ - 4, - 3, - 5, - 17 - ], - [ - 14, - 11, - 22, - 25 - ], - [ - 18, - 7, - 4, - 14 - ], - [ - 8, - 18, - 23, - 20 - ], - [ - 2, - 9, - 3, - 16 - ], - [ - 11, - 10, - 8, - 14 - ], - [ - 0, - 17, - 11, - 1 - ], - [ - 8, - 5, - 8, - 20 - ], - [ - 11, - 18, - 12, - 0 - ], - [ - 7, - 2, - 2, - 24 - ], - [ - 3, - 25, - 13, - 16 - ], - [ - 12, - 14, - 11, - 12 - ], - [ - 10, - 12, - 5, - 18 - ], - [ - 1, - 14, - 8, - 25 - ], - [ - 22, - 20, - 16, - 12 - ], - [ - 14, - 11, - 6, - 22 - ], - [ - 13, - 9, - 15, - 1 - ], - [ - 4, - 1, - 14, - 8 - ], - [ - 19, - 19, - 7, - 21 - ], - [ - 11, - 15, - 21, - 24 - ], - [ - 2, - 23, - 6, - 16 - ], - [ - 2, - 1, - 6, - 12 - ], - [ - 3, - 11, - 9, - 3 - ], - [ - 24, - 4, - 21, - 18 - ], - [ - 3, - 23, - 10, - 20 - ] - ], - "inputData": [ - [ - 11, - 15, - 21, - 24 - ], - [ - 3, - 11, - 9, - 3 - ], - [ - 1, - 14, - 8, - 25 - ], - [ - 3, - 23, - 10, - 20 - ], - [ - 18, - 7, - 4, - 14 - ], - [ - 2, - 1, - 6, - 12 - ], - [ - 12, - 14, - 11, - 12 - ], - [ - 24, - 4, - 21, - 18 - ], - [ - 10, - 12, - 5, - 18 - ], - [ - 4, - 3, - 5, - 17 - ], - [ - 2, - 4, - 10, - 24 - ], - [ - 2, - 23, - 6, - 16 - ], - [ - 11, - 18, - 12, - 0 - ], - [ - 11, - 10, - 8, - 14 - ], - [ - 2, - 9, - 3, - 16 - ], - [ - 22, - 20, - 16, - 12 - ], - [ - 4, - 1, - 14, - 8 - ], - [ - 8, - 5, - 8, - 20 - ], - [ - 14, - 11, - 6, - 22 - ], - [ - 19, - 19, - 7, - 21 - ], - [ - 13, - 9, - 15, - 1 - ], - [ - 7, - 2, - 2, - 24 - ], - [ - 14, - 11, - 22, - 25 - ], - [ - 3, - 25, - 13, - 16 - ], - [ - 8, - 18, - 23, - 20 - ], - [ - 0, - 17, - 11, - 1 - ] - ], - "arrayOfArrays": [ - [ - [ - 11, - 15, - 21, - 24 - ], - [ - 3, - 11, - 9, - 3 - ], - [ - 1, - 14, - 8, - 25 - ], - [ - 3, - 23, - 10, - 20 - ], - [ - 18, - 7, - 4, - 14 - ], - [ - 2, - 1, - 6, - 12 - ], - [ - 12, - 14, - 11, - 12 - ], - [ - 24, - 4, - 21, - 18 - ], - [ - 10, - 12, - 5, - 18 - ], - [ - 4, - 3, - 5, - 17 - ], - [ - 2, - 4, - 10, - 24 - ], - [ - 2, - 23, - 6, - 16 - ], - [ - 11, - 18, - 12, - 0 - ], - [ - 11, - 10, - 8, - 14 - ], - [ - 2, - 9, - 3, - 16 - ], - [ - 22, - 20, - 16, - 12 - ], - [ - 4, - 1, - 14, - 8 - ], - [ - 8, - 5, - 8, - 20 - ], - [ - 14, - 11, - 6, - 22 - ], - [ - 19, - 19, - 7, - 21 - ], - [ - 13, - 9, - 15, - 1 - ], - [ - 7, - 2, - 2, - 24 - ], - [ - 14, - 11, - 22, - 25 - ], - [ - 3, - 25, - 13, - 16 - ], - [ - 8, - 18, - 23, - 20 - ], - [ - 0, - 17, - 11, - 1 - ] - ], - [ - [ - 65, - 122, - 103, - 126 - ], - [ - 240, - 240, - 36, - 207 - ], - [ - 92, - 199, - 236, - 194 - ], - [ - 119, - 249, - 99, - 21 - ], - [ - 106, - 1, - 114, - 19 - ], - [ - 166, - 251, - 180, - 12 - ], - [ - 157, - 106, - 215, - 59 - ], - [ - 90, - 135, - 197, - 193 - ], - [ - 221, - 139, - 226, - 233 - ], - [ - 236, - 33, - 70, - 51 - ], - [ - 220, - 201, - 216, - 215 - ], - [ - 81, - 150, - 167, - 31 - ], - [ - 148, - 142, - 167, - 154 - ], - [ - 7, - 82, - 154, - 166 - ], - [ - 232, - 87, - 233, - 60 - ], - [ - 101, - 77, - 165, - 224 - ], - [ - 176, - 62, - 49, - 103 - ], - [ - 147, - 215, - 160, - 145 - ], - [ - 96, - 170, - 30, - 68 - ], - [ - 67, - 161, - 250, - 113 - ], - [ - 96, - 24, - 78, - 59 - ], - [ - 127, - 27, - 106, - 229 - ], - [ - 67, - 249, - 121, - 220 - ], - [ - 22, - 147, - 24, - 254 - ], - [ - 67, - 73, - 130, - 158 - ], - [ - 175, - 94, - 133, - 147 - ] - ], - [ - [ - 102, - 67, - 14, - 139 - ], - [ - 22, - 207, - 112, - 97 - ], - [ - 118, - 242, - 15, - 0 - ], - [ - 25, - 119, - 238, - 47 - ], - [ - 227, - 16, - 186, - 192 - ], - [ - 155, - 245, - 19, - 128 - ], - [ - 43, - 167, - 85, - 144 - ], - [ - 45, - 82, - 213, - 25 - ], - [ - 99, - 220, - 147, - 136 - ], - [ - 109, - 142, - 44, - 225 - ], - [ - 78, - 172, - 221, - 211 - ], - [ - 179, - 223, - 58, - 122 - ], - [ - 167, - 226, - 244, - 172 - ], - [ - 38, - 121, - 221, - 12 - ], - [ - 242, - 3, - 203, - 72 - ], - [ - 244, - 65, - 165, - 185 - ], - [ - 73, - 12, - 236, - 191 - ], - [ - 191, - 129, - 71, - 227 - ], - [ - 3, - 206, - 59, - 169 - ], - [ - 194, - 248, - 204, - 243 - ], - [ - 113, - 144, - 63, - 111 - ], - [ - 111, - 135, - 28, - 186 - ], - [ - 174, - 12, - 56, - 209 - ], - [ - 159, - 185, - 68, - 32 - ], - [ - 176, - 173, - 48, - 226 - ], - [ - 96, - 104, - 31, - 196 - ] - ] - ], - "incoming": [ - [ - 62, - 37, - 215, - 251 - ], - [ - 146, - 11, - 80, - 15 - ], - [ - 36, - 109, - 229, - 125 - ], - [ - 66, - 250, - 255, - 25 - ], - [ - 85, - 38, - 174, - 37 - ], - [ - 188, - 86, - 119, - 109 - ], - [ - 217, - 30, - 124, - 212 - ], - [ - 154, - 201, - 190, - 164 - ], - [ - 60, - 85, - 135, - 147 - ], - [ - 20, - 117, - 90, - 141 - ], - [ - 12, - 163, - 134, - 37 - ], - [ - 19, - 67, - 142, - 97 - ], - [ - 95, - 188, - 51, - 230 - ], - [ - 26, - 217, - 192, - 135 - ], - [ - 118, - 19, - 33, - 68 - ], - [ - 239, - 204, - 205, - 62 - ], - [ - 241, - 38, - 55, - 97 - ], - [ - 137, - 215, - 98, - 187 - ], - [ - 124, - 39, - 225, - 64 - ], - [ - 154, - 79, - 217, - 63 - ], - [ - 144, - 235, - 106, - 72 - ], - [ - 80, - 152, - 205, - 46 - ], - [ - 96, - 133, - 44, - 148 - ], - [ - 111, - 47, - 62, - 67 - ], - [ - 236, - 225, - 165, - 104 - ], - [ - 5, - 116, - 15, - 147 - ] - ] -} \ No newline at end of file diff --git a/permutation_function_playground.ipynb b/permutation_function_playground.ipynb deleted file mode 100644 index 6e05dee..0000000 --- a/permutation_function_playground.ipynb +++ /dev/null @@ -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 -} diff --git a/src/darc_key.py b/src/darc_key.py deleted file mode 100644 index 3a86de8..0000000 --- a/src/darc_key.py +++ /dev/null @@ -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) - diff --git a/src/models.py b/src/models.py index f5799f8..949aeb0 100644 --- a/src/models.py +++ b/src/models.py @@ -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): OuterFunctionKey: OuterShuffleKey OuterFunctionFunctionKey: OuterShuffleKey diff --git a/testDarcKeys.json b/testDarcKeys.json deleted file mode 100644 index cf6354c..0000000 --- a/testDarcKeys.json +++ /dev/null @@ -1,10020 +0,0 @@ -{ - "persistentKeys": { - "serverKey": [ - [ - 157, - 174, - 175, - 204 - ], - [ - 69, - 122, - 123, - 46 - ], - [ - 115, - 159, - 8, - 144 - ], - [ - 179, - 10, - 61, - 135 - ], - [ - 87, - 104, - 66, - 163 - ], - [ - 203, - 203, - 247, - 8 - ], - [ - 8, - 242, - 183, - 15 - ], - [ - 100, - 104, - 199, - 250 - ], - [ - 20, - 198, - 235, - 242 - ], - [ - 100, - 247, - 158, - 152 - ], - [ - 11, - 89, - 31, - 15 - ], - [ - 50, - 231, - 18, - 146 - ], - [ - 9, - 23, - 176, - 112 - ], - [ - 24, - 127, - 173, - 197 - ], - [ - 245, - 123, - 43, - 86 - ], - [ - 180, - 205, - 240, - 226 - ], - [ - 202, - 124, - 110, - 16 - ], - [ - 205, - 209, - 245, - 6 - ], - [ - 162, - 199, - 86, - 49 - ], - [ - 62, - 108, - 25, - 147 - ], - [ - 32, - 231, - 55, - 29 - ], - [ - 33, - 212, - 121, - 154 - ], - [ - 96, - 86, - 118, - 203 - ], - [ - 71, - 55, - 193, - 81 - ], - [ - 214, - 23, - 55, - 102 - ], - [ - 100, - 176, - 148, - 214 - ], - [ - 159, - 220, - 40, - 178 - ], - [ - 214, - 71, - 228, - 181 - ], - [ - 222, - 184, - 112, - 178 - ], - [ - 242, - 80, - 152, - 243 - ], - [ - 196, - 158, - 228, - 243 - ], - [ - 11, - 196, - 129, - 13 - ], - [ - 193, - 234, - 16, - 247 - ], - [ - 36, - 224, - 200, - 165 - ], - [ - 137, - 128, - 111, - 236 - ], - [ - 78, - 162, - 154, - 207 - ], - [ - 199, - 116, - 31, - 125 - ], - [ - 28, - 168, - 243, - 94 - ], - [ - 104, - 182, - 132, - 235 - ], - [ - 131, - 235, - 124, - 57 - ], - [ - 214, - 37, - 90, - 63 - ], - [ - 144, - 167, - 4, - 115 - ], - [ - 157, - 51, - 71, - 22 - ], - [ - 55, - 106, - 24, - 138 - ], - [ - 28, - 199, - 1, - 200 - ], - [ - 69, - 21, - 195, - 21 - ], - [ - 3, - 248, - 147, - 245 - ], - [ - 202, - 42, - 210, - 92 - ], - [ - 146, - 165, - 52, - 175 - ], - [ - 81, - 7, - 44, - 65 - ], - [ - 148, - 189, - 239, - 38 - ], - [ - 110, - 148, - 128, - 210 - ], - [ - 37, - 105, - 120, - 221 - ], - [ - 89, - 230, - 160, - 76 - ], - [ - 142, - 155, - 22, - 198 - ], - [ - 181, - 213, - 148, - 184 - ], - [ - 120, - 34, - 234, - 101 - ], - [ - 202, - 222, - 190, - 209 - ], - [ - 217, - 172, - 102, - 109 - ], - [ - 232, - 20, - 208, - 21 - ], - [ - 149, - 25, - 33, - 251 - ], - [ - 227, - 222, - 251, - 82 - ], - [ - 81, - 44, - 22, - 213 - ], - [ - 170, - 61, - 129, - 23 - ], - [ - 202, - 163, - 29, - 179 - ], - [ - 217, - 149, - 179, - 23 - ], - [ - 2, - 103, - 72, - 185 - ], - [ - 206, - 45, - 172, - 45 - ], - [ - 182, - 146, - 129, - 233 - ], - [ - 104, - 33, - 76, - 58 - ], - [ - 62, - 10, - 217, - 32 - ], - [ - 216, - 81, - 137, - 136 - ], - [ - 93, - 150, - 79, - 190 - ], - [ - 127, - 42, - 137, - 42 - ], - [ - 235, - 99, - 248, - 239 - ], - [ - 138, - 105, - 10, - 180 - ], - [ - 248, - 241, - 132, - 158 - ], - [ - 214, - 196, - 15, - 15 - ], - [ - 178, - 140, - 201, - 65 - ], - [ - 168, - 227, - 78, - 21 - ], - [ - 171, - 19, - 211, - 132 - ], - [ - 216, - 169, - 217, - 96 - ], - [ - 103, - 232, - 102, - 160 - ], - [ - 114, - 45, - 130, - 102 - ], - [ - 239, - 138, - 46, - 231 - ], - [ - 85, - 222, - 124, - 157 - ], - [ - 242, - 247, - 111, - 38 - ], - [ - 220, - 43, - 168, - 195 - ], - [ - 25, - 32, - 211, - 190 - ], - [ - 165, - 221, - 180, - 108 - ], - [ - 66, - 28, - 198, - 162 - ], - [ - 36, - 181, - 23, - 93 - ], - [ - 187, - 153, - 141, - 100 - ], - [ - 132, - 38, - 40, - 77 - ], - [ - 12, - 153, - 196, - 234 - ] - ], - "functionKey": [ - [ - 3, - 0, - 2, - 1 - ], - [ - 2, - 1, - 3, - 0 - ], - [ - 0, - 2, - 3, - 1 - ], - [ - 3, - 2, - 0, - 1 - ], - [ - 0, - 2, - 3, - 1 - ], - [ - 1, - 2, - 0, - 3 - ], - [ - 1, - 3, - 2, - 0 - ], - [ - 0, - 3, - 1, - 2 - ], - [ - 3, - 0, - 1, - 2 - ], - [ - 0, - 1, - 3, - 2 - ], - [ - 3, - 1, - 2, - 0 - ], - [ - 2, - 1, - 3, - 0 - ], - [ - 1, - 2, - 0, - 3 - ], - [ - 2, - 3, - 1, - 0 - ], - [ - 2, - 0, - 1, - 3 - ], - [ - 1, - 0, - 3, - 2 - ], - [ - 0, - 1, - 2, - 3 - ], - [ - 3, - 0, - 2, - 1 - ], - [ - 1, - 3, - 2, - 0 - ], - [ - 2, - 3, - 0, - 1 - ], - [ - 2, - 3, - 0, - 1 - ], - [ - 3, - 2, - 0, - 1 - ], - [ - 1, - 2, - 3, - 0 - ], - [ - 0, - 2, - 3, - 1 - ], - [ - 2, - 3, - 1, - 0 - ], - [ - 2, - 3, - 1, - 0 - ], - [ - 3, - 1, - 2, - 0 - ], - [ - 0, - 1, - 2, - 3 - ], - [ - 3, - 0, - 2, - 1 - ], - [ - 2, - 1, - 0, - 3 - ], - [ - 3, - 2, - 0, - 1 - ], - [ - 0, - 2, - 3, - 1 - ], - [ - 3, - 2, - 0, - 1 - ], - [ - 0, - 1, - 3, - 2 - ], - [ - 2, - 3, - 0, - 1 - ], - [ - 3, - 1, - 0, - 2 - ], - [ - 1, - 0, - 2, - 3 - ], - [ - 1, - 2, - 0, - 3 - ], - [ - 2, - 0, - 3, - 1 - ], - [ - 1, - 2, - 3, - 0 - ], - [ - 0, - 2, - 3, - 1 - ], - [ - 1, - 2, - 0, - 3 - ], - [ - 1, - 0, - 3, - 2 - ], - [ - 0, - 1, - 3, - 2 - ], - [ - 3, - 2, - 1, - 0 - ], - [ - 1, - 0, - 3, - 2 - ], - [ - 1, - 2, - 0, - 3 - ], - [ - 0, - 3, - 1, - 2 - ], - [ - 2, - 1, - 0, - 3 - ], - [ - 3, - 1, - 2, - 0 - ], - [ - 1, - 3, - 2, - 0 - ], - [ - 2, - 1, - 3, - 0 - ], - [ - 0, - 3, - 1, - 2 - ], - [ - 1, - 0, - 2, - 3 - ], - [ - 2, - 1, - 0, - 3 - ], - [ - 0, - 3, - 1, - 2 - ], - [ - 2, - 3, - 0, - 1 - ], - [ - 2, - 0, - 1, - 3 - ], - [ - 2, - 1, - 3, - 0 - ], - [ - 0, - 2, - 3, - 1 - ], - [ - 3, - 1, - 0, - 2 - ], - [ - 1, - 2, - 0, - 3 - ], - [ - 3, - 1, - 2, - 0 - ], - [ - 2, - 1, - 3, - 0 - ], - [ - 1, - 3, - 2, - 0 - ], - [ - 1, - 0, - 3, - 2 - ], - [ - 0, - 1, - 2, - 3 - ], - [ - 2, - 3, - 0, - 1 - ], - [ - 1, - 3, - 2, - 0 - ], - [ - 0, - 1, - 3, - 2 - ], - [ - 1, - 3, - 2, - 0 - ], - [ - 1, - 0, - 3, - 2 - ], - [ - 3, - 1, - 2, - 0 - ], - [ - 3, - 0, - 1, - 2 - ], - [ - 3, - 0, - 1, - 2 - ], - [ - 2, - 0, - 3, - 1 - ], - [ - 1, - 0, - 3, - 2 - ], - [ - 3, - 1, - 2, - 0 - ], - [ - 2, - 3, - 1, - 0 - ], - [ - 0, - 1, - 3, - 2 - ], - [ - 2, - 3, - 0, - 1 - ], - [ - 3, - 1, - 0, - 2 - ], - [ - 0, - 3, - 2, - 1 - ], - [ - 0, - 1, - 2, - 3 - ], - [ - 3, - 1, - 0, - 2 - ], - [ - 2, - 3, - 1, - 0 - ], - [ - 3, - 1, - 0, - 2 - ], - [ - 3, - 2, - 1, - 0 - ], - [ - 3, - 1, - 2, - 0 - ], - [ - 1, - 0, - 2, - 3 - ], - [ - 2, - 1, - 3, - 0 - ], - [ - 2, - 1, - 3, - 0 - ], - [ - 0, - 2, - 3, - 1 - ], - [ - 0, - 1, - 3, - 2 - ], - [ - 3, - 2, - 1, - 0 - ] - ], - "serverShuffleKey": [ - [ - 2, - 3, - 1, - 0 - ], - [ - 0, - 2, - 3, - 1 - ], - [ - 1, - 2, - 0, - 3 - ], - [ - 1, - 0, - 3, - 2 - ], - [ - 3, - 0, - 2, - 1 - ], - [ - 1, - 0, - 2, - 3 - ], - [ - 0, - 3, - 2, - 1 - ], - [ - 0, - 2, - 3, - 1 - ], - [ - 3, - 1, - 0, - 2 - ], - [ - 2, - 0, - 3, - 1 - ], - [ - 1, - 3, - 0, - 2 - ], - [ - 2, - 0, - 3, - 1 - ], - [ - 1, - 2, - 0, - 3 - ], - [ - 2, - 3, - 1, - 0 - ], - [ - 0, - 2, - 3, - 1 - ], - [ - 1, - 2, - 3, - 0 - ], - [ - 1, - 3, - 2, - 0 - ], - [ - 3, - 1, - 0, - 2 - ], - [ - 0, - 3, - 2, - 1 - ], - [ - 3, - 0, - 1, - 2 - ], - [ - 3, - 2, - 0, - 1 - ], - [ - 2, - 3, - 1, - 0 - ], - [ - 0, - 1, - 3, - 2 - ], - [ - 1, - 0, - 3, - 2 - ], - [ - 2, - 3, - 0, - 1 - ], - [ - 3, - 2, - 0, - 1 - ], - [ - 3, - 2, - 1, - 0 - ], - [ - 0, - 3, - 2, - 1 - ], - [ - 3, - 1, - 0, - 2 - ], - [ - 0, - 2, - 1, - 3 - ], - [ - 3, - 2, - 1, - 0 - ], - [ - 3, - 0, - 2, - 1 - ], - [ - 2, - 3, - 0, - 1 - ], - [ - 1, - 0, - 3, - 2 - ], - [ - 1, - 0, - 2, - 3 - ], - [ - 2, - 0, - 3, - 1 - ], - [ - 3, - 0, - 2, - 1 - ], - [ - 1, - 0, - 2, - 3 - ], - [ - 0, - 3, - 2, - 1 - ], - [ - 1, - 2, - 3, - 0 - ], - [ - 1, - 3, - 0, - 2 - ], - [ - 2, - 1, - 0, - 3 - ], - [ - 3, - 0, - 2, - 1 - ], - [ - 0, - 2, - 1, - 3 - ], - [ - 2, - 1, - 3, - 0 - ], - [ - 2, - 1, - 0, - 3 - ], - [ - 3, - 2, - 1, - 0 - ], - [ - 0, - 2, - 1, - 3 - ], - [ - 1, - 2, - 0, - 3 - ], - [ - 3, - 1, - 0, - 2 - ], - [ - 3, - 1, - 0, - 2 - ], - [ - 2, - 1, - 0, - 3 - ], - [ - 3, - 0, - 2, - 1 - ], - [ - 0, - 3, - 1, - 2 - ], - [ - 1, - 3, - 0, - 2 - ], - [ - 1, - 3, - 0, - 2 - ], - [ - 2, - 0, - 1, - 3 - ], - [ - 1, - 3, - 2, - 0 - ], - [ - 1, - 0, - 3, - 2 - ], - [ - 3, - 0, - 2, - 1 - ], - [ - 0, - 2, - 1, - 3 - ], - [ - 2, - 0, - 3, - 1 - ], - [ - 3, - 1, - 2, - 0 - ], - [ - 0, - 3, - 1, - 2 - ], - [ - 3, - 2, - 1, - 0 - ], - [ - 3, - 1, - 2, - 0 - ], - [ - 2, - 0, - 1, - 3 - ], - [ - 1, - 3, - 2, - 0 - ], - [ - 0, - 2, - 3, - 1 - ], - [ - 0, - 3, - 2, - 1 - ], - [ - 3, - 1, - 0, - 2 - ], - [ - 0, - 1, - 3, - 2 - ], - [ - 1, - 2, - 3, - 0 - ], - [ - 1, - 0, - 3, - 2 - ], - [ - 3, - 2, - 1, - 0 - ], - [ - 3, - 1, - 2, - 0 - ], - [ - 0, - 2, - 3, - 1 - ], - [ - 2, - 1, - 0, - 3 - ], - [ - 1, - 2, - 3, - 0 - ], - [ - 3, - 0, - 2, - 1 - ], - [ - 1, - 0, - 3, - 2 - ], - [ - 1, - 3, - 2, - 0 - ], - [ - 1, - 0, - 3, - 2 - ], - [ - 3, - 1, - 0, - 2 - ], - [ - 3, - 2, - 0, - 1 - ], - [ - 1, - 0, - 3, - 2 - ], - [ - 1, - 0, - 3, - 2 - ], - [ - 1, - 2, - 0, - 3 - ], - [ - 3, - 1, - 2, - 0 - ], - [ - 0, - 3, - 1, - 2 - ], - [ - 2, - 3, - 0, - 1 - ], - [ - 0, - 3, - 1, - 2 - ], - [ - 1, - 2, - 3, - 0 - ], - [ - 3, - 1, - 2, - 0 - ], - [ - 1, - 2, - 0, - 3 - ] - ], - "outerFunctionKey": [ - 23, - 42, - 89, - 9, - 40, - 64, - 55, - 35, - 52, - 11, - 94, - 16, - 54, - 84, - 38, - 36, - 50, - 91, - 80, - 85, - 92, - 78, - 49, - 19, - 13, - 77, - 47, - 39, - 63, - 25, - 69, - 53, - 1, - 60, - 93, - 71, - 70, - 61, - 66, - 17, - 33, - 76, - 86, - 73, - 83, - 7, - 74, - 18, - 44, - 0, - 20, - 72, - 24, - 75, - 45, - 34, - 15, - 90, - 58, - 48, - 57, - 81, - 79, - 37, - 31, - 67, - 65, - 28, - 3, - 29, - 88, - 51, - 27, - 26, - 82, - 21, - 10, - 46, - 43, - 56, - 32, - 5, - 12, - 14, - 87, - 30, - 59, - 62, - 6, - 2, - 4, - 22, - 41, - 8, - 68 - ], - "outerFunctionFunctionKey": [ - 86, - 77, - 16, - 3, - 18, - 64, - 85, - 42, - 90, - 26, - 40, - 91, - 88, - 45, - 27, - 7, - 80, - 39, - 61, - 9, - 35, - 25, - 70, - 56, - 62, - 21, - 93, - 60, - 32, - 17, - 52, - 13, - 51, - 37, - 4, - 44, - 54, - 0, - 30, - 28, - 75, - 84, - 1, - 6, - 34, - 79, - 65, - 47, - 66, - 59, - 14, - 41, - 69, - 20, - 8, - 29, - 55, - 33, - 73, - 63, - 48, - 94, - 22, - 57, - 31, - 11, - 82, - 15, - 2, - 43, - 53, - 50, - 76, - 81, - 46, - 87, - 67, - 24, - 58, - 92, - 38, - 83, - 72, - 78, - 36, - 19, - 12, - 68, - 23, - 10, - 89, - 71, - 49, - 74, - 5 - ], - "outerServerShuffleKey": [ - 23, - 80, - 68, - 79, - 13, - 51, - 22, - 21, - 41, - 43, - 14, - 9, - 30, - 4, - 47, - 36, - 7, - 65, - 85, - 91, - 48, - 73, - 0, - 54, - 42, - 72, - 66, - 31, - 46, - 27, - 86, - 78, - 38, - 92, - 6, - 15, - 25, - 40, - 84, - 89, - 37, - 19, - 67, - 5, - 55, - 90, - 62, - 33, - 49, - 74, - 3, - 75, - 64, - 93, - 88, - 26, - 24, - 44, - 29, - 58, - 32, - 77, - 60, - 81, - 61, - 71, - 94, - 18, - 83, - 11, - 53, - 52, - 63, - 17, - 35, - 50, - 34, - 45, - 39, - 57, - 2, - 87, - 1, - 10, - 16, - 56, - 76, - 59, - 70, - 82, - 28, - 69, - 12, - 20, - 8 - ], - "outerServerShuffleFunctionKey": [ - 55, - 17, - 29, - 58, - 93, - 16, - 80, - 56, - 60, - 3, - 91, - 90, - 81, - 74, - 92, - 18, - 50, - 13, - 67, - 45, - 8, - 76, - 6, - 31, - 22, - 57, - 61, - 11, - 38, - 26, - 42, - 1, - 10, - 39, - 35, - 71, - 77, - 51, - 48, - 47, - 37, - 20, - 40, - 27, - 34, - 84, - 12, - 7, - 82, - 64, - 2, - 73, - 24, - 33, - 36, - 79, - 5, - 59, - 28, - 54, - 66, - 32, - 53, - 83, - 21, - 14, - 4, - 75, - 63, - 86, - 89, - 78, - 88, - 19, - 23, - 46, - 94, - 0, - 69, - 52, - 9, - 41, - 70, - 15, - 43, - 85, - 25, - 49, - 87, - 62, - 44, - 30, - 68, - 65, - 72 - ], - "clientKey": [ - [ - 85, - 160, - 90, - 208 - ], - [ - 81, - 23, - 153, - 75 - ], - [ - 28, - 176, - 110, - 206 - ], - [ - 95, - 246, - 236, - 238 - ], - [ - 226, - 145, - 148, - 24 - ], - [ - 227, - 95, - 17, - 36 - ], - [ - 16, - 2, - 158, - 147 - ], - [ - 134, - 3, - 211, - 53 - ], - [ - 78, - 162, - 22, - 134 - ], - [ - 217, - 231, - 58, - 145 - ], - [ - 170, - 19, - 202, - 74 - ], - [ - 215, - 75, - 52, - 4 - ], - [ - 136, - 77, - 42, - 93 - ], - [ - 232, - 90, - 160, - 92 - ], - [ - 225, - 143, - 169, - 245 - ], - [ - 114, - 184, - 199, - 80 - ], - [ - 223, - 225, - 132, - 253 - ], - [ - 126, - 58, - 110, - 194 - ], - [ - 243, - 152, - 16, - 100 - ], - [ - 67, - 227, - 127, - 216 - ], - [ - 33, - 203, - 25, - 144 - ], - [ - 51, - 249, - 241, - 212 - ], - [ - 101, - 27, - 111, - 188 - ], - [ - 118, - 198, - 38, - 27 - ], - [ - 105, - 61, - 218, - 21 - ], - [ - 233, - 62, - 210, - 226 - ], - [ - 85, - 69, - 192, - 95 - ], - [ - 50, - 46, - 114, - 107 - ], - [ - 94, - 247, - 27, - 28 - ], - [ - 37, - 105, - 16, - 159 - ], - [ - 201, - 70, - 163, - 90 - ], - [ - 38, - 40, - 119, - 216 - ], - [ - 178, - 125, - 252, - 247 - ], - [ - 26, - 109, - 76, - 198 - ], - [ - 187, - 86, - 101, - 112 - ], - [ - 53, - 3, - 189, - 253 - ], - [ - 19, - 127, - 171, - 114 - ], - [ - 65, - 52, - 209, - 118 - ], - [ - 222, - 41, - 248, - 112 - ], - [ - 7, - 218, - 228, - 55 - ], - [ - 239, - 59, - 48, - 229 - ], - [ - 151, - 120, - 114, - 99 - ], - [ - 208, - 180, - 240, - 55 - ], - [ - 246, - 232, - 164, - 187 - ], - [ - 84, - 43, - 46, - 188 - ], - [ - 170, - 175, - 247, - 67 - ], - [ - 134, - 10, - 144, - 4 - ], - [ - 228, - 239, - 5, - 204 - ], - [ - 109, - 89, - 149, - 116 - ], - [ - 16, - 167, - 47, - 78 - ], - [ - 210, - 235, - 249, - 203 - ], - [ - 138, - 230, - 97, - 29 - ], - [ - 167, - 223, - 192, - 46 - ], - [ - 110, - 7, - 114, - 170 - ], - [ - 88, - 155, - 182, - 87 - ], - [ - 203, - 53, - 7, - 104 - ], - [ - 251, - 239, - 38, - 248 - ], - [ - 155, - 87, - 141, - 154 - ], - [ - 65, - 112, - 35, - 62 - ], - [ - 177, - 124, - 28, - 75 - ], - [ - 254, - 197, - 114, - 177 - ], - [ - 42, - 7, - 199, - 123 - ], - [ - 19, - 248, - 23, - 153 - ], - [ - 14, - 156, - 3, - 178 - ], - [ - 68, - 20, - 31, - 228 - ], - [ - 176, - 76, - 220, - 120 - ], - [ - 91, - 159, - 79, - 139 - ], - [ - 105, - 170, - 19, - 167 - ], - [ - 238, - 185, - 186, - 55 - ], - [ - 224, - 158, - 154, - 144 - ], - [ - 228, - 212, - 183, - 136 - ], - [ - 44, - 217, - 221, - 224 - ], - [ - 20, - 49, - 160, - 130 - ], - [ - 104, - 225, - 130, - 142 - ], - [ - 181, - 67, - 108, - 185 - ], - [ - 17, - 115, - 141, - 155 - ], - [ - 208, - 18, - 30, - 14 - ], - [ - 198, - 21, - 133, - 176 - ], - [ - 140, - 224, - 107, - 176 - ], - [ - 34, - 35, - 155, - 80 - ], - [ - 116, - 140, - 125, - 82 - ], - [ - 156, - 60, - 246, - 75 - ], - [ - 225, - 84, - 176, - 36 - ], - [ - 122, - 174, - 160, - 46 - ], - [ - 78, - 219, - 84, - 150 - ], - [ - 28, - 231, - 98, - 188 - ], - [ - 209, - 55, - 213, - 14 - ], - [ - 84, - 3, - 160, - 248 - ], - [ - 32, - 244, - 169, - 159 - ], - [ - 146, - 123, - 131, - 221 - ], - [ - 66, - 88, - 63, - 200 - ], - [ - 47, - 148, - 114, - 72 - ], - [ - 26, - 228, - 43, - 142 - ], - [ - 217, - 140, - 137, - 106 - ], - [ - 241, - 118, - 5, - 46 - ] - ], - "sharedKey": [ - [ - 253, - 44, - 190, - 48 - ], - [ - 28, - 248, - 213, - 37 - ], - [ - 75, - 184, - 250, - 39 - ], - [ - 200, - 32, - 40, - 26 - ], - [ - 52, - 249, - 218, - 202 - ], - [ - 171, - 227, - 24, - 247 - ], - [ - 112, - 34, - 145, - 237 - ], - [ - 160, - 38, - 204, - 107 - ], - [ - 186, - 247, - 201, - 25 - ], - [ - 26, - 149, - 123, - 179 - ], - [ - 71, - 37, - 75, - 196 - ], - [ - 17, - 134, - 118, - 24 - ], - [ - 170, - 184, - 79, - 27 - ], - [ - 39, - 11, - 29, - 105 - ], - [ - 14, - 96, - 239, - 120 - ], - [ - 192, - 227, - 26, - 109 - ], - [ - 110, - 179, - 169, - 186 - ], - [ - 182, - 193, - 234, - 94 - ], - [ - 70, - 172, - 51, - 45 - ], - [ - 13, - 185, - 12, - 212 - ], - [ - 226, - 140, - 105, - 61 - ], - [ - 206, - 97, - 5, - 159 - ], - [ - 188, - 198, - 106, - 178 - ], - [ - 128, - 30, - 54, - 4 - ], - [ - 53, - 17, - 38, - 171 - ], - [ - 144, - 1, - 41, - 75 - ], - [ - 5, - 33, - 58, - 117 - ], - [ - 67, - 120, - 232, - 202 - ], - [ - 204, - 227, - 157, - 198 - ], - [ - 189, - 111, - 247, - 60 - ], - [ - 144, - 168, - 137, - 126 - ], - [ - 242, - 126, - 160, - 220 - ], - [ - 41, - 191, - 139, - 49 - ], - [ - 230, - 7, - 43, - 205 - ], - [ - 32, - 106, - 22, - 14 - ], - [ - 135, - 163, - 20, - 151 - ], - [ - 38, - 183, - 75, - 184 - ], - [ - 180, - 69, - 244, - 218 - ], - [ - 100, - 89, - 234, - 160 - ], - [ - 197, - 251, - 250, - 195 - ], - [ - 150, - 174, - 65, - 131 - ], - [ - 9, - 50, - 80, - 244 - ], - [ - 169, - 87, - 54, - 61 - ], - [ - 61, - 93, - 158, - 168 - ], - [ - 82, - 62, - 247, - 117 - ], - [ - 11, - 128, - 110, - 49 - ], - [ - 162, - 24, - 46, - 89 - ], - [ - 151, - 34, - 235, - 175 - ], - [ - 58, - 250, - 177, - 203 - ], - [ - 192, - 155, - 198, - 241 - ], - [ - 113, - 172, - 183, - 186 - ], - [ - 131, - 6, - 80, - 161 - ], - [ - 142, - 207, - 44, - 224 - ], - [ - 155, - 160, - 59, - 93 - ], - [ - 242, - 153, - 72, - 28 - ], - [ - 188, - 114, - 218, - 102 - ], - [ - 153, - 97, - 140, - 213 - ], - [ - 186, - 43, - 166, - 142 - ], - [ - 37, - 69, - 142, - 212 - ], - [ - 128, - 172, - 88, - 108 - ], - [ - 168, - 196, - 93, - 119 - ], - [ - 25, - 251, - 176, - 182 - ], - [ - 234, - 240, - 221, - 97 - ], - [ - 39, - 14, - 122, - 138 - ], - [ - 205, - 213, - 83, - 15 - ], - [ - 157, - 203, - 173, - 140 - ], - [ - 132, - 77, - 95, - 126 - ], - [ - 86, - 26, - 76, - 164 - ], - [ - 181, - 250, - 195, - 134 - ], - [ - 206, - 197, - 254, - 49 - ], - [ - 4, - 19, - 192, - 241 - ], - [ - 138, - 140, - 100, - 121 - ], - [ - 200, - 186, - 72, - 16 - ], - [ - 9, - 98, - 75, - 252 - ], - [ - 174, - 229, - 119, - 241 - ], - [ - 42, - 134, - 142, - 51 - ], - [ - 129, - 200, - 79, - 50 - ], - [ - 221, - 113, - 58, - 196 - ], - [ - 65, - 158, - 89, - 169 - ], - [ - 85, - 202, - 245, - 152 - ], - [ - 45, - 96, - 64, - 223 - ], - [ - 210, - 152, - 79, - 245 - ], - [ - 34, - 163, - 179, - 204 - ], - [ - 187, - 33, - 3, - 215 - ], - [ - 146, - 130, - 26, - 208 - ], - [ - 108, - 234, - 140, - 222 - ], - [ - 162, - 237, - 34, - 234 - ], - [ - 57, - 40, - 71, - 33 - ], - [ - 62, - 83, - 210, - 216 - ], - [ - 16, - 234, - 118, - 131 - ], - [ - 77, - 181, - 21, - 19 - ], - [ - 21, - 104, - 64, - 246 - ], - [ - 100, - 54, - 131, - 101 - ], - [ - 14, - 247, - 21, - 2 - ], - [ - 44, - 9, - 148, - 228 - ] - ], - "clientShuffleKeyX": [ - [ - 3, - 0, - 2, - 1 - ], - [ - 1, - 0, - 2, - 3 - ], - [ - 2, - 3, - 0, - 1 - ], - [ - 2, - 1, - 0, - 3 - ], - [ - 3, - 2, - 1, - 0 - ], - [ - 3, - 0, - 2, - 1 - ], - [ - 2, - 0, - 3, - 1 - ], - [ - 3, - 0, - 1, - 2 - ], - [ - 2, - 1, - 3, - 0 - ], - [ - 2, - 3, - 0, - 1 - ], - [ - 0, - 2, - 1, - 3 - ], - [ - 1, - 3, - 0, - 2 - ], - [ - 1, - 0, - 3, - 2 - ], - [ - 1, - 3, - 2, - 0 - ], - [ - 1, - 3, - 0, - 2 - ], - [ - 2, - 1, - 3, - 0 - ], - [ - 1, - 3, - 0, - 2 - ], - [ - 1, - 2, - 3, - 0 - ], - [ - 2, - 3, - 1, - 0 - ], - [ - 2, - 3, - 0, - 1 - ], - [ - 0, - 2, - 3, - 1 - ], - [ - 3, - 1, - 2, - 0 - ], - [ - 2, - 3, - 1, - 0 - ], - [ - 3, - 0, - 2, - 1 - ], - [ - 2, - 0, - 3, - 1 - ], - [ - 3, - 2, - 1, - 0 - ], - [ - 0, - 1, - 3, - 2 - ], - [ - 2, - 1, - 0, - 3 - ], - [ - 3, - 1, - 0, - 2 - ], - [ - 2, - 1, - 0, - 3 - ], - [ - 1, - 2, - 3, - 0 - ], - [ - 0, - 1, - 3, - 2 - ], - [ - 0, - 2, - 3, - 1 - ], - [ - 2, - 3, - 1, - 0 - ], - [ - 3, - 0, - 2, - 1 - ], - [ - 3, - 0, - 2, - 1 - ], - [ - 3, - 0, - 1, - 2 - ], - [ - 3, - 1, - 2, - 0 - ], - [ - 1, - 0, - 2, - 3 - ], - [ - 3, - 1, - 2, - 0 - ], - [ - 3, - 0, - 2, - 1 - ], - [ - 3, - 1, - 0, - 2 - ], - [ - 1, - 3, - 2, - 0 - ], - [ - 2, - 0, - 1, - 3 - ], - [ - 0, - 3, - 1, - 2 - ], - [ - 0, - 1, - 3, - 2 - ], - [ - 1, - 2, - 0, - 3 - ], - [ - 0, - 2, - 1, - 3 - ], - [ - 0, - 1, - 2, - 3 - ], - [ - 3, - 1, - 0, - 2 - ], - [ - 0, - 2, - 3, - 1 - ], - [ - 3, - 0, - 2, - 1 - ], - [ - 0, - 1, - 3, - 2 - ], - [ - 0, - 2, - 3, - 1 - ], - [ - 3, - 0, - 2, - 1 - ], - [ - 3, - 2, - 0, - 1 - ], - [ - 2, - 3, - 0, - 1 - ], - [ - 0, - 2, - 1, - 3 - ], - [ - 0, - 3, - 2, - 1 - ], - [ - 0, - 1, - 3, - 2 - ], - [ - 0, - 1, - 2, - 3 - ], - [ - 1, - 2, - 0, - 3 - ], - [ - 1, - 3, - 2, - 0 - ], - [ - 1, - 3, - 2, - 0 - ], - [ - 3, - 1, - 2, - 0 - ], - [ - 1, - 2, - 0, - 3 - ], - [ - 3, - 1, - 2, - 0 - ], - [ - 1, - 2, - 0, - 3 - ], - [ - 3, - 2, - 0, - 1 - ], - [ - 1, - 3, - 2, - 0 - ], - [ - 1, - 3, - 2, - 0 - ], - [ - 3, - 0, - 2, - 1 - ], - [ - 3, - 0, - 2, - 1 - ], - [ - 3, - 0, - 1, - 2 - ], - [ - 2, - 3, - 0, - 1 - ], - [ - 3, - 0, - 1, - 2 - ], - [ - 3, - 2, - 1, - 0 - ], - [ - 2, - 3, - 1, - 0 - ], - [ - 0, - 1, - 3, - 2 - ], - [ - 2, - 1, - 0, - 3 - ], - [ - 3, - 0, - 2, - 1 - ], - [ - 1, - 3, - 2, - 0 - ], - [ - 2, - 3, - 1, - 0 - ], - [ - 1, - 2, - 3, - 0 - ], - [ - 1, - 2, - 0, - 3 - ], - [ - 3, - 0, - 2, - 1 - ], - [ - 3, - 2, - 1, - 0 - ], - [ - 2, - 1, - 0, - 3 - ], - [ - 0, - 2, - 1, - 3 - ], - [ - 1, - 2, - 0, - 3 - ], - [ - 1, - 2, - 3, - 0 - ], - [ - 2, - 0, - 1, - 3 - ], - [ - 2, - 0, - 3, - 1 - ], - [ - 3, - 1, - 2, - 0 - ], - [ - 1, - 0, - 2, - 3 - ] - ], - "clientShuffleKeyA": [ - [ - 3, - 2, - 0, - 1 - ], - [ - 3, - 1, - 0, - 2 - ], - [ - 2, - 0, - 3, - 1 - ], - [ - 1, - 0, - 3, - 2 - ], - [ - 0, - 2, - 3, - 1 - ], - [ - 3, - 0, - 2, - 1 - ], - [ - 3, - 2, - 0, - 1 - ], - [ - 2, - 1, - 3, - 0 - ], - [ - 3, - 2, - 1, - 0 - ], - [ - 2, - 3, - 1, - 0 - ], - [ - 2, - 3, - 1, - 0 - ], - [ - 1, - 0, - 3, - 2 - ], - [ - 3, - 0, - 1, - 2 - ], - [ - 0, - 2, - 3, - 1 - ], - [ - 1, - 3, - 2, - 0 - ], - [ - 2, - 0, - 3, - 1 - ], - [ - 1, - 3, - 0, - 2 - ], - [ - 2, - 3, - 0, - 1 - ], - [ - 1, - 2, - 0, - 3 - ], - [ - 1, - 2, - 3, - 0 - ], - [ - 3, - 2, - 1, - 0 - ], - [ - 3, - 1, - 0, - 2 - ], - [ - 2, - 3, - 0, - 1 - ], - [ - 2, - 1, - 0, - 3 - ], - [ - 1, - 0, - 2, - 3 - ], - [ - 2, - 1, - 3, - 0 - ], - [ - 2, - 1, - 3, - 0 - ], - [ - 0, - 3, - 1, - 2 - ], - [ - 3, - 1, - 2, - 0 - ], - [ - 3, - 2, - 0, - 1 - ], - [ - 1, - 3, - 0, - 2 - ], - [ - 3, - 0, - 1, - 2 - ], - [ - 3, - 2, - 1, - 0 - ], - [ - 3, - 1, - 2, - 0 - ], - [ - 2, - 0, - 1, - 3 - ], - [ - 2, - 0, - 1, - 3 - ], - [ - 1, - 3, - 2, - 0 - ], - [ - 2, - 3, - 0, - 1 - ], - [ - 1, - 3, - 0, - 2 - ], - [ - 1, - 0, - 2, - 3 - ], - [ - 1, - 0, - 2, - 3 - ], - [ - 3, - 2, - 1, - 0 - ], - [ - 2, - 3, - 0, - 1 - ], - [ - 2, - 0, - 3, - 1 - ], - [ - 1, - 2, - 0, - 3 - ], - [ - 3, - 1, - 0, - 2 - ], - [ - 0, - 1, - 3, - 2 - ], - [ - 0, - 1, - 3, - 2 - ], - [ - 1, - 0, - 2, - 3 - ], - [ - 0, - 1, - 2, - 3 - ], - [ - 2, - 1, - 0, - 3 - ], - [ - 1, - 0, - 2, - 3 - ], - [ - 1, - 0, - 3, - 2 - ], - [ - 1, - 3, - 2, - 0 - ], - [ - 3, - 2, - 1, - 0 - ], - [ - 2, - 1, - 3, - 0 - ], - [ - 1, - 2, - 0, - 3 - ], - [ - 0, - 3, - 2, - 1 - ], - [ - 2, - 0, - 3, - 1 - ], - [ - 1, - 2, - 3, - 0 - ], - [ - 2, - 3, - 1, - 0 - ], - [ - 2, - 1, - 3, - 0 - ], - [ - 0, - 3, - 2, - 1 - ], - [ - 1, - 2, - 3, - 0 - ], - [ - 3, - 0, - 1, - 2 - ], - [ - 2, - 3, - 0, - 1 - ], - [ - 1, - 3, - 0, - 2 - ], - [ - 1, - 3, - 0, - 2 - ], - [ - 0, - 2, - 3, - 1 - ], - [ - 2, - 0, - 1, - 3 - ], - [ - 3, - 2, - 0, - 1 - ], - [ - 1, - 0, - 2, - 3 - ], - [ - 1, - 2, - 3, - 0 - ], - [ - 1, - 0, - 3, - 2 - ], - [ - 0, - 2, - 1, - 3 - ], - [ - 1, - 2, - 3, - 0 - ], - [ - 2, - 3, - 1, - 0 - ], - [ - 3, - 2, - 1, - 0 - ], - [ - 1, - 0, - 3, - 2 - ], - [ - 3, - 2, - 1, - 0 - ], - [ - 3, - 0, - 2, - 1 - ], - [ - 3, - 0, - 1, - 2 - ], - [ - 3, - 0, - 2, - 1 - ], - [ - 0, - 1, - 2, - 3 - ], - [ - 2, - 1, - 3, - 0 - ], - [ - 3, - 2, - 0, - 1 - ], - [ - 3, - 1, - 0, - 2 - ], - [ - 1, - 0, - 2, - 3 - ], - [ - 3, - 0, - 2, - 1 - ], - [ - 3, - 0, - 2, - 1 - ], - [ - 3, - 0, - 2, - 1 - ], - [ - 2, - 0, - 1, - 3 - ], - [ - 3, - 1, - 0, - 2 - ], - [ - 0, - 1, - 3, - 2 - ], - [ - 3, - 1, - 0, - 2 - ] - ], - "functionMediumKey": [ - [ - 3, - 1, - 2, - 0 - ], - [ - 1, - 2, - 0, - 3 - ], - [ - 3, - 2, - 1, - 0 - ], - [ - 2, - 1, - 0, - 3 - ], - [ - 2, - 0, - 3, - 1 - ], - [ - 2, - 3, - 0, - 1 - ], - [ - 0, - 3, - 2, - 1 - ], - [ - 2, - 1, - 3, - 0 - ], - [ - 3, - 2, - 0, - 1 - ], - [ - 1, - 0, - 2, - 3 - ] - ], - "clientShuffleMediumKeyX": [ - [ - 1, - 2, - 0, - 3 - ], - [ - 1, - 2, - 0, - 3 - ], - [ - 2, - 3, - 1, - 0 - ], - [ - 2, - 1, - 3, - 0 - ], - [ - 3, - 2, - 1, - 0 - ], - [ - 3, - 0, - 1, - 2 - ], - [ - 0, - 1, - 3, - 2 - ], - [ - 1, - 2, - 0, - 3 - ], - [ - 0, - 2, - 3, - 1 - ], - [ - 1, - 3, - 0, - 2 - ] - ], - "inputMediumData": [ - [ - 0, - 0, - 0, - 0 - ], - [ - 0, - 0, - 0, - 0 - ], - [ - 0, - 0, - 0, - 0 - ], - [ - 0, - 0, - 0, - 0 - ], - [ - 0, - 0, - 0, - 0 - ], - [ - 0, - 0, - 0, - 0 - ], - [ - 0, - 0, - 0, - 0 - ], - [ - 0, - 0, - 0, - 0 - ], - [ - 0, - 0, - 0, - 0 - ], - [ - 0, - 0, - 0, - 0 - ] - ], - "serverMediumKey": [ - [ - 0, - 0, - 0, - 0 - ], - [ - 0, - 0, - 0, - 0 - ], - [ - 0, - 0, - 0, - 0 - ], - [ - 0, - 0, - 0, - 0 - ], - [ - 0, - 0, - 0, - 0 - ], - [ - 0, - 0, - 0, - 0 - ], - [ - 0, - 0, - 0, - 0 - ], - [ - 0, - 0, - 0, - 0 - ], - [ - 0, - 0, - 0, - 0 - ], - [ - 0, - 0, - 0, - 0 - ] - ], - "outerFunctionMediumKey": [ - 3, - 8, - 2, - 6, - 0, - 5, - 9, - 4, - 7, - 1 - ], - "outerFunctionFunctionMediumKey": [ - 6, - 2, - 9, - 0, - 3, - 1, - 8, - 4, - 7, - 5 - ], - "outerServerShuffleMediumKey": [ - 3, - 9, - 2, - 7, - 0, - 5, - 1, - 8, - 4, - 6 - ], - "outerServerShuffleFunctionMediumKey": [ - 7, - 1, - 6, - 0, - 5, - 4, - 9, - 2, - 3, - 8 - ], - "sharedMediumKey": [ - [ - 110, - 121, - 195, - 185 - ], - [ - 187, - 194, - 183, - 179 - ], - [ - 34, - 154, - 127, - 88 - ], - [ - 123, - 180, - 82, - 179 - ], - [ - 189, - 86, - 201, - 243 - ], - [ - 80, - 92, - 241, - 46 - ], - [ - 35, - 29, - 145, - 191 - ], - [ - 100, - 150, - 24, - 165 - ], - [ - 187, - 178, - 254, - 222 - ], - [ - 3, - 111, - 212, - 199 - ] - ], - "outerPositionFunctionMediumKey": [ - 4, - 1, - 7, - 0, - 5, - 8, - 2, - 6, - 9, - 3 - ], - "outerPositionShuffleMediumKey": [ - 4, - 8, - 5, - 2, - 0, - 3, - 1, - 6, - 7, - 9 - ], - "clientMediumKey": [ - [ - 210, - 9, - 218, - 237 - ], - [ - 152, - 196, - 214, - 245 - ], - [ - 99, - 220, - 20, - 56 - ], - [ - 238, - 217, - 34, - 251 - ], - [ - 127, - 113, - 154, - 53 - ], - [ - 202, - 159, - 249, - 77 - ], - [ - 89, - 222, - 82, - 246 - ], - [ - 108, - 0, - 59, - 125 - ], - [ - 208, - 230, - 28, - 59 - ], - [ - 45, - 244, - 129, - 157 - ] - ], - "positionFunctionMediumKey": [ - [ - 2, - 1, - 0, - 3 - ], - [ - 3, - 1, - 0, - 2 - ], - [ - 2, - 1, - 3, - 0 - ], - [ - 1, - 3, - 0, - 2 - ], - [ - 0, - 3, - 2, - 1 - ], - [ - 2, - 1, - 3, - 0 - ], - [ - 1, - 0, - 3, - 2 - ], - [ - 0, - 3, - 2, - 1 - ], - [ - 2, - 3, - 1, - 0 - ], - [ - 0, - 3, - 2, - 1 - ] - ], - "clientShuffleMediumKeyA": [ - [ - 0, - 2, - 1, - 3 - ], - [ - 1, - 2, - 0, - 3 - ], - [ - 0, - 3, - 2, - 1 - ], - [ - 1, - 3, - 0, - 2 - ], - [ - 1, - 2, - 3, - 0 - ], - [ - 1, - 0, - 3, - 2 - ], - [ - 2, - 0, - 1, - 3 - ], - [ - 3, - 1, - 2, - 0 - ], - [ - 3, - 0, - 1, - 2 - ], - [ - 1, - 2, - 0, - 3 - ] - ] - }, - "ephemeralKeys": { - "serverEphemeralKey": [ - [ - 3, - 65, - 45, - 191 - ], - [ - 147, - 248, - 195, - 171 - ], - [ - 28, - 225, - 186, - 86 - ], - [ - 113, - 49, - 244, - 61 - ], - [ - 78, - 177, - 226, - 39 - ], - [ - 234, - 8, - 54, - 26 - ], - [ - 205, - 52, - 90, - 251 - ], - [ - 9, - 9, - 138, - 165 - ], - [ - 63, - 18, - 198, - 226 - ], - [ - 33, - 120, - 48, - 185 - ], - [ - 139, - 239, - 145, - 61 - ], - [ - 68, - 1, - 108, - 197 - ], - [ - 190, - 191, - 19, - 59 - ], - [ - 139, - 17, - 112, - 239 - ], - [ - 13, - 14, - 65, - 248 - ], - [ - 95, - 178, - 39, - 234 - ], - [ - 163, - 6, - 214, - 225 - ], - [ - 87, - 230, - 244, - 200 - ], - [ - 114, - 15, - 80, - 136 - ], - [ - 253, - 204, - 253, - 175 - ], - [ - 249, - 167, - 63, - 119 - ], - [ - 134, - 216, - 26, - 231 - ], - [ - 68, - 201, - 228, - 155 - ], - [ - 228, - 119, - 167, - 165 - ], - [ - 86, - 62, - 26, - 15 - ], - [ - 8, - 2, - 69, - 72 - ], - [ - 124, - 241, - 181, - 109 - ], - [ - 243, - 75, - 185, - 164 - ], - [ - 79, - 11, - 186, - 249 - ], - [ - 226, - 114, - 189, - 155 - ], - [ - 170, - 144, - 240, - 14 - ], - [ - 126, - 102, - 157, - 155 - ], - [ - 211, - 70, - 189, - 66 - ], - [ - 206, - 181, - 125, - 195 - ], - [ - 58, - 232, - 62, - 246 - ], - [ - 216, - 170, - 235, - 162 - ], - [ - 108, - 20, - 205, - 200 - ], - [ - 63, - 8, - 82, - 162 - ], - [ - 79, - 151, - 233, - 71 - ], - [ - 84, - 88, - 93, - 2 - ], - [ - 53, - 143, - 70, - 100 - ], - [ - 77, - 87, - 195, - 48 - ], - [ - 169, - 235, - 112, - 9 - ], - [ - 83, - 109, - 28, - 219 - ], - [ - 79, - 225, - 164, - 230 - ], - [ - 165, - 156, - 22, - 9 - ], - [ - 53, - 111, - 221, - 10 - ], - [ - 18, - 24, - 146, - 146 - ], - [ - 63, - 92, - 55, - 119 - ], - [ - 50, - 162, - 134, - 24 - ], - [ - 41, - 180, - 158, - 214 - ], - [ - 28, - 192, - 2, - 37 - ], - [ - 77, - 195, - 202, - 142 - ], - [ - 8, - 18, - 19, - 208 - ], - [ - 35, - 102, - 27, - 29 - ], - [ - 83, - 44, - 76, - 41 - ], - [ - 54, - 206, - 101, - 149 - ], - [ - 71, - 102, - 129, - 140 - ], - [ - 86, - 0, - 1, - 240 - ], - [ - 108, - 230, - 220, - 218 - ], - [ - 27, - 185, - 95, - 27 - ], - [ - 100, - 24, - 76, - 125 - ], - [ - 170, - 126, - 158, - 3 - ], - [ - 124, - 76, - 159, - 167 - ], - [ - 112, - 111, - 217, - 7 - ], - [ - 64, - 195, - 38, - 43 - ], - [ - 17, - 213, - 165, - 18 - ], - [ - 102, - 196, - 102, - 18 - ], - [ - 34, - 161, - 213, - 14 - ], - [ - 204, - 138, - 231, - 241 - ], - [ - 222, - 178, - 205, - 170 - ], - [ - 227, - 165, - 177, - 100 - ], - [ - 149, - 94, - 168, - 132 - ], - [ - 217, - 71, - 8, - 171 - ], - [ - 73, - 51, - 140, - 210 - ], - [ - 84, - 46, - 61, - 221 - ], - [ - 250, - 121, - 239, - 179 - ], - [ - 202, - 103, - 105, - 96 - ], - [ - 171, - 147, - 105, - 239 - ], - [ - 83, - 216, - 178, - 17 - ], - [ - 75, - 225, - 41, - 54 - ], - [ - 141, - 99, - 23, - 180 - ], - [ - 189, - 116, - 24, - 215 - ], - [ - 91, - 251, - 245, - 32 - ], - [ - 109, - 139, - 39, - 86 - ], - [ - 139, - 207, - 64, - 69 - ], - [ - 60, - 192, - 227, - 158 - ], - [ - 176, - 69, - 64, - 207 - ], - [ - 41, - 234, - 212, - 221 - ], - [ - 6, - 76, - 222, - 48 - ], - [ - 90, - 77, - 167, - 240 - ], - [ - 2, - 68, - 117, - 247 - ], - [ - 191, - 210, - 189, - 39 - ], - [ - 142, - 75, - 243, - 5 - ], - [ - 226, - 141, - 149, - 62 - ] - ], - "sharedEphemeralKey": [ - [ - 242, - 205, - 220, - 234 - ], - [ - 247, - 201, - 219, - 57 - ], - [ - 250, - 155, - 131, - 175 - ], - [ - 101, - 118, - 229, - 88 - ], - [ - 54, - 37, - 144, - 42 - ], - [ - 147, - 222, - 134, - 111 - ], - [ - 104, - 39, - 227, - 173 - ], - [ - 165, - 254, - 160, - 24 - ], - [ - 86, - 154, - 116, - 21 - ], - [ - 76, - 132, - 233, - 100 - ], - [ - 238, - 249, - 213, - 100 - ], - [ - 212, - 38, - 189, - 216 - ], - [ - 154, - 66, - 87, - 235 - ], - [ - 211, - 173, - 148, - 174 - ], - [ - 35, - 246, - 181, - 100 - ], - [ - 111, - 223, - 218, - 148 - ], - [ - 182, - 206, - 168, - 135 - ], - [ - 0, - 22, - 183, - 195 - ], - [ - 218, - 88, - 158, - 232 - ], - [ - 5, - 219, - 157, - 170 - ], - [ - 81, - 29, - 222, - 178 - ], - [ - 3, - 107, - 2, - 89 - ], - [ - 248, - 107, - 85, - 89 - ], - [ - 234, - 144, - 114, - 221 - ], - [ - 93, - 242, - 61, - 216 - ], - [ - 208, - 47, - 244, - 227 - ], - [ - 97, - 102, - 41, - 158 - ], - [ - 102, - 111, - 215, - 16 - ], - [ - 203, - 104, - 110, - 236 - ], - [ - 72, - 171, - 187, - 168 - ], - [ - 229, - 58, - 126, - 111 - ], - [ - 236, - 11, - 56, - 180 - ], - [ - 29, - 32, - 229, - 67 - ], - [ - 203, - 202, - 39, - 161 - ], - [ - 229, - 229, - 11, - 67 - ], - [ - 216, - 20, - 221, - 7 - ], - [ - 120, - 217, - 97, - 21 - ], - [ - 31, - 127, - 44, - 115 - ], - [ - 21, - 37, - 119, - 196 - ], - [ - 143, - 118, - 149, - 72 - ], - [ - 91, - 181, - 164, - 30 - ], - [ - 39, - 169, - 77, - 168 - ], - [ - 110, - 118, - 12, - 99 - ], - [ - 97, - 93, - 128, - 0 - ], - [ - 106, - 111, - 194, - 30 - ], - [ - 193, - 112, - 237, - 207 - ], - [ - 186, - 99, - 231, - 197 - ], - [ - 66, - 45, - 37, - 133 - ], - [ - 183, - 241, - 66, - 15 - ], - [ - 72, - 5, - 207, - 74 - ], - [ - 151, - 227, - 98, - 153 - ], - [ - 169, - 173, - 28, - 139 - ], - [ - 136, - 48, - 203, - 126 - ], - [ - 69, - 85, - 226, - 78 - ], - [ - 148, - 172, - 35, - 36 - ], - [ - 160, - 74, - 228, - 31 - ], - [ - 110, - 174, - 175, - 177 - ], - [ - 87, - 183, - 156, - 48 - ], - [ - 80, - 173, - 148, - 33 - ], - [ - 218, - 128, - 169, - 74 - ], - [ - 135, - 244, - 82, - 192 - ], - [ - 91, - 122, - 229, - 210 - ], - [ - 190, - 209, - 147, - 29 - ], - [ - 251, - 25, - 158, - 155 - ], - [ - 161, - 8, - 5, - 216 - ], - [ - 113, - 182, - 117, - 10 - ], - [ - 205, - 83, - 69, - 4 - ], - [ - 30, - 230, - 87, - 253 - ], - [ - 146, - 98, - 63, - 108 - ], - [ - 42, - 29, - 99, - 167 - ], - [ - 163, - 225, - 239, - 64 - ], - [ - 224, - 74, - 4, - 52 - ], - [ - 184, - 248, - 247, - 70 - ], - [ - 137, - 134, - 229, - 123 - ], - [ - 132, - 166, - 218, - 23 - ], - [ - 237, - 104, - 182, - 128 - ], - [ - 63, - 118, - 154, - 162 - ], - [ - 137, - 202, - 33, - 203 - ], - [ - 14, - 61, - 149, - 168 - ], - [ - 222, - 84, - 76, - 35 - ], - [ - 219, - 121, - 187, - 70 - ], - [ - 223, - 177, - 28, - 203 - ], - [ - 95, - 140, - 14, - 91 - ], - [ - 70, - 47, - 184, - 121 - ], - [ - 65, - 146, - 249, - 25 - ], - [ - 130, - 204, - 107, - 244 - ], - [ - 200, - 39, - 56, - 131 - ], - [ - 160, - 200, - 209, - 136 - ], - [ - 223, - 213, - 211, - 250 - ], - [ - 70, - 123, - 183, - 55 - ], - [ - 178, - 72, - 86, - 218 - ], - [ - 77, - 219, - 36, - 219 - ], - [ - 98, - 211, - 105, - 192 - ], - [ - 82, - 231, - 122, - 245 - ], - [ - 8, - 151, - 10, - 149 - ] - ], - "functionEphemeralKey": [ - [ - 2, - 0, - 3, - 1 - ], - [ - 0, - 3, - 2, - 1 - ], - [ - 3, - 2, - 0, - 1 - ], - [ - 0, - 1, - 2, - 3 - ], - [ - 0, - 2, - 3, - 1 - ], - [ - 0, - 3, - 2, - 1 - ], - [ - 3, - 1, - 0, - 2 - ], - [ - 1, - 2, - 0, - 3 - ], - [ - 0, - 2, - 1, - 3 - ], - [ - 3, - 0, - 2, - 1 - ], - [ - 2, - 0, - 1, - 3 - ], - [ - 2, - 1, - 3, - 0 - ], - [ - 2, - 3, - 0, - 1 - ], - [ - 1, - 2, - 3, - 0 - ], - [ - 3, - 2, - 1, - 0 - ], - [ - 0, - 3, - 2, - 1 - ], - [ - 3, - 1, - 2, - 0 - ], - [ - 1, - 3, - 2, - 0 - ], - [ - 2, - 1, - 0, - 3 - ], - [ - 3, - 2, - 0, - 1 - ], - [ - 0, - 1, - 3, - 2 - ], - [ - 1, - 3, - 0, - 2 - ], - [ - 0, - 3, - 1, - 2 - ], - [ - 3, - 0, - 2, - 1 - ], - [ - 2, - 3, - 0, - 1 - ], - [ - 2, - 0, - 1, - 3 - ], - [ - 1, - 2, - 0, - 3 - ], - [ - 2, - 1, - 3, - 0 - ], - [ - 1, - 0, - 3, - 2 - ], - [ - 0, - 2, - 3, - 1 - ], - [ - 3, - 2, - 1, - 0 - ], - [ - 2, - 3, - 1, - 0 - ], - [ - 2, - 1, - 0, - 3 - ], - [ - 1, - 3, - 0, - 2 - ], - [ - 0, - 2, - 1, - 3 - ], - [ - 0, - 3, - 1, - 2 - ], - [ - 2, - 0, - 1, - 3 - ], - [ - 3, - 1, - 2, - 0 - ], - [ - 1, - 2, - 0, - 3 - ], - [ - 1, - 0, - 2, - 3 - ], - [ - 0, - 2, - 1, - 3 - ], - [ - 0, - 2, - 1, - 3 - ], - [ - 0, - 2, - 1, - 3 - ], - [ - 3, - 1, - 2, - 0 - ], - [ - 2, - 3, - 0, - 1 - ], - [ - 1, - 2, - 0, - 3 - ], - [ - 2, - 0, - 1, - 3 - ], - [ - 1, - 2, - 3, - 0 - ], - [ - 0, - 3, - 2, - 1 - ], - [ - 0, - 3, - 1, - 2 - ], - [ - 1, - 3, - 2, - 0 - ], - [ - 3, - 1, - 2, - 0 - ], - [ - 2, - 1, - 3, - 0 - ], - [ - 3, - 0, - 2, - 1 - ], - [ - 2, - 3, - 1, - 0 - ], - [ - 2, - 3, - 1, - 0 - ], - [ - 0, - 2, - 3, - 1 - ], - [ - 2, - 1, - 0, - 3 - ], - [ - 2, - 0, - 1, - 3 - ], - [ - 1, - 2, - 0, - 3 - ], - [ - 2, - 1, - 3, - 0 - ], - [ - 1, - 3, - 0, - 2 - ], - [ - 0, - 2, - 1, - 3 - ], - [ - 0, - 3, - 1, - 2 - ], - [ - 3, - 0, - 2, - 1 - ], - [ - 3, - 2, - 1, - 0 - ], - [ - 3, - 2, - 0, - 1 - ], - [ - 3, - 1, - 0, - 2 - ], - [ - 2, - 1, - 0, - 3 - ], - [ - 0, - 1, - 2, - 3 - ], - [ - 1, - 3, - 0, - 2 - ], - [ - 2, - 1, - 3, - 0 - ], - [ - 1, - 2, - 3, - 0 - ], - [ - 1, - 0, - 2, - 3 - ], - [ - 3, - 0, - 1, - 2 - ], - [ - 3, - 2, - 1, - 0 - ], - [ - 0, - 3, - 1, - 2 - ], - [ - 3, - 0, - 2, - 1 - ], - [ - 0, - 2, - 1, - 3 - ], - [ - 0, - 2, - 1, - 3 - ], - [ - 1, - 3, - 2, - 0 - ], - [ - 0, - 1, - 2, - 3 - ], - [ - 2, - 1, - 0, - 3 - ], - [ - 1, - 0, - 2, - 3 - ], - [ - 1, - 2, - 0, - 3 - ], - [ - 0, - 2, - 3, - 1 - ], - [ - 0, - 1, - 3, - 2 - ], - [ - 3, - 0, - 1, - 2 - ], - [ - 1, - 2, - 3, - 0 - ], - [ - 2, - 1, - 3, - 0 - ], - [ - 0, - 3, - 1, - 2 - ], - [ - 0, - 1, - 2, - 3 - ], - [ - 0, - 1, - 3, - 2 - ], - [ - 2, - 3, - 1, - 0 - ], - [ - 3, - 1, - 2, - 0 - ] - ], - "outerFunctionEphemeralKey": [ - 66, - 24, - 47, - 86, - 1, - 25, - 59, - 38, - 56, - 58, - 63, - 45, - 80, - 2, - 11, - 43, - 67, - 64, - 44, - 3, - 7, - 89, - 15, - 65, - 77, - 13, - 6, - 12, - 14, - 81, - 49, - 91, - 76, - 16, - 94, - 74, - 29, - 75, - 87, - 48, - 40, - 83, - 85, - 62, - 60, - 32, - 10, - 30, - 92, - 21, - 23, - 42, - 19, - 31, - 33, - 46, - 51, - 5, - 27, - 72, - 55, - 20, - 61, - 90, - 79, - 53, - 73, - 70, - 28, - 52, - 37, - 84, - 18, - 8, - 41, - 68, - 71, - 9, - 22, - 78, - 0, - 93, - 50, - 35, - 82, - 26, - 4, - 88, - 57, - 34, - 36, - 39, - 54, - 17, - 69 - ], - "outerFunctionFunctionEphemeralKey": [ - 85, - 94, - 53, - 88, - 63, - 20, - 24, - 57, - 89, - 48, - 13, - 16, - 44, - 49, - 61, - 45, - 77, - 70, - 91, - 3, - 47, - 65, - 12, - 74, - 33, - 14, - 50, - 86, - 83, - 25, - 36, - 68, - 18, - 4, - 41, - 7, - 67, - 71, - 87, - 93, - 69, - 62, - 51, - 80, - 73, - 19, - 81, - 54, - 30, - 21, - 22, - 58, - 10, - 82, - 75, - 1, - 37, - 26, - 60, - 23, - 56, - 52, - 0, - 42, - 28, - 46, - 55, - 32, - 39, - 84, - 72, - 35, - 79, - 9, - 29, - 66, - 40, - 6, - 27, - 59, - 76, - 8, - 43, - 38, - 11, - 15, - 78, - 34, - 92, - 17, - 2, - 64, - 90, - 5, - 31 - ], - "outerServerShuffleFunctionEphemeralKey": [ - 35, - 24, - 80, - 6, - 7, - 56, - 25, - 14, - 28, - 67, - 23, - 22, - 36, - 42, - 88, - 55, - 63, - 20, - 16, - 15, - 64, - 58, - 13, - 54, - 81, - 60, - 1, - 2, - 94, - 8, - 38, - 44, - 71, - 11, - 82, - 29, - 12, - 4, - 74, - 79, - 39, - 46, - 68, - 19, - 31, - 21, - 59, - 92, - 3, - 34, - 27, - 73, - 30, - 49, - 43, - 48, - 10, - 62, - 66, - 57, - 85, - 47, - 87, - 17, - 65, - 9, - 53, - 32, - 52, - 69, - 77, - 75, - 26, - 51, - 89, - 83, - 91, - 93, - 50, - 33, - 45, - 72, - 18, - 78, - 90, - 84, - 61, - 86, - 37, - 70, - 0, - 5, - 41, - 76, - 40 - ], - "serverShuffleEphemeralKey": [ - [ - 0, - 2, - 3, - 1 - ], - [ - 2, - 3, - 1, - 0 - ], - [ - 3, - 1, - 2, - 0 - ], - [ - 0, - 2, - 3, - 1 - ], - [ - 1, - 0, - 3, - 2 - ], - [ - 3, - 2, - 0, - 1 - ], - [ - 2, - 1, - 0, - 3 - ], - [ - 2, - 1, - 3, - 0 - ], - [ - 1, - 2, - 0, - 3 - ], - [ - 0, - 2, - 3, - 1 - ], - [ - 1, - 2, - 3, - 0 - ], - [ - 1, - 3, - 0, - 2 - ], - [ - 1, - 0, - 2, - 3 - ], - [ - 1, - 0, - 3, - 2 - ], - [ - 2, - 0, - 1, - 3 - ], - [ - 0, - 3, - 2, - 1 - ], - [ - 0, - 1, - 2, - 3 - ], - [ - 1, - 0, - 3, - 2 - ], - [ - 2, - 3, - 0, - 1 - ], - [ - 0, - 2, - 3, - 1 - ], - [ - 2, - 0, - 3, - 1 - ], - [ - 0, - 3, - 1, - 2 - ], - [ - 3, - 2, - 0, - 1 - ], - [ - 3, - 2, - 0, - 1 - ], - [ - 0, - 2, - 1, - 3 - ], - [ - 0, - 2, - 1, - 3 - ], - [ - 3, - 1, - 2, - 0 - ], - [ - 0, - 1, - 2, - 3 - ], - [ - 2, - 3, - 0, - 1 - ], - [ - 0, - 2, - 1, - 3 - ], - [ - 3, - 2, - 0, - 1 - ], - [ - 2, - 0, - 1, - 3 - ], - [ - 0, - 2, - 3, - 1 - ], - [ - 0, - 3, - 1, - 2 - ], - [ - 0, - 2, - 1, - 3 - ], - [ - 1, - 0, - 2, - 3 - ], - [ - 0, - 1, - 2, - 3 - ], - [ - 3, - 1, - 0, - 2 - ], - [ - 1, - 2, - 0, - 3 - ], - [ - 2, - 3, - 1, - 0 - ], - [ - 3, - 0, - 1, - 2 - ], - [ - 0, - 1, - 2, - 3 - ], - [ - 2, - 0, - 3, - 1 - ], - [ - 2, - 3, - 0, - 1 - ], - [ - 3, - 1, - 2, - 0 - ], - [ - 1, - 2, - 0, - 3 - ], - [ - 3, - 2, - 0, - 1 - ], - [ - 3, - 1, - 2, - 0 - ], - [ - 3, - 0, - 1, - 2 - ], - [ - 0, - 1, - 3, - 2 - ], - [ - 3, - 1, - 0, - 2 - ], - [ - 2, - 1, - 0, - 3 - ], - [ - 2, - 1, - 3, - 0 - ], - [ - 0, - 1, - 3, - 2 - ], - [ - 2, - 3, - 0, - 1 - ], - [ - 3, - 2, - 1, - 0 - ], - [ - 3, - 1, - 2, - 0 - ], - [ - 1, - 0, - 3, - 2 - ], - [ - 2, - 1, - 0, - 3 - ], - [ - 1, - 0, - 3, - 2 - ], - [ - 3, - 1, - 2, - 0 - ], - [ - 0, - 3, - 2, - 1 - ], - [ - 3, - 2, - 1, - 0 - ], - [ - 1, - 0, - 2, - 3 - ], - [ - 3, - 1, - 2, - 0 - ], - [ - 2, - 1, - 0, - 3 - ], - [ - 2, - 1, - 0, - 3 - ], - [ - 3, - 2, - 0, - 1 - ], - [ - 0, - 1, - 2, - 3 - ], - [ - 2, - 1, - 0, - 3 - ], - [ - 3, - 0, - 1, - 2 - ], - [ - 0, - 3, - 2, - 1 - ], - [ - 3, - 0, - 2, - 1 - ], - [ - 1, - 0, - 3, - 2 - ], - [ - 0, - 1, - 2, - 3 - ], - [ - 1, - 2, - 0, - 3 - ], - [ - 2, - 3, - 0, - 1 - ], - [ - 1, - 3, - 0, - 2 - ], - [ - 1, - 0, - 3, - 2 - ], - [ - 1, - 2, - 3, - 0 - ], - [ - 1, - 0, - 2, - 3 - ], - [ - 2, - 0, - 1, - 3 - ], - [ - 2, - 1, - 3, - 0 - ], - [ - 0, - 2, - 1, - 3 - ], - [ - 1, - 2, - 0, - 3 - ], - [ - 1, - 3, - 2, - 0 - ], - [ - 1, - 3, - 2, - 0 - ], - [ - 0, - 2, - 1, - 3 - ], - [ - 3, - 0, - 1, - 2 - ], - [ - 3, - 0, - 1, - 2 - ], - [ - 0, - 2, - 1, - 3 - ], - [ - 1, - 2, - 0, - 3 - ], - [ - 1, - 0, - 3, - 2 - ], - [ - 0, - 2, - 1, - 3 - ], - [ - 3, - 2, - 1, - 0 - ] - ], - "outerServerShuffleEphemeralKey": [ - 74, - 36, - 55, - 21, - 15, - 6, - 58, - 43, - 81, - 48, - 42, - 35, - 53, - 1, - 86, - 18, - 83, - 30, - 27, - 54, - 28, - 38, - 73, - 85, - 0, - 12, - 3, - 41, - 40, - 16, - 2, - 88, - 4, - 89, - 93, - 64, - 23, - 72, - 91, - 75, - 56, - 94, - 19, - 46, - 26, - 5, - 22, - 66, - 70, - 68, - 14, - 62, - 52, - 32, - 90, - 80, - 29, - 13, - 25, - 60, - 63, - 34, - 51, - 45, - 69, - 31, - 17, - 82, - 9, - 59, - 20, - 50, - 49, - 44, - 79, - 57, - 78, - 71, - 84, - 87, - 61, - 11, - 39, - 37, - 76, - 8, - 10, - 77, - 24, - 67, - 92, - 7, - 47, - 65, - 33 - ], - "serverMediumEphemeralKey": [ - [ - 234, - 243, - 8, - 213 - ], - [ - 238, - 75, - 140, - 252 - ], - [ - 97, - 246, - 197, - 111 - ], - [ - 94, - 172, - 18, - 183 - ], - [ - 118, - 126, - 98, - 108 - ], - [ - 176, - 187, - 165, - 204 - ], - [ - 227, - 207, - 113, - 61 - ], - [ - 104, - 244, - 179, - 112 - ], - [ - 228, - 236, - 223, - 236 - ], - [ - 127, - 46, - 193, - 39 - ] - ], - "sharedMediumEphemeralKey": [ - [ - 111, - 10, - 18, - 215 - ], - [ - 15, - 31, - 54, - 237 - ], - [ - 114, - 152, - 79, - 233 - ], - [ - 203, - 128, - 185, - 90 - ], - [ - 62, - 186, - 10, - 241 - ], - [ - 5, - 174, - 198, - 71 - ], - [ - 230, - 247, - 171, - 161 - ], - [ - 31, - 19, - 60, - 139 - ], - [ - 136, - 174, - 245, - 208 - ], - [ - 116, - 75, - 250, - 237 - ] - ], - "functionMediumEphemeralKey": [ - [ - 0, - 1, - 2, - 3 - ], - [ - 2, - 3, - 0, - 1 - ], - [ - 2, - 1, - 3, - 0 - ], - [ - 0, - 2, - 1, - 3 - ], - [ - 0, - 2, - 3, - 1 - ], - [ - 2, - 1, - 3, - 0 - ], - [ - 2, - 3, - 0, - 1 - ], - [ - 3, - 0, - 2, - 1 - ], - [ - 3, - 0, - 1, - 2 - ], - [ - 0, - 1, - 2, - 3 - ] - ], - "positionFunctionMediumEphemeralKey": [ - [ - 1, - 3, - 0, - 2 - ], - [ - 1, - 3, - 0, - 2 - ], - [ - 2, - 3, - 1, - 0 - ], - [ - 3, - 2, - 1, - 0 - ], - [ - 3, - 2, - 1, - 0 - ], - [ - 1, - 3, - 2, - 0 - ], - [ - 3, - 0, - 2, - 1 - ], - [ - 2, - 1, - 0, - 3 - ], - [ - 1, - 3, - 2, - 0 - ], - [ - 1, - 0, - 2, - 3 - ] - ], - "outerFunctionMediumEphemeralKey": [ - 6, - 8, - 9, - 2, - 3, - 5, - 1, - 0, - 7, - 4 - ], - "outerFunctionFunctionMediumEphemeralKey": [ - 6, - 5, - 8, - 4, - 3, - 7, - 0, - 2, - 9, - 1 - ], - "outerPositionFunctionMediumEphemeralKey": [ - 2, - 9, - 7, - 8, - 3, - 6, - 1, - 0, - 5, - 4 - ], - "outerServerShuffleFunctionMediumEphemeralKey": [ - 9, - 8, - 6, - 0, - 2, - 7, - 3, - 1, - 5, - 4 - ], - "outerServerShuffleMediumEphemeralKey": [ - 1, - 4, - 8, - 5, - 9, - 7, - 6, - 3, - 2, - 0 - ], - "outerPositionShuffleMediumEphemeralKey": [ - 2, - 0, - 1, - 3, - 8, - 9, - 4, - 6, - 5, - 7 - ], - "interfaceConfig": [ - [ - 113, - 231, - 226, - 35 - ], - [ - 14, - 141, - 113, - 83 - ], - [ - 219, - 172, - 150, - 208 - ], - [ - 192, - 111, - 104, - 202 - ], - [ - 192, - 94, - 226, - 80 - ], - [ - 64, - 85, - 59, - 177 - ], - [ - 249, - 127, - 3, - 84 - ], - [ - 63, - 75, - 12, - 212 - ], - [ - 117, - 123, - 110, - 193 - ], - [ - 195, - 170, - 200, - 85 - ], - [ - 51, - 200, - 188, - 30 - ], - [ - 4, - 35, - 186, - 63 - ], - [ - 181, - 73, - 243, - 150 - ], - [ - 28, - 215, - 26, - 163 - ], - [ - 227, - 11, - 39, - 181 - ], - [ - 220, - 84, - 81, - 243 - ], - [ - 47, - 19, - 106, - 9 - ], - [ - 114, - 251, - 165, - 201 - ], - [ - 149, - 110, - 105, - 24 - ], - [ - 28, - 158, - 66, - 99 - ], - [ - 230, - 184, - 217, - 0 - ], - [ - 136, - 127, - 31, - 27 - ], - [ - 100, - 127, - 44, - 216 - ], - [ - 70, - 127, - 41, - 101 - ], - [ - 85, - 50, - 59, - 57 - ], - [ - 184, - 243, - 158, - 186 - ], - [ - 41, - 23, - 53, - 188 - ], - [ - 103, - 179, - 167, - 175 - ], - [ - 143, - 41, - 232, - 32 - ], - [ - 67, - 160, - 210, - 43 - ], - [ - 124, - 249, - 193, - 169 - ], - [ - 169, - 39, - 192, - 57 - ], - [ - 206, - 220, - 102, - 24 - ], - [ - 214, - 1, - 180, - 181 - ], - [ - 79, - 79, - 29, - 63 - ], - [ - 161, - 136, - 78, - 88 - ], - [ - 219, - 70, - 94, - 189 - ], - [ - 193, - 52, - 160, - 109 - ], - [ - 235, - 133, - 169, - 184 - ], - [ - 173, - 12, - 196, - 164 - ], - [ - 207, - 66, - 242, - 141 - ], - [ - 216, - 173, - 117, - 108 - ], - [ - 114, - 229, - 139, - 228 - ], - [ - 37, - 27, - 47, - 97 - ], - [ - 190, - 11, - 182, - 55 - ], - [ - 198, - 121, - 3, - 84 - ], - [ - 249, - 47, - 137, - 130 - ], - [ - 33, - 223, - 248, - 215 - ], - [ - 122, - 118, - 95, - 98 - ], - [ - 224, - 191, - 70, - 244 - ], - [ - 76, - 240, - 243, - 96 - ], - [ - 11, - 178, - 112, - 4 - ], - [ - 172, - 109, - 234, - 72 - ], - [ - 7, - 131, - 178, - 71 - ], - [ - 96, - 242, - 241, - 132 - ], - [ - 98, - 49, - 212, - 48 - ], - [ - 124, - 31, - 214, - 132 - ], - [ - 6, - 189, - 71, - 30 - ], - [ - 8, - 41, - 136, - 53 - ], - [ - 88, - 196, - 174, - 81 - ], - [ - 85, - 60, - 239, - 32 - ], - [ - 78, - 81, - 45, - 191 - ], - [ - 28, - 57, - 99, - 249 - ], - [ - 226, - 195, - 42, - 1 - ], - [ - 72, - 46, - 25, - 16 - ], - [ - 33, - 96, - 147, - 58 - ], - [ - 43, - 3, - 176, - 40 - ], - [ - 14, - 174, - 231, - 154 - ], - [ - 161, - 186, - 100, - 20 - ], - [ - 99, - 85, - 43, - 86 - ], - [ - 211, - 129, - 199, - 241 - ], - [ - 143, - 156, - 172, - 249 - ], - [ - 251, - 108, - 182, - 65 - ], - [ - 60, - 96, - 67, - 219 - ], - [ - 236, - 42, - 89, - 92 - ], - [ - 171, - 139, - 173, - 42 - ], - [ - 226, - 232, - 69, - 131 - ], - [ - 246, - 211, - 70, - 233 - ], - [ - 81, - 58, - 124, - 161 - ], - [ - 97, - 71, - 232, - 130 - ], - [ - 43, - 201, - 253, - 102 - ], - [ - 134, - 168, - 159, - 151 - ], - [ - 243, - 213, - 5, - 122 - ], - [ - 69, - 32, - 68, - 168 - ], - [ - 107, - 4, - 25, - 235 - ], - [ - 168, - 128, - 233, - 238 - ], - [ - 150, - 143, - 228, - 32 - ], - [ - 86, - 194, - 134, - 74 - ], - [ - 253, - 154, - 16, - 116 - ], - [ - 54, - 158, - 143, - 189 - ], - [ - 221, - 173, - 109, - 158 - ], - [ - 120, - 206, - 33, - 234 - ], - [ - 22, - 84, - 209, - 245 - ], - [ - 135, - 58, - 4, - 168 - ], - [ - 238, - 106, - 182, - 34 - ] - ], - "outerClientShuffleKey": [ - 41, - 15, - 52, - 45, - 69, - 53, - 76, - 18, - 75, - 64, - 0, - 71, - 20, - 48, - 25, - 38, - 63, - 11, - 46, - 77, - 50, - 35, - 57, - 84, - 92, - 13, - 60, - 90, - 59, - 37, - 51, - 34, - 30, - 54, - 58, - 14, - 2, - 55, - 17, - 74, - 27, - 83, - 19, - 22, - 65, - 79, - 8, - 21, - 6, - 44, - 7, - 49, - 78, - 67, - 94, - 68, - 89, - 31, - 91, - 4, - 82, - 24, - 43, - 39, - 88, - 10, - 26, - 93, - 56, - 80, - 1, - 47, - 85, - 36, - 87, - 12, - 33, - 73, - 9, - 28, - 3, - 16, - 72, - 29, - 61, - 32, - 81, - 5, - 70, - 86, - 40, - 62, - 23, - 42, - 66 - ], - "outerClientShuffleMediumKey": [ - 2, - 7, - 5, - 9, - 4, - 3, - 1, - 8, - 6, - 0 - ], - "outerClientShuffleFunctionKey": [ - 89, - 93, - 91, - 6, - 37, - 3, - 39, - 45, - 2, - 44, - 86, - 82, - 24, - 15, - 75, - 94, - 84, - 19, - 42, - 83, - 61, - 80, - 90, - 78, - 57, - 8, - 38, - 74, - 27, - 77, - 71, - 29, - 52, - 31, - 16, - 54, - 21, - 53, - 14, - 50, - 46, - 10, - 68, - 49, - 76, - 58, - 88, - 5, - 18, - 79, - 67, - 22, - 62, - 7, - 85, - 60, - 25, - 63, - 70, - 56, - 33, - 4, - 30, - 47, - 1, - 32, - 13, - 51, - 17, - 34, - 0, - 11, - 43, - 69, - 66, - 20, - 55, - 92, - 36, - 9, - 59, - 72, - 26, - 65, - 73, - 81, - 48, - 64, - 87, - 23, - 12, - 35, - 40, - 28, - 41 - ], - "outerClientShuffleFunctionMediumKey": [ - 7, - 9, - 3, - 1, - 8, - 4, - 6, - 0, - 2, - 5 - ], - "clientEphemeral": [ - [ - 120, - 127, - 104, - 100 - ], - [ - 145, - 57, - 44, - 130 - ], - [ - 205, - 50, - 141, - 133 - ], - [ - 156, - 240, - 153, - 167 - ], - [ - 38, - 26, - 223, - 49 - ], - [ - 25, - 115, - 70, - 23 - ], - [ - 49, - 160, - 30, - 90 - ], - [ - 96, - 38, - 208, - 186 - ], - [ - 155, - 91, - 151, - 75 - ], - [ - 63, - 197, - 242, - 69 - ], - [ - 198, - 244, - 113, - 33 - ], - [ - 161, - 114, - 8, - 13 - ], - [ - 237, - 230, - 220, - 221 - ], - [ - 196, - 115, - 226, - 191 - ], - [ - 106, - 159, - 179, - 199 - ], - [ - 23, - 126, - 105, - 87 - ], - [ - 98, - 246, - 57, - 185 - ], - [ - 74, - 66, - 241, - 46 - ], - [ - 222, - 180, - 236, - 177 - ], - [ - 184, - 240, - 195, - 206 - ], - [ - 129, - 123, - 246, - 253 - ], - [ - 141, - 186, - 196, - 223 - ], - [ - 227, - 160, - 82, - 196 - ], - [ - 186, - 232, - 243, - 160 - ], - [ - 233, - 155, - 241, - 189 - ], - [ - 81, - 41, - 93, - 251 - ], - [ - 76, - 183, - 187, - 20 - ], - [ - 46, - 121, - 190, - 155 - ], - [ - 18, - 13, - 2, - 144 - ], - [ - 214, - 226, - 170, - 129 - ], - [ - 122, - 119, - 138, - 249 - ], - [ - 224, - 205, - 161, - 197 - ], - [ - 253, - 74, - 16, - 241 - ], - [ - 108, - 116, - 61, - 146 - ], - [ - 64, - 230, - 169, - 30 - ], - [ - 29, - 244, - 193, - 105 - ], - [ - 11, - 0, - 69, - 52 - ], - [ - 149, - 236, - 144, - 72 - ], - [ - 199, - 164, - 65, - 95 - ], - [ - 113, - 63, - 5, - 31 - ], - [ - 132, - 20, - 225, - 110 - ], - [ - 245, - 56, - 199, - 167 - ], - [ - 79, - 64, - 42, - 96 - ], - [ - 203, - 92, - 224, - 147 - ], - [ - 65, - 121, - 130, - 163 - ], - [ - 28, - 160, - 132, - 101 - ], - [ - 59, - 47, - 71, - 201 - ], - [ - 106, - 96, - 175, - 99 - ], - [ - 15, - 214, - 12, - 145 - ], - [ - 117, - 183, - 148, - 195 - ], - [ - 28, - 123, - 92, - 79 - ], - [ - 53, - 31, - 173, - 34 - ], - [ - 112, - 169, - 236, - 111 - ], - [ - 227, - 128, - 205, - 12 - ], - [ - 82, - 126, - 151, - 38 - ], - [ - 247, - 176, - 49, - 182 - ], - [ - 46, - 79, - 138, - 249 - ], - [ - 106, - 54, - 127, - 79 - ], - [ - 46, - 132, - 88, - 212 - ], - [ - 177, - 99, - 248, - 170 - ], - [ - 214, - 175, - 52, - 6 - ], - [ - 237, - 3, - 8, - 66 - ], - [ - 242, - 47, - 87, - 39 - ], - [ - 142, - 170, - 56, - 202 - ], - [ - 220, - 67, - 146, - 190 - ], - [ - 202, - 99, - 47, - 246 - ], - [ - 19, - 67, - 192, - 239 - ], - [ - 214, - 46, - 45, - 206 - ], - [ - 227, - 142, - 162, - 226 - ], - [ - 123, - 41, - 245, - 250 - ], - [ - 3, - 251, - 183, - 229 - ], - [ - 125, - 66, - 177, - 164 - ], - [ - 247, - 107, - 67, - 129 - ], - [ - 197, - 52, - 41, - 118 - ], - [ - 221, - 119, - 145, - 141 - ], - [ - 243, - 117, - 89, - 182 - ], - [ - 233, - 15, - 33, - 65 - ], - [ - 49, - 238, - 72, - 149 - ], - [ - 216, - 35, - 49, - 156 - ], - [ - 242, - 193, - 161, - 130 - ], - [ - 189, - 124, - 12, - 25 - ], - [ - 244, - 211, - 87, - 85 - ], - [ - 108, - 179, - 14, - 116 - ], - [ - 104, - 173, - 95, - 183 - ], - [ - 123, - 171, - 170, - 11 - ], - [ - 67, - 62, - 36, - 141 - ], - [ - 195, - 25, - 6, - 59 - ], - [ - 214, - 236, - 7, - 57 - ], - [ - 51, - 217, - 254, - 205 - ], - [ - 18, - 238, - 113, - 171 - ], - [ - 5, - 128, - 172, - 82 - ], - [ - 76, - 103, - 237, - 75 - ], - [ - 234, - 187, - 72, - 101 - ], - [ - 219, - 24, - 7, - 20 - ], - [ - 44, - 115, - 151, - 251 - ] - ], - "clientEphemeralMedium": [ - [ - 31, - 219, - 227, - 172 - ], - [ - 192, - 164, - 50, - 125 - ], - [ - 65, - 112, - 254, - 84 - ], - [ - 13, - 218, - 70, - 148 - ], - [ - 144, - 72, - 175, - 57 - ], - [ - 2, - 236, - 97, - 127 - ], - [ - 97, - 165, - 251, - 51 - ], - [ - 251, - 100, - 247, - 203 - ], - [ - 0, - 62, - 169, - 204 - ], - [ - 86, - 136, - 1, - 122 - ] - ], - "clientShuffleEphemeralA": [ - [ - 0, - 3, - 1, - 2 - ], - [ - 3, - 1, - 2, - 0 - ], - [ - 2, - 1, - 3, - 0 - ], - [ - 2, - 0, - 1, - 3 - ], - [ - 3, - 0, - 1, - 2 - ], - [ - 1, - 2, - 3, - 0 - ], - [ - 1, - 3, - 0, - 2 - ], - [ - 1, - 3, - 0, - 2 - ], - [ - 2, - 0, - 3, - 1 - ], - [ - 1, - 2, - 0, - 3 - ], - [ - 3, - 2, - 0, - 1 - ], - [ - 0, - 3, - 2, - 1 - ], - [ - 1, - 0, - 2, - 3 - ], - [ - 1, - 2, - 0, - 3 - ], - [ - 0, - 1, - 2, - 3 - ], - [ - 1, - 0, - 2, - 3 - ], - [ - 0, - 3, - 1, - 2 - ], - [ - 3, - 0, - 1, - 2 - ], - [ - 2, - 1, - 3, - 0 - ], - [ - 3, - 0, - 1, - 2 - ], - [ - 3, - 0, - 2, - 1 - ], - [ - 0, - 1, - 3, - 2 - ], - [ - 3, - 1, - 0, - 2 - ], - [ - 1, - 2, - 3, - 0 - ], - [ - 0, - 2, - 3, - 1 - ], - [ - 1, - 2, - 3, - 0 - ], - [ - 3, - 2, - 0, - 1 - ], - [ - 3, - 0, - 1, - 2 - ], - [ - 0, - 2, - 1, - 3 - ], - [ - 0, - 3, - 1, - 2 - ], - [ - 1, - 0, - 2, - 3 - ], - [ - 1, - 0, - 3, - 2 - ], - [ - 0, - 2, - 3, - 1 - ], - [ - 1, - 0, - 2, - 3 - ], - [ - 2, - 0, - 1, - 3 - ], - [ - 3, - 2, - 0, - 1 - ], - [ - 1, - 2, - 0, - 3 - ], - [ - 3, - 0, - 1, - 2 - ], - [ - 1, - 3, - 0, - 2 - ], - [ - 0, - 1, - 2, - 3 - ], - [ - 1, - 2, - 0, - 3 - ], - [ - 2, - 1, - 3, - 0 - ], - [ - 3, - 1, - 2, - 0 - ], - [ - 1, - 3, - 2, - 0 - ], - [ - 3, - 2, - 0, - 1 - ], - [ - 2, - 0, - 1, - 3 - ], - [ - 2, - 1, - 0, - 3 - ], - [ - 0, - 3, - 2, - 1 - ], - [ - 2, - 3, - 0, - 1 - ], - [ - 3, - 0, - 2, - 1 - ], - [ - 2, - 3, - 0, - 1 - ], - [ - 0, - 1, - 3, - 2 - ], - [ - 3, - 2, - 0, - 1 - ], - [ - 2, - 0, - 3, - 1 - ], - [ - 2, - 3, - 1, - 0 - ], - [ - 0, - 1, - 2, - 3 - ], - [ - 0, - 3, - 2, - 1 - ], - [ - 1, - 3, - 2, - 0 - ], - [ - 3, - 0, - 2, - 1 - ], - [ - 1, - 0, - 3, - 2 - ], - [ - 3, - 1, - 0, - 2 - ], - [ - 2, - 3, - 0, - 1 - ], - [ - 3, - 2, - 0, - 1 - ], - [ - 0, - 2, - 1, - 3 - ], - [ - 0, - 2, - 1, - 3 - ], - [ - 3, - 2, - 0, - 1 - ], - [ - 1, - 3, - 0, - 2 - ], - [ - 3, - 0, - 2, - 1 - ], - [ - 3, - 2, - 1, - 0 - ], - [ - 3, - 0, - 2, - 1 - ], - [ - 3, - 1, - 2, - 0 - ], - [ - 2, - 1, - 3, - 0 - ], - [ - 2, - 3, - 1, - 0 - ], - [ - 1, - 3, - 2, - 0 - ], - [ - 2, - 3, - 0, - 1 - ], - [ - 1, - 3, - 0, - 2 - ], - [ - 1, - 0, - 3, - 2 - ], - [ - 1, - 3, - 2, - 0 - ], - [ - 2, - 3, - 1, - 0 - ], - [ - 0, - 2, - 3, - 1 - ], - [ - 2, - 1, - 0, - 3 - ], - [ - 0, - 2, - 1, - 3 - ], - [ - 3, - 0, - 2, - 1 - ], - [ - 3, - 1, - 0, - 2 - ], - [ - 0, - 3, - 1, - 2 - ], - [ - 0, - 2, - 1, - 3 - ], - [ - 2, - 0, - 3, - 1 - ], - [ - 1, - 3, - 0, - 2 - ], - [ - 3, - 0, - 1, - 2 - ], - [ - 3, - 2, - 0, - 1 - ], - [ - 1, - 3, - 2, - 0 - ], - [ - 0, - 1, - 2, - 3 - ], - [ - 0, - 3, - 1, - 2 - ], - [ - 3, - 2, - 1, - 0 - ], - [ - 2, - 3, - 0, - 1 - ] - ], - "clientShuffleEphemeralMediumA": [ - [ - 3, - 0, - 2, - 1 - ], - [ - 0, - 3, - 1, - 2 - ], - [ - 2, - 0, - 1, - 3 - ], - [ - 2, - 3, - 1, - 0 - ], - [ - 3, - 2, - 0, - 1 - ], - [ - 2, - 3, - 0, - 1 - ], - [ - 2, - 3, - 0, - 1 - ], - [ - 1, - 0, - 2, - 3 - ], - [ - 0, - 1, - 3, - 2 - ], - [ - 2, - 1, - 0, - 3 - ] - ] - } -} \ No newline at end of file diff --git a/utils_test.ipynb b/utils_test.ipynb deleted file mode 100644 index 9b6216c..0000000 --- a/utils_test.ipynb +++ /dev/null @@ -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 -}