gcmipsecлучи-поносаcryptoRFC
божинька, убей пожалуйста ебанариев, додумавшихся до вот такой схемы tools.ietf.org использования уже и так пизданутого ESN'а. ну или хотя бы чтобы их диарея схватила каждый раз как будет имплементироваться ихняя хуета.
gcmOpenBSDssecrypto
закоммитил sse реализацию gcm (с carry-less multiplication), написаную год назад. тхео таки замучали и он прочитал интеловский copyright и сказал что хый с ним, что часть кода из white paper :)
OpenBSDipseccrypto
закоммитил фикс для разных крипто-акселераторов на тему cbc oracle атаки. оригинальный фикс для софтового крипто был закоммичен дядей анжелосом 9 лет назад.
OpenBSDopenwallbcryptcrypto
Последний раз число раундов bcrypt в OpenBSD было удвоено в 1998 году: 64 раунда для обычного пользователя и 256 для root. Openwall на данный момент пользует 256 раундов для всех пользователей. Пора улучшить ситуацию и в OpenBSD (:
SSHcrypto
Оказывается, отличие SSH1 от SSH2 в обмене ключами заключается в следующем: в то время как SSH1 шифрует канал с RSA чтобы клиент передал сгенерированный сессесионный ключ, SSH2 использует D-H на открытом канале.
crypto
нашел таки внятное объяснение того как массив данных превращается в полином:
For binary fields GF(2^n), one can view the elements as n-bit strings, where each bit represents the corresponding coefficient of the polynomial.
OpenBSDipseccrypto
Моя реализация AES-GCM тормознее AESCTR-HMAC-SHA2-256 в 2 раза, тормознее AESCTR-HMAC-MD5 в 3.5 раза. Проблема в функции перемножения в конечном поле GF(128). Я использовал 32-битную арифметику, а поскольку GMAC работает с данными в big endian формате, то необходимо преобразование; плюс там копирование данных скорее всего получается. Тем не менее, переписав GMAC в обычном виде с побайтовым доступом, получил ухудшение производительности в 4 раза. Забавно всё это.
OpenBSDipseccrypto
удачно протестировал работу aes-gcm в режиме ipsec/esp с ikev2 (iked) между двумя openbsd машинами. пока об interop со strongswan или виндовсом говорить рано, но результат радует, особенно учитывая что пришлось потрудится, заставляя работать концепции из gcm в существующем крипто-фреймворке. дифф на 778 строчек. сущая ерунда.
ipseccrypto
RFC'ы по имплементации GCM в ESP и AH делали люди ни разу в глаза не видевшие ни IPsec стека и крипто-фреймворков. GCM запускает свои рученки так глубоко, что абстракции просто не работают. и что в итоге? я делаю GMAC с внутренним состоянием, который получает IV, AAD и ciphertext за три Update'а и сохраняет их длину. сторонники ФП в ярости.