Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [bcb2009] Crypto++ 5.5.2, Использование 
:(
    Опции темы
MuForum
Дата 13.1.2009, 00:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 427
Регистрация: 13.6.2007
Где: Молдова, Кишинев

Репутация: 1
Всего: 4



Доброе время суток!
- Работаю на 'CodeGear™ C++Builder® 2009  Version 12.0.3210.17555' (SP1).
- Столкнулся со следующей проблемой, мне необходимо осуществить шифровку основного трафика при помощи алгоритма AES/Rijndael, проверку на аутентификацию делать при помощи электронной/цифровой подписи, выбрал алгоритм для этого RSA.
- Если AES ещё кое как смог реализовать (криво/косо), то во втором случае плаваю ###...
- Решил выбрать бесплатный пакет Crypto++ версии '5.2.2', но при попытке скомпилировать проект вылетает ошибка на этом куске кода: (queue.h)
Код

NAMESPACE_BEGIN(std)
template<> inline void swap(CryptoPP::ByteQueue &a, CryptoPP::ByteQueue &b)
{
    a.swap(b);
}
NAMESPACE_END
...
[BCC32 Fatal Error] queue.h(136): F1004 Internal compiler error at 0x47fbe63 with base 0x47b0000

- Поиск в google ничего не дал, даже на офф.форуме посоветовали только переставить студию. (Что естественно не помогло)
- Как можно решить или выйти из этой ситуации?



# Добавлено: Есть ещё библиотека OpenSSL, но к сожалению тут тоже не без чудес =(

Это сообщение отредактировал(а) MuForum - 13.1.2009, 00:18


--------------------
"Чтобы правильно задать вопрос, нужно знать большую часть ответа!" (Р. Шекли)
PM MAIL WWW ICQ Skype MSN   Вверх
Alca
Дата 13.1.2009, 10:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3993
Регистрация: 14.6.2006

Репутация: 25
Всего: 50



Попробуй в студии скомпилить.


--------------------
PM WWW ICQ Skype Jabber   Вверх
MuForum
Дата 13.1.2009, 13:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 427
Регистрация: 13.6.2007
Где: Молдова, Кишинев

Репутация: 1
Всего: 4



#2, Alca - Не понимаю, к чему это было сказано?
- Crypto++ - это библиотека с готовыми алгоритмами, это не .dll!


--------------------
"Чтобы правильно задать вопрос, нужно знать большую часть ответа!" (Р. Шекли)
PM MAIL WWW ICQ Skype MSN   Вверх
Alca
Дата 13.1.2009, 14:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3993
Регистрация: 14.6.2006

Репутация: 25
Всего: 50



Выложи проект с этой либой, попробую у себя поюзать.
P.S. 
Цитата

9/24/2007 - Version 5.5.2 released 
ported x64 assembly language code for AES, Salsa20, Sosemanuk, and Panama to MSVC 2005 (using MASM since MSVC doesn't support inline assembly on x64) 
fixed Salsa20 initialization crash on non-SSE2 machines 
fixed Whirlpool crash on Pentium 2 machines 
fixed possible branch prediction analysis (BPA) vulnerability in MontgomeryReduce(), which may affect security of RSA, RW, LUC 
fixed link error with MSVC 2003 when using "debug DLL" form of runtime library 
fixed crash in SSE2_Add on P4 machines when compiled with MSVC 6.0 SP5 with Processor Pack 
added support for newly released compilers: MSVC 2008, GCC 4.2, Sun CC 5.9, Intel C++ Compiler 10.0, and Borland C++Builder 2007

Цитата

Crypto++: a C++ Class Library of Cryptographic Schemes
Version 5.5.2 (9/24/2007)
...
The following compilers are supported for this release. Please visit
http://www.cryptopp.com the most up to date build instructions and porting notes.
  * MSVC 6.0 - 2008
  * GCC 3.3 - 4.2
  * Borland C++Builder 2006 - 2007
  * Intel C++ Compiler 9.1 - 10.0
  * Sun Studio 11 - 12 (CC 5.8 - 5.9)

А чё есть либа под C++Builder 2009? 
Поддерживается вроде только 2007, если 5.5.2 это конечно последний релиз.


Это сообщение отредактировал(а) Alca - 13.1.2009, 14:30


--------------------
PM WWW ICQ Skype Jabber   Вверх
MuForum
Дата 13.1.2009, 14:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 427
Регистрация: 13.6.2007
Где: Молдова, Кишинев

Репутация: 1
Всего: 4



#4, Alca - Crypto++ 5.2.2 на данный момент является самой последней версией данного продукта.


P.S. -> Проблема в том, что мне нужно сделать проект именно под BCB 2009 =(
- Эх, как было хорошо на 6...

Это сообщение отредактировал(а) MuForum - 13.1.2009, 14:37


--------------------
"Чтобы правильно задать вопрос, нужно знать большую часть ответа!" (Р. Шекли)
PM MAIL WWW ICQ Skype MSN   Вверх
Alca
Дата 13.1.2009, 14:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3993
Регистрация: 14.6.2006

Репутация: 25
Всего: 50



А на шестерке 2006 или 2007 копилиться?

Это сообщение отредактировал(а) Alca - 13.1.2009, 14:33


--------------------
PM WWW ICQ Skype Jabber   Вверх
MuForum
Дата 13.1.2009, 14:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 427
Регистрация: 13.6.2007
Где: Молдова, Кишинев

Репутация: 1
Всего: 4



Цитата(Alca @ 13.1.2009,  14:29)
А на шестерке копилиться?

Не пробовал, так как снёс.
- Работать на 6 не могу, условия были только на 2009 =(
- Вот и бьюсь головой АП Стену....


--------------------
"Чтобы правильно задать вопрос, нужно знать большую часть ответа!" (Р. Шекли)
PM MAIL WWW ICQ Skype MSN   Вверх
Alca
Дата 13.1.2009, 14:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3993
Регистрация: 14.6.2006

Репутация: 25
Всего: 50



А ты им втыкни что написано в Readme.txt. smile 
Я бы сначала попробывал на 2007, если бы заработало, то можно было бы плясать дальше.
Или попробуй OpenSSL.

Это сообщение отредактировал(а) Alca - 13.1.2009, 14:36


--------------------
PM WWW ICQ Skype Jabber   Вверх
MuForum
Дата 13.1.2009, 14:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 427
Регистрация: 13.6.2007
Где: Молдова, Кишинев

Репутация: 1
Всего: 4



#8, Alca - Да к сожалению я что-то не могу разобраться с этой библиотекой 'OpenSSL'.
- Не могу понять как использовать. (Google особо не помог в этом)


--------------------
"Чтобы правильно задать вопрос, нужно знать большую часть ответа!" (Р. Шекли)
PM MAIL WWW ICQ Skype MSN   Вверх
Alca
Дата 13.1.2009, 14:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3993
Регистрация: 14.6.2006

Репутация: 25
Всего: 50



Подключаешь нужные хидера и смотришь как описаны нужные тебе функции.
Потом их юзаешь.
К примеру так : 
Код

#include "rsa\rsa.h" 
#include "aes\aes.h"
//....


Это сообщение отредактировал(а) Alca - 13.1.2009, 14:57


--------------------
PM WWW ICQ Skype Jabber   Вверх
vikaz
Дата 13.1.2009, 15:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 869
Регистрация: 15.2.2006

Репутация: 10
Всего: 12



MuForum, а ты не хочешь попробовать использовать CryptoAPI?
В нем есть все, что тебе нужно, как мне кажется. 
Ты какую длину ключа хочешь использовать использовать?


--------------------
user posted image

Нет ничего настолько исправного, чтобы в нем не было ошибок. /Ф. Петрарка/ 
PM MAIL ICQ Skype   Вверх
MuForum
Дата 13.1.2009, 15:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 427
Регистрация: 13.6.2007
Где: Молдова, Кишинев

Репутация: 1
Всего: 4



Цитата(vikaz @ 13.1.2009,  15:31)
MuForum, а ты не хочешь попробовать использовать CryptoAPI?
В нем есть все, что тебе нужно, как мне кажется. 
Ты какую длину ключа хочешь использовать использовать?

Длину ключа 256 бит.
- не хочется привязываться к системе...


--------------------
"Чтобы правильно задать вопрос, нужно знать большую часть ответа!" (Р. Шекли)
PM MAIL WWW ICQ Skype MSN   Вверх
MuForum
Дата 13.1.2009, 22:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 427
Регистрация: 13.6.2007
Где: Молдова, Кишинев

Репутация: 1
Всего: 4



Цитата(Alca @ 13.1.2009,  14:53)
Подключаешь нужные хидера и смотришь как описаны нужные тебе функции.
Потом их юзаешь.
К примеру так : 
Код

#include "rsa\rsa.h" 
#include "aes\aes.h"
//....

- Это понятно, но проблема в другом, в этом файле не сделано всё в классе, а сделано разбросано без класса, и когда я пытаюсь вызвать функцию, мне компилятор выдаёт следующее:
Код

[ILINK32 Error] Error: Unresolved external '_AES_set_encrypt_key' referenced from C:\...\RAD STUDIO\PROJECTS\ENCRYPTING_TRAFFIC\DEBUG\FMAIN.OBJ


вызываю следующим образом:
Код

::AES_set_encrypt_key(Key, 128, 0);


Это сообщение отредактировал(а) MuForum - 13.1.2009, 22:51


--------------------
"Чтобы правильно задать вопрос, нужно знать большую часть ответа!" (Р. Шекли)
PM MAIL WWW ICQ Skype MSN   Вверх
Romikgy
Дата 14.1.2009, 00:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 11
Всего: 146



видать пространство имен не обозначено


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
vikaz
Дата 14.1.2009, 07:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 869
Регистрация: 15.2.2006

Репутация: 10
Всего: 12



Цитата(MuForum @ 13.1.2009,  15:59)
Длину ключа 256 бит.
- не хочется привязываться к системе...

немного не понял. Ты что разрабатываешь кросс-платформенную программу?
Если да, то тогда вопросы отпадают.
А если нет!!!!!
Зачем таскать с собой библиотеки, если все это есть в системе, тем более, что длина ключа всего 256 бит....
Зато ты с легкостью сможешь сменить при необходимости алгоритм, без глобальной переписки кода.
Я просто сам разрабатываю программу, которая будет шифровать трафик, лично я остановился на CryptoAPI. smile

 


--------------------
user posted image

Нет ничего настолько исправного, чтобы в нем не было ошибок. /Ф. Петрарка/ 
PM MAIL ICQ Skype   Вверх
Alca
Дата 14.1.2009, 10:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3993
Регистрация: 14.6.2006

Репутация: 25
Всего: 50



vikaz, можешь исходники засветить?


--------------------
PM WWW ICQ Skype Jabber   Вверх
vikaz
Дата 14.1.2009, 10:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 869
Регистрация: 15.2.2006

Репутация: 10
Всего: 12



Легко.
Только там нет комментариев, извините, так получилось.

Присоединённый файл ( Кол-во скачиваний: 71 )
Присоединённый файл  Sim_crypt.rar 206,16 Kb


--------------------
user posted image

Нет ничего настолько исправного, чтобы в нем не было ошибок. /Ф. Петрарка/ 
PM MAIL ICQ Skype   Вверх
MuForum
Дата 14.1.2009, 13:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 427
Регистрация: 13.6.2007
Где: Молдова, Кишинев

Репутация: 1
Всего: 4



Цитата(vikaz @ 14.1.2009,  10:16)
Легко.
Только там нет комментариев, извините, так получилось.

Благодарю, но у меня возникает вопрос, а что помешает пользователю подменить эти две функции в системе?
- Через замену первых 5 байт функции.


--------------------
"Чтобы правильно задать вопрос, нужно знать большую часть ответа!" (Р. Шекли)
PM MAIL WWW ICQ Skype MSN   Вверх
vikaz
Дата 14.1.2009, 13:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 869
Регистрация: 15.2.2006

Репутация: 10
Всего: 12



У тебя видимо не пользователи, а хакеры какие-то. Ну во-первых, я не знаю, что у тебя за программа и какие функции ты на нее возлагаешь. Если шифровать трафик, то пусть меняют. Сервер/клиент просто отошьет этот пакет и все, так как не сможет его расшифровать.  


--------------------
user posted image

Нет ничего настолько исправного, чтобы в нем не было ошибок. /Ф. Петрарка/ 
PM MAIL ICQ Skype   Вверх
ksili
Дата 19.1.2009, 06:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2069
Регистрация: 3.11.2005
Где: Красноярск

Репутация: 1
Всего: 17



vikaz, хочу тебя спросить. Во всех примерах с CryptoAPI, в том числе и у тебя, использутся криптопровайдер PROV_RSA_FULL. 

1) Это так потому, что он всегда присутстсвует в системе? Или когда-то может и отсутствовать?

2) Если мне нужно использовать не RSA или AES, а например 3DES, может ли это делать этот криптопровайдер?


--------------------
Ничто так не развивает аналитическое мышление, как отладка сложной программы без возможности пошагового выполнения (с)
PM MAIL   Вверх
vikaz
Дата 21.1.2009, 07:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 869
Регистрация: 15.2.2006

Репутация: 10
Всего: 12



ksili конечно можно. ТО что в примере используется RSA, это просто для примера, вот какие алгоритмы шифрования идут вместе с операционной системой:

Стандартные криптопровайдеры и алгоритмы
CryptoAPI предоставляет следующие стандартные криптопровайдеры: 
•    Microsoft Base Cryptographic Provider
•    Microsoft Strong Cryptographic Provider
•    Microsoft Enhanced Cryptographic Provider
•    Microsoft AES Cryptographic Provider
•    Microsoft DSS Cryptographic Provider 
•    Microsoft Base DSS and Diffie-Hellman Cryptographic Provider 
•    Microsoft DSS and Diffie-Hellman/Schannel Cryptographic Provider 
•    Microsoft RSA/Schannel Cryptographic Provider 

Все эти CSP отличаются друг от друга своими типами, которые определяются набором параметров, включающим:
•    алгоритм обмена сессионным (симметричным) ключом.
•    алгоритм вычисление цифровой подписи
•    формат цифровой подписи
•    схема генерирования сессионного ключа по хешу
•    длина ключа

В CryptoAPI имеется такое понятие, как алгоритм шифрования, и многие алгоритмы поддерживают сразу несколько длин ключей. Длины ключей RSA алгоритмов вычисления цифровой подписи и обмена ключами могут варьироваться от 384 до 16384 бит с интервалом в 8 бит. Также поддерживаются алгоритмы шифрования AES (128, 192, 256) и вычисления хешей MD2, MD5, SHA, MAC, MAC. 



--------------------
user posted image

Нет ничего настолько исправного, чтобы в нем не было ошибок. /Ф. Петрарка/ 
PM MAIL ICQ Skype   Вверх
Страницы: (2) [Все] 1 2 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по С++ Builder обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Настоятельно рекомендуем заглянуть в DRKB (Delphi Russian Knowledge Base) - крупнейший в рунете сборник материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C++ Builder | Следующая тема »


 




[ Время генерации скрипта: 0.1128 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.