Шифрование. Надеяться ли на то, что алгоритм никому не известен?
Есть некая информация, которая шифруется с помощью симметричного алгоритма. Так вот, стоит ли надеяться на то, что алгоритм никому не известен, при условии, что он будет активно крутиться на сервере?
P.S.: ответы вроде "воспользуйтесь существующими криптостойкими алгоритмами" не предлагать.
Первое чему учат в любом курсе криптографии - НИКОГДА не используйте проприетарных или самописных крипто-алгоритмов или их реализаций. Только открытые и проверенные на стойкость к взлому крипто-библиотеки могут гарантировать надежность. Учитывая, что эти библиотеки открыты и бесплатны, крайне трудно придумать причины для изобретения собственных велосипедов.
а вот на счёт использования открытых библиотек я бы поспорил. Где гарантии, что в библиотеке нету заложенного бекдора/баги?
Остаётся один вариант - писать самому библиотеку по существующему и проверенному алгоритму шифрования.
Защищенность связана с ценностью ваших данных для злоумышленника. Существуют методики анализа шифра для неизвестных алгоритмов. В случае утечки программного кода, например, при взломе сервера, сам алгоритм можно будет восстановить и проанализировать.
На степени защищенности это особо не скажется, зато возрастет вычислительная нагрузка на вашу систему. Эффективнее будет применить криптостойкий алгоритм с "солью".
Грамотно написанный подстановочный алгоритм симметричного шифрования не позволяет по перехваченным парам "открытый текст/зашифрованный текст" выяснить алгоритм. До тех пор пока не произойдет утечка программного кода, Вы можете считать схему безопасной.