Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.12.2011, 18:07   #1
Anna)
Пользователь
 
Регистрация: 19.12.2011
Сообщений: 17
По умолчанию система PGP

как организовать такое ...
Системa PGP. По схеме, которая предлагается сервисами аутентификации и конфиденциальности системы PGP, передать от абонента А к абоненту В две буквы согласно варианту. Для упрощения вычислений:
Функция хеширования - побитовое сложение по модулю двух последовательных байтов, причем второй операнд (байт) перед добавлением циклически сдвигается на один бит влево.
Процедура архивации с помощью алгоритма ZIP - не выполняется.
Алгоритм симметричного шифрования - сеть Фейстеля с двумя раундами, размер блока 16 бит, ключ раунда определяется циклическим сдвигом влево на заданное количество битов. Например, Ks = 12 означает, что на первом раунде выполняется сдвиг на 1 бит, а на втором - на 2 бита.

Данные для шифрования: B (66) 01000010, E (69) 01000101

Данные RSA:
абонент А
p = 7, q = 11, e = 13
абонент В
p = 5, q = 19, e = 31

Данные сети Фейстеля:
Ks = 23

Anna) вне форума Ответить с цитированием
Старый 21.12.2011, 18:32   #2
Anna)
Пользователь
 
Регистрация: 19.12.2011
Сообщений: 17
По умолчанию

В приделах одной программы на делфи)
Anna) вне форума Ответить с цитированием
Старый 21.12.2011, 18:39   #3
Anna)
Пользователь
 
Регистрация: 19.12.2011
Сообщений: 17
По умолчанию

вот нашла кое что но как подобное закодить не знаю..
Сторона абонента А.

Сообщение: RD
Сообщение в двоичном коде (2 байта): 01010010 01000100

Хеширования по упрощенной схеме:
1. Второй байт циклически сдвигает на один бит влево: 10001000
2. Порозрядно добавляем байт 01010010 и сдвинут байт 10001000 по модулю 2: 11011010

11011010 - хэш сообщения.

Получаем закрытый ключ абонента А:
r q α β
108 1 0
25 0 1
8 4 1 -4
1 3 -3 13

Закрытый ключ абонента A: d = 13.

Шифруем с помощью закрытого ключа хэш сообщения.
Превратим 11011010 в десятичное число: 218.

Модуль модулярной арифметики N = p * q = 7 * 19 = 133
Разбиваем 218 на два блока, которые шифруем отдельно: 21 8.

C1 = 2113 mod 133 = 98
C2 = 813 mod 133 = 8

Цифровая подпись: 98 8.
В двоичном представлении: 01100010 00001000.

Осуществляем конкатенацию (соединение) сообщения и цифровой подписи:

01010010 01000100 01100010 00001000

В схеме PGP данная строка подается на вход алгоритма архивации ZIP. В контрольной работе этот шаг для упрощения не выполняется.

Следующий шаг - шифрование с помощью DES. Для упрощения в контрольной работе заменяем DES сетью Фейстеля с двумя раундами, размером блока 16 бит и сеансовым ключом Ks = 43 (по варианту). Число 43 означает, что ключ первого раунда 4, а другой - 3. Функция раунда - циклический сдвиг влево последовательности битов на величину ключа раунда.

Для упрощения вычислений в контрольной работе размер блока для шифрования 16 бит.

Шифрование сетью Фейстеля:

Первый блок: 01010010 01000100

01010010 01000100 Входной блок



01000100 Смещение на 4 бита




01000100 00010110 Сумма по модулю 2



10110000 Смещение на 3 бита




00010110 11110100 Сумма по модулю 2


11110100 00010110 Зашифрованный блок


















Второй блок: 01100010 00001000

01100010 00001000 Входной блок



10000000 Смещение на 4 бита




00001000 11100010 Сумма по модулю 2



00010111 Смещение на 3 бита




11100010 00011111 Сумма по модулю 2


00011111 11100010 Зашифрованный блок


Итак, зашифрованное сообщение с подписью:

11110100 00010110 00011111 11100010.

Ключ раунда Ks = 43 шифруем с открытым ключом абонента В:

Модуль модулярной арифметики N = p * q = 5 * 19 = 95

C = 4311 mod 95 = 82 - зашифрованный сеансов ключ.

В двоичном представлении: 01010010.

Осуществляем конкатенацию (соединение) зашифрованного сообщения с подписью и зашифрованного ключа раунда:

11110100 00010110 00011111 11100010 01010010

Полученная последовательность битов передается открытым каналом связи абоненту В.

Сторона абонента В.

Принимаем последовательность битов: 11110100 00010110 00011111 11100010 01010010

Отделяем зашифрованный сеансовый ключ (последний байт): 01010010. Превращаем его в десятичный вид: 82.

Вычисляем закрытый ключ абонента В:

R q α β
72 1 0
11 0 1
6 6 1 -6
5 1 -1 7
1 1 2 -13

d = -13 + 72 = 59 - закрытый ключ.

Расшифровываем при помощи закрытого ключа сеансов ключ:
Ks = 8259 mod 95 = 43 - расшифрован сеансов ключ.

Подаем зашифрованное сообщение на сеть Фейстеля для расшифровки. Ключи раундов подаются в обратном порядке.
Первый блок:

11110100 00010110 Входной блок



10110000 Смещение на 3 бита




00010110 01000100 Сумма по модулю 2



01000100 Смещение на 4 бита




01000100 01010010 Сумма по модулю 2


01010010 01000100 Расшифрован блок

Расшифровываем второй блок: 00011111 11100010

00011111 11100010 Входной блок



00010111 Смещение на 3 бита




11100010 00001000 Сумма по модулю 2



10000000 Смещение на 4 бита




00001000 01100010 Сумма по модулю 2


01100010 00001000 Расшифрован блок


Оба блока расшифрованного сообщения:

01010010 01000100 01100010 00001000

Проверка цифровой подписи.
Отделяем подпись (два последних байта): 01100010 00001000. Переводим в десятичный вид: 98 8.

Расшифровываем подпись с помощью открытого ключа абонента А:
M1 = 9825 mod 133 = 21
M2 = 825 mod 133 = 8
Расшифрован подпись: 218. В десятичном виде: 11011010.

Получаем хэш сообщения (сдвигаем циклически второй байт на 1 бит влево и порозрядно добавляем по модулю 2 с первым байтом): 11011010.

Сравниваем хеш и расшифрован подпись. Они одинаковы, что говорит о подлинности сообщения.
Anna) вне форума Ответить с цитированием
Старый 21.12.2011, 18:46   #4
Anna)
Пользователь
 
Регистрация: 19.12.2011
Сообщений: 17
По умолчанию

есле кто решит помочь постучите в асю 619476668
Anna) вне форума Ответить с цитированием
Старый 22.12.2011, 13:12   #5
Anna)
Пользователь
 
Регистрация: 19.12.2011
Сообщений: 17
По умолчанию

Ну подскажите чет)
Anna) вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Тестовая система MyLastHit Общие вопросы Delphi 2 18.12.2010 20:25
Система принятия решения (Экспертная система) daranton Microsoft Office Excel 4 01.05.2010 17:55
Система (Си) Defa4ka Помощь студентам 2 01.10.2009 02:22
Система администрирования Deight PHP 6 10.02.2009 01:25
Система аккаунтов Лунатик222 Помощь студентам 6 07.02.2009 00:14