Форум программистов, компьютерный форум CyberForum.ru

Шифрование - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 5.00
Ksan
26 / 26 / 0
Регистрация: 02.11.2010
Сообщений: 370
28.07.2012, 07:53     Шифрование #1
Как возможно проверить, насколько надежно шифрование?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.07.2012, 07:53     Шифрование
Посмотрите здесь:

C++ Шифрование
шифрование C++
C++ Шифрование
C++ Шифрование и дешифрование
C++ c++ шифрование
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Thinker
Эксперт C++
 Аватар для Thinker
4215 / 2189 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
28.07.2012, 08:25     Шифрование #2
Теоретически и только теоретически обосновать. В ряде случаев это бывает очень сложно сделать. Некоторые известные шифры создавались серьезными учеными, а впоследствии оказывалось, что у них лазейки имеются.
Ksan
26 / 26 / 0
Регистрация: 02.11.2010
Сообщений: 370
28.07.2012, 08:30  [ТС]     Шифрование #3
Thinker, а как же логика в стиле: "всего шифров - бесконечность. Начиная от смещения на 1 букву вперед, до сложных криптографических систем. Как зашифровано у меня - никто не знает, значит и не расшифрует!"
Thinker
Эксперт C++
 Аватар для Thinker
4215 / 2189 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
28.07.2012, 08:36     Шифрование #4
Имеется ввиду, что сам алгоритм шифрования общеизвестен, а секретным является ключ шифрования. Это принцип Кирхгофа. На нем и строятся современные системы шифрования. А если ваш алгоритм никому не известен, то, конечно, взломать его либо невозможно, либо очень трудно, если там явных закономерностей нет.
Ksan
26 / 26 / 0
Регистрация: 02.11.2010
Сообщений: 370
28.07.2012, 08:39  [ТС]     Шифрование #5
Thinker, хм. Почему же в таком случае, огромные компании тратят такие же огромные деньги на то, что бы совершенствовать системы шифрования, если очень сложно взломать то, что есть?
Thinker
Эксперт C++
 Аватар для Thinker
4215 / 2189 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
28.07.2012, 08:43     Шифрование #6
Огромные компании используют общеизвестные шифры (AES, ГОСТ, RSA и т.д.), которые на данный момент надежны, а тратят они деньги не на шифры, которые уже есть, а на системы защиты во избежания утечек информации, хакерских атак и т.д.
Сами шифры вряд ли они проектируют, для этого имеются гос.стандарты шифрования, спроектированные учеными и прошедшие немало уровней проверки и гос.конкурсы.
Ksan
26 / 26 / 0
Регистрация: 02.11.2010
Сообщений: 370
28.07.2012, 08:57  [ТС]     Шифрование #7
Thinker, спасибо за разъяснение
Thinker
28.07.2012, 09:03
  #8

Не по теме:

Да не за что) Так что не стоит изобретать велосипед. Есть проверенные шифры, ими можете пользоваться на здоровье. Представьте, что вы свой алгоритм шифрования передали друзьям для тайной переписки. Чем больше круг участников, тем больше вероятность утечки информации об алгоритме шифрования. Поэтому современные алгоритмы шифрования в секрете не держаться, а проектирутся так, чтобы они очень надежно зависели только от ключа шифрования.

Ksan
26 / 26 / 0
Регистрация: 02.11.2010
Сообщений: 370
28.07.2012, 09:08  [ТС]     Шифрование #9
Thinker, а зачем его "передавать"? Он упакован в программу, которой они могут пользоваться на здоровье.

Я вот почитал о ГОСТе. И не понял самого алгоритма. Понял лишь, что он сложный.
Thinker
Эксперт C++
 Аватар для Thinker
4215 / 2189 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
28.07.2012, 09:18     Шифрование #10
ГОСТ 89 очень простой алгоритм. Ключ в алгоритм не следует вшивать по нескольким причинам.
1. алгоритм может быть известен злоумышленнику (а там уже вшит ключ)
2. если алгоритм имеется у нескольких участников, то у каждой пары участников должны быть разные ключи, чтобы другой участник не мог тем же ключом расшифровывать переписку этих двух участников.

Так что лучше изъять ключ из алгоритма, а то это уже не шифрование, а кодирование. А еще лучше используйте проверенные гос.стандарты, все же надежнее. Многие исследователи ищут слабые места гос.стандартов, но пока особо не продвинулись. Так что лучше использовать то, что проверенно сотнями специалистов.
Ksan
26 / 26 / 0
Регистрация: 02.11.2010
Сообщений: 370
28.07.2012, 09:52  [ТС]     Шифрование #11
Thinker, я тут попробовал кое что. Делаю-то для себя, так что супер-пупер не надо. Насколько хорош этот?

C++
1
2
__int32 byte4, key, result;
result = byte4 ^ key;
Thinker
Эксперт C++
 Аватар для Thinker
4215 / 2189 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
28.07.2012, 09:58     Шифрование #12
А как вы будете шифровать последовательность 4-байтовых элементов
x1 x2 ... xn
Что с ключом будет происходить?
Ksan
26 / 26 / 0
Регистрация: 02.11.2010
Сообщений: 370
29.07.2012, 15:21  [ТС]     Шифрование #13
Thinker, да что угодно. От неизменности до какой-нибудь зависимости.
Thinker
Эксперт C++
 Аватар для Thinker
4215 / 2189 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
29.07.2012, 15:26     Шифрование #14
Просто если у вас key не меняется, то это шифр сдвига, легко взламываемый. А если у вас для каждого символа свой ключ, то это шифр гаммирования и, если гамма рвновероятна, то шифр невзламываемый.
Ksan
26 / 26 / 0
Регистрация: 02.11.2010
Сообщений: 370
29.07.2012, 16:21  [ТС]     Шифрование #15
Thinker, а что если key = symb ^ key;
?
Thinker
Эксперт C++
 Аватар для Thinker
4215 / 2189 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
29.07.2012, 16:35     Шифрование #16
Такой алгоритм шифрования зависит от одного числа key, а значит взломать не составит труда.
Ksan
26 / 26 / 0
Регистрация: 02.11.2010
Сообщений: 370
29.07.2012, 16:55  [ТС]     Шифрование #17
Thinker, а если использовать как ключ не 4 байта, а, скажем, 32?
Или внести еще разные зависимости: скажем, от еще каких нибудь рандомных значений, которые будут помещены в файл?
Thinker
Эксперт C++
 Аватар для Thinker
4215 / 2189 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
29.07.2012, 17:09     Шифрование #18
имеются различные виды атак, не думаю, что вы как-то этим усилите свой шифр. Используйте AES или ГОСТ 89, все же надежнее.
Ksan
26 / 26 / 0
Регистрация: 02.11.2010
Сообщений: 370
29.07.2012, 18:08  [ТС]     Шифрование #19
Thinker, не могли бы вы объянить смы сей фразы: "Ai и Ki складываются по модулю 232."?

Добавлено через 47 секунд
Точнее какой смысл в этой фразе несет число 232?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.07.2012, 18:57     Шифрование
Еще ссылки по теме:

C++ Шифрование
Шифрование C++
Шифрование C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Thinker
Эксперт C++
 Аватар для Thinker
4215 / 2189 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
29.07.2012, 18:57     Шифрование #20
Если у вас есть переменные типа unsigned long a, b и c,
то после записи c = a + b, в c автоматически попадет сумма по модулю 2^32, так что тут заморачиваться не стоит, просто пишите выражение, а оно автоматически будет по данному модулю.
Yandex
Объявления
29.07.2012, 18:57     Шифрование
Ответ Создать тему
Опции темы

Текущее время: 05:47. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru