Автор работы: Пользователь скрыл имя, 01 Мая 2012 в 11:33, курсовая работа
От истоков криптографии до самых современных времен, криптосистемы строились на основе элементарных преобразований: подстановки и перестановки. Ручной труд, на протяжении тысяч лет, был сменен механическими, а далее и электромеханическими шифровальными и дешифровальными машинами, которые открыли новую эру в области защиты информации. Дальнейшее изобретение компьютеров, послужило новым толчком, развитию средств не только шифрования, но и криптоанализа. Одним из таких достижений, является алгоритм LUCIFER компании IBM, который был положен в основу всем хорошо известного алгоритма DES. Однако, основу всех алгоритмов продолжали составлять, все те же,
ВВЕДЕНИЕ 2
1. КРИПТОГРАИЧЕСКАЯ СИСТЕМА RSA 2
1.1. Криптосистема RSA 2
1.2. Электронная цифровая подпись RSA с возвратом сообщения 2
1.3. Электронная цифровая подпись RSA с hash-функцией 2
2. КРИПТОГРАФИЧЕСКАЯ СИСТЕМА ЭЛЬ-ГАМАЛЯ С ПРОСТЫМ ПОЛЕМ ГАЛУА 2
2.1. Шифросистема Эль-Гамаля с простым полем Галуа 2
2.2. Электронная цифровая подпись Эль-Гамаля с простым полем Галуа 2
3. КРИПТОГРАФИЧЕСКАЯ СИСТЕМА ЭЛЬ ГАМАЛЯ С ОБЩИМ ПОЛЕМ ГАЛУА 2
3.1. Шифросистема Эль-Гамаля с общим полем полем Галуа 2
3.2. Электронная цифровая подпись Эль-Гамаля с общим полем Галуа 2
4. КРИПТОГРАФИЧЕСКАЯ СИСТЕМА DSA 2
4.1. Электронная цифровая подпись DSA 2
5. MATHCAD ПРОГРАММНЫЙ ПРОЦЕССОР 2
6. ПРИМЕРЫ ИСПОЛЬЗУЕМЫХ MATHCAD-ПРОГРАММ 2
6.1. Криптосистема RSA 2
6.2. Электронная цифровая подпись RSA с возвратом сообщения 2
6.3. Электронная цифровая подпись RSA с hash-функцией 2
6.4. Шифросистема Эль-Гамаля с простым полем Галуа 2
6.5. Электронная цифровая подпись Эль-Гамаля с простым полем Галуа 2
6.6. Шифросистема Эль-Гамаля с общим полем полем Галуа 2
6.7. Электронная цифровая подпись Эль-Гамаля с общим полем Галуа 2
6.8. Электронная цифровая подпись DSA 2
ЛИТЕРАТУРА 2
2. Выбрать произвольное число a, 1 ≤ a ≤ р – 1.
3. Вычислить y = αa (mod p).
4. Открытый ключ адресата есть
тройка чисел (p,
α, y). Секретный ключ адресата есть
число a.
Вычисление подписи. Адресат А подписывает свой текст t (произвольной длины). Любой адресат B может проверить подпись адресата A под его текстом t. Адресат A должен выполнить следующее.
2. Выбрать случайное секретное целое число k из [1, p – 2] такое, что нод(k, p – 1) = 1.
3. Вычислить k – 1 (mod (p – 1)).
4. Вычислить r = αk (mod p).
5. Вычислить s = k – 1 (h(t) – ar) (mod (p – 1)).
6. Подпись адресата А под его
текстом t есть пара (r,
s).
Проверка подписи. Чтобы проверить подпись (r, s) адресата A под его текстом t, адресат B должен выполнить следующее.
Решение:
Адресат А подписывает свой текст t. Любой адресат В может проверить подпись А.
Вычисление ключей. Адресат А выполняет следующее.
1. Выбирает простое число p = 5783 и находит генератор α = 7 мультипликативной группы *р целых чисел по модулю р.
2. Выбрать случайное целое a = 3564, 1 ≤ a ≤ р – 1.
3. Вычисляет y = αa (mod p) = 73564 (mod 5783) = 1366.
4. Открытый ключ адресата A
есть тройка чисел (p =
5783, α = 7, y = 1366). Секретный ключ адресата
A есть число a =3564.
Вычисление подписи. Адресат А подписывает свой текст t и для этого выполняет следующее.
2. Выбрать случайное секретное целое число k = 1577 из [1, p – 2] такое, что нод(k, p – 1) = 1.
3. Вычислят k – 1 (mod (p – 1)) = 1577 – 1 (mod 5783) = 111.
4. Вычисляет r = αk (mod p) = 71577 (mod 5783) = 605.
5. Вычисляет s = k – 1 (h(t) – ar) (mod (p – 1)) = 1252
6. Подпись адресата
А есть пара (r = 605,
s = 1252).
Проверка подписи. Чтобы проверить подпись (r = 605, s = 1252) адресата A под его текстом t, адресат B должен выполнить следующее.
Для Криптографической
Все
вышеперечисленные вычисления и
рассуждения отражены в пункте 5.5,
который представляет собой код
соответствующей MathCAD – программы.
Зашифровать и расшифровать сообщение с помощью (обобщенной) криптосистемы ЭльГамаля над (конечным) полем Галуа GF(pm). Взять простое число р = 31, натуральное m = 3. Неприводимый полином над р определяется номером варианта. В качестве исходного текста взять три первые латинские буквы своей фамилии.
23х3
+ 6, р = 31,
m = 3, t =KAL.
Решение:
Числовая схема шифрования
Ниже следуют удовлетворяющие этим двум условиям группы, из которых первые три наиболее употребительны.
1. Мультипликативная группа *р целых чисел по модулю простого числа р.
2. Мультипликативная группа *2s конечного поля 2s характеристики два.
3. Группа точек эллиптической кривой над конечным полем.
4. Мультипликативная группа *q конечного поля |Fq , где q = p s , р есть простое число, s есть положительное простое число.
5. Группа обратимых элементов *n , где n есть составное целое число.
6. Якобиан гиперэллиптической кривой над конечным полем.
7. Класс групп мнимого
Адресат
А шифрует свой текст t и отсылает
шифротекст адресату В. В
дешифрует сообщение от А и получает
исходный текст t.
Вычисление ключей. Каждый адресат создает свой открытый ключ и ему соответствующий секретный ключ. Далее адресат должен выполнить следующее.
1. Выбрать подходящую (мультипликативную) циклическую группу G порядка n.
2. Найти генератор α группы G.
3. Выбрать случайное целое число a, 1 ≤ a ≤ n – 1.
4. Вычислить элемент y = αa группы G.
5. Открытый ключ адресата есть
пара чисел (α,
y) элементов группы G. Открыто
также описание умножения элементов в
G. Секретный ключ адресата есть число
a.
Шифрование. Адресат А шифрует свой текст t и отправляет шифротекст адресату В. Адресат А должен выполнить следующее.
1. С помощью какого – либо метода М, который публикуется, представить свое письмо t как элемент m группы G.
2. Получить открытый ключ (α, y) адресата В.
3. Выбрать случайное целое число k, 1 ≤ k ≤ n – 1.
4. Вычислить γ = αk и δ = m · yk .
5. Отправить свой шифротекст c = (γ, δ) адресату В.
Дешифрование. Чтобы получить исходный текст t по c = (γ, δ), адресат В должен выполнить следующее.
Замечание.
Все адресаты могут выбрать одну и ту же
циклическую группу G и ее генератор
α.
Адресат А подписывает свой текст
t = KAL и отправляет шифротекст
адресату В. В дешифрует
сообщение от А и получает исходный
текст t.
Вычисление ключей. Адресат В выполняет следующее.
1. Выбирает мультипликативную
n = pm – 1 = 313 – 1 = 2196.
2. Находит генератор α = х + 5 = (0 1 5) группы G.
3. Выбрать случайное целое число a = 2, 1 ≤ a ≤ n – 1.
4. Вычислить элемент y = αa (mod f(x)) = (х + 5)2 (mod f(x)) = х2 + 10х + 12 = (1 10 12) группы G.
5. Открытый ключ адресата для В есть пара чисел (α = (0 1 5),
y =
(1 10 12)) вместе с полиномом f(x),
который определяет умножение в G,
если f(x) и α не есть параметры,
общие всем адресатам. Секретный ключ
для В есть число a =
2.
Шифрование. Адресат А шифрует свой текст t и отправляет шифротекст адресату В. Адресат А должен выполнить следующее.
1. Представляет свой текст t = KAL как элемент m1 группы G. Чтобы зашифровать письмо t, адресат А кодирует текст t каким – либо способом, например, в 27 – ричной системе счисления 10 – ричным числом
u = 5 * 272 + 76 * 27 + 3 = 877810 , а затем вычисляет 31 – ричное представление числа u в виде сообщения m1 = (3 8 8 11)31 , рассматриваемом как полином 5х2 + 76х + 3из 31 [х].
2. Получить открытый ключ (α = (0 1 5), y = (1 10 12)) адресата В.
3. Выбрать случайное целое число k = 2134, 1 ≤ k ≤ n – 1.
4. Вычислить γ = αk = (х + 5) 2134 (mod f(x)) = 12х2 + 7х + 3 = (12 6 3),