Криптография с открытым ключом
Курсовая работа, 01 Мая 2012, автор: пользователь скрыл имя
Описание работы
От истоков криптографии до самых современных времен, криптосистемы строились на основе элементарных преобразований: подстановки и перестановки. Ручной труд, на протяжении тысяч лет, был сменен механическими, а далее и электромеханическими шифровальными и дешифровальными машинами, которые открыли новую эру в области защиты информации. Дальнейшее изобретение компьютеров, послужило новым толчком, развитию средств не только шифрования, но и криптоанализа. Одним из таких достижений, является алгоритм 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
Файлы: 1 файл
Курсовик криптография.docx
— 325.66 Кб (Скачать файл)- Вычисляет значение хэш – функции h(t).
- Выбрать произвольное секретное число k, 0 < k < q.
- Вычислить k – 1 (mod q).
- Вычислить r = (αk (mod p)) (mod q).
- Вычислить s = k – 1 (h(t) + ar) (mod q).
- Подпись адресата А есть пара чисел (r, s).
Проверка подписи. Чтобы проверить подпись (r, s) адресата А под его текстом t, адресат В должен выполнить следующее.
- Вычислить значение хэш – функции h(t).
- Взять открытый ключ (p, q, α, y) адресата А.
- Проверить, что 0 < r < q и 0 < s < q. Если нет, то отвергнуть подпись.
- Вычислить w = s – 1 (mod q) и h(m).
- Вычислить u1 = w · h(m) (mod q) и u2 = r w (mod q).
- Вычислить v = (α u1 y u2 (mod p)) (mod q).
- Принять подпись, если v = r и отвергнуть в противном случае.
Решение:
Адресат А подписывает свой текст t и всякий адресат В может проверить подпись А.
Вычисление ключей. Адресат должен выполнить следующее.
1. Выбрать простое число q = 27061.
- Выбрать простое число р = 324733, для которого q делит (p – 1). Пусть (p – 1)/ q = 12.
- Выбрает случайное число g=2012 *р и вычисляет α = g(p – 1)/q (mod p) = 201212 (mod 324733) = 84103. Так как α ≠ 1, то α есть генератор для единственной циклической подгруппы порядка q в группе *р . (Если α = 1, то следует выбрать другое g).
- Выбрать случайное число а = 115 [1, q – 1].
- Вычислить y = α a (mod p) = 84103115 (mod 324733) = 97053.
- Открытый ключ адресата есть (p = 324733, q = 270619, α = 84103,
y = 97053); секретный ключ адресата А есть число а = 115.
Вычисление подписи. Чтобы подписать свой текст t (произвольной длины), адресат А делает следующее.
- Вычисляет значение хэш – функции h(t). Пусть для примера h(t) =8058.
- Выбирает случайное секретное число k = 57 [0, q].
- Вычисляет k – 1 (mod q) = 25162.
- Вычисляет r = (αk (mod p)) (mod q) = (8410357 (mod 324733))
(mod 27061)=16682.
- Вычисляет s = k – 1 ∙ (h(t) + ar) (mod q) = 16682 ∙ (8058 + 115 ∙ 25061)
(mod 12) = 2939.
- Подпись адресата А под его текстом t есть пара чисел (r = 16682,
s = 2939).
- Проверка подписи. Чтобы проверить подпись (r = 16682, s = 2939)
адресата А под его текстом t, адресат В должен выполнить следующее.
- Вычисляет значение хэш – функции h(t). Если текст t не изменялся, то
h(t) = 8058.
- Берет открытый ключ адресата А: (p = 324733, q = 270619, α = 84103, y = 97053).
- Проверяет, что r = 16682 [0, q] = [0, 27061] и s = 2939 [0, q] =
= [0, 27061]. Если проверка не проходит, то подпись отвергнут.
- Вычисляет w = s – 1 (mod q) = 26573.
- Вычисляет u1 = w · h(t) (mod q) = 26573 ∙ 8058(mod 27061) = 18602,
u2 = r w (mod q) = 16682 ∙ 26573 (mod 27061) = 4545.
- Вычисляет v = (α u1 y u2 (mod p)) (mod q) = (45970618602 ∙ 1696354545
(mod 324733))(mod 27061) = 16682.
- Так как v = 16682 = r , то В принимает подпись А.
Для криптографической
- MATHCAD ПРОГРАММНЫЙ ПРОЦЕССОР
PACKET OF MATHCAD PROGRAMS FOR CRYPTOGRAPHY
WITH PUBLIC KEY
Polynoms are given by the vector of coefficients with the decreasing order of exponents: P(x) = =
Factoring n
Representation of 10-based natural numbers as h-based ones
Modular exponentiation m^e mod n
Extended Euclidean algorithm to find d=gcd(a,b)
and u, v for integers such that d=au+bv
The quotient and the remaider at division of product polynomials P(x),Q(x)
in Zp[x] modulo irreducible polynomial F(x) in Zp[x]
- ПРИМЕРЫ ИСПОЛЬЗУЕМЫХ MATHCAD-ПРОГРАММ
- Криптосистема RSA
CRYPTOSYSTEM RSA
Key generation
Public key for B is the pair of numbers (n, e)
Private key for B is the number a,
where
Encryption
The text t=KAL
Decryption
The text t = KAL
- Электронная цифровая подпись RSA с возвратом сообщения
- DIGITAL SIGNATURE RSA with recovering the message
- Key generation
- Public key for B is the pair of numbers (n, e)
- Private key for B is the number a
- where
- Signature generation
- The text t=KAL
- Signature verification
- Signature is accepted
- The text t = KAL
- Электронная цифровая подпись RSA с hash-функцией
DIGITAL SIGNATURE RSA with hash-function h(t)
Key generation
Public key for A is the pair of numbers (n, e)
Private key for A is the number a,
where
Signature generation
The text t=KAL
Hash function
Signature is the number
S=8058
Signature verification
t = KAL
If text t is changed, then m1 is other number. For instance,
- Шифросистема Эль-Гамаля с простым полем Галуа
ELGAMAL CRYPTOSYSTEM IN SIMPLE GALOIS FIELD
Key generation
Public key for B is three numbers (p,,y),
Private key for B is the number a,
where
Encryption
The text t=KAL