From a1f9afd7390494f35da5b6e1392760d1eb2e0a46 Mon Sep 17 00:00:00 2001
From: zhili2000 <85837970+zhili2000@users.noreply.github.com>
Date: Mon, 18 Sep 2023 14:05:37 +0200
Subject: [PATCH] Created using Colaboratory

---
 [Modern_Crypto_2023]_Homework_2.ipynb | 167 ++++++++++++++++++++++++++
 1 file changed, 167 insertions(+)
 create mode 100644 [Modern_Crypto_2023]_Homework_2.ipynb

diff --git a/[Modern_Crypto_2023]_Homework_2.ipynb b/[Modern_Crypto_2023]_Homework_2.ipynb
new file mode 100644
index 00000000..53d69196
--- /dev/null
+++ b/[Modern_Crypto_2023]_Homework_2.ipynb
@@ -0,0 +1,167 @@
+{
+  "nbformat": 4,
+  "nbformat_minor": 0,
+  "metadata": {
+    "colab": {
+      "provenance": [],
+      "authorship_tag": "ABX9TyP4RF+z27+xZNLwu9OR4ouG",
+      "include_colab_link": true
+    },
+    "kernelspec": {
+      "name": "python3",
+      "display_name": "Python 3"
+    },
+    "language_info": {
+      "name": "python"
+    }
+  },
+  "cells": [
+    {
+      "cell_type": "markdown",
+      "metadata": {
+        "id": "view-in-github",
+        "colab_type": "text"
+      },
+      "source": [
+        "<a href=\"https://colab.research.google.com/github/zhili2000/Python/blob/master/%5BModern_Crypto_2023%5D_Homework_2.ipynb\" target=\"_parent\"><img src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"Open In Colab\"/></a>"
+      ]
+    },
+    {
+      "cell_type": "markdown",
+      "source": [
+        "\n",
+        "# **Question 6 [4 pt]: Exercise 4.11: experimental birthday probabilities**\n",
+        "\n",
+        "Write a program that experimentally estimates the BirthdayProb(q, N) probabilities.\n",
+        "Given q and N , generate q uniformly chosen samples from $\\mathbb{Z}_N$ , with replacement, and check whether\n",
+        "any element was chosen more than once. Repeat this entire process t times to estimate the true probability of BirthdayProb(q, N ). Generate a plot that compares your experimental findings to the theoretical\n",
+        "upper/lower bounds of $0.632 \\frac{q(q−1)}{2N}$ and $\\frac{q(q−1)}{2N}$."
+      ],
+      "metadata": {
+        "id": "0md32aDsUJGX"
+      }
+    },
+    {
+      "cell_type": "markdown",
+      "source": [
+        "# Solution:\n",
+        "The program that experimentally estimates the BirthdayProb(q,N) probabilities could be written as follows:"
+      ],
+      "metadata": {
+        "id": "pF41qmOt04Mz"
+      }
+    },
+    {
+      "cell_type": "code",
+      "source": [
+        "import numpy as np\n",
+        "\n",
+        "def birthday_prob(q, N, t):\n",
+        "    # Store the results of whether any element was chosen more\n",
+        "    # than once in this array. 1 indicates duplicates, 0 otherwise.\n",
+        "    results = np.zeros(t)\n",
+        "\n",
+        "    # Repeat the process t times.\n",
+        "    for i in range(0, t):\n",
+        "        # Generate q uniformly chosen samples from Z_n.\n",
+        "        samples = np.random.randint(0, N, size=q)\n",
+        "        # Get the array of unique values in samples.\n",
+        "        unique_val = np.unique(samples)\n",
+        "\n",
+        "        # If the number of unique values is smaller than the size\n",
+        "        # of samples, it means that some elements have occurred more\n",
+        "        # than once.\n",
+        "        if samples.size > unique_val.size:\n",
+        "            results[i] = 1\n",
+        "\n",
+        "    # Get the probability.\n",
+        "    return np.count_nonzero(results) / results.size\n",
+        "\n",
+        "def lower_bound(q, N):\n",
+        "    return 0.632 * q * (q - 1) / (2 * N)\n",
+        "\n",
+        "def upper_bound(q, N):\n",
+        "    return q * (q - 1) / (2 * N)"
+      ],
+      "metadata": {
+        "id": "W04mA_d_XnzT"
+      },
+      "execution_count": 20,
+      "outputs": []
+    },
+    {
+      "cell_type": "markdown",
+      "source": [
+        "Then we can generate a plot that compares the experimental findings to the theoretical upper/lower bounds of $0.632\\frac{q(q−1)}{2N}$ and $\\frac{q(q−1)}{2N}$."
+      ],
+      "metadata": {
+        "id": "R6czVjHO1R1O"
+      }
+    },
+    {
+      "cell_type": "code",
+      "source": [
+        "from functools import update_wrapper\n",
+        "from numpy._typing import NBitBase\n",
+        "import matplotlib.pyplot as plt\n",
+        "\n",
+        "N = 365\n",
+        "q = 70\n",
+        "\n",
+        "# Repeat birthday_prob() 2000 times for every q in\n",
+        "# order to get more accurate results.\n",
+        "t = 1800\n",
+        "\n",
+        "lower_x = np.arange(0, q)\n",
+        "lower_y = np.zeros(q)\n",
+        "upper_x = np.arange(0, q)\n",
+        "upper_y = np.zeros(q)\n",
+        "est_x = np.arange(0, q)\n",
+        "est_y = np.zeros(q)\n",
+        "\n",
+        "for i in range(q):\n",
+        "    lower_y[i] = lower_bound(i, N)\n",
+        "    upper_y[i] = upper_bound(i, N)\n",
+        "    est_y[i] = birthday_prob(i, N, t)\n",
+        "\n",
+        "plt.title('BirthdayProb(q, N), q = 70, N = 365')\n",
+        "plt.ylim(top=1.01, bottom=0)\n",
+        "plt.plot(lower_x, lower_y, label='Lower bound')\n",
+        "plt.plot(upper_x, upper_y, label='Upper bound')\n",
+        "plt.plot(est_x, est_y, label='BirthdayProb(70, 365)')\n",
+        "plt.legend()\n",
+        "plt.show()"
+      ],
+      "metadata": {
+        "colab": {
+          "base_uri": "https://localhost:8080/",
+          "height": 452
+        },
+        "id": "tqybHKuVxj-v",
+        "outputId": "e55e397b-3900-4d55-adbf-8b75fe84a355"
+      },
+      "execution_count": 45,
+      "outputs": [
+        {
+          "output_type": "display_data",
+          "data": {
+            "text/plain": [
+              "<Figure size 640x480 with 1 Axes>"
+            ],
+            "image/png": "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\n"
+          },
+          "metadata": {}
+        }
+      ]
+    },
+    {
+      "cell_type": "markdown",
+      "source": [
+        "We see that the BirthdayProb(q, N) stays within the upper and lower bounds when q is relatively small compared to N."
+      ],
+      "metadata": {
+        "id": "eotELLLiKwBM"
+      }
+    }
+  ]
+}
\ No newline at end of file
