Как стать автором
Обновить

Curve25519, EdDSA и Poly1305: Три обделенных вниманием криптопримитива

Время на прочтение 2 мин
Количество просмотров 37K
Информационная безопасность *Криптография *Программирование *
Туториал
Есть такой очень хороший товарищ по имени Daniel Julius Bernstein. Математик, программист и спец по компьютерной безопасности. Его хэш CubeHash чуть не дотянул до третьего раунда SHA-3, а потоковый шифр Salsa20 попал в шорт лист проекта eStream. А еще он автор культовой в узких кругах криптобиблиотеки NaCl, о трех штуках из которой я бы хотел вкратце рассказать.
Читать дальше →
Всего голосов 33: ↑32 и ↓1 +31
Комментарии 8

Реализуем ещё более безопасный VPN-протокол

Время на прочтение 8 мин
Количество просмотров 29K
Блог компании Онлайн-кинотеатр Иви Информационная безопасность *Криптография *Go *
Эта публикация является продолжением ранее написанной в нашем блоге: «Реализуем безопасный VPN-протокол». В этой статье мы не переделываем и не переписываем протокол, а только чуть дорабатываем его дальше. Реализация всего нижеописанного уже присутствует в версии GoVPN 3.1.



Для создания шума немного изменён транспортный протокол. Для аугментации рукопожатия и усиления паролей изменён протокол рукопожатия. Более подробно обо всём этом под катом.
Читать дальше →
Всего голосов 34: ↑33 и ↓1 +32
Комментарии 27

I2P: Прозрачная реализация подписи EdDSA

Время на прочтение 5 мин
Количество просмотров 14K
Криптография *Программирование *I2P *

В последнее время все большую популярность набирает электронная подпись Ed25519, основанная на разновидности эллиптической кривой, предложенной Бернштейном. По мере увеличения числа узлов I2P с данным видом подписи возникла необходимость ее поддержки в своей реализации I2P, поскольку Ed25519 не входит в состав популярных криптографических библиотек. Как правило используются разновидности ref10 из библиотеки SUPERCOP, реализованной самим Бернштейном на ассемблере, и затем портированной на другие языки. Данная реализация работает хорошо и быстро, однако у нее есть главный недостаток — она непонятна. Действительно, если заглянуть в исходный код, то можно увидеть большое количество однотипных строк, оперирующих с множеством «магических» чисел, понять же, что они означают, без углубления в теорию не представляется возможным. Целью данной статьи является математически прозрачная реализация Ed22519, используя лишь стандартные операции с большими числами, присутствующие в любой криптографической библиотеке, со скоростью работы, достаточной для практического использования в I2P.


Читать дальше →
Всего голосов 8: ↑8 и ↓0 +8
Комментарии 16

I2P: Подпись и проверка подписи EdDSA

Время на прочтение 4 мин
Количество просмотров 7K
Криптография *Программирование *I2P *
В предыдущей статье была рассмотрена реализация самой кривой Ed25519, операции сложения и умножения на число, восстановление второй координаты. В данной статье рассматриваются вопросы эффективного использования этих операций для электронной подписи сообщений и работы в I2P.

Алгоритм подписи EdDSA


В отличие от RSA, где секретный и публичный ключ можно использовать непосредственно, здесь приходится использовать более сложную схему и вводить некоторый дополнительный объект. EdDSA концептуально реализует алгоритм DSA, распространяя его на случай кривых. В качестве подписи выступает пара чисел (R,S), для EdDSA каждое длиной 32 байта, итого длина подписи — 64 байта. Подписываются не сами данные, а хэш он них. В качестве хэш-функции используется SHA512. Далее малым буквами будут обозначаться числа, а большими буквами — соответствующая точка на кривой, полученная умножением числа на базовую точку B.
Читать дальше →
Всего голосов 11: ↑11 и ↓0 +11
Комментарии 1

Дайджест последних достижений в области криптографии. Выпуск нулевой

Время на прочтение 3 мин
Количество просмотров 23K
Информационная безопасность *Криптография *Программирование *Математика *


Привет!
Хотелось бы в одной статье вкратце рассказать о достижениях математиков, которыми мы уже пользуемся или скоро будем.
Начнем
с постквантовой криптографии
Всего голосов 38: ↑36 и ↓2 +34
Комментарии 26

А ты хто такой? Эволюция протоколов аутентификации MySQL и MariaDB в лицах

Время на прочтение 5 мин
Количество просмотров 8.4K
Информационная безопасность *Криптография *MySQL *
замок на старом сейфе В далекие времена, до фейсбука и гугла, когда 32 мегабайта RAM было дофига как много, security была тоже… немножко наивной. Вирусы выдвигали лоток CD-ROM-а и играли Янки Дудль. Статья «Smashing the stack for fun and profit» уже была задумана, но еще не написана. Все пользовались telnet и ftp, и только особо продвинутые параноики знали про ssh.

Вот примерно в это время, плюс-минус год, родился MySQL и были в нем юзеры, которых надо было не пускать к чужим данным, но пускать к своим.

Michael Widenius (или просто Monty) явно был знаком с параноидальными безопасниками не понаслышке, чего стоит один такой момент (из исходников, global.h):

/* Paranoid settings. Define I_AM_PARANOID if you are paranoid */
#ifdef I_AM_PARANOID
#define DONT_ALLOW_USER_CHANGE 1
#define DONT_USE_MYSQL_PWD 1
#endif

Так что неудивительно, что пароли в MySQL открытым текстом не передавались никогда. Передавались случайные строки на основе хешей. А конкретно, первый протокол аутентификации (цитируется по mysql-3.20, 1996) работал так:
Читать дальше →
Всего голосов 28: ↑28 и ↓0 +28
Комментарии 24

