|
Какой рейтинг вас больше интересует?
|
Главная /
Каталог блоговCтраница блогера Журнал Витуса./Записи в блоге |
|
Журнал Витуса.
Голосов: 2 Адрес блога: http://vitus-wagner.livejournal.com/ Добавлен: 2008-02-19 12:48:41 блограйдером Lurk |
|
Щи из топора.
2014-06-06 15:51:07 (читать в оригинале)Чего-то в течение трех дней в любую минуту, свободную от основной работы (в том числе и по вечерам, вместо писания "Императрицы Кэт") вожусь с ctypescrypto.
Выяснил что то что там было написано. работать в общем-то толком и не могло. А где могло, там его функциональность полностью дублирована hashlib-ом. Но по аналогии теперь у меня работает все что было якобы написано у оригинального автора, да плюс еще ряд операций с открытыми ключами.
(низкоуровневых, которые EVP_PKEY_...). Еще бы неплохо сгенеренные ключи сохранять научиться.
В принципе приделать еще извлечение открытого ключа из сертификата (на предмет низкоуровневой проверки подписи на этом ключе), и для текущего проекта мне функциональности хватит.
Хотя на самом деле от сертификатов хочется больше - получить, наконец, корректную и удобую извлекалку полей из X509NAME и extension - в первую очередь.
Тестами покрыто процентов на 20 от силы. (что в бесконечное число раз лучше оригинала).
Правда, вот чего мне непонятно. Есть функция EVP_CipherInit_ex, которая получает в качестве параметров указатели на ключ и iv. Длин этих буферов не получает, видимо предполагая, что если оно не NULL то там не меньше чем EVP_CIPHER_key_length(текущий шифр). Я делаю контекст AES-256-OFB, передаю туда питоновскую строку из 8 символов, а оно не падает. Ни в 32-битной среде, ни в 64-битной. И под электрическим забором - тоже. Но не падает это ладно. Оно ж еще и расшифровывается потом на совсем другом независимо созданном контексте с тем же урезанным ключом.
В общем, если кому интересно https://github.com/vbwagner/ctypescrypto
This entry was originally posted at http://vitus-wagner.dreamwidth.org/985554.html. Please comment there using OpenID. Now there are
Про алгоритмы
2014-06-05 16:19:49 (читать в оригинале)Поскольку я уже больше десяти лет работаю с российскими крипталгоритмаии, то уже как-то к ним привык.
С другой стороны, поддержка российских алгоритмов во всяком свободном софте оставляет желать лучшего.
Поэтому возникает мысль для чеширнета зафиксировать криптоалгоритмы, которые по размерам ключа соответствуют российским, но при этом реализованы ы большем количестве софта
1. Дайджест - sha256
2. Алогритм подписи - ECDSA с использованием кривой secp256k1
3. Алгоритм распределения ключей шифрования - ECDH на той же кривой.
4. Алгоритм шифрвоания сообщений. Вообще-то может быть любым, шифрование сообщений используется только в частной переписке. Соответственно люди могут договориться на что угодно. Но, пожалуй, стоит зафиксировать что любая реализация cheshrenet должна в этом месте поддерживать AES-256 CFB.
Что касается всяких PBKDF у меня пока отчетливых предпочтений нет.
Но есть идея что для хранения секретного ключа должна использоваться стеганография. Причем никаких проверок на корректность расшифрвоания. Ввод любого пароля порождает какой-либо пригодный к употреблению ключ. Единственная проверка - сравнить человеко-читаемое представление отпечатка открытого ключа с тем, которым ты привык подписываться.
Соответственно, в качестве хранилища ключа используется png-рисунок не менее чем 100x100, для стеганографии испольуется один бит на канал. 100x100x3 дает 30000 битов, почти 4 килобайта.
This entry was originally posted at http://vitus-wagner.dreamwidth.org/985320.html. Please comment there using OpenID. Now there are
Змейское 2
2014-06-04 23:22:42 (читать в оригинале)Оказывается, с дайджестами в питоне все еще интереснее
Берем Debian Wheezy из коробки. Конфиг openssl тоже из коробки
Делаем следующее:
Python 2.7.3 (default, Mar 14 2014, 11:57:14)
[GCC 4.7.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import hashlib
>>> import ctypes
>>> crlib=ctypes.CDLL("libcrypto.so.1.0.0")
>>> crlib.OPENSSL_config(None)
1
>>> crlib.ENGINE_set_default(crlib.ENGINE_by_id("gost"),0xFFFF)
1
>>> dgst=hashlib.new("md_gost94")
>>> dgst
<md_gost94 HASH object @ 0xb7475d90>
>>> dgst.digest_size
32L
>>> dgst.block_size
32L
>>> dgst.update("Quickq brown fox jumps over the lazy dog")
>>> dgst.hexdigest()
'495f60874a4f476fd92f5db8b6645c7f874a9f9888e93ac262a203666b662c04'
И нафига я, спрашивается. ctypescrypto.digest переписывал?
This entry was originally posted at http://vitus-wagner.dreamwidth.org/985051.html. Please comment there using OpenID. Now there are
Змейское
2014-06-04 17:27:32 (читать в оригинале)Сегодня открыл для себя существование в питоне модуля сtypes.
А так же то, что некоторые добрые люди выложили на Google Code интерфесы к некоторым интересным мне функциям OpenSSL, сделанные посредством этого модуля.
Конечно, у них
а) в 64-битном линуксе ничего не работает и злобно сегфолтится (проблема лечится буквально несколькими строчками, я им багрепорт написал)
б) OpenSSL-евские сообщения об ошибках в питон не пробрасываются (тут уже изменения посерьезнее, надо логику работы немножко менять).
в) интерфейса для подгрузки энджина с гостовскими алгоритмами не написано (ну тоже на полчаса мероприятие).
Теперь вот сижу рисую интерфейс к низкоуровневым фукнциям подписи и проверки (включая доставание ключа из сертификата). Чтобы избавиться в текущем проекте от вызова openssl через subprocess совсем. Оставлю только вызов openssl cms -verify.
Не то чтобы я собрался по этому поводу совсем отказываться от использования pyasn1. хотя часть функциональности явно будет дублироваться. Но боюсь, что нужные мне извраты с ASN1 через ctypes не сделать - в OpenSSL в этом месте очень любят препроцессор.
This entry was originally posted at http://vitus-wagner.dreamwidth.org/984617.html. Please comment there using OpenID. Now there are
К вопросу о разнообразии Вселенной
2014-06-03 07:45:42 (читать в оригинале)http://news.discovery.com/space/alien-life-exoplanets/strange-new-world-discovered-the-mega-earth-140602.htm
После уточнения данных по системе Кеплер-10, выяснилось что одна из тамошних планет имеет диаметр 2,3 земного и массу в 17 раз больше Земли. То есть средняя плотность порядка 7.
Современные теории планетогенеза существование подобных планет как-то не очень объясняют. Тем более у звезды с такой низкой металличностью.
В общем, пока что утверждать что планет с такими-то и такими-то физическими свойствами быть не может - рановато. У нас еще не настолько развита теория, чтобы что-нибудь запрещать.
This entry was originally posted at http://vitus-wagner.dreamwidth.org/984341.html. Please comment there using OpenID. Now there are
Популярные за сутки
Загрузка...
BlogRider.ru не имеет отношения к публикуемым в записях блогов материалам. Все записи
взяты из открытых общедоступных источников и являются собственностью их авторов.
взяты из открытых общедоступных источников и являются собственностью их авторов.
