![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 19.12.2011
Сообщений: 17
|
![]()
как организовать такое ...
Систем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 ![]() |
![]() |
![]() |
![]() |
#2 |
Пользователь
Регистрация: 19.12.2011
Сообщений: 17
|
![]()
В приделах одной программы на делфи)
|
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 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. Сравниваем хеш и расшифрован подпись. Они одинаковы, что говорит о подлинности сообщения. |
![]() |
![]() |
![]() |
#4 |
Пользователь
Регистрация: 19.12.2011
Сообщений: 17
|
![]()
есле кто решит помочь постучите в асю 619476668
|
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 19.12.2011
Сообщений: 17
|
![]()
Ну подскажите чет)
|
![]() |
![]() |
![]() |
Опции темы | Поиск в этой теме |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Тестовая система | 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 |