Правильные ответы по криптографии: 2018 год

Время на прочтение 10 мин
Количество просмотров 19K
Блог компании GlobalSign Информационная безопасность *Разработка веб-сайтов *Криптография *
Перевод статьи, автор – Latacora

В литературе и самых сложных современных системах есть «лучшие» ответы на многие вопросы. Если вы разрабатываете встроенные приложения, то предлагают использовать STROBE и модный современный криптографический стек для аутентификации полностью из одиночных SHA-3-подобных функций губки. Советуют использовать NOISE для разработки безопасного транспортного протокола с формированием общего ключа аутентификации (AKE). Говоря об AKE, есть около 30 различных парольных AKE на выбор.

Но если вы разработчик, а не криптограф, то не должны делать ничего такого. Следует придерживаться простых и обычных решений, которые легко поддаются анализу — «скучных», как говорят люди из Google TLS.
Читать дальше →
Всего голосов 24: ↑24 и ↓0 +24
Комментарии 7

Cлучайный оракул на основе цифровой подписи в блокчейне

Время на прочтение 6 мин
Количество просмотров 2.8K
Децентрализованные сети *Криптография *Программирование *Криптовалюты

От идеи до реализации: модифицируем существующую схему цифровой подписи на эллиптической кривой, чтобы она была детерминированной, и предоставляем на её основе функции получения проверяемых в рамках блокчейна псевдослучайных чисел.


Читать дальше →
Всего голосов 14: ↑12 и ↓2 +10
Комментарии 12

Random oracle based on blockchain digital signature

Время на прочтение 5 мин
Количество просмотров 1.9K
Децентрализованные сети *Криптография *Программирование *Криптовалюты

From idea to implementation: modifying the existing elliptic curve signature scheme to be deterministic and providing functions on it to obtain verifiable within the blockchain pseudorandom numbers.


Read more →
Всего голосов 10: ↑8 и ↓2 +6
Комментарии 0

Ненормальная криптография, или как я проверял подписи Ed25519 на Solidity

Время на прочтение 13 мин
Количество просмотров 4.7K
Блог компании Near Ненормальное программирование *Криптография *Solidity *Криптовалюты

Когда пишут о том, как разрабатывать безопасные приложения, один из частых советов звучит так: не пишите криптографию самостоятельно, а используйте какую-нибудь проверенную библиотеку. К сожалению, при разработке блокчейнов этот совет часто не работает: нужные алгоритмы либо не реализованы вовсе, либо существующие реализации не годятся по множеству возможных причин — даже потому, что они недостаточно безопасны. Вот и в этом случае нужно было проверять подписи, использующие Ed25519 — весьма популярный тип подписей, для которого существует множество реализаций, ни одна из которых, однако, нам не подошла. А всё потому, что проверка должна была выполняться из смарт-контракта, работающего на блокчейне Ethereum.

Читать дальше →
Всего голосов 12: ↑12 и ↓0 +12
Комментарии 2

Пара слов о Solana и ed25519

Время на прочтение 11 мин
Количество просмотров 13K
Криптография *Rust *Криптовалюты

Децентрализованные технологии развиваются всё быстрее, капитализации проектов растут, рынок наполняется новыми вакансиями. Нет сомнений, что эта сфера уже оказывает сильное влияние на мир. Об этом, конечно, можно долго и интересно рассуждать, но моя статья о другом. В фокусе статьи две вполне себе конкретные вещи: on-chain программы Solana и алгоритм цифровой подписи ed25519. К чьему-то сожалению здесь не будет ничего об уязвимостях, потому что мне не хватает компетенций в таких вопросах. Зато я расскажу о программной модели Solana, которая позволяет строить децентрализованные приложения, а также о том, какое место в ней занимает алгоритм цифровой подписи ed25519 и как он математически работает.

Читать далее
Всего голосов 31: ↑28 и ↓3 +25
Комментарии 23

Шифрование сертификатов TLS — как формируется цифровая подпись

Время на прочтение 4 мин
Количество просмотров 10K
Блог компании GlobalSign Информационная безопасность *Разработка веб-сайтов *Криптография *IT-стандарты *


По оценке независимой исследовательской и консалтинговой компании Frost & Sullivan, TLS-сертификаты от GlobalSign обеспечивают максимально надёжное шифрование. В том числе за это GlobalSign получила в сентябре 2022 года награду 2022 Global Competitive Strategy Leadership Award.

Но возникает вопрос, чем же отличается шифрование в разных сертификатах? В частности, какие алгоритмы используются для криптографической подписи?
Читать дальше →
Всего голосов 32: ↑17 и ↓15 +2
Комментарии 3

Бесплатный доступ к PDF 2.0

Время на прочтение 5 мин
Количество просмотров 5.5K
Блог компании GlobalSign Криптография *IT-стандарты *PDF Открытые данные *


В начале года мы задавались вопросом, почему стандарты ИСО не публикуют в открытом доступе, хотя эти знания нужны и полезны для человечества? По мнению некоторых представителей IT-индустрии, платный доступ к документам — не самая эффективная политика. Особенно когда дело касается общественно важных стандартов, таких как ISO 8601 — Представление дат и времени (в интернет-магазине первая часть продаётся за 166 франков) или ISO 639 — Коды для представления названий языков (тоже две части по 166 CHF). Платный доступ — искусственный барьер, который только мешает.

Для отдельных стандартов находятся спонсоры, которые оплачивают организации ИСО расходы, чтобы выложить документы в открытом доступе для всех. Это относится и к новому пакету стандартов PDF 2.0, принятому в 2017–2022 гг (разные части), который пришёл на смену прежним версиям PDF 1.0–1.7.
Читать дальше →
Всего голосов 16: ↑15 и ↓1 +14
Комментарии 3