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

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

Здесь стоит заметить, что при использовании 256 в качестве модуля, в некоторых случаях можно выяснить один бит зашифрованного секрета, не обладая всеми необходимыми ключами. В этой реализации проблема усугубляется ещё и тем, что каждый байт секрета разделяется независимо и из каждого утекает один такой бит. В итоге при разделении стандартного 256битного ключа, достаточно осведомлённый злоумышленник может вычислить 32 его бита, что звучит как дочерта (и значительно сокращает перебор)

Как это работает

окей, пусть мы не знаем одну из долей секрета, но знаем все остальные k-1. Составим СЛАУ на коэффициенты многочлена из k уравнений и k+1 неизвестных (коэффициенты, плюс недостающая нам доля). Выразим отсюда все коэффициенты через эту неизвестную долю, получим какие-то выражения вида \frac{a}{b} y, где y — неизвестно. Фокус в том, что мы обладаем достаточной информацией, чтобы знать, что эта дробь имеет смысл, потому что коэффициент же существует. А значит, что y делится на b. Если бы действие происходило в поле, то это бы ничего не дало (там можно делить что угодно), но у нас-то кольцо вычетов по непростому модулю 256. Нехитрыми размышлениями можно сократить множество возможных y в два раза, а отсюда сокращается и пространство значений самого секрета. Ура!

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации