Skip to main content
LibreTexts - Ukrayinska

7.8: Вправи шавлії

  • Page ID
    64189
  • \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \) \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)\(\newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\) \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\) \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\) \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\) \( \newcommand{\Span}{\mathrm{span}}\) \(\newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\) \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\) \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\) \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\) \( \newcommand{\Span}{\mathrm{span}}\)

    1

    Побудуйте пару ключів для Аліси, використовуючи перші два простих числа більше, ніж\(10^{12}\text{.}\) Для вашого вибору\(E\text{,}\) використовуйте одне просте число і використайте найменший можливий вибір.

    Вивести значення\(n\text{,}\)\(E\text{,}\) і\(D\) для Аліси. Потім використовуйте команди Sage, щоб переконатися, що ключі шифрування та дешифрування Аліси мультиплікативні зворотні.

    2

    Побудуйте пару ключів для Боба, використовуючи перші два простих числа більше, ніж\(2\cdot 10^{12}\text{.}\) Для вашого вибору\(E\text{,}\) використовуйте одне просте число і використовуйте найменший можливий вибір. Вивести значення\(n\text{,}\)\(E\text{,}\) і\(D\) для Аліси.

    Кодуйте слово Math за допомогою значень ASCII таким же чином, як описано в цьому розділі (зберігайте великі літери, як показано на малюнку). Створіть підписане повідомлення цього слова для спілкування від Аліси до Боба. Вивести три цілих числа: повідомлення, підписане повідомлення та підписане зашифроване повідомлення.

    3

    Продемонструйте, як Боб перетворює повідомлення, отримане від Аліси, назад у слово Math. Виведіть значення проміжних обчислень і остаточне читається людиною повідомлення.

    4

    Створіть нове підписане повідомлення від Аліси до Боба. Імітуйте повідомлення, яке підроблено шляхом додавання\(1\) до цілого числа, яке отримує Боб, перш ніж він розшифрує його. Який результат отримує Боб для листів повідомлення, коли він розшифровує і скасовує підроблене повідомлення?

    5. Заняття в класі

    Організуйте заняття на кілька невеликих груп. Нехай кожна група побудує пари ключів з деяким мінімальним розміром (цифри в\(n\)). Кожна група повинна зберігати свій приватний ключ для себе, але зробити свій відкритий ключ доступним для всіх в кімнаті. Він може бути написаний на дошці (схильний до помилок) або, можливо, вставити на загальнодоступний сайт, як pastebin.com. Тоді кожна група може надіслати підписане повідомлення іншій групі, де групи можуть бути організовані логічно круговим способом для цієї мети. Звичайно, повідомлення також повинні публікуватися публічно. Очікуйте рівень успіху десь від 50% до 100%.

    Якщо ви не робите цього на заняттях, візьміть навченого приятеля і відправляйте один одному повідомлення таким же чином. Очікуйте успішність 0%, 50% або 100%.