|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
06.01.2015, 02:08 | #1 |
Пользователь
Регистрация: 24.02.2012
Сообщений: 88
|
Алгоритм шифрования DES
здравствуйте, уже 4 день мучаюсь с данным алгоритмом.
по мануалам последовательность шифрования такая: 1) берём блок 64 бита 2)делаем первичную перестановку IР блока 64 бит 3)разделяем его по 32 бита на левый и правый 4)расширяем правый блок до 48 бит 5)правый блок = (правый блок) XOR (ключ 48 бит) 6)используем перестановку S для правого блока 7)используем перестановку P для правого блока 8)левый блок = (левый блок) XOR (правый блок) 9) поменять местами левый и правый блок(кроме последней итерации) 10)повторить шаги 4-9 16раз 11)склеять блоки в один 64 бит 11)делаем финальную перестановку IP(-1) блока 64 но вот как расшифровать - непонятно. написано, что действия делать в обратном порядке, но как восстанавливать блоки после P и S перестановок - непонятно понятно только, что ключи нужно применять в обратном порядке. разжуйте пожалуйста так же пошагово алгоритм расшифровки и гляньте, не допустил ли я ошибку в описанных мной шагах Последний раз редактировалось sinestro; 06.01.2015 в 02:12. |
06.01.2015, 11:45 | #2 |
C/C++, Asm
Участник клуба
Регистрация: 02.03.2010
Сообщений: 1,323
|
если память мне не изменяет, то DES это алгоритм у которого в обратной операции только порядкок следования ключей меняется на противоположный, а вся остальная логика такая же как и в прямой операции.
|
06.01.2015, 19:48 | #3 | |
Пользователь
Регистрация: 17.10.2008
Сообщений: 35
|
Может кто сможет мне немного мозг вправить:
В википедии говориться про начальную перестановку: Цитата:
58 -1, 50 - 2, 42-3, 34-4,26-5,18-6,10-7,2-8, 60-9,52-10,44-11.... Я правильно понял порядок перестановки или нет? |
|
06.01.2015, 21:19 | #4 | |
Пользователь
Регистрация: 24.02.2012
Сообщений: 88
|
Цитата:
Код:
Последний раз редактировалось sinestro; 07.01.2015 в 10:40. |
|
06.01.2015, 21:28 | #5 |
Пользователь
Регистрация: 24.02.2012
Сообщений: 88
|
MaGWaY_minsk, вот
Код:
|
07.01.2015, 00:10 | #6 |
Пользователь
Регистрация: 24.02.2012
Сообщений: 88
|
реализация алгоритма DES
помогите пожалуйста найти ошибку. моя программа шифрует, но расшифровывает криво. что может быть не так ? всё делал по схеме с википедии. функции по несколько раз перепроверил. даже биты сидел проверял. вот код
Код:
Последний раз редактировалось sinestro; 07.01.2015 в 10:40. |
07.01.2015, 15:21 | #7 |
Участник клуба
Регистрация: 03.06.2009
Сообщений: 1,814
|
сделай поcле каждой строчки проверку - вывод результатов на экран. и смотри. сначала после первой строки выведи. если всё нормально, то сделай вывод после второй строки. в разделе "Безопасность" ты расписал что да как делается. а тут код почти готовый и почти рабочий. проверить-то можно самого себя?
Программирование - это единственный способ заставить компьютер делать то, что тебе хочется, а не то, что приходится.
Последний раз редактировалось NetSpace; 07.01.2015 в 15:52. |
07.01.2015, 16:23 | #8 |
Пользователь
Регистрация: 24.02.2012
Сообщений: 88
|
уже 2 раза так делал. сделал окно для вывода. сидел побитово считал. с ключами 100% всё нормально. XOR нормальные, индексы перестановок с википедии скопипастил, в S перестановке тоже всё правильно. единственное предположение может быть только в том, что допущена ошибка в самом алгоритме. прилагаю исходники. по нажатию кнопки "шифрование" в правом richtextbox будет выведен весь процесс шифрования и дешифрования сразу. только секунд 10 придёться подождать
|
07.01.2015, 16:53 | #9 |
Участник клуба
Регистрация: 03.06.2009
Сообщений: 1,814
|
запускаю программу DesGui, в обоих окнах чисто. нажимаю Шифровать и в правом окне начинается обработка - показывается ход, но окно не прокручивается. жду минуту, а она не заканчивается. щёлкаю мышью по окну, где ход шифровки - зависает программа.
а, нет. 2 минуты считал. в окне набрал текст 1234567890-= (если это влияет) расшифрованный текст 01100101111010011111011011100011001 00111011010010101001101011011 с чем его надо сравнить? c исходным?
Программирование - это единственный способ заставить компьютер делать то, что тебе хочется, а не то, что приходится.
Последний раз редактировалось NetSpace; 07.01.2015 в 16:57. |
07.01.2015, 16:59 | #10 |
Пользователь
Регистрация: 24.02.2012
Сообщений: 88
|
биты текста находяться в функции button1click
Код:
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как зашифровать слово с по алгоритму шифрования DES | UrazakovRim | Безопасность, Шифрование | 12 | 22.02.2015 18:27 |
Очень срочно! Алгоритм шифрования DES... | Regloger | Помощь студентам | 15 | 14.05.2013 17:04 |
Алгоритм шифрования DES | PANDA8 | Помощь студентам | 1 | 09.04.2013 11:29 |
Алгоритм шифрования | Alt | Помощь студентам | 2 | 18.03.2011 07:26 |