|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » C/C++ - C/С++ | Крипто алгоритм ГОСТ (28147-89). |
|
C/C++ - C/С++ | Крипто алгоритм ГОСТ (28147-89).
|
Ветеран Сообщения: 3320 |
Профиль | Отправить PM | Цитировать На сайте www.vipul.net/gost/ есть файл для языка С. Он не компилируется в MS Visual C (6 net 2003/2005) но нормально работает в CodeBlocks.
Вопрос в следующем, как на его основе создать консольную шифровалку по такому принципу - gost.exe ischod.txt pass shufrovanya.txt ? В моем понимании я считываю файл в переменную шифрую и сохраняю в новый файл. Подскажите кто знает. |
|
Отправлено: 18:20, 05-09-2006 |
редкий гость Сообщения: 1696
|
Профиль | Сайт | Отправить PM | Цитировать Во-первых, прфеикс *Практика* был выбран неверно. (Согласно рекомендация hasherfrog).
Во-вторых, с какими ошибками оно не компилируется в VC6? В-третьих, ГОСТ определяет, как минимум 3 варианта шифрования (вернее, 2 метода шифрования и один хэширования). Какой из них вас интересует? Все три метода в исходнике есть, даже с краткими пояснениями, что делается. Цитата:
Ну и последнее, ключ должен быть 256-битным. Что требует ОЧЕНЬ длинного пароля, если его использовать в качестве ключа. Порядка 40 цифро-буквенных символов. Можно, конечно, применять его хэш. Но наверное, это снизит общую криптостойкость. |
|
------- Отправлено: 18:55, 05-09-2006 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 3320
|
Профиль | Отправить PM | Цитировать Спасибо за отзыв ivank.
Цитата:
Я обязательно ознакомлюсь с рекомендациями hasherfrog. Цитата:
Вот --------------------Configuration: Crypto_gost - Win32 Debug-------------------- Compiling... Main.cpp Linking... LIBCD.lib(crt0.obj) : error LNK2001: unresolved external symbol _main Debug/Crypto_gost.exe : fatal error LNK1120: 1 unresolved externals Error executing link.exe. Crypto_gost.exe - 2 error(s), 0 warning(s) Ещё вопрос по VC6: известно, что библиотеки внешние подключаются через среду разработки Project>Settings> вкладка Link> поле Object/library modules но есть ещё способ (наверно и не один) подключения через исходник, оператором pragma или другим. Как? На этом фоне CodeBlocks справляется замечательно, он просто создаёт ехе. Но что этот файл делает? Говорит мне что Цитата:
Цитата:
Вот как мне это видится const char *F1="Source.txt",*F2="Dest.enc"; FILE *fFile; fFile = fopen(F1,"r") fscanf(fFile," %i ",sourse); gost (sourse,dest,pass); //функция, которая должна вызывать что-то из предложенного файла fclose(fFile); fFile = fopen(F2,"w"); fprintf(fFile," %i ",dest); //или как вариант fprintf(fFile," %i ",gost(sourse,pass)) fclose(fFile); Цитата:
Народ, какие будут соображения? |
|||||
Отправлено: 18:23, 14-09-2006 | #3 |
редкий гость Сообщения: 1696
|
Профиль | Сайт | Отправить PM | Цитировать Admiral
Гм... Он говорит, что нет функции main. А нет её, потому что не определён макрос TEST при сборке. Вы вообще исходник читали? All tests passed он пишет, потому что в main'е реализовано примитивное тестирование: рандомным ключом шифруются и дешифруются рандомные же данные, а затем сравнивается что было и что есть. Вы так и не ответили: какой именно алгоритм шифрования вам нужен? Их таки три, в приведённом исходнике реализованы 2, третий (самый простой и видимо нестойкий) не проблема реализовать самостоятельно с использованием функций оттуда. Поищите в Яндексе "ГОСТ шифрование". Там дофига объяснений как работает гост. Вам нужны функции gostcfbencrypt/gostcfbdecrypt либо gostofb (одна и та же для шифрования и расшифрования). Если вы понимаете алгоритм, то по параметрам абсолютно ясно как их использовать. Цитата:
update Цитата:
|
||
------- Отправлено: 18:56, 14-09-2006 | #4 |
Gets
Сообщения: n/a |
Реализацию алгоритма ГОСТ 28147-89 на С++ вы можете найти на сайте http://www.getsoft.com.ua в разделе ИСХОДНИКИ.
|
|
Отправлено: 17:55, 06-10-2006 | #5 |
Новый участник Сообщения: 1
|
Профиль | Отправить PM | Цитировать Gets раздел исходники не работают, только зря зарегился(
О нашел, для тех кто не смог найти, здесь: http://vuithelp.ru/files/3644.html есть прога шифрует и дешифрует по ГОСТ 28147-89, правда написано на C++ Buiilder |
Отправлено: 18:35, 21-11-2009 | #6 |
Новый участник Сообщения: 1
|
Профиль | Отправить PM | Цитировать вот тут нашел более приятную реализацию
http://www.plati.ru/asp/pay.asp?idd=154413 |
Отправлено: 20:44, 24-04-2011 | #7 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Разное - Гост 34.11 | Jonik-Mnimonik | Программирование и базы данных | 3 | 14-05-2008 12:18 | |
Алгоритм | pauluss | Программирование и базы данных | 1 | 06-10-2006 10:53 |
|