Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 5.00/12: Рейтинг темы: голосов - 12, средняя оценка - 5.00
27 / 27 / 4
Регистрация: 02.11.2010
Сообщений: 370
1

Шифрование

28.07.2012, 07:53. Просмотров 2194. Ответов 21
Метки нет (Все метки)

Как возможно проверить, насколько надежно шифрование?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.07.2012, 07:53
Ответы с готовыми решениями:

Шифрование
Доброго времени суток, сегодня весь день сидел и пытался разобрать задачу. Задается натуральное...

Шифрование
я написал код шифрования #include <iostream> #include <fstream> #include <string> using...

c++ шифрование
Необходимо программно реализовать на языке C++ алгоритм шифра по Диффи – Хеллману с открытым...

шифрование
помогите пожалуйста написать пргорамму!!! была бы очень благодрна!!! шифрование. один из...

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

Не по теме:

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

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

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

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

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

Добавлено через 47 секунд
Точнее какой смысл в этой фразе несет число 232?
0
Эксперт С++
4251 / 2225 / 203
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
29.07.2012, 18:57 20
Если у вас есть переменные типа unsigned long a, b и c,
то после записи c = a + b, в c автоматически попадет сумма по модулю 2^32, так что тут заморачиваться не стоит, просто пишите выражение, а оно автоматически будет по данному модулю.
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.07.2012, 18:57

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Шифрование
Здравствуйте, почему при шифровании, например текста 14 байт получается 20 байт? как влияют символы...

Шифрование
Привет всем:) особенно тем кто в этот день тратит свое время на программирование:) Помогите решить...

Шифрование
Создать выходной зашифрованный файл на основе входного. Шифрование файла выполняется по следующему...

Шифрование
Собственно, вопрос не совсем по си++, но нашел это место оптимальным. Так вот, речь пойдет о...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.