35 / 10 / 6
Регистрация: 12.06.2013
Сообщений: 24
|
||||||||||||||||
1 | ||||||||||||||||
Реализация алгоритма шифрования по ГОСТ 28147-8902.03.2014, 20:16. Просмотров 28453. Ответов 13
Метки нет Все метки)
(
Добрый день! Пытаюсь реализовать все тот же алгоритм шифрования ГОСТ-89. Уже целую неделю долблюсь, и никак не могу понять, в чем моя ошибка. Значит, вкратце о проекте:
- В основе данного алгоритма лежит основной шаг криптопреобразования. Он реализован в структуре BasicSteep: Кликните здесь для просмотра всего текста
Механизм зашифровки 32-З реализован в классе E32: Кликните здесь для просмотра всего текста
Для расшифровки (32-Р) реализован аналогичный класс D32, отличается только порядком действий в методе DecryptFile() (1 раз К0-К7 и 3 раза К7-К0). Ошибка скорее всего заключена в самом алгоритме. Как я это понял: Если в методе EncryptFile() оставить только 2 строки
Надеюсь на вашу помощь) З.Ы.: Весь проект в прикрепленном файле. В папке Debug есть два файла: 1.txt - 8-ми байтовый текстовый файл для зашифровки и файл key - 256-битовый файл ключа.
3
|
|
02.03.2014, 20:16 | |
Алгоритм шифрования ГОСТ 28147-89. Режим простой замены Нужны исходники программы шифрования и дешифрования файлов на базе алгоритма ГОСТ 28147-89 Реализация шифра ГОСТ 28147-89 Реализация алгоритма ГОСТ Р 34.10-94 |
|
35 / 10 / 6
Регистрация: 12.06.2013
Сообщений: 24
|
|
03.03.2014, 00:21 [ТС] | 2 |
Всем спасибо, ошибку нашел, все работает. Если кому будет интересно - выложу исправленный код.
0
|
35 / 10 / 6
Регистрация: 12.06.2013
Сообщений: 24
|
|||||||||||
03.03.2014, 13:58 [ТС] | 4 | ||||||||||
![]() Решение
tezaurismosis, без проблем. Ошибка была таки в алгоритме. Оказывается, последний шаг 32-З и 32-Р должен отличаться от предыдущих 31-го тем, что в нем не производится сдвиг по цепочке в конце.
Помимо этого исправления, провел рефакторинг кода, полностью сменил GUI (планирую развивать дальше, ввести режим гаммирования и имитовставки). Итак, структура BasicStep (изменения прокомментированы): Кликните здесь для просмотра всего текста
Класс реализации 32-З: Кликните здесь для просмотра всего текста
Проект в прикрепленном файле. Пока что работают только 4 кнопки: 1. Load для загрузки ключа из файла key. 2. Load для загрузки файла для шифрования. 3. Encrypt для запуска шифрования. 4. Decrypt для расшифровки.
3
|
6228 / 3529 / 898
Регистрация: 28.10.2010
Сообщений: 5,926
|
|
03.03.2014, 19:27 | 5 |
Andoku, ты молодец. В шифровании не смыслю, но если это то, то наверное имело смысл унаследоваться от SymmetricAlgorithm.
P.S. а для устрашения класс назвать SovietUnionAlgorithm ![]()
0
|
35 / 10 / 6
Регистрация: 12.06.2013
Сообщений: 24
|
|
03.03.2014, 22:30 [ТС] | 6 |
Петррр, спасибо
![]() З.Ы.: SovietUnionAlgorithm - ага, и главное на гитхабе им посветить, а то наши люди такого не боятся ![]()
0
|
3 / 2 / 1
Регистрация: 13.05.2013
Сообщений: 234
|
|
24.10.2014, 21:25 | 7 |
Здравствуйте! Подскажите, пожалуйста, как адаптировать данный код для шифрования файлов? Не очень понимаю как это переделать(
0
|
4 / 4 / 0
Регистрация: 18.09.2008
Сообщений: 47
|
|
25.10.2014, 01:55 | 8 |
Andoku, заметил такое поведение программы - вводим допустим слово "велоцираптор", делаем Encrypt и Decrypt, и на выходе имеем "велоцира".
0
|
35 / 10 / 6
Регистрация: 12.06.2013
Сообщений: 24
|
|
30.10.2014, 00:04 [ТС] | 9 |
Сколько времени прошло, а тема еще жива
![]() DEMON_RUS, алгоритм работает с массивом байтов. Все, что вам нужно сделать - это преобразовать нужный файл в этот массив и скормить программе. ReM, это потому, что в том файле реализован только режим простой замены. Текст разбивается на блоки по 8 байт, остальное отбрасывается. Чтобы этого не было, нужна реализация гаммирования, тогда можно будет работать с любыми размерами текста и одинаковые куски текста будут иметь разный вид в зашифрованном виде. Оно пишется достаточно просто, вот ссылка на доработанную версию.
0
|
3 / 2 / 1
Регистрация: 13.05.2013
Сообщений: 234
|
|
28.01.2015, 19:14 | 10 |
Andoku, Привет
![]()
0
|
3 / 2 / 1
Регистрация: 13.05.2013
Сообщений: 234
|
|
11.02.2015, 19:44 | 11 |
Может кто увидит, может кто поможет.. Разбирал программу последнюю по ссылке https://github.com/ViatcheslawS/Crypto
Переделал её под свои нужды (проект прикрепил) и выявил, что шифрование идёт неверно (если зашифровать исходный файл и потом снова этот зашифрованный файл ещё раз зашифровать - получаем нормальный исходный файл, что неверно) Пытался найти ошибку в отладчике - ввиду отсутствия опыта в программировании выявить ошибку самостоятельно мне не удалось.. Помогите разобраться, или подскажите каким способом можно это сделать (через отладчик к сожалению не смог( ) Может есть какие-нибудь проверочные данные, которые уже подсчитаны или что-то подобное.. Зацепка, которую тоже не смог применить в поиске ошибки: если зашифровать текст из 16 символов "0123456789ABCDEF", то после шифрования в файл будет писать следующий массив(фото1). Первые 8 байт различные цифры, а последующие 8 - почему-то нули.. если же зашифровать текст из 17 символов "0123456789ABCDEFG", то после шифрования в файл будет писать уже следующий массив(фото2). Help ![]()
0
|
3 / 2 / 1
Регистрация: 13.05.2013
Сообщений: 234
|
|
12.02.2015, 01:27 | 12 |
Вообщем благодаря этой интересной статье разобрался что да как, может кому пригодится) Там есть примеры шифрования и реализации. (На языке "Глагол"
![]() ![]()
0
|
0 / 0 / 0
Регистрация: 21.04.2012
Сообщений: 4
|
|
16.02.2015, 17:23 | 13 |
Andoku, Andoku, режим гаммирования и имитовставки получился?
0
|
Тематические курсы и обучение профессиям онлайн Профессия С#-разработчик (Skillbox) Архитектор ПО (Skillbox) Профессия Тестировщик (Skillbox) |
0 / 0 / 0
Регистрация: 27.11.2013
Сообщений: 3
|
||||||
25.06.2015, 11:43 | 14 | |||||
Здравствуйте.
У меня есть несколько реализаций Основного шага (Р32). Первый я нашел вот здесь - Алгоритм шифрования ГОСТ 28147-89. Режим простой замены и второй вот здесь http://habrahabr.ru/post/256843/ Не смотря на то, что второй вариант мне показался более правильным при зашифровке и расшифровке правильный результат выводит только первый.
0
|
25.06.2015, 11:43 | |
Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.
Рализовать Si блок алгоритма шифрования ГОСТ 28147 алгоритм шифрования ГОСТ 28147-89 Алгоритм шифрования ГОСТ 28147-89 Алгоритм симметричного шифрования ГОСТ 28147-89
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |