From 957d4a4953bfddc4087b834c1675334f45467be4 Mon Sep 17 00:00:00 2001 From: Donovan Date: Wed, 3 Jul 2024 13:04:31 -0500 Subject: [PATCH] Refactor AlphabetKet to SubstitutionKey --- darc_tutorial.ipynb | 117 +++++++++++++++++++++++--------------------- 1 file changed, 62 insertions(+), 55 deletions(-) diff --git a/darc_tutorial.ipynb b/darc_tutorial.ipynb index ecb5c58..96d31e1 100644 --- a/darc_tutorial.ipynb +++ b/darc_tutorial.ipynb @@ -2,24 +2,24 @@ "cells": [ { "cell_type": "code", - "execution_count": 718, + "execution_count": 3, "outputs": [], "source": [ "from src.key_generation import generate_keys\n", - "from src.models import AlphabetKey, OuterKey, Mask\n", + "from src.models import SubstitutionKey, OuterKey, Mask\n", "from src.server_darc import resolve_message" ], "metadata": { "collapsed": false, "ExecuteTime": { - "end_time": "2024-07-03T14:42:19.329136Z", - "start_time": "2024-07-03T14:42:19.325881Z" + "end_time": "2024-07-03T15:44:47.863976Z", + "start_time": "2024-07-03T15:44:47.828314Z" } } }, { "cell_type": "code", - "execution_count": 705, + "execution_count": 4, "outputs": [], "source": [ "def create_random_message(message_len, height):\n", @@ -29,14 +29,14 @@ "metadata": { "collapsed": false, "ExecuteTime": { - "end_time": "2024-07-03T00:47:13.503333Z", - "start_time": "2024-07-03T00:47:13.499467Z" + "end_time": "2024-07-03T15:44:47.864152Z", + "start_time": "2024-07-03T15:44:47.831989Z" } } }, { "cell_type": "code", - "execution_count": 706, + "execution_count": 5, "outputs": [], "source": [ "height = 70\n", @@ -47,31 +47,31 @@ "metadata": { "collapsed": false, "ExecuteTime": { - "end_time": "2024-07-03T00:47:13.505703Z", - "start_time": "2024-07-03T00:47:13.503057Z" + "end_time": "2024-07-03T15:44:47.864191Z", + "start_time": "2024-07-03T15:44:47.834823Z" } } }, { "cell_type": "code", - "execution_count": 707, + "execution_count": 6, "outputs": [], "source": [ "server_keys, mutual_keys, client_keys = generate_keys(height, width)\n", - "alphabet = AlphabetKey.init_matrix(width, height, 255)\n", - "medium = AlphabetKey(matrix=[[0 for _ in range(width)] for _ in range(height)])" + "alphabet = SubstitutionKey.init_matrix(width, height, 255)\n", + "medium = SubstitutionKey(matrix=[[0 for _ in range(width)] for _ in range(height)])" ], "metadata": { "collapsed": false, "ExecuteTime": { - "end_time": "2024-07-03T00:47:13.536496Z", - "start_time": "2024-07-03T00:47:13.506896Z" + "end_time": "2024-07-03T15:44:47.870926Z", + "start_time": "2024-07-03T15:44:47.838679Z" } } }, { "cell_type": "code", - "execution_count": 708, + "execution_count": 7, "outputs": [], "source": [ "sdi1 = server_keys.persistent.data.inner_key_1 << server_keys.ephemeral.data.inner_key_1\n", @@ -115,14 +115,14 @@ "metadata": { "collapsed": false, "ExecuteTime": { - "end_time": "2024-07-03T00:47:13.541138Z", - "start_time": "2024-07-03T00:47:13.539201Z" + "end_time": "2024-07-03T15:44:47.913517Z", + "start_time": "2024-07-03T15:44:47.870246Z" } } }, { "cell_type": "code", - "execution_count": 709, + "execution_count": 8, "outputs": [], "source": [ "cdo1_cdo2 = cdo1 << cdo2\n", @@ -133,14 +133,14 @@ "metadata": { "collapsed": false, "ExecuteTime": { - "end_time": "2024-07-03T00:47:13.553403Z", - "start_time": "2024-07-03T00:47:13.541940Z" + "end_time": "2024-07-03T15:44:47.913738Z", + "start_time": "2024-07-03T15:44:47.873170Z" } } }, { "cell_type": "code", - "execution_count": 710, + "execution_count": 9, "outputs": [], "source": [ "m_func_1 = lambda x: (x < mdo1) << (mdi1 < mdo2)\n", @@ -152,14 +152,14 @@ "metadata": { "collapsed": false, "ExecuteTime": { - "end_time": "2024-07-03T00:47:13.553530Z", - "start_time": "2024-07-03T00:47:13.544750Z" + "end_time": "2024-07-03T15:44:47.913781Z", + "start_time": "2024-07-03T15:44:47.875550Z" } } }, { "cell_type": "code", - "execution_count": 711, + "execution_count": 10, "outputs": [], "source": [ "medium_phase1 = medium ^ m_func_2(spma ^ sema)\n", @@ -180,14 +180,14 @@ "metadata": { "collapsed": false, "ExecuteTime": { - "end_time": "2024-07-03T00:47:13.569014Z", - "start_time": "2024-07-03T00:47:13.553586Z" + "end_time": "2024-07-03T15:44:47.913820Z", + "start_time": "2024-07-03T15:44:47.884399Z" } } }, { "cell_type": "code", - "execution_count": 712, + "execution_count": 11, "outputs": [], "source": [ "translated_alphabet = (\n", @@ -218,14 +218,14 @@ "metadata": { "collapsed": false, "ExecuteTime": { - "end_time": "2024-07-03T00:47:13.574463Z", - "start_time": "2024-07-03T00:47:13.568318Z" + "end_time": "2024-07-03T15:44:47.917104Z", + "start_time": "2024-07-03T15:44:47.899159Z" } } }, { "cell_type": "code", - "execution_count": 713, + "execution_count": 12, "outputs": [], "source": [ "eof_msg_mask = Mask.init_matrix(width, height, message_len)\n", @@ -244,14 +244,14 @@ "metadata": { "collapsed": false, "ExecuteTime": { - "end_time": "2024-07-03T00:47:13.604020Z", - "start_time": "2024-07-03T00:47:13.571898Z" + "end_time": "2024-07-03T15:44:47.917166Z", + "start_time": "2024-07-03T15:44:47.902305Z" } } }, { "cell_type": "code", - "execution_count": 714, + "execution_count": 13, "outputs": [], "source": [ "unwrapped_medium = (\n", @@ -262,22 +262,29 @@ "metadata": { "collapsed": false, "ExecuteTime": { - "end_time": "2024-07-03T00:47:13.604168Z", - "start_time": "2024-07-03T00:47:13.581481Z" + "end_time": "2024-07-03T15:44:47.917330Z", + "start_time": "2024-07-03T15:44:47.911658Z" } } }, { "cell_type": "code", - "execution_count": 715, + "execution_count": 14, "outputs": [], "source": [ - "darc_message = (\n", + "darc_message = ((\n", " (\n", " (medium_phase3 < ~cmo1_cmo2) ^\n", " ((((alphabet_phase3 < ~cdo1_cdo2) < padded_input_sequence) ^ eof_msg_mask) << (mmi3 < nmmo6_nmmo4))\n", " ) < mmo4\n", - " ) << (mmi4 < (mmo5 << ~mmo6)) < ~mmo4\n", + " ) << (mmi4 < (mmo5 << ~mmo6))) < ~mmo4\n", + "\n", + "darc_message = ((\n", + " (\n", + " (medium_phase3 < ~cmo1_cmo2) ^\n", + " ((((alphabet_phase3 < ~cdo1_cdo2) < padded_input_sequence) ^ eof_msg_mask) << (mmi3 < nmmo6_nmmo4))\n", + " )\n", + " ) << (mmi4 < (mmo5 << ~mmo6 << ~mmo4)))\n", "\n", "unwrapped_medium = (\n", " (darc_message << ~(mmi4 < (mmo5 << nmmo6_nmmo4))) ^\n", @@ -287,14 +294,14 @@ "metadata": { "collapsed": false, "ExecuteTime": { - "end_time": "2024-07-03T00:47:13.604250Z", - "start_time": "2024-07-03T00:47:13.589989Z" + "end_time": "2024-07-03T15:44:47.929257Z", + "start_time": "2024-07-03T15:44:47.914223Z" } } }, { "cell_type": "code", - "execution_count": 716, + "execution_count": 15, "outputs": [], "source": [ "orignal_message = resolve_message(translated_alphabet, unwrapped_medium)" @@ -302,20 +309,20 @@ "metadata": { "collapsed": false, "ExecuteTime": { - "end_time": "2024-07-03T00:47:13.608055Z", - "start_time": "2024-07-03T00:47:13.593458Z" + "end_time": "2024-07-03T15:44:47.929422Z", + "start_time": "2024-07-03T15:44:47.927326Z" } } }, { "cell_type": "code", - "execution_count": 717, + "execution_count": 16, "outputs": [ { "data": { - "text/plain": "False" + "text/plain": "True" }, - "execution_count": 717, + "execution_count": 16, "metadata": {}, "output_type": "execute_result" } @@ -326,34 +333,34 @@ "metadata": { "collapsed": false, "ExecuteTime": { - "end_time": "2024-07-03T00:47:13.608198Z", - "start_time": "2024-07-03T00:47:13.597454Z" + "end_time": "2024-07-03T15:44:47.945605Z", + "start_time": "2024-07-03T15:44:47.932864Z" } } }, { "cell_type": "code", - "execution_count": 717, + "execution_count": 16, "outputs": [], "source": [], "metadata": { "collapsed": false, "ExecuteTime": { - "end_time": "2024-07-03T00:47:13.608236Z", - "start_time": "2024-07-03T00:47:13.600039Z" + "end_time": "2024-07-03T15:44:47.945779Z", + "start_time": "2024-07-03T15:44:47.935609Z" } } }, { "cell_type": "code", - "execution_count": 717, + "execution_count": 16, "outputs": [], "source": [], "metadata": { "collapsed": false, "ExecuteTime": { - "end_time": "2024-07-03T00:47:13.608276Z", - "start_time": "2024-07-03T00:47:13.601932Z" + "end_time": "2024-07-03T15:44:47.965022Z", + "start_time": "2024-07-03T15:44:47.937832Z" } } }