{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "a9KOu7ctUw6F"
   },
   "source": "# Bankacılık Kuantum Siber Güvenlik Mimarisi: Tehditler ve Çözümler\n\n## 1. Kuantum Hesaplama Tehdidi ve HNDL Stratejisi\nGünümüz bankacılık ekosistemi; dijital işlemlerin ve şifreli iletişim kanallarının gizliliğini korumak amacıyla RSA ve Eliptik Eğri Kriptografisi (ECC) gibi asimetrik şifreleme algoritmalarına dayanmaktadır. Bu algoritmalar, klasik bilgisayarların çözmesi imkansız olan matematiksel zorluklara dayanır.\n\nAncak kuantum bilgisayarlar, aynı anda hem 0 hem de 1 durumunda bulunabilen kübitleri, süperpozisyon ve dolanıklık ilkelerini kullanarak devasa paralel hesaplamalar yapabilir. Klasik bir bilgisayarın milyonlarca deneme yaparak bulabileceği bir şifreyi, kuantum bilgisayarlar yalnızca birkaç bin adımda çözebilir.\n\nBu tehdit sadece gelecekte değil, günümüzde de aktiftir. Siber saldırganlar **\"Şimdi Topla, Sonra Çöz\" (Harvest Now, Decrypt Later - HNDL)** stratejisini kullanarak günümüzde bankaların şifreli hassas verilerini sızdırmakta ve gelecekteki kuantum bilgisayarlarla deşifre etmek üzere depolamaktadır."
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "ZvjUKKrDUw6M"
   },
   "source": "## 2. Post-Kuantum Kriptografi (PQC) ve Mimari Darboğazlar\nBu tehdide karşı ABD Ulusal Standartlar ve Teknoloji Enstitüsü (NIST), kuantum bilgisayarların çözemeyeceği matematiksel zorluklara sahip yeni PQC standartlarını (ML-KEM, ML-DSA ve SLH-DSA) Ağustos 2024'te resmi olarak yayınlamıştır.\n\nUluslararası Ödemeler Bankası (BIS) tarafından yürütülen **Project Leap Faz 2** projesinde, bu post-kuantum algoritmalarının gerçek zamanlı ödeme sistemlerine (TARGET2) entegrasyonu test edilmiştir. Testler, yeni algoritmaların sisteme entegre edilebileceğini kanıtlamış olsa da operasyonel darboğazları da ortaya çıkarmıştır. PQC standartları klasik algoritmalara göre çok daha büyük anahtar ve imza boyutlarına sahip olduğundan ağlarda **\"Boyut Şişmesi (Paket Bloat)\"** ve işlemci gecikmeleri yaratmaktadır.\n\nAşağıdaki Python kodunu çalıştırarak geleneksel RSA şifrelemesi ile Post-Kuantum şifrelemesinin veri yükü boyutlarını karşılaştıralım."
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "id": "NRsVXUZ1Uw6N",
    "executionInfo": {
     "status": "ok",
     "timestamp": 1789580835231,
     "user_tz": -180,
     "elapsed": 460,
     "user": {
      "displayName": "Joseph Volkan ÖZCAN",
      "userId": "11389530967736397480"
     }
    },
    "outputId": "9456a60d-7008-46a9-ae1b-f676da8c506b",
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 607
    }
   },
   "outputs": [
    {
     "output_type": "display_data",
     "data": {
      "text/plain": [
       "<Figure size 1000x600 with 1 Axes>"
      ],
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAA90AAAJOCAYAAACqS2TfAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAmnJJREFUeJzs3XdclfX///HnAWTKcCGgKLj3yMxVhhPNnZV7b9E+jsosB2pmaTkqtSwFZ2rlyk24Ss0Z7qxcmIqaA5wgcH5/+ON8PQIKyiWij/vtdm51rut93tfrOudclzzP+xoms9lsFgAAAAAAyHA2mV0AAAAAAADPKkI3AAAAAAAGIXQDAAAAAGAQQjcAAAAAAAYhdAMAAAAAYBBCNwAAAAAABiF0AwAAAABgEEI3AAAAAAAGIXQDAAAAAGAQQjeAZ1rnzp3l5+eX2WU8Mbt27VL16tXl4uIik8mkiIgIBQcHy2QyWbUzmUzq169fJlWZdhn5+YWGhspkMmn37t3avXu3TCaTQkNDrdqcPHlSJpNJn332WZpqy549uyTps88+k8lk0smTJzOk1qeByWRScHBwZpfxTEpMTFSZMmU0duxYw5aRVbbxpO3yWdp2pLS9/0n7m/v3Qw8TEBCggIAAy/PDhw/Lzs5OBw8efIRKATwJhG4AT6V7A9K9oqOj9dJLL8nR0VFr1641tIbVq1dnqdBx584dvfnmm7p8+bImTZqkuXPnqmDBghnW/969e2UymTRs2LBU2/z9998ymUwaNGhQhi33QU6cOCFnZ2e1adMmxfmLFi2SyWTS1KlTVbNmTc2dO1eFChVSoUKFNHfuXNWsWfORl92rVy/NnDlTktSoUSPNnTtXefLkSdNrU/uD/OOPP5bJZFLXrl2VmJj4yLU97bLatpXRvv/+e50+fdrqO5C0z0t6ODo6qlixYurXr5/Onz+fidWm//MKCAiwWhd7e3v5+/urZ8+eOn36tHGFpuJx67/3UaJECUu7bdu2KTg4WFevXs34otOhVKlSatSokUaMGJGpdQB4ADMAPIVCQkLMksy7du2yTIuOjja/9NJLZgcHB/Pq1avT1E9cXJz59u3bj1RDUFCQOSvtJo8cOWKWZP7222+tpt+5c8d869Ytq2mSzEFBQeleRokSJcyFChVKdX5wcLBZknnPnj3p7jslafn8PvnkE7Mk87p166ymR0dHm729vc1VqlQxJyQkpGl5J06cMEsyT5gw4ZFrTouU3v9x48aZJZk7deqU5nqNJMk8cuRIQ/rOattWRitfvry5Z8+eVtOS9nmjR482z5071/ztt9+aO3XqZLaxsTH7+/ubb9y4ka5lPOo2npL0fl6vvvqqOX/+/Oa5c+ea586da545c6Z58ODBZhcXF3OBAgWs1iVpvU+cOJEhtabkceu/97FixQpLuwkTJqRae1re/8TERPOtW7fM8fHxaa7NbDabY2NjzbGxsVbTVq9ebZZk/ueff9LVF4Anw+4JZ3wAeCTXrl1TYGCgIiIitGTJEjVs2PCB7W/cuCEXFxdly5btCVWY8ZLWIa0uXLggSfLw8LCabmdnJzu7jNndt2vXTsOHD9fvv/+uqlWrJpv//fffq0SJEnrhhRceaznp+fwGDx6s+fPnq2/fvjpw4ICcnJwkSR9++KEuXryotWvXysbm6T6wa8KECRo6dKg6duyoWbNmZUi96f3+ZCVZed3++OMP7du3T59//nmK8xs2bKgXX3xRktS9e3flypVLEydO1PLly1M9ouNp5O7urvbt21tN8/f3V79+/bR161bVq1cvkypLm5Tqz2hJRzSkl729fbJpdevWVY4cOTR79myNHj06I8oDkIGe7r9CAEDS9evX1aBBA+3du1c//fSTGjVqZDU/6dzaY8eO6bXXXpOrq6vatWtnmXfvOcH3nrM7adIkFSxYUE5OTnr11Vetzofr3Lmzpk6dKklWhxYmuXHjhgYPHixfX185ODioePHi+uyzz2Q2m61qu3Xrlt5++23lzp1brq6uatq0qc6cOZPsfNmk864PHz6stm3bKkeOHHr55ZclSfv371fnzp1VqFAhOTo6ysvLS127dtWlS5es6n311VclSW+++aZMJpPlnL+UzulOyUcffSQbGxt9+eWXqbZJel8XLFiQbN6ePXt09OhRSxtJWrNmjV555RW5uLjI1dVVjRo10qFDh6xel57PLyV2dnaaMWOGTpw4oY8++shSy7Rp0zR48GCVK1cu2TmQ9y77Yf2bzWb17NlT9vb2WrJkiaTUz3f28/NT586dH9jf/SZOnKj33ntP7du3V0hIiFXgPnXqlPr27avixYvLyclJuXLl0ptvvpns/NekQ5M3b96svn37ytPTU/nz55d09werAQMGyM/PTw4ODvL09FS9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Sd99951atGghZ2dnFS1aVCtWrLDMT0hIULdu3eTv7y8nJycVL15cU6ZMSXFZn332mby9vZUrVy4FBQVZrlwdEBCgU6dOaeDAgTKZTJaLbF26dElt2rRRvnz55OzsrLJly+r777+36jMgIED9+vXTgAEDlDt3bgUGBqa6rnZ2dvLy8pKXl5dKlSql0aNH6/r165ZfGaW7IbZZs2bKnj273Nzc9NZbb+n8+fOSpJMnT8rGxka7d++26nfy5MkqWLCgEhMTFRoaKg8PD6v5y5Yts6xTaGioRo0apX379lnWNTQ0VCdPnpTJZLIa/b569apMJpM2bdqU6jotXrxY5cuXV758+ZLN8/T0lJeXl/z9/fX222/L399fe/futcxfu3atXn75ZXl4eChXrlxq3Lixjh07Zplfu3Zt9evXz6rPixcvyt7eXuHh4al+bpLUpEkT7d6926o/AACAp8306dMVHR2tgIAAeXt7Wx6LFi2ytBkwYICGDh2qgQMHqnz58goPD1dYWJhlxDrJzJkzVb16dZUoUSLZcmxsbPTzzz8rd+7cqlmzpho1aqSSJUtq4cKFhq/j84zQ/ZxbvHixSpQooeLFi6t9+/aaNWuW7r11+6pVq9SiRQu99tpr+uOPPxQeHq6XXnrpof0mHSIzZ84c/frrrypXrlyqbY8dO6bt27frrbfe0ltvvaVff/1Vp06dStZu1KhReuutt7R//3699tprateuneX2BomJicqfP79++OEHHT58WCNGjNAHH3yQ7OIRGzdu1LFjx7Rx40bNnj1boaGhlh8alixZovz582v06NGWkWhJun37tipVqqRVq1bp4MGD6tmzpzp06KCdO3da9T179mzZ29tr69at+vrrrx/6HklSbGysQkJC5OHhYblwRWJiopo1a6bLly9r8+bNCgsL0/Hjx9WqVStJd3/oqFu3rkJCQqz6CgkJUefOnWVj8/DNulWrVho8eLDVqHtS/4/i119/1YsvvvjANmazWWvXrlVkZKSqVKlimX7jxg0NGjRIu3fvVnh4uGxsbNSiRQvLudjdu3fXggULFBsba3nNvHnzlC9fPtWuXTvVz02SChQooLx58+rXX3995HUDAAAwmtlsTvFx/1GE77//vk6fPq0bN25o27Ztevnll5P1tWDBAm3dujXVZfn4+Oinn37StWvXFBUVpZCQEMutyWAMzul+ziWNMEt3z4GNjo7W5s2bFRAQIEkaO3asWrdubXUecvny5R/YZ3x8vNq3b68//vhDv/32W4qjn/eaNWuWGjZsqBw5ckiSAgMDFRISouDgYKt2nTt3Vps2bSRJH3/8sb744gvt3LlTDRo0ULZs2axq9Pf31/bt27V48WK99dZbluk5cuTQV199JVtbW5UoUUKNGjVSeHi4evTooZw5c8rW1laurq7y8vKyvCZfvnx65513LM/79+9vuRrkvT9AFC1aVOPHj3/gukrSgQMHlD17dknSzZs35erqqkWLFsnNzU2SFB4ergMHDujEiRPy9fWVJM2ZM0elS5fWrl27VLlyZXXv3l29e/fWxIkT5eDgoL179+rAgQNavnz5Q5cvSU5OTsqePbtl1P1xnTp1KtXQnXQRkNjYWCUmJmr06NGqWbOmZX7Lli2t2s+aNUt58uTR4cOHVaZMGb3++uvq16+fli9fbvksQ0ND1blzZ5lMplQ/tyQ+Pj4p/ogDAAAAPAmMdD/Hjh49qp07d1qCrJ2dnVq1amV1eHdERITq1KmTrn4HDhyoHTt2aMuWLQ8N3AkJCZo9e7Yl+EtS+/btFRoamuyq0/eOlru4uMjNzU0XLlywTJs6daoqVaqkPHnyKHv27JoxY0ayqzCWLl1atra2lufe3t5WfaRW45gxY1S2bFnlzJlT2bNn17p165L1XalSpQf2k6R48eKKiIhQRESE9uzZoz59+ujNN9+0HC5+5MgR+fr6WgK3dPdKlR4eHjpy5IgkqXnz5rK1tdXSpUsl3Q2htWrVkp+fX5pqyGi3bt2So6NjivN+/fVXy/p+9913+vjjjzV9+nTL/L///ltt2rRRoUKF5ObmZlmHpPfX0dFRHTp00KxZsyRJe/fu1cGDB1M8fzwlTk5Ounnz5qOvHAAAAPAYCN3PsZkzZyo+Pl4+Pj6ys7OTnZ2dpk+frp9++slyUS8nJ6d091uvXj2dOXNG69ate2jbdevW6cyZM2rVqpWlhtatW+vUqVPJLrZ1/9UXTSaTJZgvXLhQ77zzjrp166b169crIiJCXbp0SXZBswf1kZoJEyZoypQpGjJkiDZu3KiIiAgFBgYm69vFxeWh6ytJ9vb2KlKkiIoUKaKKFSvqk08+Ub58+R54bnxKfXTs2FEhISGKi4vTggUL1LVrV8t8Gxsbq9MEJFnOXX+QpEPT731tWl6XO3duXblyJcV5/v7+KlKkiEqXLq0uXbqoQ4cOGjt2rGV+kyZNdPnyZX377bfasWOHduzYIcn6YnTdu3dXWFiY/v33X4WEhKh27dppvsLm5cuXlSdPnjS1BQAAADIaofs5FR8frzlz5ujzzz+3jEJGRERo37598vHxsVworFy5cum+0nTTpk21YMECde/e/aEXZZg5c6Zat25tVUNERIRat26d4gXVUrN161ZVr15dffv2VcWKFVWkSJFHuniWvb29EhISkvXdrFkztW/fXuXLl1ehQoWsLnqWEWxtbS1XpyxZsqROnz6t06dPW+YfPnxYV69etbo3Y/fu3fXLL79o2rRpio+P1+uvv26ZlydPHl27dk03btywTLv/1mAprWtSOL33vOi03FKsYsWKOnz48MNXVNbreunSJR09elTDhg1TnTp1VLJkyRTDe9myZfXiiy/q22+/TfYDQ2rrIt09H//YsWOqWLFimmoDAAAAMhrndD+nVq5cqStXrqhbt25yd3e3mteyZUvNnDlTvXv31siRI1WnTh0VLlxYrVu3Vnx8vFavXq0hQ4Y8sP8WLVpo7ty56tChg+zs7PTGG28ka3Px4kX9/PPPWrFihcqUKWM1r2PHjmrRooUuX76cpgs7FC1aVHPmzNG6devk7++vuXPnateuXcnucfgwfn5+2rJli1q3bi0HBwflzp1bRYsW1Y8//qht27YpR44cmjhxos6fP28VgNMjPj5eUVFRkqRr165p0aJFOnz4sOU9rVu3rsqWLat27dpp8uTJio+PV9++ffXqq69anTddsmRJVa1aVUOGDFHXrl2tjkqoUqWKnJ2d9cEHH+jtt9/Wjh07kl2Z3s/PTydOnFBERITy588vV1dXOTk5qWrVqvrkk0/k7++vCxcuaNiwYQ9dp8DAQHXv3l0JCQlWh+9L0oULF3T79m3FxsZq586dmjt3ruX7kCNHDuXKlUszZsyQt7e3IiMj9f7776e4jO7du6tfv35ycXGxuoJ+0rrc/7lJ0u+//y4HBwdVq1btoesAAAAAGIGR7ufUzJkzVbdu3WSBW7obunfv3q39+/crICBAP/zwg1asWKFSpUrpxRdfTHbV7tS88cYbmj17tjp06KAlS5Ykmz9nzhy5uLikeM54nTp15OTkpHnz5qVpWb169dLrr7+uVq1aqUqVKrp06ZL69u2bptfea/To0Tp58qQKFy5sGfUdNmyYXnjhBQUGBiogIEBeXl5q3rx5uvtOcujQIcttICpUqKDFixdr+vTp6tixo6S7h7wvX75cOXLkUM2aNVW3bl0VKlTI6pYRSbp166a4uLhkI785c+bUvHnztHr1asstzu6/MF3Lli3VoEED1apVS3ny5LEc3TBr1izFx8erUqVKGjBggD766KOHrlPDhg1lZ2enX375Jdm84sWLy9vbW0WKFNGQIUPUq1cvffnll5LuHs6+cOFC7dmzR2XKlNHAgQM1YcKEFJfRpk0b2dnZqU2bNsnOH0/pc5Ok77//Xu3atZOzs/ND1wEAAAAwgsl8/4mfSCYmJkbu7u6Kjo62XGE6ye3bt3XixAn5+/uneiGpZ8X27ds1bdo0zZ07N7NLwf83ZswY/fDDDw+9D/qTMHXqVK1YsSJN5/I/iqRQvWvXLr3wwgsPbf/ff/+pePHi2r17d6pHPDxP2y8AAPj/gpMPOuEpFRyd2RU80INy4r04vBxp8ueffyo+Pl4rVqzI7FIg6fr16zp58qS++uqrNI1EPwm9evXS1atXde3aNbm6umZYv3fu3NGlS5c0bNgwVa1aNU2BW7ob0qdNm5buUwwAAACAjMTh5UiToKAg1atXT23bts3sUiCpX79+qlSpkgICApIdWp5Z7Ozs9OGHH2Zo4JbuXsjO29tbu3bt0tdff53m17344otq1apVhtYCAAAApBcj3UiT9F7BHMYKDQ1NdmG0Z1VAQECy258BAAAAWQUj3QAAAAAAGITQDQAAAACAQQjdAAAAAAAYhNANAAAAAIBBCN0AAAAAABiE0A0AAAAAgEEI3chSGjZsqCFDhmR2GQAAAACQJtynG1nKd999JwcHh8wuAwAAAADShJFupInJZNKyZctSfH7y5EmZTCZFREQ81jLS0k++fPmUO3fux1oO0mf48OHq2bNnZpdh0bp1a33++eeZXQYAAACQJox0GynY/QkvLzpdzTt37qzZs2dLkuzs7JQzZ06VK1dObdq0UefOnWVj83+/yZw7d045cuRI8bmvr6/OnTtnCcObNm1SrVq1dOXKFXl4eDzmSlkLCAhQhQoVNHny5Azt93H5+fnp1KlTkiQbGxvlzZtXDRs21GeffWb1vj2pWgYMGKABAwY8dl9RUVGaMmWKDhw4YJl27/dGknLmzKnKlStr/PjxKleu3GMvM0lq36Nhw4apZs2a6t69u9zdn/A2BgAAAKQTI93PuQYNGujcuXM6efKk1qxZo1q1aul///ufGjdurPj4eEs7Ly8vq8O6731ua2srLy8v2dk937/hjB49WufOnVNkZKTmz5+vLVu26O23387ssh7Ld999p+rVq6tgwYJW05O+N+fOnVN4eLjs7OzUuHHjJ1JTmTJlVLhwYc2bN++JLA8AAAB4HITu55yDg4O8vLyUL18+vfDCC/rggw+0fPlyrVmzRqGhoZZ2aT28/OTJk6pVq5YkKUeOHDKZTOrcubMkae3atXr55Zfl4eGhXLlyqXHjxjp27Nhj1e/n56ePPvpIHTt2VPbs2VWwYEGtWLFCFy9eVLNmzZQ9e3aVK1dOu3fvtrwmICBAJpMp2ePkyZOSpIkTJ6ps2bJycXGRr6+v+vbtq+vXrz+0FldXV8t7WatWLXXq1El79+61avPTTz+pdOnScnBwkJ+fn9Vh0qNHj1aZMmWS9VuhQgUNHz7cUvv9I9jNmze3vMcBAQE6deqUBg4caFkvSQoODlaFChWsXjd58mT5+fk9cJ0WLlyoJk2aJJue9L3x8vJShQoV9P777+v06dO6ePGipc2QIUNUrFgxOTs7q1ChQho+fLju3Lkj6e53xsbGxupzSaqpYMGCOn78eKrfI0lq0qSJFi5c+MDaAQAAgKcBoRvJ1K5dW+XLl9eSJUvS/VpfX1/99NNPkqSjR4/q3LlzmjJliiTpxo0bGjRokHbv3q3w8HDZ2NioRYsWSkxMfKx6J02apBo1auiPP/5Qo0aN1KFDB3Xs2FHt27fX3r17VbhwYXXs2FFms1mStGTJEsso7blz5/T666+rePHiyps3r6S7h4d/8cUXOnTokGbPnq0NGzbovffeS1dNZ86c0c8//6wqVapYpu3Zs0dvvfWWWrdurQMHDig4OFjDhw+3/LjRtWtXHTlyRLt27bK85o8//tD+/fvVpUuXNC13yZIlyp8/v2XU/dy5c+mq+16XL1/W4cOH9eKLLz6w3fXr1zVv3jwVKVJEuXLlskx3dXVVaGioDh8+rClTpujbb7/VpEmTJN39saRu3boKCQmx6iskJESdO3dWwYIFU/0eSdJLL72knTt3KjY29pHXDwAAAHgSnu/jgZGqEiVKaP/+/el+na2trXLmzClJ8vT0tDoXt2XLllZtZ82apTx58ujw4cMpjvCm1WuvvaZevXpJkkaMGKHp06ercuXKevPNNyXdHXGtVq2azp8/Ly8vL0t90t3AvmHDBu3YsUNOTk6SZDWSnDSS3rt3b02bNu2BdQwZMkTDhg1TQkKCbt++rSpVqmjixImW+RMnTlSdOnUso9bFihXT4cOHNWHCBHXu3Fn58+dXYGCgQkJCVLlyZUl3Q+irr76qQoUKpem9yJkzp2xtbS2j7o8jMjJSZrNZPj4+yeatXLlS2bNnl3T3xxRvb2+tXLnS6joAw4YNs/y/n5+f3nnnHS1cuNDyA0b37t3Vu3dvTZw4UQ4ODtq7d68OHDig5cuXP/B7JEk+Pj6Ki4tTVFRUskPfAQAAgKcJI91IkdlsthyanFH+/vtvtWnTRoUKFZKbm5vl0ObIyMjH6vfei3cljVaXLVs22bQLFy5YvW7NmjV6//33tWjRIhUrVswy/ZdfflGdOnWUL18+ubq6qkOHDrp06ZJu3rz5wDreffddRUREaP/+/QoPD5ckNWrUSAkJCZKkI0eOqEaNGlavqVGjhv7++29Lmx49euj777/X7du3FRcXpwULFqhr167pej8yyq1btyRJjo6OyebVqlVLERERioiI0M6dOxUYGKiGDRtaLiYnSYsWLVKNGjXk5eWl7Nmza9iwYVafdfPmzWVra6ulS5dKkkJDQ1WrVq2HHvIuyfIDycM+EwAAACCzEbqRoiNHjsjf3z9D+2zSpIkuX76sb7/9Vjt27NCOHTskSXFxcY/Vb7Zs2Sz/n/RDQUrT7j2M/fDhw2rdurU++eQT1a9f3zL95MmTaty4scqVK6effvpJe/bs0dSpU9NUZ+7cuVWkSBEVLVpUtWvX1uTJk7Vt2zZt3LgxzevSpEkTOTg4aOnSpfr55591584dvfHGG5b5NjY2lsPkkySdJ/0gj/K6pKvRX7lyJdk8FxcXFSlSREWKFFHlypX13Xff6caNG/r2228lSdu3b1e7du302muvaeXKlfrjjz/04YcfWr2H9vb26tixo0JCQtL9A8Ply5clSXny5ElTewAAACCzcHg5ktmwYYMOHDiggQMHPtLr7e3tJckyeitJly5d0tGjR/Xtt9/qlVdekST99ttvj1/sI/jvv//UpEkTtWzZMtk67tmzR4mJifr8888th0ovXrz4kZZja2sr6f9GjEuWLKmtW7datdm6dauKFStmaWtnZ6dOnTopJCRE9vb2at26tWVUV7obMu89TzshIUEHDx60XHRMuvv+3/veJ70uKirK6giGh91XvXDhwnJzc9Phw4etjgRIiclkko2NjWVdt23bpoIFC+rDDz+0tLl3FDxJ9+7dVaZMGU2bNk3x8fF6/fXXrdYjaR3vd/DgQeXPn597tgMAAOCpR+h+zsXGxioqKkoJCQk6f/681q5dq3Hjxqlx48bq2LHjI/VZsGBBmUwmrVy5Uq+99pqcnJyUI0cO5cqVSzNmzJC3t7ciIyP1/vvvZ/DapE3Lli3l7Oys4OBgRUVFWabnyZNHRYoU0Z07d/Tll1+qSZMm2rp1q77++us09Xvt2jVLsD19+rTee+895cmTR9WrV5ckDR48WJUrV9aYMWPUqlUrbd++XV999VWyc8W7d++ukiVLSlKykF67dm0NGjRIq1atUuHChTVx4kRdvXrVqo2fn5+2bNmi1q1by8HBQblz51ZAQIAuXryo8ePH64033tDatWu1Zs0aubm5pbo+NjY2qlu3rn777Tc1b97cal7S90a6OxL+1Vdf6fr165YrnRctWlSRkZFauHChKleurFWrVlkOI79XyZIlVbVqVQ0ZMkRdu3a1+oEhpe9R0nnkv/76q9URCgAAAMDTisPLn3Nr166Vt7e3/Pz81KBBA23cuFFffPGF5WJWjyJfvnwaNWqU3n//feXNm1f9+vWTjY2NFi5cqD179qhMmTIaOHCgJkyYkMFrkzZbtmzRwYMHVbBgQXl7e1sep0+fVvny5TVx4kR9+umnKlOmjObPn69x48alqd8RI0bI29tbPj4+aty4sVxcXLR+/XrLFb1feOEFLV68WAsXLlSZMmU0YsQIjR492upWWNLdwFq9enWVKFHC6urn0t0rnHfq1EkdO3a0XGDt3lFu6e6tx06ePKnChQtbDr8uWbKkpk2bpqlTp6p8+fLauXOn3nnnnYeuU/fu3bVw4cJkV5hP+t54e3urSpUq2rVrl3744QcFBARIkpo2baqBAweqX79+qlChgrZt22a5gNz9unXrpri4uGSHlqf0PZKk27dva9myZerRo8dD6wcAAAAym8l8/4meSCYmJkbu7u6Kjo5ONjJ4+/ZtnThxQv7+/ilecOpZFBsbK0dHR4WFhalu3bqZXc4zx2w2q2jRourbt68GDRqU6bVUqVJFAwcOVJs2bQxZxpgxY/TDDz+k+Wr506dP19KlS7V+/frHXvbzuP0CAPDcC3bP7AqQVsHRmV3BAz0oJ96LkW6kS0xMjL7//nvZ2NioRIkSmV3OM+fixYv66quvFBUVleZ7cxvJZDJpxowZio+Pz/C+r1+/roMHD+qrr75S//790/y6bNmy6csvv8zwegAAAAAjcE430mXkyJFasGCBPv30U+XPnz+zy3nmeHp6Knfu3JoxY4Zy5MiR2eVIkipUqKAKFSpkeL/9+vXT999/r+bNm6frtmjdu3fP8FoAAAAAo3B4eRpweDnwbGL7BQDgOcTh5VkHh5c/vnHjxqly5cpydXWVp6enmjdvrqNHj1q1CQgIkMlksnr07t3bqk1kZKQaNWokZ2dneXp66t133012OOymTZv0wgsvyMHBQUWKFFFoaKjRqwcAAAAAeM5laujevHmzgoKC9PvvvyssLEx37txR/fr1dePGDat2PXr00Llz5yyP8ePHW+YlJCSoUaNGiouL07Zt2zR79myFhoZqxIgRljYnTpxQo0aNVKtWLUVERGjAgAHq3r271q1b98TWFQAAAADw/MnU0L127Vp17txZpUuXVvny5RUaGqrIyEjt2bPHqp2zs7O8vLwsj3uH7tevX6/Dhw9r3rx5qlChgho2bKgxY8Zo6tSpiouLkyR9/fXX8vf31+eff66SJUuqX79+euONNzRp0qQMW5f7b6kE4OnHdgs8O9Jy9FwSs9mshg0bymQyadmyZZbp+/btU5s2beTr6ysnJyeVLFlSU6ZMSfZ6jp4DAKTHU3Uhtejou8fs58yZ02r6/PnzNW/ePHl5ealJkyYaPny4nJ2dJUnbt29X2bJllTdvXkv7wMBA9enTR4cOHVLFihW1ffv2ZLe2CgwM1IABAx67Znt7e9nY2Ojs2bPKkyeP7O3tZTKZHrtfAMYxm82Ki4vTxYsXZWNjI3t7+8wuCcBjSjp6rnLlyoqPj9cHH3yg+vXr6/Dhw3JxcbFqO3ny5BT/rd6zZ488PT01b948+fr6atu2berZs6dsbW3Vr18/Sf939Fzv3r01f/58hYeHq3v37vL29lZgYOATWVcAQNby1ITuxMREDRgwQDVq1FCZMmUs09u2bauCBQvKx8dH+/fv15AhQ3T06FEtWbJEkhQVFWUVuCVZnkdFRT2wTUxMjG7duiUnJyerebGxsYqNjbU8j4mJSbVuGxsb+fv769y5czp79uwjrDmAzOLs7KwCBQrIxoa7JwJZ3dq1a62eh4aGytPTU3v27FHNmjUt0yMiIvT5559r9+7d8vb2tnrN/XdSKFSokLZv364lS5ZYQve9R89JUsmSJfXbb79p0qRJhG4AQIqemtAdFBSkgwcP6rfffrOa3rNnT8v/ly1bVt7e3qpTp46OHTumwoULG1LLuHHjNGrUqDS3t7e3V4ECBRQfH6+EhARDagKQsWxtbWVnZ8eRKcAzKqWj527evKm2bdtq6tSp8vLySnM/9/Zh5NFzAIBn01MRuvv166eVK1dqy5YtD733c5UqVSRJ//zzjwoXLiwvLy/t3LnTqs358+clyfIPqpeXl2XavW3c3NySjXJL0tChQzVo0CDL85iYGPn6+j6wLpPJpGzZsilbtmwPbAcAAIyV2tFzAwcOVPXq1dWsWbM09bNt2zYtWrRIq1atskxL79FzAABkaug2m83q37+/li5dqk2bNsnf3/+hr4mIiJAkyyFh1apV09ixY3XhwgV5enpKksLCwuTm5qZSpUpZ2qxevdqqn7CwMFWrVi3FZTg4OMjBweFRVwsAAGSilI6eW7FihTZs2KA//vgjTX0cPHhQzZo108iRI1W/fn2jSgUAPAcy9UTGoKAgzZs3TwsWLJCrq6uioqIUFRWlW7duSZKOHTumMWPGaM+ePTp58qRWrFihjh07qmbNmipXrpwkqX79+ipVqpQ6dOigffv2ad26dRo2bJiCgoIswbl37946fvy43nvvPf3555+aNm2aFi9erIEDB2baugMAgIyXdPTcxo0brY6e27Bhg44dOyYPDw/Z2dnJzu7uuEPLli0VEBBg1cfhw4dVp04d9ezZU8OGDbOal96j5wAAMJnNZnOmLTyVcylDQkLUuXNnnT59Wu3bt9fBgwd148YN+fr6qkWLFho2bJjVbcNOnTqlPn36aNOmTXJxcVGnTp30ySefWP5Ble7e3mPgwIE6fPiw8ufPr+HDh6tz585pqjMmJkbu7u6Kjo62Wi4AAHg63H/0XNGiRa3mR0VF6b///rOaVrZsWU2ZMkVNmjSxHG136NAh1a5dW506ddL48eOTLWfIkCFavXq1Dhw4YJnWtm1bXb58OdnF3AA8pYLdM7sCpFVwdGZX8EBpzYmZGrqzCkI3AABPt759+2rBggVavny5ihcvbpnu7u6e6gi0yWTS0qVL1bx5c0l3DymvXbu2AgMDNWHCBEs7W1tb5cmTR9LdW4aVKVNGQUFB6tq1qzZs2KC3335bq1at4urlQFZB6M46npHQzX1yAABAljd9+nRFR0crICBA3t7elseiRYvS3MePP/6oixcvat68eVZ9VK5c2dLG399fq1atUlhYmMqXL6/PP/9c3333HYEbAJAqRrrTgJFuAAAA4BnBSHfWwUg3AAAAAAB4EEI3AAAAAAAGIXQDAAAAAGAQQjcAAAAAAAYhdAMAAAAAYBBCNwAAAAAABrHL7AIAAEAWw+12so6n/HY7APA8YKQbAAAAAACDELoBAAAAADAIoRsAAAAAAIMQugEAAAAAMAihGwAAAAAAgxC6AQAAAAAwCKEbAAAAAACDELoBAAAAADAIoRsAAAAAAIMQugEAAAAAMAihGwAAAAAAgxC6AQAAAAAwCKEbAAAAAACDELoBAAAAADAIoRsAAAAAAIMQugEAAAAAMAihGwAAAAAAgxC6AQAAAAAwCKEbAAAAAACDELoBAAAAADAIoRsAAAAAAIMQugEAAAAAMAihGwAAAAAAgxC6AQAAAAAwCKEbAAAAAACDELoBAAAAADAIoRsAAAAAAIMQugEAAAAAMAihGwAAAAAAgxC6AQAAAAAwCKEbAAAAAACDELoBAAAAADAIoRsAAAAAAIMQugEAAAAAMAihGwAAAAAAgxC6AQAAAAAwCKEbAAAAAACDELoBAAAAADAIoRsAAAAAAIMQugEAAAAAMAihGwAAAAAAgxC6AQAAAAAwCKEbAAAAAACDELoBAAAAADAIoRsAAAAAAIMQugEAAAAAMAihGwAAAAAAgxC6AQAAAAAwCKEbAAAAAACDELoBAAAAADAIoRsAAAAAAIMQugEAAAAAMAihGwAAAAAAgxC6AQAAAAAwCKEbAAAAAACDELoBAAAAADAIoRsAAAAAAIMQugEAAAAAMAihGwAAAAAAgxC6AQAAAAAwCKEbAAAAAACDELoBAAAAADAIoRsAAAAAAIMQugEAAAAAMAihGwAAAAAAgxC6AQAAAAAwCKEbAAAAAACDELoBAAAAADAIoRsAAAAAAIMQugEAAAAAMEimhu5x48apcuXKcnV1laenp5o3b66jR49atbl9+7aCgoKUK1cuZc+eXS1bttT58+et2kRGRqpRo0ZydnaWp6en3n33XcXHx1u12bRpk1544QU5ODioSJEiCg0NNXr1AAAAAADPuUwN3Zs3b1ZQUJB+//13hYWF6c6dO6pfv75u3LhhaTNw4ED9/PPP+uGHH7R582adPXtWr7/+umV+QkKCGjVqpLi4OG3btk2zZ89WaGioRowYYWlz4sQJNWrUSLVq1VJERIQGDBig7t27a926dU90fQEAAAAAzxeT2Ww2Z3YRSS5evChPT09t3rxZNWvWVHR0tPLkyaMFCxbojTfekCT9+eefKlmypLZv366qVatqzZo1aty4sc6ePau8efNKkr7++msNGTJEFy9elL29vYYMGaJVq1bp4MGDlmW1bt1aV69e1dq1ax9aV0xMjNzd3RUdHS03NzdjVh4AgKwi2D2zK0BaBUdndgXA04d9WNbxlO/D0poTn6pzuqOj776pOXPmlCTt2bNHd+7cUd26dS1tSpQooQIFCmj79u2SpO3bt6ts2bKWwC1JgYGBiomJ0aFDhyxt7u0jqU1SHwAAAAAAGMEuswtIkpiYqAEDBqhGjRoqU6aMJCkqKkr29vby8PCwaps3b15FRUVZ2twbuJPmJ817UJuYmBjdunVLTk5OVvNiY2MVGxtreR4TE/P4KwgAAAAAeO48NSPdQUFBOnjwoBYuXJjZpWjcuHFyd3e3PHx9fTO7JAAAAABAFvRUhO5+/fpp5cqV2rhxo/Lnz2+Z7uXlpbi4OF29etWq/fnz5+Xl5WVpc//VzJOeP6yNm5tbslFuSRo6dKiio6Mtj9OnTz/2OgIAAAAAnj+ZGrrNZrP69eunpUuXasOGDfL397eaX6lSJWXLlk3h4eGWaUePHlVkZKSqVasmSapWrZoOHDigCxcuWNqEhYXJzc1NpUqVsrS5t4+kNkl93M/BwUFubm5WDwAAAAAA0itTz+kOCgrSggULtHz5crm6ulrOwXZ3d5eTk5Pc3d3VrVs3DRo0SDlz5pSbm5v69++vatWqqWrVqpKk+vXrq1SpUurQoYPGjx+vqKgoDRs2TEFBQXJwcJAk9e7dW1999ZXee+89de3aVRs2bNDixYu1atWqTFt3AAAAAMCzL1NHuqdPn67o6GgFBATI29vb8li0aJGlzaRJk9S4cWO1bNlSNWvWlJeXl5YsWWKZb2trq5UrV8rW1lbVqlVT+/bt1bFjR40ePdrSxt/fX6tWrVJYWJjKly+vzz//XN99950CAwOf6PoCAAAAAJ4vT9V9up9W3KcbAIB7cI/brOMpv8ctkCnYh2UdT/k+LEvepxsAAAAAgGcJoRsAAAAAAIMQugEAAAAAMAihGwAAAAAAgxC6AQAAAAAwCKEbAAAAAACDELoBAAAAADAIoRsAAAAAAIMQugEAAAAAMAihGwAAAAAAgxC6AQAAAAAwCKEbAAAAAACDELoBAAAAADAIoRsAAAAAAIMQugEAAAAAMAihGwAAAAAAgxC6AQAAAAAwCKEbAAAAAACDELoBAAAAADAIoRsAAAAAAIMQugEAAAAAMAihGwAAAAAAgxC6AQAAAAAwCKEbAAAAAACDELoBAAAAADAIoRsAAAAAAIMQugEAAAAAMAihGwAAAAAAgxC6AQAAAAAwCKEbAAAAAACDELoBAAAAADAIoRsAAAAAAIMQugEAAAAAMAihGwAAAAAAgxC6AQAAAAAwCKEbAAAAAACDELoBAAAAADAIoRsAAAAAAIMQugEAAAAAMAihGwAAAAAAgxC6AQAAAAAwCKEbAAAAAACDELoBAAAAADAIoRsAAAAAAIMQugEAAAAAMAihGwAAAAAAgxC6AQAAAAAwCKEbAAAAAACDELoBAAAAADAIoRsAAAAAAIMQugEAAAAAMAihGwAAAAAAgxC6AQAAAAAwCKEbAAAAAACDELoBAACAZ9SWLVvUpEkT+fj4yGQyadmyZVbzO3fuLJPJZPVo0KBBsn5WrVqlKlWqyMnJSTly5FDz5s2t5u/atUt16tSRh4eHcuTIocDAQO3bt8/ANQOyDkI3AAAA8Iy6ceOGypcvr6lTp6bapkGDBjp37pzl8f3331vN/+mnn9ShQwd16dJF+/bt09atW9W2bVvL/OvXr6tBgwYqUKCAduzYod9++02urq4KDAzUnTt3DFs3IKuwy+wCAAAAABijYcOGatiw4QPbODg4yMvLK8V58fHx+t///qcJEyaoW7dulumlSpWy/P+ff/6py5cva/To0fL19ZUkjRw5UuXKldOpU6dUpEiRDFgTIOtipBsAAAB4jm3atEmenp4qXry4+vTpo0uXLlnm7d27V2fOnJGNjY0qVqwob29vNWzYUAcPHrS0KV68uHLlyqWZM2cqLi5Ot27d0syZM1WyZEn5+fllwhoBTxdCNwAAAPCcatCggebMmaPw8HB9+umn2rx5sxo2bKiEhARJ0vHjxyVJwcHBGjZsmFauXKkcOXIoICBAly9fliS5urpq06ZNmjdvnpycnJQ9e3atXbtWa9askZ0dB9YChG4AAADgOdW6dWs1bdpUZcuWVfPmzbVy5Urt2rVLmzZtkiQlJiZKkj788EO1bNlSlSpVUkhIiEwmk3744QdJ0q1bt9StWzfVqFFDv//+u7Zu3aoyZcqoUaNGunXrVmatGvDU4KcnAAAAAJKkQoUKKXfu3Prnn39Up04deXt7S7I+h9vBwUGFChVSZGSkJGnBggU6efKktm/fLhsbG8u0HDlyaPny5WrduvWTXxHgKcJINwAAAABJ0r///qtLly5ZwnalSpXk4OCgo0ePWtrcuXNHJ0+eVMGCBSVJN2/elI2NjUwmk6VN0vOkkXLgeUboBgAAAJ5R169fV0REhCIiIiRJJ06cUEREhCIjI3X9+nW9++67+v3333Xy5EmFh4erWbNmKlKkiAIDAyVJbm5u6t27t0aOHKn169fr6NGj6tOnjyTpzTfflCTVq1dPV65cUVBQkI4cOaJDhw6pS5cusrOzU61atTJlvYGnSboOLz9y5IgWLlyoX3/9VadOndLNmzeVJ08eVaxYUYGBgWrZsqUcHByMqhUAAABAOuzevdsq+A4aNEiS1KlTJ02fPl379+/X7NmzdfXqVfn4+Kh+/foaM2aM1d/0EyZMkJ2dnTp06KBbt26pSpUq2rBhg3LkyCFJKlGihH7++WeNGjVK1apVs1zpfO3atZYRc+B5ZjKbzeaHNdq7d6/ee+89/fbbb6pRo4Zeeukl+fj4yMnJSZcvX9bBgwf166+/KiYmRu+9954GDBjwTIXvmJgYubu7Kzo6Wm5ubpldDgAAmSvYPbMrQFoFR2d2BcDTh31Y1vGU78PSmhPTNNLdsmVLvfvuu/rxxx/l4eGRarvt27drypQp+vzzz/XBBx+ku2gAAAAAAJ4laQrdf/31l7Jly/bQdtWqVVO1atV0586dxy4MAAAAAICsLk0XUkstcN++fTtd7QEAAAAAeJ6k++rliYmJGjNmjPLly6fs2bPr+PHjkqThw4dr5syZGV4gAAAAAABZVbpD90cffaTQ0FCNHz9e9vb2lullypTRd999l6HFAQAAAACQlaU7dM+ZM0czZsxQu3btZGtra5levnx5/fnnnxlaHAAAAAAAWVm67tMtSWfOnFGRIkWSTU9MTOQCagAAAHgu+b2/KrNLQBqddMzsCvC8SfdId6lSpfTrr78mm/7jjz+qYsWKGVIUAAAAAADPgnSPdI8YMUKdOnXSmTNnlJiYqCVLlujo0aOaM2eOVq5caUSNAAAAAABkSeke6W7WrJl+/vln/fLLL3JxcdGIESN05MgR/fzzz6pXr54RNQIAAAAAkCWle6Rbkl555RWFhYVldC0AAAAAADxT0j3SXahQIV26dCnZ9KtXr6pQoUIZUhQAAAAAAM+CdIfukydPKiEhIdn02NhYnTlzJkOKAgAAAADgWZDmw8tXrFhh+f9169bJ3d3d8jwhIUHh4eHy8/PL0OIAAAAAAMjK0jzS3bx5czVv3lwmk0mdOnWyPG/evLlat26tsLAwff755+la+JYtW9SkSRP5+PjIZDJp2bJlVvM7d+4sk8lk9WjQoIFVm8uXL6tdu3Zyc3OTh4eHunXrpuvXr1u12b9/v1555RU5OjrK19dX48ePT1edAAAAAAA8ijSPdCcmJkqS/P39tWvXLuXOnfuxF37jxg2VL19eXbt21euvv55imwYNGigkJMTy3MHBwWp+u3btdO7cOYWFhenOnTvq0qWLevbsqQULFkiSYmJiVL9+fdWtW1dff/21Dhw4oK5du8rDw0M9e/Z87HUAAAAAACA16b56eXh4eIYEbklq2LChGjZs+MA2Dg4O8vLySnHekSNHtHbtWu3atUsvvviiJOnLL7/Ua6+9ps8++0w+Pj6aP3++4uLiNGvWLNnb26t06dKKiIjQxIkTCd0AAAAAAEOl+0JqRYoUUa1atTRv3jzdvn3biJqsbNq0SZ6enipevLj69OljdeX07du3y8PDwxK4Jalu3bqysbHRjh07LG1q1qwpe3t7S5vAwEAdPXpUV65cSXGZsbGxiomJsXoAAAAAAJBe6Q7de/fuVbly5TRo0CB5eXmpV69e2rlzpxG1qUGDBpozZ47Cw8P16aefavPmzWrYsKHl6ulRUVHy9PS0eo2dnZ1y5sypqKgoS5u8efNatUl6ntTmfuPGjZO7u7vl4evrm9GrBgAAAAB4DqQ7dFeoUEFTpkzR2bNnNWvWLJ07d04vv/yyypQpo4kTJ+rixYsZVlzr1q3VtGlTlS1bVs2bN9fKlSu1a9cubdq0KcOWkZKhQ4cqOjra8jh9+rShywMAAAAAPJvSHbqT2NnZ6fXXX9cPP/ygTz/9VP/884/eeecd+fr6qmPHjjp37lxG1ilJKlSokHLnzq1//vlHkuTl5aULFy5YtYmPj9fly5ct54F7eXnp/PnzVm2Snqd2rriDg4Pc3NysHgAAAAAApNcjh+7du3erb9++8vb21sSJE/XOO+/o2LFjCgsL09mzZ9WsWbOMrFOS9O+//+rSpUvy9vaWJFWrVk1Xr17Vnj17LG02bNigxMREValSxdJmy5YtunPnjqVNWFiYihcvrhw5cmR4jQAAAAAAJEl36J44caLKli2r6tWr6+zZs5ozZ45OnTqljz76SP7+/nrllVcUGhqqvXv3PrSv69evKyIiQhEREZKkEydOKCIiQpGRkbp+/breffdd/f777zp58qTCw8PVrFkzFSlSRIGBgZKkkiVLqkGDBurRo4d27typrVu3ql+/fmrdurV8fHwkSW3btpW9vb26deumQ4cOadGiRZoyZYoGDRqU3lUHAAAAACBd0n3LsOnTp6tr167q3LmzZcT5fp6enpo5c+ZD+9q9e7dq1apleZ4UhDt16qTp06dr//79mj17tq5evSofHx/Vr19fY8aMsbpX9/z589WvXz/VqVNHNjY2atmypb744gvLfHd3d61fv15BQUGqVKmScufOrREjRnC7MAAAAACA4Uxms9mc2UU87WJiYuTu7q7o6GjO7wYAINg9sytAWgVHZ3YFzw2/91dldglIo5OObTO7BKTVU74PS2tOTPdI971u3LihRYsW6datW6pfv76KFi36ON0BAAAAAPBMSfM53ZGRkXr11Vfl6uqqevXqKTIyUi+88IK6d++u/v37q0KFCtqyZYuRtQIAAAAAkKWkOXS/8847iouL09dffy1nZ2cFBgaqaNGiOnfunM6fP6+GDRsqODjYwFIBAAAAAMha0nx4+ZYtW7RixQq99NJLatiwoXLnzq1Zs2Ypb968kqThw4erTp06hhUKAAAAAEBWk+aR7gsXLqhgwYKSpJw5c8rZ2dkSuCXJy8tLV65cyfgKAQAAAADIotJ1n26TyZTi/wMAAAAAgOTSdfXyESNGyNnZWZIUFxensWPHyt397m1Dbt68mfHVAQAAAACQhaU5dNesWVNHjx61PK9evbqOHz+erA0AAAAAALgrzaF706ZNBpYBAAAAAMCzJ13ndAMAAAAAgLRLU+j+5JNP0nzO9o4dO7Rq1arHKgoAgKfFli1b1KRJE/n4+MhkMmnZsmVW84ODg1WiRAm5uLgoR44cqlu3rnbs2GHVZuzYsapevbqcnZ3l4eGRbBn79u1TmzZt5OvrKycnJ5UsWVJTpkwxcK0AAMCTkqbQffjwYRUsWFB9+/bVmjVrdPHiRcu8+Ph47d+/X9OmTVP16tXVqlUrubq6GlYwAABP0o0bN1S+fHlNnTo1xfnFihXTV199pQMHDui3336Tn5+f6tevb/VvZVxcnN5880316dMnxT727NkjT09PzZs3T4cOHdKHH36ooUOH6quvvjJknQAAwJNjMpvN5rQ03Ldvn7766iv9+OOPiomJka2trRwcHCwj4BUrVlT37t3VuXNnOTo6Glr0kxYTEyN3d3dFR0fLzc0ts8sBAGQSk8mkpUuXqnnz5qm2Sfo345dfflGdOnWs5oWGhmrAgAG6evXqQ5cVFBSkI0eOaMOGDY9ZtQGC3TO7AqRVcHRmV/Dc8HufIz2zipOObTO7BKTVU74PS2tOTPOF1MqXL69vv/1W33zzjfbv369Tp07p1q1byp07typUqKDcuXNnSOEAAGRVcXFxmjFjhtzd3VW+fPnH6is6Olo5c+bMoMoAAEBmSdd9uiXJxsZGFSpUUIUKFQwoBwCArGflypVq3bq1bt68KW9vb4WFhT3Wj9Hbtm3TokWLuEYKAADPAK5eDgDAY6pVq5YiIiK0bds2NWjQQG+99ZYuXLjwSH0dPHhQzZo108iRI1W/fv0MrhQAADxphG4AAB6Ti4uLihQpoqpVq2rmzJmys7PTzJkz093P4cOHVadOHfXs2VPDhg0zoFIAAPCkEboBAMhgiYmJio2NTddrDh06pFq1aqlTp04aO3asQZUBAIAnLd3ndAMA8Dy5fv26/vnnH8vzEydOKCIiQjlz5lSuXLk0duxYNW3aVN7e3vrvv/80depUnTlzRm+++ablNZGRkbp8+bIiIyOVkJCgiIgISVKRIkWUPXt2HTx4ULVr11ZgYKAGDRqkqKgoSZKtra3y5MnzRNcXAABkrHSPdHft2lXXrl1LNv3GjRvq2rVrhhQFAMDTYvfu3apYsaIqVqwoSRo0aJAqVqyoESNGyNbWVn/++adatmypYsWKqUmTJrp06ZJ+/fVXlS5d2tLHiBEjVLFiRY0cOVLXr1+39Ld7925J0o8//qiLFy9q3rx58vb2tjwqV66cKesMAAAyTprv053E1tZW586dk6enp9X0//77T15eXoqPj8/QAp8G3KcbAIB7cJ/urOMpv8fts4T7dGcd3Kc7C3nK92EZfp/umJgYmc1mmc1mXbt2TY6OjpZ5CQkJWr16dbIgDgAAAADA8yzNodvDw0Mmk0kmk0nFihVLNt9kMmnUqFEZWhwAAAAAAFlZmkP3xo0bZTabVbt2bf3000/KmTOnZZ69vb0KFiwoHx8fQ4oEAAAAACArSnPofvXVVyVJx44dk5+fn0wmk2FFAQAAAADwLEj31ctr166tMWPGKDIy0oh6AAAAAAB4ZqQ7dP/vf//TkiVLVKhQIdWrV08LFy5UbGysEbUBAAAAAJClpfnw8iQDBgzQgAEDtHfvXoWGhqp///7q27ev2rZtq65du+qFF14wok4AwDOO2+1kHScdH94GAADcle6R7iQvvPCCvvjiC509e1YjR47Ud999p8qVK6tChQqaNWuW0nn7bwAAAAAAnjnpHulOcufOHS1dulQhISEKCwtT1apV1a1bN/3777/64IMP9Msvv2jBggUZWSsAAAAAAFlKukP33r17FRISou+//142Njbq2LGjJk2apBIlSljatGjRQpUrV87QQgEAAAAAyGrSHborV66sevXqafr06WrevLmyZcuWrI2/v79at26dIQUCAAAAAJBVpTt0Hz9+XAULFnxgGxcXF4WEhDxyUQAAAAAAPAvSfSG1hwVuAAAAAABwV7pHuhMSEjRp0iQtXrxYkZGRiouLs5p/+fLlDCsOAAAAAICsLN0j3aNGjdLEiRPVqlUrRUdHa9CgQXr99ddlY2Oj4OBgA0oEAAAAACBrSnfonj9/vr799lsNHjxYdnZ2atOmjb777juNGDFCv//+uxE1AgAAAACQJaU7dEdFRals2bKSpOzZsys6OlqS1LhxY61atSpjqwMAAAAAIAtLd+jOnz+/zp07J0kqXLiw1q9fL0natWuXHBwcMrY6AAAAAACysHSH7hYtWig8PFyS1L9/fw0fPlxFixZVx44d1bVr1wwvEAAAAACArCrdVy//5JNPLP/fqlUrFShQQNu3b1fRokXVpEmTDC0OAAAAAICsLN2h+37VqlVTtWrVMqIWAAAAAACeKekO3Zcu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\n"
     },
     "metadata": {}
    }
   ],
   "source": "import matplotlib.pyplot as plt\n\n# BIS Project Leap Faz 2 verilerine dayalı kriptografik yük boyutları (Bayt cinsinden)\nalgoritmalar = ['Klasik RSA-2048', 'Post-Kuantum (ML-DSA-44)', 'Hibrit Mod (RSA + ML-DSA)']\nacik_anahtar_boyutu = [256, 1312, 1568]\nimza_boyutu = [256, 2420, 2676]\n\nfig, ax = plt.subplots(figsize=(10, 6))\nbar_width = 0.35\nindex = range(len(algoritmalar))\n\nbar1 = ax.bar(index, acik_anahtar_boyutu, bar_width, label='Açık Anahtar Boyutu (Bayt)', color='#1f77b4')\nbar2 = ax.bar([i + bar_width for i in index], imza_boyutu, bar_width, label='Dijital İmza Boyutu (Bayt)', color='#ff7f0e')\n\nax.set_xlabel('Kriptografik Algoritmalar')\nax.set_ylabel('Bayt (Byte)')\nax.set_title('Kriptografik Veri Yükü Karşılaştırması (Paket Bloat Etkisi)')\nax.set_xticks([i + bar_width / 2 for i in index])\nax.set_xticklabels(algoritmalar)\nax.legend()\n\n# Değerleri barların üzerine yazdırma\nfor bar in bar1 + bar2:\n    height = bar.get_height()\n    ax.annotate(f'{height}',\n                xy=(bar.get_x() + bar.get_width() / 2, height),\n                xytext=(0, 3),\n                textcoords=\"offset points\",\n                ha='center', va='bottom')\n\nplt.tight_layout()\nplt.show()"
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "qut0O1kFUw6Q"
   },
   "source": "## 3. Fiziksel Katman Güvenliği: Kuantum Anahtar Dağıtımı (QKD)\nMatematiksel algoritmalar yerine doğrudan kuantum mekaniğinin fiziksel yasalarına dayanan **Kuantum Anahtar Dağıtımı (QKD)**, iletişim hatlarında mutlak bir fiziksel güvenlik katmanı sağlar. PQC yöntemleri teorik olarak sınırsız kaynağa sahip bir saldırgan tarafından kırılabilecekken, QKD şifrelemesi bilgi-kuramsal (information-theoretic) düzeyde tam güvenlik sağlar.\n\nQKD'nin kalbinde **\"Kopyalanamazlık İlkesi\" (No-Cloning Theorem)** yatar. İletilen fotonlar (kuantum durumu) araya giren bir siber saldırgan tarafından izinsiz ölçülmeye çalışıldığında yapıları anında bozulur ve sistemdeki hata oranı artarak saldırı tespit edilir.\n\nKüresel bankalar bu teknolojiyi saha testlerinden geçirmiştir:\n* **HSBC:** Küresel genel merkezi ile uzak veri merkezi arasındaki 62 kilometrelik fiber optik ağda QKD entegrasyonunu başarıyla test etmiştir.\n* **JPMorgan Chase:** 46 kilometrelik bir mesafede 100 Gbps hızında kuantum-güvenli ağ testleri yapmış, ilerleyen çalışmalarda 100 kilometre mesafeye ve 800 Gbps hıza ulaşan optik kanal mimarilerini devreye almıştır.\n\nAşağıdaki simülasyon kodunda, araya bir casusun (Eve) girmesinin QKD sisteminde hata oranını nasıl anında sıçrattığını görebiliriz."
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "id": "oktS1HutUw6R",
    "executionInfo": {
     "status": "ok",
     "timestamp": 1789580850808,
     "user_tz": -180,
     "elapsed": 16,
     "user": {
      "displayName": "Joseph Volkan ÖZCAN",
      "userId": "11389530967736397480"
     }
    },
    "outputId": "81de3c74-a7e8-4656-9773-9243f0af75a0",
    "colab": {
     "base_uri": "https://localhost:8080/"
    }
   },
   "outputs": [
    {
     "output_type": "stream",
     "name": "stdout",
     "text": [
      "[5000 bitlik foton gönderimi başlıyor...]\n",
      "Güvenli İletişim (Saldırı Yok) - Sistem Hata Oranı: %0.9\n",
      "Saldırı Altında İletişim (Casus Var) - Sistem Hata Oranı: %25.1\n",
      "🚨 UYARI: Eşik değer aşıldı! Anahtar üretimi iptal edildi. Fotonlara müdahale tespit edildi.\n"
     ]
    }
   ],
   "source": "import random\n\ndef simulate_qkd_interception(num_bits=1000):\n    # Kuantum Anahtar Dağıtımı (BB84 Protokolü) Basit Simülasyonu\n    print(f\"[{num_bits} bitlik foton gönderimi başlıyor...]\")\n\n    # Senaryo 1: Dinleme (Eavesdropping) YOK\n    # Doğal iletim kayıpları ve donanım gürültüsü nedeniyle normal şartlarda çok düşük bir hata oranı vardır.\n    normal_error_rate = sum([random.random() < 0.01 for _ in range(num_bits)]) / num_bits\n    print(f\"Güvenli İletişim (Saldırı Yok) - Sistem Hata Oranı: %{normal_error_rate * 100:.1f}\")\n\n    # Senaryo 2: Dinleme (Eavesdropping) VAR\n    # Casus (Eve) fotonları ölçtüğünde kuantum durumunu bozar.\n    # Yanlış bazda ölçüm yapma olasılığı hata oranını teorik olarak %25'e (veya üzerine) sıçratır.\n    intercepted_error_rate = sum([random.random() < 0.25 for _ in range(num_bits)]) / num_bits\n    print(f\"Saldırı Altında İletişim (Casus Var) - Sistem Hata Oranı: %{intercepted_error_rate * 100:.1f}\")\n\n    if intercepted_error_rate > 0.15:\n        print(\"🚨 UYARI: Eşik değer aşıldı! Anahtar üretimi iptal edildi. Fotonlara müdahale tespit edildi.\")\n\nsimulate_qkd_interception(5000)"
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "bzEoYt7qUw6S"
   },
   "source": "## 4. Düzenleyici Uyum ve Geçiş Yol Haritası\nTürkiye'de Bankacılık Düzenleme ve Denetleme Kurumu (BDDK), bilgi sistemleri yönetmeliği ile siber güvenliği kurumsal yönetim kurulu seviyesine taşımış ve sızma testleri ile güvenli kod geliştirme standartlarını zorunlu kılmıştır. Ayrıca, Kişisel Verilerin Korunması Kanunu (KVKK) Madde 12 kapsamında, kritik verileri koruyan şifreleme yöntemlerinin düzenli olarak gözden geçirilmesi, kuantum risklerinin teknik tedbirler dahilinde değerlendirilmesini zorunlu kılmaktadır.\n\nBağımsız uzmanlar ve kurumlar, post-kuantum güvenliğe geçişte şu 4 fazlı yol haritasını önermektedir:\n1. **Kriptografik Keşif ve Envanter:** Tüm donanım, API ve veri iletim hatlarındaki algoritmaların haritalandırılması.\n2. **Stratejik Planlama:** Bütçe ayrılması, kuantum uzman yetenek havuzu (CoE) kurulması ve stratejinin belirlenmesi.\n3. **Hibrit Uygulamalar:** Klasik ve post-kuantum algoritmaların bir arada çalıştırıldığı ağların kurulması ve donanımsal modernizasyon.\n4. **Sürekli Entegrasyon (Kriptografik Çeviklik):** Şifreleme algoritmalarının sistemleri kesintiye uğratmadan hızla değiştirilebilmesini (algorithm rotation) sağlayacak mimarilerin kurulması."
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.8.5"
  },
  "colab": {
   "provenance": []
  }
 },
 "nbformat": 4,
 "nbformat_minor": 0
}