Участник:Smolkina Anastasia: различия между версиями
Материал из Поле цифровой дидактики
Нет описания правки |
Нет описания правки |
||
| Строка 16: | Строка 16: | ||
10/10/2024 | 10/10/2024 | ||
<snap project=" | <snap project="Follow me" user="avsmolkina" /> | ||
17/10/2024 | 17/10/2024 | ||
<snap project=" | <snap project="clone_ball" user="avsmolkina" /> | ||
=== Алгоритм Диффи-Хеллмана === | === Алгоритм Диффи-Хеллмана === | ||
Версия от 19:57, 17 октября 2024
| Описание участника | Студентка магистратуры ИЦО, группа ИВО-241м |
|---|---|
| Область знаний | Информатика, Педагогика, Психология, Образование, Игра, Моделирование |
| Веб-сайт | |
| Видео запись | |
| Кто оказал влияние (учителя) из Категория:Person |
|
| Понятия, которые интересуют из Категория:Понятие |
Python, CSV |
| Среды и средства, которые использует из цифровых средств или игр или книг |
Python, Excel, Minecraft, Notion |
| Позиция (положение) | Магистратура |
| Профиль подготовки | Информатика |
| Педагогическая направленность | Да |
| Принадлежность к организациям (сообщества) | |
| Виды спорта, которыми занимается | |
| Проекты, статьи и рецепты, над которыми работает |
Игра на Snap!:
03/10/2024
10/10/2024
17/10/2024
Алгоритм Диффи-Хеллмана
Используется для обмена секретными ключами
| A | B |
|---|---|
| По защищённому каналу получают d и p | По защищённому каналу получают d и p |
| Придумывает случайное целое число a | Придумывает случайное целое число b |
| [math]\displaystyle{ 𝑎^∗ = 𝑑^𝑎 * 𝑚𝑜𝑑(𝑝) }[/math] | [math]\displaystyle{ b^∗ = 𝑑^b * 𝑚𝑜𝑑(𝑝) }[/math] |
| Обмениваются числами [math]\displaystyle{ 𝑎^∗ }[/math] и [math]\displaystyle{ b^∗ }[/math] | Обмениваются числами [math]\displaystyle{ 𝑎^∗ }[/math] и [math]\displaystyle{ b^∗ }[/math] |
| [math]\displaystyle{ 𝑘(𝑎𝑏) = (𝑏^∗)^𝑎 * 𝑚𝑜𝑑(𝑝) = k }[/math] | [math]\displaystyle{ 𝑘(ba) = (a^∗)^b * 𝑚𝑜𝑑(𝑝) = k }[/math] |
| k – общий секретный ключ | k – общий секретный ключ |
Код на Python
import random
import sympy
p = sympy.randprime(200, 300)
d = random.randint(2, p - 1)
print(f"d = {d}, p = {p}")
b = random.randint(2, 300)
b_new = (d ** b) % p
a_new = int(input('Введите число a*: '))
print(f"Число b* = {b_new}")
k_ba = (a_new ** b) % p
k_ab = int(input('Введите полученное число k: '))
while k_ab != k_ba:
print(f"Ключ не совпал")
k_ab = int(input('Введите полученное число k: '))
print(f"Ключ совпал и равен {k_ab}")
input()
| Affective tasks | |
|---|---|
| Minecraft | Minecraft не ставит перед игроком каких-либо конкретных целей, но предлагает ему свободу действий: например, игрок может исследовать мир, добывать полезные ископаемые, сражаться с противниками и многое другое. |
