C++ разработчик
Реализация нового транспортного протокола NTCP2 сети I2P
Импортозамещение в I2P: подпись по ГОСТ Р 34.10-2012
I2P: Ускорение асимметричной криптографии с помощью таблиц
I2P: Подпись и проверка подписи EdDSA
Алгоритм подписи EdDSA
В отличие от RSA, где секретный и публичный ключ можно использовать непосредственно, здесь приходится использовать более сложную схему и вводить некоторый дополнительный объект. EdDSA концептуально реализует алгоритм DSA, распространяя его на случай кривых. В качестве подписи выступает пара чисел (R,S), для EdDSA каждое длиной 32 байта, итого длина подписи — 64 байта. Подписываются не сами данные, а хэш он них. В качестве хэш-функции используется SHA512. Далее малым буквами будут обозначаться числа, а большими буквами — соответствующая точка на кривой, полученная умножением числа на базовую точку B.
I2P: Прозрачная реализация подписи EdDSA
В последнее время все большую популярность набирает электронная подпись Ed25519, основанная на разновидности эллиптической кривой, предложенной Бернштейном. По мере увеличения числа узлов I2P с данным видом подписи возникла необходимость ее поддержки в своей реализации I2P, поскольку Ed25519 не входит в состав популярных криптографических библиотек. Как правило используются разновидности ref10 из библиотеки SUPERCOP, реализованной самим Бернштейном на ассемблере, и затем портированной на другие языки. Данная реализация работает хорошо и быстро, однако у нее есть главный недостаток — она непонятна. Действительно, если заглянуть в исходный код, то можно увидеть большое количество однотипных строк, оперирующих с множеством «магических» чисел, понять же, что они означают, без углубления в теорию не представляется возможным. Целью данной статьи является математически прозрачная реализация Ed22519, используя лишь стандартные операции с большими числами, присутствующие в любой криптографической библиотеке, со скоростью работы, достаточной для практического использования в I2P.
Собственная реализация https с использованием crypto++ для начальной загрузки I2P
Начальная загрузка это единственное место в I2P, где используется https.
С другой стороны, статья будет интересно тем кому интересно понять, как работает ssl и попробовать самому.
«Пурпурный» I2P — окно в мир C++ приложений
Поэтому реализация I2P на C++ всегда была актуальной задачей. Из множества попыток «пурпурный I2P» (Purple I2P) на настоящий момент является наиболее успешной и пригодной для практического использования. Название обусловлено цветом рубашки на иконке I2P, чтобы отличать от официального I2P, где цвет — красный и обозначает семейство приложений, использующих данную реализацию I2P. i2pd же представляет собой I2P маршрутизатор общего назначения.
Построение собственной коммуникационной сети поверх I2P
В большинстве современных систем будь то электронная почта, ICQ или твиттер, владелец серверов обладает всеми этими данными и может, при необходимости, поделиться ими при получении официального или неофициального запроса об этом. Ниже предлагается проект сети, построенной поверх I2P, в которой владелец использует свои узлы только для обеспечения более стабильной работы и в качестве шлюзов в обычный интернете, имея информации не больше, чем обычные узлы I2P.
Основы разработки клиента сети I2P. Часть 2
Основы разработки клиента сети I2P
Информация
- В рейтинге
- Не участвует
- Зарегистрирован
- Активность