← All posts tagged crypto

Последний раз число раундов bcrypt в OpenBSD было удвоено в 1998 году: 64 раунда для обычного пользователя и 256 для root. Openwall на данный момент пользует 256 раундов для всех пользователей. Пора улучшить ситуацию и в OpenBSD (:

Оказывается, отличие SSH1 от SSH2 в обмене ключами заключается в следующем: в то время как SSH1 шифрует канал с RSA чтобы клиент передал сгенерированный сессесионный ключ, SSH2 использует D-H на открытом канале.

нашел таки внятное объяснение того как массив данных превращается в полином:
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.

Моя реализация AES-GCM тормознее AESCTR-HMAC-SHA2-256 в 2 раза, тормознее AESCTR-HMAC-MD5 в 3.5 раза. Проблема в функции перемножения в конечном поле GF(128). Я использовал 32-битную арифметику, а поскольку GMAC работает с данными в big endian формате, то необходимо преобразование; плюс там копирование данных скорее всего получается. Тем не менее, переписав GMAC в обычном виде с побайтовым доступом, получил ухудшение производительности в 4 раза. Забавно всё это.

удачно протестировал работу aes-gcm в режиме ipsec/esp с ikev2 (iked) между двумя openbsd машинами. пока об interop со strongswan или виндовсом говорить рано, но результат радует, особенно учитывая что пришлось потрудится, заставляя работать концепции из gcm в существующем крипто-фреймворке. дифф на 778 строчек. сущая ерунда.

RFC'ы по имплементации GCM в ESP и AH делали люди ни разу в глаза не видевшие ни IPsec стека и крипто-фреймворков. GCM запускает свои рученки так глубоко, что абстракции просто не работают. и что в итоге? я делаю GMAC с внутренним состоянием, который получает IV, AAD и ciphertext за три Update'а и сохраняет их длину. сторонники ФП в ярости.