Задать вопрос
@whoiam_frontend
Python-разработчик

Как шифровать текст в python?

Я знаю, как кодировать текст в base64 на python. Но мне нужно именно шифрование, и способ расшифровки должен быть непопулярным. Как это можно осуществить на питоне?
P.S. я не буду использовать библиотеки по типу pyAesCrypt
  • Вопрос задан
  • 700 просмотров
Подписаться 4 Простой 1 комментарий
Пригласить эксперта
Ответы на вопрос 4
AgentSmith
@AgentSmith
Это мой правильный ответ на твой вопрос
способ расшифровки должен быть непопулярным.

А вот это уже смешно. Чем тебя не устраивают популярные способы типа RSA?
Ты, видимо, не слышал о термине Security through obscurity , на котором обожглись многие и ты хочешь повторить их путь
Ответ написан
mayton2019
@mayton2019
Bigdata Engineer
Был такой вредный стрик Керхгофс. И он как-то придумал сет законов касающихся инфо-безопасности. На основе их сегодня работает почти вся криптография. Вкратце основной момент - замена алгорима(ключа) шифрования в любой системе должна быть очень быстрой и легкой. И второй момент - злоумышленник обычно знает систему изнутри. Он знает исходный код. Возможно он - бывший сотрудник.

Вот исходя из этих принципов и проектируются надежные и безопасные системы. А если автор надеется на то что непопулярный алгоритм шифрования его спасёт - то он сильно ошибается. На этом погорели многие самоуверенные архитекторы. Они тоже надеялись что на незнании можно делать секрет. В принципе вся военная секретная переписка до 20 го века базировалась на предположении что противник не знает. А современная - уже считает что это не главное. А главное - как быстро мы сможем заменить скомпрометированный ключ на новый. И эта замена как раз и есть замена алгоритма. Потому что ключ в крипторгафии и это и есть секретность. А сами алгоритмы вообще ни разу ни секретных. Это кстати - требование. Под сертификацию идут обычно публично известные алгоритмы и их обсуждают. Их анализируют. Их брутфорсят. И только благодаря этому процессу они и являются надежными.
Ответ написан
Комментировать
saboteur_kiev
@saboteur_kiev
software engineer
и способ расшифровки должен быть непопулярным


Все преимущество популярных способов шифрования в том, что они проверены временем, рекомендованы сообществом и являются математически усточивыми. Непопулярные способы зачастую либо небезопасны, либо неудобны для использоавния, поэтому такое требование совершенно непонятно.

Правильный подход - использовать популярный и рекомендуемый сейчас способ шифрования, но важнее понять как хранить конфиденциальную информацию (тот же самый мастер пароль или вектор инициализации) безопасным способом.

Поэтому было бы неплохо пояснить почему именно непопулярный, скорее всего ваш выбор ошибочен. И использовать популярные библиотеки (cryptography, PyCrypto, PyNaCl ) и вопрос скорее не в библиотеке, а в алгоритме шифрования - почти все популярные алгоритмы можно использовать любой библиотекой
Ответ написан
nokimaro
@nokimaro
Меня невозможно остановить, если я смогу начать.
AES/RSA самый правильный выбор
но если хотите зашифровать так чтобы получить мнимую безопасность, и при этом не тащить крипто-библиотеки в проект то подойдёт обычный XOR с ключём
https://gist.github.com/revolunet/2412240

независимо от алгоритма, шифрование должно быть с ключем или паролем, без которого даже зная алгоритм данные так просто не декодировать, только подбирая пароль
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы