-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path5.2.html
72 lines (57 loc) · 9.46 KB
/
5.2.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<title>Криптосистемы с открытым ключом, односторонние функции, RSA и ранцевая криптосистема</title>
<link rel="stylesheet" href="./css/index.css">
</head>
<body>
<div class="container">
<h1>Криптосистема с открытым ключом, односторонние функции, RSA и ранцевая криптосистема</h1>
<div class="navigation-buttons">
<a href="5.1.html" class="button">⬅ Назад</a>
<a href="5.3.html" class="button">Вперёд ➡</a>
</div>
<h2>Модель криптосистемы с открытым ключом</h2>
<p><strong>Криптосистема с открытым ключом</strong> — это тип криптографической системы, в которой используются два ключа: открытый ключ, известный всем, и закрытый (секретный) ключ, известный только получателю. Открытый ключ используется для шифрования или проверки подписи, а закрытый — для расшифрования или создания подписи.</p>
<p>Основные особенности криптосистем с открытым ключом:</p>
<ul>
<li><strong>Асимметричность:</strong> Открытый и закрытый ключи различны, но математически связаны.</li>
<li><strong>Безопасность:</strong> Безопасность основана на сложности восстановления закрытого ключа из открытого.</li>
<li><strong>Применение:</strong> Используется для шифрования данных, цифровых подписей и передачи секретных ключей.</li>
</ul>
<p>Криптосистемы с открытым ключом устраняют необходимость передачи секретного ключа между отправителем и получателем, что улучшает безопасность.</p>
<h2>Односторонние функции</h2>
<p><strong>Односторонняя функция</strong> — это функция, которая легко вычисляется в одном направлении, но чрезвычайно трудна для обратного вычисления. Иными словами, легко найти значение функции <code>f(x)</code>, но сложно найти <code>x</code>, зная только значение <code>f(x)</code>.</p>
<p>Односторонние функции — основа криптографии с открытым ключом, так как они обеспечивают сложность, необходимую для безопасности. Примером односторонней функции является умножение двух больших простых чисел: произведение легко найти, но разложение его на простые множители — сложная задача.</p>
<h2>Односторонние функции с секретом</h2>
<p><strong>Односторонняя функция с секретом</strong> — это функция, которая остаётся трудновычислимой без знания определённого секрета. Если секрет известен, то функция становится обратимой. Эти функции используются для построения криптографических систем с открытым ключом, где открытый ключ доступен всем, но расшифровать сообщение можно только зная секрет (закрытый ключ).</p>
<p>Пример: экспоненциальная функция по модулю простого числа является односторонней функцией. Однако при знании секретного ключа (показателя) она может быть обратима.</p>
<h2>Криптосистема RSA</h2>
<p><strong>RSA</strong> — это криптосистема с открытым ключом, основанная на сложности разложения на множители произведения двух больших простых чисел. Она была разработана Рональдом Ривестом, Ади Шамиром и Леонардом Адлеманом в 1977 году и является одной из самых популярных криптосистем для шифрования и цифровой подписи.</p>
<h3>Основные этапы работы RSA:</h3>
<ol>
<li><strong>Генерация ключей:</strong> Выбираются два больших простых числа <code>p</code> и <code>q</code>, их произведение <code>n = p * q</code> становится модулем, а <code>φ(n) = (p-1)(q-1)</code> — функцией Эйлера. Выбирается число <code>e</code>, взаимно простое с <code>φ(n)</code>, затем находится <code>d</code> такое, что <code>(e * d) mod φ(n) = 1</code>. Открытый ключ — <code>(e, n)</code>, закрытый — <code>(d, n)</code>.</li>
<li><strong>Шифрование:</strong> Сообщение <code>M</code> преобразуется в шифротекст <code>C</code> по формуле <code>C = M^e mod n</code>.</li>
<li><strong>Расшифрование:</strong> Шифротекст <code>C</code> преобразуется обратно в сообщение по формуле <code>M = C^d mod n</code>.</li>
</ol>
<p>RSA обеспечивает высокую безопасность при использовании ключей достаточной длины и применяется для защиты данных и создания цифровых подписей.</p>
<h2>Ранцевая криптосистема</h2>
<p><strong>Ранцевая криптосистема</strong> — это тип криптосистемы с открытым ключом, основанный на сложной комбинаторной задаче — задаче ранца. Основная идея заключается в том, что отправитель зашифровывает сообщение, преобразуя его в задачу нахождения подмножества, сумма которого равна заданному значению.</p>
<h3>Пример ранцевой криптосистемы</h3>
<p>Простая версия ранцевой криптосистемы строится следующим образом:</p>
<ol>
<li>Создаётся супервозрастающая последовательность чисел (каждое число больше суммы всех предыдущих), которая служит секретным ключом.</li>
<li>С помощью супервозрастающей последовательности и определённого множителя и модуля создаётся открытый ключ, не обладающий свойством супервозрастаемости.</li>
<li>Сообщение кодируется, и задача нахождения исходного сообщения сводится к сложной задаче нахождения подмножества с заданной суммой.</li>
</ol>
<p>Хотя ранцевые криптосистемы были одними из первых примеров криптосистем с открытым ключом, они оказались уязвимыми для некоторых типов атак. На практике они редко используются, но играют исторически важную роль в развитии криптографии с открытым ключом.</p>
<h2>Заключение</h2>
<p>Криптосистемы с открытым ключом обеспечивают защиту данных, не требуя предварительной передачи секретного ключа, и опираются на односторонние функции и задачи, которые трудно решить без знания секрета. RSA остаётся одной из самых надёжных и широко применяемых криптосистем, а ранцевые криптосистемы внесли вклад в развитие криптографических методов. Эти технологии играют важную роль в обеспечении конфиденциальности и безопасности данных в современных цифровых системах.</p>
</div>
<div class="navigation-buttons">
<a href="5.1.html" class="button">⬅ Назад</a>
<a href="5.3.html" class="button">Вперёд ➡</a>
</div>
</body>
</html>