Автор работы: Пользователь скрыл имя, 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
p = 324733, q = 27061, t = KAL.
Алгоритм:
Вычисление ключей. Каждый адресат создает открытый ключ и ему соответствующий секретный ключ. Адресат должен выполнить следующее.
1. Выбрать два больших различных случайных простых числа p и q примерно одного размера.
2. Найти n = p ∙ q и функцию Эйлера φ = φ(n) = (p − 1)(q − 1).
3. Взять случайное число e, 1 < e < φ, такое, что нод(e, φ) = 1.
4. Найти такое целое a (1, φ), что ea ≡ 1 (mod φ). С помощью расширенного алгоритма Евклида найти то единственное целое a, 1 < d < φ, для которого ea ≡ 1 (mod φ).
5. Открытый ключ адресата есть
пара чисел (n,
e). Секретный ключ адресата есть число
a.
Вычисление подписи. Адресат А подписывает свой текст t. Любой адресат B может проверить подпись A и извлечь из нее текст t. Адресат A должен выполнить следующее.
R : [0, n – 1] → MR , где MR есть некоторое числовое множество, например,
R(m) = m*m, где a*b есть результат приписывания слова b к слову a. Тогда MR = {w = m*m: m [0, n – 1]}.
3. Найти число s = w a(mod n).
4. Отправить подписанный шифротекст
s адресату В.
Проверка подписи и вычисление сообщения. Чтобы проверить подпись s адресата A и извлечь из нее сообщение m, адресат B должен выполнить следующее.
Решение:
Адресат A подписывает свой текст t. Любой адресат B может проверить подпись A.
Вычисление ключей. Адресат А выполняет следующее.
1. Выбирает разные простые числа p = 324733, q = 27061.
2. Находим n = p ∙ q = 324733 * 27061 = 8787599713 и функцию Эйлера
φ = φ(n) = (p − 1)(q − 1) = 324732 * 27060 = 8787247920.
3. Выбирает случайное число e = 23, 1 < e < φ, с нод(e, φ) = 1.
4. С помощью расширенного
5. Открытый ключ для А есть пара (n = 8787599713, e = 23). Секретный ключ для А есть число a = 1910271287.
Вычисление подписи. Вычисление подписи. Адресат А подписывает свой текст t произвольной длины. Любой адресат B может проверить подпись A под его текстом t. Адресат A должен выполнить следующее.
1. Вычислить значение хэш – функции h = h(t). Пусть текст
t = KAL, m = 11 * 272 +1 * 27 + 12 = 8058, h = h(m) = m = 8058.
2. Вычислить s = h a (mod n) = 80581910271287 (mod 8787599713)= 5203015680. Число s есть подпись A под его текстом t.
Проверка подписи и вычисление сообщения.
Чтобы проверить подпись s адресата A, адресат B должен выполнить следующее.
Получить открытый ключ (n = 8787599713, e = 23) адресата A.
Вычислить значение хэш – функции h = h(t). Если текст t не изменялся, то h = 8058.
Вычислить h1 = s e(mod n) = 520301568023 (mod 8787599713) = 8058.
Принять подпись, если h = h1, и отвергнуть в противном случае. Так как h = h1 = 8058, то подпись принимается.
Все вышеперечисленные
вычисления и рассуждения отражены
в пункте 5.3, который представляет
собой код соответствующей
Теоретическое введение:
Схема Эль-Гамаля (Elgamal) — криптосистема с открытым ключом,основанная на трудности вычисления дискретных логарифмов в конечном поле. Криптосистема включает в себя алгоритм шифрования и алгоритм цифровой подписи. Схема Эль-Гамаля лежит в основе стандартов электронной цифровой подписи в США и России .
Схема была предложена Тахером Эль-Гамалем в 1984 году. Эль-Гамаль разработал один из вариантов алгоритма Диффи-Хеллмана. Он усовершенствовал систему Диффи-Хеллмана и получил два алгоритма, которые использовались для шифрования и для обеспечения аутентификации. В отличие от RSA алгоритм Эль-Гамаля не был запатентован и, поэтому, стал более дешевой альтернативой, так как не требовалась оплата взносов за лицензию.
Задача 25.6
Зашифровать и расшифровать сообщение с помощью криптосистемы ЭльГамаля. В качестве простого числа p взять большее число варианта из задачи 29. В качестве исходного текста взять три первые латинские буквы совей фамилии.
p = 324733, t =
KAL
Вычисление ключей. Каждый адресат создает свой открытый ключ и ему соответствующий секретный ключ. Адресат должен выполнить следующее.
1. Выбрать случайное простое
2. Выбрать случайное число a [1, p – 2] и найти y = αa (mod p).
3. Открытый ключ адресата есть
тройка чисел (p,
α, y). Секретный ключ адресата есть
число a.
Шифрование. Адресат А шифрует свой текст t и отправляет шифротекст адресату В. В дешифрует сообщение от А и получает исходный текст t. Адресат А должен выполнить следующее.
1. Получить открытый ключ (p, α, y) адресата В.
2. С помощью какого – либо метода М, который публикуется, представить свое письмо t как сообщение в виде натурального числа m из сегмента [0,p–1]
3. Выбрать случайное число k, 1 ≤ k ≤ p – 2.
4. Вычислить γ = αk (mod p) и δ = m · yk (mod p).
5. Отправить свой шифротекст c
= (γ, δ) адресату В.
Дешифрование. Чтобы получить исходный текст t по c = (γ, δ), адресат В должен выполнить следующее.
Решение:
Адресат А пишет письмо t = KAL адресату В.
Вычисление ключей. Адресат В выполняет следующее.
y = αa (mod p) = 5324715 (mod 324733) = 717.
3. Открытый ключ адресата В
есть тройка (р = 324733, α =
5, у = 717). Секретный ключ адресата
В есть число а = 324715.
Шифрование. Адресат А шифрует свой текст t = KAL и выполняет следующее.
[0, p – 1], с помощью какого – либо метода, например, с помощью 27 – ричной системы счисления числом m = 12*272 + 1*27 + 11 = 8058.
3. Выбирает случайное число k = 201251, 1 ≤ k ≤ р – 2.
4. Вычисляет γ = αk (mod p) = 6201251 (mod 324733) = 158123,
δ = m · yk (mod p) = 8058 · 158123201251 (mod 324733) = 193569.
5. Посылает шифротекст с = (γ
= 158123, δ = 193569) адресату В.
Дешифрование. Чтобы дешифровать шифротекст с = (γ = 158123, δ = 193569) от А, адресат В выполняет следующее.
γ p – 1 – a (mod p) = 20827585085 (mod 490663) = 15939
m = (γ p -1 - a · δ)(mod p) = ((γ p -1 - a)(mod p) · δ)(mod p) = 8058
Представляет число m 27– ричной системе счисления: m = (12 1 11)27 и получает исходный текст KAL.
Замечание.
Криптографическая стойкость криптосистемы
ЭльГамаля основана на трудной практической
осуществимости проблемы нахождения дискретного
логарифма в группе
*р
при больших простых числах
р. На практике для криптографической
стойкости простое число р задается
двоичным числом с 1024 и более двоичными
разрядами.
Теоретическое введение:
Цифровая подпись
служит для того чтобы можно было
установить изменения данных и чтобы
установить подлинность подписавшейся
стороны. Получатель подписанного сообщения
может использовать цифровую подпись
для доказательства третьей стороне
того, что подпись действительно
сделана отправляющей стороной. При
работе в режиме подписи предполагается
наличие фиксированной хеш-
Задача 26.6
Вычислить
и проверить подпись под
p = 5783 t = KAL
При использовании схемы
Вычисление ключей. Каждый адресат создает открытый ключ и ему соответствующий секретный ключ. Далее адресат должен выполнить следующее.
1. Выбрать случайное простое