{ "nbformat": 4, "nbformat_minor": 0, "metadata": { "colab": { "provenance": [] }, "kernelspec": { "name": "python3", "display_name": "Python 3" }, "language_info": { "name": "python" } }, "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 1000 }, "id": "F_Xa8rkzH9dG", "outputId": "ac2a16c5-4920-4b8b-9ba4-17983ebddfca" }, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "\n", " ╔════════════════════════════════════════════╗\n", " ║ KAORU-RSA: SIMPLE SCALING TEST ║\n", " ╚════════════════════════════════════════════╝\n", " \n", "============================================================\n", " KAORU O(1) READOUT TEST: 1 to 256 bits\n", "============================================================\n", "\n", " Bits Readout (ns) Status\n", "----------------------------------------\n", " 1 228 ns ✓\n", " 2 135 ns ✓\n", " 4 132 ns ✓\n", " 8 135 ns ✓\n", " 16 138 ns ✓\n", " 32 140 ns ✓\n", " 64 212 ns ✓\n", " 128 225 ns ✓\n", " 256 216 ns ✓\n", "----------------------------------------\n", "\n", " Mean: 173 ns\n", " StdDev: 42 ns\n", " Min: 132 ns\n", " Max: 228 ns\n", "\n", " Bits: 1 → 256 (×256)\n", " Time: ×1.7\n", "\n", " ★ O(1) CONFIRMED! ★\n", "\n", "============================================================\n", " TEST CON REGISTROS GRANDES\n", "============================================================\n", "\n", " Size Readout (ns)\n", "-----------------------------------\n", " 1,000 204 ns\n", " 10,000 204 ns\n", " 100,000 244 ns\n", " 1,000,000 241 ns\n", "-----------------------------------\n", " Size ×1,000, Time ×1.2\n", "\n", "============================================================\n", " FACTORIZATION TEST\n", "============================================================\n", "\n", " N Bits Factors Readout\n", "-------------------------------------------------------\n", " 15 4 3×5 1554ns ✓\n", " 77 7 7×11 914ns ✓\n", " 143 8 11×13 372ns ✓\n", " 437 9 19×23 270ns ✓\n", " 1,591 11 37×43 251ns ✓\n", " 10,403 14 101×103 258ns ✓\n", " 25,217 15 151×167 303ns ✓\n", " 41,989 16 199×211 244ns ✓\n", " 95,477 17 307×311 284ns ✓\n", " 410,881 19 641×641 383ns ✓\n", " 1,022,117 20 1009×1013 456ns ✓\n" ] }, { "output_type": "display_data", "data": { "text/plain": [ "
" ], "image/png": "iVBORw0KGgoAAAANSUhEUgAABdEAAAHvCAYAAAC7apbEAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAA5BpJREFUeJzs3XdcE/cbB/BPwgjIlCWigIjWverEAVgtw1UV61Ycra2CraNqHVVRq3W0autsq7i11bq17tmKC7XWURQFN4IDEJCZ+/3Bj5OQBAIESPTz5pXXK3f33PeeyyV3x5PL9ySCIAggIiIiIiIiIiIiIiIl0rJOgIiIiIiIiIiIiIhIV7GITkRERERERERERESkBovoRERERERERERERERqsIhORERERERERERERKQGi+hERERERERERERERGqwiE5EREREREREREREpAaL6EREREREREREREREarCITkRERERERERERESkBovoRERERERERERERERqsIhORERERFQGevfuDYlEAolEggsXLhS7vaCgILG9AwcOaCFD/bJmzRpx/SUSSVmnQ0RERERvERbRiYiI6J1x4sQJhSLbmjVrFKa/fPkSzZo1E6dLpVIsX75cZVt169ZVaKtixYrIzMwsMIc7d+5g3LhxaNy4MWxsbGBsbAw7Ozu0bNkS06dPx9OnT1XON336dIXl5TyMjY3h4OAALy8vLF68GKmpqQXOGx0drRRTpUoVcbq3t3eB65Gbt7e3ytxMTEzg4uKCjz76CDt27FA7/8OHDzFq1CjUqVMHZmZmkMlkcHR0RL169dCrVy/MmTMHL1++VDv/tm3blJa9ZMmSQq1DYb1+/RorVqyAv78/nJycIJPJYGlpiRo1amDIkCH466+/8p3/0qVL+P333wFkv35NmzZVmL5161Z8/vnnaNKkCWQymUbF4TFjxsDAwAAAMGnSJAiCUKh1UrUNpVIpzMzMUKNGDQwePBiXL18uVJvvqvz2M/lR91nK71GY9osi735T1f6DiIiI6G3HIjoRERERgLi4OLRt21a8IlgqlWLVqlUYPny4UuyFCxdw/fp1hXExMTEFXv373XffoUaNGliwYAEuXbqEly9fIiMjA8+fP0dYWBhCQkJQtWpVbNiwQeO8MzIyEBcXh1OnTmHUqFHw9fVFVlaWxvOXpLS0NDx48AC7d+9G9+7d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+++/xc+HkZERjh07hkGDBsHW1hYymQx169bFzz//nG9XQW5ubjh79ix69uwJa2trmJqawsPDA3v27Mm3Wx5HR0dcuHAB33//PTw8PMTPnr29Pfz8/LBlyxZs27ZNqb/+X3/9FV999ZXYDc97772HefPmYdeuXfm+Vt9++y2+/PJLVK5cWewPvyRIpVKsW7cO+/btQ0BAACpXrgxjY2PIZDK4urqic+fOWLRokUK3Q0OHDsWECRPg6ekJZ2dnmJiYwNjYGM7Ozvj4449x8uRJdO3aVWE527dvR7du3WBjY6P2XhBEREREbzOJIOTqAJOIiIiIiEpcx44dxW5Jdu/ejc6dO2ul3Y8++gi7d+8GkH3jU0361SciIiIiovyxiE5EREREVMouXryIZs2aQRAEtGvXDkeOHCl2m3fu3EGNGjWQlZWFhg0b4tKlS7xqmIiIiIhIC9idCxERERFRKWvSpAk+/vhjAMDRo0cVbgZaVD/88IN4w9U5c+awgE5EREREpCW8Ep2IiIiIiIiIiIiISA1eiU5EREREREREREREpAaL6EREREREREREREREarCITkRERERERERERESkBovoRERERERERERERERqsIhORERERERERERERKQGi+hERERERERERERERGqwiE5EREREREREREREpAaL6EREREREREREREREarCITkRERERERERERESkBovoRERERERERERERERqsIhORERERERERERERKQGi+hERERERERERERERGqwiE5EREREREREREREpAaL6EREREREREREREREarCITkRERERERERERESkBovoRERERERERERERERqsIhORERERERERERERKQGi+hERERERERERERERGqwiE5EREREREREREREpAaL6EREREREREREREREarCITkRlIjo6GhKJBAsWLCgwdvr06ZBIJKWQFRERkX7z9vaGt7d3WaehNXK5HHXr1sW3335b1qmUiBYtWmD8+PFlnQYREWlo0KBBqFKlyjuzXF0lkUgwffr0sk6D3jEsohPpgaSkJEybNg1+fn6wsbGBRCLBmjVrNJ4/JSUFS5cuhY+PDypWrAgLCws0atQIy5cvR1ZWlkJsTnFb1WPLli1KbcvlcixfvhwNGzaEqakpbG1t8cEHH+Cff/4p7mrna/bs2di5c2eJLoOIiEremjVr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iIiIiIiI3mEJCQmQSCSwtrYGAISFhcHa2losoANA+/btIZVKce7cOXTr1g1hYWHw9PSEca5u63x9fTF37ly8fPkS5cuXV7mstLQ0pOW6R1NiYiKA7P5t5fndn0sDcrkcgiAUu52yoM+5A/qdvz7nDuh3/vqcO6Df+etz7oB289e0DRbRiYiIiIiIiN5RqampmDBhAvr06SPeUC0mJgYODg4KcYaGhrCxsUFMTIwY4+bmphBToUIFcZq6IvqcOXMQEhKiND4uLg6pqanFWhe5XI6EhAQIgqB3N8rT59wB/c5fn3MH9Dt/fc4d0O/89Tl3QLv5v3r1SqM4FtGJiIiIiIiI3kEZGRno2bMnBEHA8uXLS2WZEydOxJgxY8ThxMREODs7w97eXiziF5VcLodEIoG9vb3eFYX0OXdAv/PX59wB/c5fn3MH9Dt/fc4d0G7+JiYmGsWxiE5ERERERET0jskpoN+7dw/Hjh1TKGA7OjoiNjZWIT4zMxMvXryAo6OjGPP06VOFmJzhnBhVZDIZZDKZ0nipVKqVQo5EItFaW6VNn3MH9Dt/fc4d0O/89Tl3QL/z1+fcAe3lr+n8+vkqEREREREREVGR5BTQb9++jSNHjsDW1lZhuoeHB+Lj4xEeHi6OO3bsGORyOZo3by7GnDp1ChkZGWLM4cOHUaNGDbVduRAREekrFtGJiIiIiIiI3iJJSUm4cuUKrly5AgCIiorClStXcP/+fWRkZKBHjx64ePEiNm7ciKysLMTExCAmJgbp6ekAgFq1asHPzw+ffvopzp8/j7///hvBwcHo3bs3nJycAAB9+/aFsbExhg4diuvXr+O3337D4sWLFbpqISIieluwOxciIiIiIiKit8jFixfRtm1bcTinsB0YGIjp06dj9+7dAICGDRsqzHf8+HF4e3sDADZu3Ijg4GC0a9cOUqkUAQEB+PHHH8VYKysrHDp0CEFBQWjcuDHs7OwwdepUDBs2rGRXjoiIqAywiE5ERERERET0FvH29oYgCGqn5zcth42NDTZt2pRvTP369XH69OlC50dERKRv2J0LEREREREREREREZEaLKITEREREREREREREanBIjoRERERERERERERkRosohMRERERERERERERqcEiOhERERERERERERGRGiyiExERERERERERERGpwSI6EREREREREREREZEaLKITEREREREREREREanBIjoRERERERERERERkRosohMRERERERERERERqcEiOhERERERERERERGRGiyiExERERERERERERGpwSI6EREREREREREREZEaLKITEREREREREREREanBIjoRERERERERERERkRosohMRERERERERERERqcEiOhERERERERERERGRGiyiExERERERERERERGpwSI6EREREREREREREZEaZVpEP3XqFDp37gwnJydIJBLs3LlTYfqgQYMgkUgUHn5+fgoxL168QL9+/WBpaQlra2sMHToUSUlJpbgWRERERERERERERPS2KtMienJyMho0aIClS5eqjfHz88OTJ0/Ex+bNmxWm9+vXD9evX8fhw4exd+9enDp1CsOGDSvp1ImIiIiIiIiIiIjoHWBYlgv39/eHv79/vjEymQyOjo4qp928eRMHDhzAhQsX0KRJEwDATz/9hA4dOmDBggVwcnLSes5ERERERERERERE9O4o0yK6Jk6cOAEHBweUL18eH3zwAWbNmgVbW1sAQFhYGKytrcUCOgC0b98eUqkU586dQ7du3VS2mZaWhrS0NHE4MTERACCXyyGXy4udswSSYs+f81cc2lgXTZYhCEKpLKu49ClXQL/yZa6q6cq+ACh4f6CNZZTWvkufci3tdoiIiIiIiIhI+3S6iO7n54fu3bvDzc0Nd+7cwaRJk+Dv74+wsDAYGBggJiYGDg4OCvMYGhrCxsYGMTExatudM2cOQkJClMbHxcUhNTW12Hk7GzgXuw07qR0ECMVqIzY2tth5FEQulyMhIQGCIEAq1e371OpTroB+5ctcVdOVfQFQ8P5AG7kCpbPv0qdcNfXq1SuttENERERERERE2qfTRfTevXuLz+vVq4f69evD3d0dJ06cQLt27Yrc7sSJEzFmzBhxODExEc7OzrC3t4elpWWxcgaAB1kPijV/ztWRD7MeFqvAk/cLhpIgl8shkUhgb2+vF8VTfckV0K98matqurIvAAreHxQ3V6D09l36lKumTExMtNIOEREREREREWmfThfR86patSrs7OwQGRmJdu3awdHRUekqwMzMTLx48UJtP+pAdj/rMplMabxUKtVKUU0bV40Kuf6KqrSKmRKJRGuvXUnTp1wB/cqXuSrTlX0BUPD+QBu55rRT0vsufcq1tNshIiIiIiIiIu3Tq//a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XntNx48f1/HjxzVp0iQ1btxY27dvd3VGAADgIvThAAB4L/ppuEqThCZK+TVFPSb3UPhljkMBhV8Wrh6TeyjltxQK6ABQSuW6En3kyJG69dZb9eabb8rXN38Xubm5euCBBzRixAht2LDBpSEBAIBr0IcDAOC96KfhSoFhgYobHqeOwzrq3PFzOn/qvPxr+SsoIohJRAGgjMpVRN+2bZtDpy5Jvr6+Gj16tNq3b++ycAAAwLXowwEA8F7003AHi8Wi4MhgBUcGezoKAJhWuYZzCQkJ0YEDBwotP3jwoGrVqlXhUAAAwD3owwEA8F700wAAeKdyFdH79eunwYMH69///rcOHjyogwcPauHChXrggQd01113uTojAABwEfpwAAC8F/00AADeqVzDubzyyiuyWCwaMGCAcnNzJUl+fn76xz/+oRdffNGlAQEAgOvQhwMA4L3opwEA8E7lKqL7+/trypQpmjBhgvbt2ydJaty4sYKDGV8LAABvRh8OAID3op8GAMA7lauIXiA4OFgtW7Z0VRYAAFBJ6MMBAPBe9NMAAHiXUhfR+/TpU+qdLl68uFxhAACA69GHAwDgveinAQDwfqWeWDQ0NNT+ExISotWrV2vbtm329ampqVq9erVCQ0PdEhQAAJQPfTgAAN6LfhoAAO9X6ivR58yZY///o48+qr59+2rmzJny8fGRJOXl5emf//ynQkJCXJ8SAACUG304AADei34aAADvV+or0S/0zjvv6JFHHrF36pLk4+OjlJQUvfPOOy4LBwAAXIs+HAAA70U/DQCAdypXET03N1fff/99oeXff/+9bDZbhUMBAAD3oA8HAMB70U8DAOCdSj2cy4UGDRqkwYMHa9++ferYsaMkafPmzXrxxRc1aNAglwYEAACuQx8OAID3op8GAMA7lauI/sorrygmJkavvvqqDh8+LEmqW7euRo0apYcfftilAQEAgOvQhwMA4L3opwEA8E7lKqJbrVaNHj1ao0ePVmZmpiQxyQkAACZAHw4AgPeinwYAwDuVq4h+ITp0AADMiT4cAADvRT8NAID3KHcR/cMPP9SiRYt04MABnT9/3mHd9u3bKxwMAAC4B304AADeqzL66by8PI0dO1bvvvuu0tPTFRsbq/vuu09PPvmkLBaLJMkwDD3zzDN68803lZGRoc6dO2vGjBm6/PLL7fs5fvy4hg0b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q1atPB2lSC+99JJmzJih119/Xbt379ZLL72kiRMnatq0aZ6OJqnk5+i+fft07bXXqlmzZlq3bp2++eYbPfXUUwoMDKzUnJdeeqlefPFFpaamatu2bbrxxht12223adeuXTp06JAOHTqkV155RTt37tTcuXO1fPlyDR48uFIzXujEiRPq3Lmz/Pz89Nlnn+m7777Tq6++qvDw8EJtlyxZok2bNik2NrZSshV3zM+ePavt27frqaee0vbt27V48WLt2bNHt956q0O7m2++Wbm5uVqzZo1SU1PVunVr3XzzzUpPT3dp1tK+Lj344IM6fPiw/efik/dJkybpiSee0GOPPaZdu3Zp1apVSkhIcGlWoDhlfT/wzDPP6PHHH9f//d//qX///m5OV/WV9PhPnDhRU6dO1cyZM7V582bVqFFDCQkJysrKKrL92bNndeutt2rr1q364osvdNVVV7kzvum54vFPSkrSrl27tHLlSi1dulQbNmzQkCFDnN5mwfuXBg0aaMWKFQoNDXX5/TKDynjsMzMz1b17dzVo0ECpqal6+eWXNXbsWM2ePdtprmXLlikhIUEpKSmaPHmyLBaL6+40qhxvP98rSlnOBbyNt5+/XszVfXxlc8W5maeU9v1tZZ/vlpZZaiFFKSl7SkqKli9frnfffVe7d+/WiBEjlJycrE8++aSSkxZWmnP8kSNH6tNPP9UHH3yg9evX69ChQ+rTp497AhnwSpKMJUuWeDpGqR09etSQZKxfv97TUZw6deqUcfnllxsrV640rrvuOuOhhx7ydKRCevXqZdx///0Oy/r06WMkJSV5KJFzRT1H+/XrZ9xzzz2eCVSC8PBw46233ipy3aJFiwx/f38jJyenklPle/TRR41rr722xHa//vqrcckllxg7d+40GjRoYLz22mvuD3eB0rwubdmyxZBk/PLLL4ZhGMaxY8cMScaGDRvsbTIzMw1JxsqVK90Zt8jXpZL+9o8fP24EBQUZq1atcms2oLSK+rsreB7bbDYjOTnZCAsLM7788kvPBKziLn78bTabERMTY7z88sv2ZRkZGUZAQIDx/vvvF9ruxIkTxjXXXGO0atXKOHz4cGVGrxLK8/h/9913hiRj69at9jafffaZYbFYjN9++80wDMNYu3atIck4ceKEsWPHDiMmJsa4++67PfY+wBu567F/4403jPDwcCM7O9ve5tFHHzWaNm1q//2ZZ54xWrdubRiGYbz33nuGv7+/MW3aNHfcTVQxZjjfK0ppzwW8kZnOXy9W3j7eW5Tn3MxbOMvu6fPd0jJbLeRCRWW/8sorjfHjxzssu/rqq40nnniiEpOVzsXn+BkZGYafn5/xwQcf2Nvs3r3bkGRs3LjR5bfPlehwiYKvvUZERHg4iXNDhw5Vr1691K1bN09Hceqaa67R6tWr9cMPP0iSduzYoS+++EI9e/b0cLKS2Ww2LVu2TFdccYUSEhIUFRWluLg4jw9LlJeXp4ULF+rMmTOKj48vss3JkycVEhIiX1/fSk6X75NPPlH79u115513KioqSm3bttWbb77p0MZms+nee+/VqFGjdOWVV3okZ2mcPHlSFotFYWFhkqTIyEg1bdpU8+fP15kzZ5Sbm6tZs2YpKipK7dq1c3sWqfDr0nvvvafatWvrqquu0pgxY3T27Fn7upUrV8pms+m3335T8+bNdemll6pv3746ePCgW7MCZZWbm6t77rlHH374odavX69rrrnG05Gqhf379ys9Pd3hvURoaKji4uK0ceNGh7bp6em67rrrJOVfRRMTE1OpWaui0jz+GzduVFhYmNq3b29v061bN1mtVm3evNlhf1999ZWuu+46JSYm6t133/XY+wAzcNVjv3HjRnXp0kX+/v72NgkJCdqzZ49OnDjhcJvTp0/XoEGD9M477yg5Odmddw9VhBnO94pSmnMBb2Xm89eLlaWPN4uLz828mVnOd4virbWQ0rrmmmv0ySef6LfffpNhGFq7dq1++OEHde/e3dPRCrn4HD81NVU5OTkOf7fNmjVT/fr13fJ3yztFVJjNZtOIESPUuXNnr/2K8sKFC7V9+3Zt3brV01GK9dhjjykzM1PNmjWTj4+P8vLy9PzzzyspKcnT0Up09OhRnT59Wi+++KKee+45vfTSS1q+fLn69OmjtWvX2gsJleXbb79VfHy8srKyVLNmTS1ZskQtWrQo1O7333/Xs88+W+zXvN3tp59+0owZM5SSkqLHH39cW7du1fDhw+Xv76+BAwdKyv+qpK+vr4YPH+6xnCXJysrSo48+qrvuukshISGS8scFXrVqlXr37q1atWrJarUqKipKy5cvd+tXVJ29Lt19991q0KCBYmNj9c033+jRRx/Vnj17tHjxYkn5x8Jms+mFF17QlClTFBoaqieffFJ//etf9c033zic9AOeVHByvWPHDjVr1szDaaqPgmGooqOjHZZHR0cXGqLqoYce0mWXXaaVK1cqODi40jJWZaV5/NPT0xUVFeWw3tfXVxEREYWO0e23365+/frp9ddfd2PqqsFVj316eroaNWpUaB8F6wreG+zevVvJycl6++23TfE+GJ5nlvO9opTmXMBbmfn89WJl6ePNoKhzM29mhvNdZ7ytFlJW06ZN05AhQ3TppZfK19dXVqtVb775prp06eLpaA6KOsdPT0+Xv79/oQ+K3PV3SxEdFTZ06FDt3LlTX3zxhaejFOngwYN66KGHtHLlSq8Yj6o4ixYt0nvvvacFCxboyiuvVFpamkaMGKHY2FivfwNls9kkSbfddptGjhwpSWrTpo2++uorzZw5s9I7jqZNmyotLU0nT57Uhx9+qIEDB2r9+vUOhfTMzEz16tVLLVq00NixYys134VsNpvat2+vF154QZLUtm1b7dy5UzNnztTAgQOVmpqqKVOmaPv27V47DmhOTo769u0rwzA0Y8YM+3LDMDR06FBFRUXp888/V1BQkN566y3dcsst2rp1q+rWreuWPM5ely78sKRly5aqW7euunbtqn379qlx48ay2WzKycnR1KlT7Z+8v//++4qJidHatWsZGx1e49prr1VaWpqeeuopvf/++1xB64Vuvvlmffzxx5o1a5a9X4R3ue2227RkyRJ9/vnn+stf/uLpOLjApZdeqrCwML388svq2bOn294voGow0/leUUo6F/BmZj5/rcqcnZt5KzOc7xbH22ohZTVt2jRt2rRJn3zyiRo0aKANGzZo6NChio2N9apv9nhD7ZHhXFAhycnJWrp0qdauXatLL73U03GKlJqaqqNHj+rqq6+Wr6+vfH19tX79ek2dOlW+vr7Ky8vzdES7UaNG6bHHHlP//v3VsmVL3XvvvRo5cqQmTJjg6Wglql27tnx9fQtd7d28eXOPzEjt7++vJk2aqF27dpowYYJat26tKVOm2NefOnVKPXr0UK1atbRkyRL5+flVesYCdevWLfZx+/zzz3X06FHVr1/f/hz+5Zdf9PDDD6thw4YeSOyo4E3aL7/8opUrVzpc6bBmzRotXbpUCxcuVOfOnXX11VfrjTfeUFBQkObNm+eWPGV5XYqLi5Mk7d27V5LsJ+kXHo86deqodu3aXjGzOlCgZcuWWr16tdauXat+/fopNzfX05GqhYIhWY4cOeKw/MiRI4WGa7n33nv1zjvv6JFHHtGkSZMqLWNVVprHPyYmRkePHnVYn5ubq+PHjxc6RrNmzVL//v3Vs2dPbdiwwY3Jzc9Vj31MTEyR+7jwNiSpVq1aWrVqlWrUqKEbbrhBhw8fdu0dQpVipvO9opR0LuDNzHz+erGy9PHerLhzM2/l7ee7JfG2WkhZnDt3To8//rgmTZqkW265Ra1atVJycrL69eunV155xdPx7Jyd48fExOj8+fPKyMhwaO+uv1uK6CgXwzCUnJysJUuWaM2aNYW+lulNunbtqm+//VZpaWn2n/bt2yspKUlpaWny8fHxdES7s2fPymp1/LP08fGxf7Lpzfz9/dWhQwft2bPHYfkPP/ygBg0aeCjVn2w2m7KzsyXlX4HevXt3+fv765NPPvH4FSudO3cu9nG799579c033zg8h2NjYzVq1CitWLHCE5HtCt6k/fjjj1q1apUiIyMd1heMN37x89pqtbr8eV2e16W0tDRJfxbPO3fuLEkOx+P48eP6/fffveJ5DFyoTZs2Wr16tTZs2KC+ffsqJyfH05GqvEaNGikmJkarV6+2L8vMzNTmzZuLnHdj4MCBmjt3rkaPHu1VJyJmVZrHPz4+XhkZGUpNTbW3WbNmjWw2m/2D0wIWi0WzZ89WUlKSbrrpJq1fv75y7ogJueqxj4+P14YNGxxer1auXKmmTZsWGuYtPDxcq1atUkhIiK6//nodOnTInXcRJmam872ilHQu4M3MfP56sbL28d6opHMzb+XN57ul4e21kOLk5OQoJyfHa/+OSzrHb9eunfz8/Bz+bvfs2aMDBw645e+W7/56kdOnT9uvhpTyJ7ZIS0tTRESE6tev78FkhQ0dOlQLFizQ//3f/6lWrVr2sYZCQ0MVFBTk4XSOatWqVWis9ho1aigyMtLrxnC/5ZZb9Pzzz6t+/fq68sor9fXXX2vSpEm6//77PR1NUsnP0VGjRqlfv37q0qWLbrjhBi1fvlyffvqp1q1bV6k5x4wZo549e6p+/fo6deqUFixYoHXr1mnFihX2AvrZs2f17rvvKjMzU5mZmZLyrzj2xJvskSNH6pprrtELL7ygvn37asuWLZo9e7Zmz54tKX9yzovfAPn5+SkmJkZNmzZ1a7bijnndunV1xx13aPv27Vq6dKny8vLsrwURERHy9/dXfHy8wsPDNXDgQD399NMKCgrSm2++qf3796tXr14uzVrS69K+ffu0YMEC3XTTTYqMjNQ333yjkSNHqkuXLmrVqpUk6YorrtBtt92mhx56SLNnz1ZISIjGjBmjZs2a6YYbbnBpXsCZsrwfaN26tdasWaOuXbuqb9++WrRokUe/WVMVlPT4jxgxQs8995wuv/xyNWrUSE899ZRiY2PVu3fvIvd37733ymq1auDAgTIMQ6NGjaqke2JOFX38mzdvrh49eujBBx/UzJkzlZOTo+TkZPXv31+xsbGFbs9isWjmzJny8fHRTTfdpGXLlun666+vpHvrXSrjsb/77rs1btw4DR48WI8++qh27typKVOm6LXXXisyU1hYmFauXKmEhARdf/31WrduXZHHEdWbmc73ilLSuYA38/bz14u5uo+vbBU9N/Okkh57T53vlpZZaiFFKSn7ddddp1GjRikoKEgNGjTQ+vXrNX/+fK/4JmVJ5/ihoaEaPHiwUlJSFBERoZCQEA0bNkzx8fHq1KmT6wMZ8Bpr1641JBX6GThwoKejFVJUTknGnDlzPB2tVK677jrjoYce8nSMQjIzM42HHnrIqF+/vhEYGGhcdtllxhNPPGFkZ2d7OpphGKV7jr799ttGkyZNjMDAQKN169bGxx9/XOk577//fqNBgwaGv7+/UadOHaNr167Gf//732LvgyRj//79lZ61wKeffmpcddVVRkBAgNGsWTNj9uzZxbZv0KCB8dprr7k9V3HHfP/+/U4fy7Vr19r3sXXrVqN79+5GRESEUatWLaNTp07Gf/7zH5dnLel16cCBA0aXLl2MiIgIIyAgwGjSpIkxatQo4+TJkw77OXnypHH//fcbYWFhRkREhHH77bcbBw4ccHlewJmSXmuL6sO+/fZbIyoqyrjtttu8ps8wq5Ief5vNZjz11FNGdHS0ERAQYHTt2tXYs2ePwz4kGUuWLHFYtmDBAsPHx8d48cUXK+memJMrHv///e9/xl133WXUrFnTCAkJMQYNGmScOnWq0G2cOHHCvsxmsxlDhw41goODjTVr1lTGXfU6lfHYG4Zh7Nixw7j22muNgIAA45JLLin0N/HMM88YrVu3dlh28uRJIz4+3mjSpInx66+/uvy+o+rx1vM9Z8p6LuAtvP389WKueJ3zJFecm3lj9qJU1vluaZmlFlKUkrIfPnzYuO+++4zY2FgjMDDQaNq0qfHqq68aNpvNs8GN0tUez507Z/zzn/80wsPDjeDgYOP22283Dh8+7JY8lj9CAQAAAAAAAACAizAmOgAAAAAAAAAATlBEBwAAAAAAAADACYroAAAAAAAAAAA4QREdAAAAAAAAAAAnKKIDAAAAAAAAAOAERXQAAAAAAAAAAJygiA4AAAAAAAAAgBMU0QEAAAAAAAAAcIIiOoBy+fnnn2WxWJSWlubpKAAAVFtz585VWFiYp2OU2tixY9WmTRtPxwAAAEVo2LChJk+e7OkYgFeiiA6gSPfdd58sFov9JzIyUj169NA333wjSapXr54OHz6sq666SpK0bt06WSwWZWRkeDA1AADe4cJ+1M/PT40aNdLo0aOVlZXl0tvp16+ffvjhh1K1rYyC+5IlS9SpUyeFhoaqVq1auvLKKzVixAj7+kceeUSrV692awYAACrbfffdp969e1f67Za2b587d67D+X3NmjXVrl07LV682KHd1q1bNWTIEPvvFotFH3/8sYtTA+ZEER2AUz169NDhw4d1+PBhrV69Wr6+vrr55pslST4+PoqJiZGvr6+HUwIA4J0K+tGffvpJr732mmbNmqVnnnnGpbcRFBSkqKgol+6zJHl5ebLZbIWWr169Wv369VNiYqK2bNmi1NRUPf/888rJybG3qVmzpiIjIyszLgAAkBQSEmI/v//666+VkJCgvn37as+ePfY2derUUXBwsAdTAt6LIjoApwICAhQTE6OYmBi1adNGjz32mA4ePKhjx445DOfy888/64YbbpAkhYeHy2Kx6L777pMkffjhh2rZsqWCgoIUGRmpbt266cyZMx68VwAAVI6CfrRevXrq3bu3unXrppUrV9rX22w2TZgwQY0aNVJQUJBat26tDz/80GEfn3zyiS6//HIFBgbqhhtu0Lx58xy++XXxFWg7duzQDTfcoFq1aikkJETt2rXTtm3btG7dOg0aNEgnT560X4U2duxYSVJ2drYeeeQRXXLJJapRo4bi4uK0bt06+z4LbuOTTz5RixYtFBAQoAMHDhS6v59++qk6d+6sUaNGqWnTprriiivUu3dvTZ8+3d7m4uFcLrwqruCnYcOG9vU7d+5Uz549VbNmTUVHR+vee+/V77//XvaDAQBAJbr++us1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\n" }, "metadata": {} }, { "output_type": "stream", "name": "stdout", "text": [ "\n", "[✓] Saved kaoru_test.png\n", "\n", "============================================================\n", " ★ ALL TESTS COMPLETE ★\n", "============================================================\n" ] } ], "source": [ "# ============================================================\n", "# KAORU-RSA SCALING TEST - VERSIÓN SIMPLE\n", "# ============================================================\n", "\n", "import time\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "from math import isqrt\n", "import random\n", "\n", "# ── Kaoru Group Simple ──\n", "class KaoruGroup:\n", " def __init__(self, n, states=None):\n", " self.n = n\n", " self._register = 0\n", " if states:\n", " for i, s in enumerate(states):\n", " if s:\n", " self._register |= (1 << i)\n", "\n", " def read_kaoru(self):\n", " return self._register\n", "\n", "# ── Test O(1) Readout ──\n", "def test_readout():\n", " print(\"=\"*60)\n", " print(\" KAORU O(1) READOUT TEST: 1 to 256 bits\")\n", " print(\"=\"*60)\n", "\n", " results = []\n", "\n", " # Test diferentes tamaños\n", " sizes = [1, 2, 4, 8, 16, 32, 64, 128, 256]\n", "\n", " print(f\"\\n{'Bits':>8} {'Readout (ns)':>15} {'Status'}\")\n", " print(\"-\"*40)\n", "\n", " for bits in sizes:\n", " # Crear registro con bits aleatorios\n", " oracle = [random.randint(0,1) for _ in range(bits)]\n", " group = KaoruGroup(bits, oracle)\n", "\n", " # Medir readout múltiples veces\n", " times = []\n", " for _ in range(1000):\n", " t0 = time.perf_counter_ns()\n", " reg = group.read_kaoru()\n", " t1 = time.perf_counter_ns()\n", " times.append(t1 - t0)\n", "\n", " avg = np.median(times)\n", " results.append({'bits': bits, 'ns': avg})\n", "\n", " print(f\"{bits:>8} {avg:>13.0f} ns ✓\")\n", "\n", " # Análisis\n", " print(\"-\"*40)\n", " rts = [r['ns'] for r in results]\n", " print(f\"\\n Mean: {np.mean(rts):.0f} ns\")\n", " print(f\" StdDev: {np.std(rts):.0f} ns\")\n", " print(f\" Min: {min(rts):.0f} ns\")\n", " print(f\" Max: {max(rts):.0f} ns\")\n", "\n", " ratio = max(rts)/min(rts) if min(rts) > 0 else 0\n", " print(f\"\\n Bits: 1 → 256 (×256)\")\n", " print(f\" Time: ×{ratio:.1f}\")\n", "\n", " if ratio < 5:\n", " print(f\"\\n ★ O(1) CONFIRMED! ★\")\n", "\n", " return results\n", "\n", "# ── Test con registros GRANDES ──\n", "def test_big():\n", " print(\"\\n\" + \"=\"*60)\n", " print(\" TEST CON REGISTROS GRANDES\")\n", " print(\"=\"*60)\n", "\n", " sizes = [1000, 10000, 100000, 1000000]\n", " results = []\n", "\n", " print(f\"\\n{'Size':>12} {'Readout (ns)':>15}\")\n", " print(\"-\"*35)\n", "\n", " for size in sizes:\n", " oracle = [random.randint(0,1) for _ in range(size)]\n", " group = KaoruGroup(size, oracle)\n", "\n", " times = []\n", " for _ in range(100):\n", " t0 = time.perf_counter_ns()\n", " reg = group.read_kaoru()\n", " t1 = time.perf_counter_ns()\n", " times.append(t1 - t0)\n", "\n", " avg = np.median(times)\n", " results.append({'size': size, 'ns': avg})\n", " print(f\"{size:>12,} {avg:>13.0f} ns\")\n", "\n", " print(\"-\"*35)\n", " rts = [r['ns'] for r in results]\n", " print(f\" Size ×{sizes[-1]//sizes[0]:,}, Time ×{max(rts)/min(rts):.1f}\")\n", "\n", " return results\n", "\n", "# ── Factorización Simple ──\n", "def factorize_kaoru(N):\n", " if N < 2:\n", " return [N], 0\n", "\n", " max_c = isqrt(N)\n", " candidates = list(range(2, max_c + 1))\n", "\n", " # Oracle\n", " oracle = [1 if N % c == 0 else 0 for c in candidates]\n", "\n", " # Kaoru Group\n", " group = KaoruGroup(len(oracle), oracle)\n", "\n", " # O(1) Readout\n", " t0 = time.perf_counter_ns()\n", " register = group.read_kaoru()\n", " readout_ns = time.perf_counter_ns() - t0\n", "\n", " # Extract factors\n", " factors = []\n", " remaining = N\n", " for i, c in enumerate(candidates):\n", " if (register >> i) & 1:\n", " while remaining % c == 0:\n", " factors.append(c)\n", " remaining //= c\n", " if remaining > 1:\n", " factors.append(remaining)\n", "\n", " return sorted(factors) if factors else [N], readout_ns\n", "\n", "def test_factorization():\n", " print(\"\\n\" + \"=\"*60)\n", " print(\" FACTORIZATION TEST\")\n", " print(\"=\"*60)\n", "\n", " # Generar semiprimos simples\n", " tests = [\n", " 15, 77, 143, 437, 1591, 10403,\n", " 25217, 41989, 95477, 410881, 1022117\n", " ]\n", "\n", " print(f\"\\n{'N':>12} {'Bits':>6} {'Factors':>20} {'Readout':>12}\")\n", " print(\"-\"*55)\n", "\n", " results = []\n", " for N in tests:\n", " factors, readout_ns = factorize_kaoru(N)\n", " bits = N.bit_length()\n", "\n", " # Verify\n", " prod = 1\n", " for f in factors:\n", " prod *= f\n", " ok = \"✓\" if prod == N else \"✗\"\n", "\n", " results.append({'N': N, 'bits': bits, 'ns': readout_ns})\n", "\n", " f_str = \"×\".join(map(str, factors[:3]))\n", " if len(factors) > 3:\n", " f_str += \"...\"\n", " print(f\"{N:>12,} {bits:>6} {f_str:>20} {readout_ns:>10}ns {ok}\")\n", "\n", " return results\n", "\n", "# ── Plot ──\n", "def plot_results(r1, r2, r3):\n", " fig, axes = plt.subplots(1, 3, figsize=(15, 5))\n", " fig.suptitle('KAORU-RSA: O(1) Readout Test', fontsize=14, fontweight='bold')\n", "\n", " # Plot 1: 1-256 bits\n", " ax = axes[0]\n", " bits = [r['bits'] for r in r1]\n", " ns = [r['ns'] for r in r1]\n", " ax.bar(range(len(bits)), ns, color='green', alpha=0.7)\n", " ax.axhline(np.mean(ns), color='red', ls='--', label=f'Mean: {np.mean(ns):.0f}ns')\n", " ax.set_xticks(range(len(bits)))\n", " ax.set_xticklabels(bits)\n", " ax.set_xlabel('Bits')\n", " ax.set_ylabel('Readout (ns)')\n", " ax.set_title('1-256 bits')\n", " ax.legend()\n", " ax.grid(True, alpha=0.3)\n", "\n", " # Plot 2: Large registers\n", " ax = axes[1]\n", " sizes = [r['size'] for r in r2]\n", " ns = [r['ns'] for r in r2]\n", " ax.bar(range(len(sizes)), ns, color='blue', alpha=0.7)\n", " ax.axhline(np.mean(ns), color='red', ls='--', label=f'Mean: {np.mean(ns):.0f}ns')\n", " ax.set_xticks(range(len(sizes)))\n", " ax.set_xticklabels([f'{s//1000}K' for s in sizes])\n", " ax.set_xlabel('Register Size')\n", " ax.set_ylabel('Readout (ns)')\n", " ax.set_title('Large Registers (1K-1M)')\n", " ax.legend()\n", " ax.grid(True, alpha=0.3)\n", "\n", " # Plot 3: Factorization\n", " ax = axes[2]\n", " bits = [r['bits'] for r in r3]\n", " ns = [r['ns'] for r in r3]\n", " ax.scatter(bits, ns, s=100, c='purple', zorder=5)\n", " ax.axhline(np.mean(ns), color='red', ls='--', label=f'Mean: {np.mean(ns):.0f}ns')\n", " ax.set_xlabel('Input Bits')\n", " ax.set_ylabel('Readout (ns)')\n", " ax.set_title('Factorization Readout')\n", " ax.legend()\n", " ax.grid(True, alpha=0.3)\n", "\n", " plt.tight_layout()\n", " plt.savefig('kaoru_test.png', dpi=150)\n", " plt.show()\n", " print(\"\\n[✓] Saved kaoru_test.png\")\n", "\n", "# ── MAIN ──\n", "if __name__ == \"__main__\":\n", " print(\"\"\"\n", " ╔════════════════════════════════════════════╗\n", " ║ KAORU-RSA: SIMPLE SCALING TEST ║\n", " ╚════════════════════════════════════════════╝\n", " \"\"\")\n", "\n", " r1 = test_readout()\n", " r2 = test_big()\n", " r3 = test_factorization()\n", "\n", " plot_results(r1, r2, r3)\n", "\n", " print(\"\\n\" + \"=\"*60)\n", " print(\" ★ ALL TESTS COMPLETE ★\")\n", " print(\"=\"*60)" ] } ] }