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

Комментарии 16

Пару моментов:
1) Bernstein
2) Немного оффтоп. Он же написал скрипт, который позволяет довольно наглядно сравнить разные стандарты цифровой подписи. Видно, как на самом деле они похожи
Статья замечательная. Хочется подробностей о самом проекте.
Не «Берштейн», а «Бернштейн» (или «штайн»?).
Спасибо, исправил.
Однако использование непонятно как работающей реализации представляется немногим лучше

Вполне понятных реализаций довольно много. Например, tweetNaCl, написанная тем же Берштейном (для нее есть порты и на другие языки), если так трудно читать стандартный NaCl или libsodium код.

Проблема Вашей реализации в том, например, что она не учитывает side channel атаки. «Прозрачные» реализации полезны только для понимания работы (хотя и обычных формул для этого достаточно), на практике же их использовать нельзя — об этом стоит писать, а не о «don't implement your own crypto»
>Например, tweetNaCl, написанная тем же Берштейном
Я в процессе работы смотрел и ее. Да, она более понятна чем ref10, но там тоже много неясностей. Например, почему для извлечения корня там используется 2^252-3, а не 2^252-2? Что такое D2? Зачем нужно возводить d^2+1 в седьмую степень? Конечно, на все эти вопросы существуют ответы, но опять же это требует дополнительного изучения вопроса.
Ну, D2 — это, очевидно, удвоенное значение D.
Корень нужно извлекать не из скаляра (в таком случае действительно можно было возвести в степерь (p+3)/8), а из дроби u/v — потому что именно в таком виде хранятся координаты точки для ускорения вычислений. Отсюда, скорее всего, растут ноги (p-5)/8 = (p+3)/8-1 и седьмая степень. Все объяснения есть в статьях о Ed255 и Curve255

Разбираться в любом случае нужно, если цель — «для практического использования в I2P». Ваш код тоже, может, кому-то непонятен будет: у всех свой порог вхождения. Я не настоящий сварщик, но с TweetNaCl, думаю, разобраться можно за разумное время
Лично я надеюсь со временем разобраться с ref10 и использовать именно его. Просто надо идти от простого к сложного, и от работающего кода к работающему лучше.
Можете прокомментировать причины форка от основной ветки на гитхабе?
Посмотрите историю изменений в любом файле на гитхабе — меня там больше нет. Некие люди воспользовались моими временным отсутствием там, что выглядит крайне некрасиво с их стороны. Когда я вернулся, то решил продолжать работу над проектом в собственном форке, заодно перейдя с crypto++ на openssl.
Хм, а каким образом воспользовались? Не вижу там особо деструктивных действий
Во всех файлах проекта отсутствует история изменений. Как будто я два года этот проект не делал и вообще «вас тут не стояло».
Одному человеку были даны все права доступа к проекту совершенно для иных целей.
А где там форк? Нигде не нашёл упоминания.
Я сделал форк от релиза 0.10.0 с гитхаба на bitbucket. Здесь
bitbucket.org/orignal/i2pd
Зарегистрируйтесь на Хабре , чтобы оставить комментарий

Публикации

Истории