Pull to refresh
20
0
Евгений Капун @eatmore

Пользователь

Send message

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

Reading time13 min
Views5.4K

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

Читать дальше →
Total votes 12: ↑12 and ↓0+12
Comments2

В Google Chrome для iOS появилась функция сжатия трафика

Reading time1 min
Views15K
Немногие знают, что у Google есть сервис, аналогичный Opera Turbo: прокси-сервер, сжимающий данные, передаваемые браузеру, с целью уменьшения потенциально дорогостоящего мобильного трафика. Поддержка этой функции в Chrome для Android появилась несколько месяцев назад, а сейчас пришло время и Chrome для iOS. Google утверждает, что SSL-трафик и трафик в режиме инкогнито передаётся напрямую, без сжатия.
Читать дальше →
Total votes 18: ↑14 and ↓4+10
Comments25

Слабые ссылки в различных языках программирования

Reading time6 min
Views38K
В языках с автоматическим управлением памятью сборщик мусора удаляет объекты, когда они перестают быть доступными по ссылкам. Обычно это именно то, что нужно: объект существует, пока есть возможность к нему обратиться.
Иногда такое поведение не подходит. Например, программе понадобилось хранить некоторую вспомогательную информацию об экземплярах некоторого класса, но у вас нет возможности добавить в этот класс своё поле. В этом случае можно создать отображение, в котором ключом будет объект, а значением — вспомогательная информация.
Вот тут-то и начинаются проблемы. Поскольку отображение хранит ссылки на ключи, те объекты, к которым была привязана вспомогательная информация, перестают освобождаться из памяти. Если программа в процессе своей работы создаёт много объектов, память рано или поздно заканчивается.
Читать дальше →
Total votes 48: ↑45 and ↓3+42
Comments8

Information

Rating
Does not participate
Registered
Activity