Реализации криптософта на Python
Всем привет. Подкиньте пожалуйста несколько примеров достойной реализации криптографического софта на Python. Интересует не только GUI, а сама реализация криптографических алгоритмов, можно и стеганографию. Поясню, я изучаю Python и хочу сразу посмотреть на готовые серьезные проекты, чтобы на практике отточить полученые знания. Других ЯП не знаю, хочу остановиться на Python. Ну и буду благодарен за любые советы по повышению знаний и ускорению обучения.
Спасибо.
Рудиментарная поддержка PGP интегрируется в движки, используемые на pgpru.com, причём очередной новый движок будет как раз на Python.
комментариев: 9796 документов: 488 редакций: 5664
комментариев: 11558 документов: 1036 редакций: 4118
Откуда взялась переменная PADDING и почему на нее размер блоков умножается, где именно документация по поводу всех этих лямбд:
EncodeAES = lambda c, s: base64.b64encode(c.encrypt(pad(s)))
DecodeAES = lambda c, e: c.decrypt(base64.b64decode(e)).rstrip(PADDING)
Как мне сюда прикрепить всякие f.open или хотябы полноценную работу из консоли с указанием файлов?
Ну и много других вопросов. Я наверное логику не понимаю, да?
И еще – здесь без математики сильно печально будет да?
комментариев: 9796 документов: 488 редакций: 5664
А это ковыряйте саму библиотеку.
А это уж как реализовано, опять же внутри этой либы.
А она даже и не нужна, вам только свои данные подставить в готовый синтаксис, или опять же смотрите в исходную либу.
Ну это уже нужен просто какой-нибудь мануал по стандартному синтаксису и функциям Python и ваша фантазия.
комментариев: 11558 документов: 1036 редакций: 4118
Вы уверены, что достаточно владеете питоном? Пройдитесь, например, по Dive into Python, прежде чем лезть в криптографию.
Если очень интересна конкретика, вот низкоуровневый криптографический модуль из нового движка сайта, ковыряйте, он достаточно подробно документирован (реализован AES-CTR, RSA и ряд вспомогательных примитивов). Сходу он отдельно работать не будет из-за внешних зависимостей (paw и exc), отвязку оставляю упражнением для читателя.
В 2014-ом году.
Учиться, учиться и ещё раз учиться © Ленин.
комментариев: 11558 документов: 1036 редакций: 4118
Это самая простая часть движка, просто набор функций.
Он не завершён и не опубликован, надеюсь закончить к весне.
<Jimmy Wales mode>
Give me your money, программисты тоже хотят есть.
</Jimmy Wales mode>
Начните отсюда, далее перейдите сюда, потом к Dive into Python, а после начните писать что-то своё, желательно с использованием хороших внешних библиотек, и изучая их документацию, интерфейсы, паттерны и примеры научитесь ещё более лучше. Короче, слушайте дедушку Ленина.
В затянутом TBB (без кук и скриптов) это 2-3 страничка:)
Конкретное в питоне — здесь, но это не питоноспецифичная вещь, это концепт, на котором стоит ФП. С его освоения начинается убийство в себе быдлокодера. В частности, лямбды активно используются для определения анонимных функций, через которые очень удобно записывать такие сильно упрощающие жизнь вещи, как замыкания и карринг.
По ссылке выше на ФП сказано
В любом случае, IMHO, оптимальней сначала попытаться понять математический смысл действий, а уже только потом реализацию этих действий в конкретных языках.
Самые простые вещи можно понять на пальцах. С более сложными будут проблемы. Например, как реализовать фолдинг в недоязыке, который его в лоб не умеет? Ну, или вот такую вещь? Когда есть понимание связи между абстрактными концепциями, можно не сидеть, тупо выткая в синтаксис и пытаясь переизобрести велосипед, а сразу понимать, как реализовать нужную эквивалентность, потому что она непосредственно следует из математических теорем.