id: Гость   вход   регистрация
текущее время 18:28 28/03/2024
создать
просмотр
ссылки

Зачем нужен Elligator?


Намедни реализовал Elligator на c# и задумался о его необходимости вообще. Это ведь обычное биективное преобразование точки кривой во что-то "выглядящее как случайный набор байт" и обратно, чем может являться хоть xor с заранее выбранной псевдослучайной последовательностью. Чем хуже, например, шифрование быстрым алгоритмом с заранее известным ключом?
Не очень понимаю, зачем городить все эти преобразования, если можно работать с битовыми строками напрямую


 
Комментарии
— unknown (11/05/2015 18:00, исправлен 11/05/2015 18:29)   профиль/связь   <#>
комментариев: 9796   документов: 488   редакций: 5664

Здесь многие некоторые мечтают о т.н. бессигнатурном шифрование. Вот это оно, для ECC public crypto.



Кто-то живёт в регионе, где все шифрованные протоколы связи блокируются, хотя бы на время каких-то событий. Приходиться пользоваться обфускацией. Но если использовать «XOR с известной строкой», то она станет известной слишком многим. Да и как её секретно передать/согласовать, не привлекая внимания цензоров? А в аллигаторе этого не надо, идёт обмен непрофилируемым псевдорэндомом и всё.

— Гость (11/05/2015 18:30)   <#>
На другой стороне всё равно должны знать, что этот Elligator используется. Это ничем не лучше знания того же общего ключа обфускации, который тоже может меняться со временем по определенному закону ( да хоть хэш от даты utc ). Все равно не вижу причины городить огород. На это Elligator так же можно проверять весь трафик, это лишь немногим сложнее проверки на xor с известной последовательностью
— unknown (11/05/2015 18:37, исправлен 11/05/2015 18:39)   профиль/связь   <#>
комментариев: 9796   документов: 488   редакций: 5664

Я читал о нём давно, могу ошибаться, но цель была именно в том, что противник знает, что используется аллигатор, знает все константы и параметры протокола, но при этом не может отличить обмен сторон протокола от рэндома.


Если это так, то это много где м.б. полезно, не только для обхода цензуры. Да и в обходе цензуры масса интересных вариантов приходит в голову.

— Гость (11/05/2015 19:23)   <#>
Чтобы "отличить от рендома", надо просто попробовать обратить аллигатор и посмотреть как обычно, является ли полученное значение точкой кривой. Я так и не понимаю, что тут такого.
— Гость (11/05/2015 19:25)   <#>
Всё, я понял, в чем фокус. Цитата с хабра:

Elligator *любой* шум превратит в точку. В итоге мы при каждом дешифровании получим точки (валидные публичные DH ключи). Мы не знаем какой конкретно DH ключ (точка) используется на деле. Без Elligator мы получим при дешифровании: либо то что не является точкой, либо точку. Здесь мы везде получаем то что Elligator сможет преобразовать в точки, то есть получаем точки всегда.
— cypherpunks (16/09/2016 04:56)   профиль/связь   <#>
комментариев: 300   документов: 33   редакций: 12
Че-та у них на сайте нет и намека про практическое использование(
Ваша оценка документа [показать результаты]
-3-2-1 0+1+2+3