![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 14.12.2014
Сообщений: 13
|
![]()
Доброго времени суток.
Пишу я тут класс Blowfish. Если я его компилирую с ключом -O0, то результат шифрования блока получается один, если с ключом -O1 или -O2, то результат шифрования получается другой. При этом расшифровываются блоки корректно, а каждый запуск программы выдает один и тот же результат. Но вот если теперь попробовать ключ -O3, то при каждом запуске программы результат шифрования одного и того же блока разный, но при этом расшифровка (в этом же процессе) происходит корректно! (Это как так, вообще? ![]() На всякий случай нарисую здесь мой код проверки класса: Код:
|
![]() |
![]() |
![]() |
#2 | |
Форумчанин
Регистрация: 11.01.2013
Сообщений: 149
|
![]() Цитата:
-On это не шифрование а оптимизация кода компилятором. При -О3 компилировать не рекомендуется, правда если скомпилировалось и корректно работает то там оптимизация очень хорошая, но это редкость когда так получается.
Может это и чушь, но это моя чушь и я ее никому не отдам.
|
|
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 14.12.2014
Сообщений: 13
|
![]()
Простите, наверное я не ясно выразился. На самом деле я не называл оптимизацию шифрованием. Все, что я говорю о шифровании блоков, относится к алгоритму Blowfish. Алгоритм реализован в представленном классе, а блоки размером 64 бита с помощью этого класса зашифровывает и расшифровывает функция main() программы. Так вот саму программу (все ее *.cpp файлы) я компилирую с параметром (я случайно назвал его ключом) -On.
|
![]() |
![]() |
![]() |
#4 |
Пользователь
Регистрация: 14.12.2014
Сообщений: 13
|
![]()
Вообще, подозрения, конечно изначально падали на SetCipherKey(), уж очень она криворукая. Взял сейчас реализацию этой функции (и немного переделал) у Paul Kocher:
Код:
Последний раз редактировалось Sushev; 02.07.2015 в 10:21. |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
GCC, проблема с прогой | shamaz | Общие вопросы C/C++ | 7 | 12.09.2013 21:19 |
проблема с кодом | net_probelam | Общие вопросы C/C++ | 1 | 19.10.2011 02:06 |
Проблема с компиляцией матфункций в gcc | Svent | Qt и кроссплатформенное программирование С/С++ | 4 | 09.07.2010 12:44 |
Проблема с функцией pow в С, использую GCC | maryan.vetrov | Помощь студентам | 0 | 07.06.2010 04:12 |
проблема с gcc | d9m0n | Qt и кроссплатформенное программирование С/С++ | 6 | 04.09.2009 02:30 |