Для ясности я собираюсь обобщить ваш вопрос так, чтобы он был больше характеристики (с базовым полем F q ) вместо конкретного случая p = q = 2 . Я возьму p и q как фиксированные константы; Я оставлю читателю понять, какова точная зависимость от этих параметров, поскольку есть некоторые компромиссы, которые можно сделать. Конечным результатом здесь является то, что ваша задача примерно эквивалентна задаче дискретного журнала для конечных полей характеристики p .p>0Fqp=q=2pqp
Чтобы быть более точным, пусть обычная дискретная логарифмическая задача над расширениями при заданном поле расширения F из F q и a , b ∈ F находит любое целое число t так, что a = b t , или сообщает, что ничего не существует , Пусть сильная дискретная логарифмическая задача над расширениями F q будет, если F , a , b, как и прежде, найти целые числа z , m так, чтобы
aFqFFqa,b∈Fta=btFqF,a,bz,m для целого числа t, если t = za=btt или сообщить, что t не существует. Тогда существуют следующие сокращения:t=z(modm)t
Существует детерминированное отображение сокращения от дискретного логарифма по расширениям к вашей задаче.Fq
Существует эффективный, детерминистический алгоритм, который решает вашу проблему, когда вам предоставляется доступ к оракулу, вычисляющему проблему сильного дискретного журнала по расширениям .Fq
Соответственно, я считаю маловероятным, что кто-то опубликует доказательство
-твердости или доказательство того, что ваша проблема в P в ближайшем будущем.NPP
Замечание: Сильная дискретная логарифмическая задача над расширениями
может быть приведена по Тьюрингу к следующей якобы более слабой форме (хотя все еще, по-видимому, более сильной, чем обычная дискретная логарифмическая задача): учитывая поле расширения F в F q и a , b ∈ F , найдите наименьшее неотрицательное целое число t, так что a = b t . Это следует из того факта, что порядок b равен единице плюс наименьший неотрицательный t, так что b - 1 = b tFqFFqa,b∈Fta=btbtb−1=bt,
Первое сокращение
. Утверждение состоит в том, что обычная дискретная логарифмическая задача над расширениями отображения сводится к этой проблеме. Это следует из того факта, что умножение в F q n является линейным преобразованием, когда мы рассматриваем F q n как n- мерное векторное пространство над F q . Следовательно, вопрос вида a = b t над F q n
становится → a = B t → e над F q , где → aFqFqnFqnnFqa=btFqna⃗ =Bte⃗ Fq - n- мерные векторы, а B -матрица n × n , всюду по F q . Вектор → a может быть легко вычислен из a , B из b , и
→ e является просто представлением 1 ∈ F q n , которое можно эффективно записать. По-видимому, это все еще трудный случай общей задачи дискретного логарифмирования, даже при p = q = 2 (но растущем na⃗ ,e⃗ nBn×nFqa⃗ aBbe⃗ 1∈Fqnp=q=2n, конечно). В частности, люди все еще соревнуются, чтобы увидеть, как далеко они могут его вычислить.
Второе сокращение:
утверждение состоит в том, что ваша проблема сводится к сильной дискретной логарифмической задаче над расширениями . Это сокращение имеет несколько частей, так что прости длину. Пусть на входе будут n- мерные векторы x , y и n × n матрицы A по всему F q ; цель состоит в том, чтобы найти t так, чтобы y = A t x .Fqnx,yn×nAFqty=Atx
Основная идея состоит в том, чтобы написать в канонической форме Иордана (JCF), из которой мы можем свести тестирование y = A t x к сильной дискретной логарифмической задаче с некоторой прямой алгеброй.Ay=Atx
Одной из причин для использования канонической формы под подобием матриц является то , что , если = Р - 1 J Р , то т = Р - 1 Дж т Р . Следовательно , мы можем преобразовать у = т х к ( Р у ) = J т ( Р х ) , где в настоящее время J находится в гораздо лучше , чем формат произвольного А . JCF - это особенно простая форма, которая включает остальную часть алгоритма. Итак, теперь предположим, чтоA=P−1JPAt=P−1JtPy=Atx(Py)=Jt(Px)JAУже в ГФДЕ, но также допускаютчто х , у , иможет иметь записи в поле расширения
F д .Ax,y,AFq
Примечание: Есть некоторые тонкости, которые возникают при работе с JCF. В частности, я предполагаю, что мы можем выполнять полевые операции в любом расширении (независимо от его размера) за один временной шаг и что мы можем эффективно вычислять JCF.
априори , это нереально, потому что работа с JCF может потребовать работы в поле расширения (поле расщепления характеристического полинома) экспоненциальной степени. Однако, с некоторой осторожностью и используя тот факт, что мы работаем над конечной областью, мы можем обойти эти проблемы. В частности, мы будем ассоциировать с каждым жордановым блоком поле F ' степени не более n над F qFqF′nFq
так что все записи в блоке Джордана и соответствующие элементы , y
все находятся в пределах F ′ . Поле F ' может отличаться от блока к блоку, но использование этого "смешанного представления" позволяет эффективно описать JCF, который, кроме того, может быть найден эффективно. Алгоритм, описанный в оставшейся части этого раздела, должен работать только с одним блоком за раз, поэтому, пока он выполняет свои полевые операции в соответствующем поле F ' , алгоритм будет эффективен.
[конец замечания]xyF′F′F′
Использование ГФД дает нам уравнения следующего вида, с каждым уравнением , соответствующим жордановой:
⎡⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢y1y2y3⋮yk−1yk⎤⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥=⎡⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢λ1λ1λ1⋱λ1λ⎤⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥t⎡⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢x1x2x3⋮xk−1xk⎤⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥
Алгоритм будет обрабатывать каждый блок отдельно. В общем случае для каждого блока у нас будет запрос для нашего сильного дискретного логарифмического оракула, из которого оракул сообщит нам условие модульности, . Мы также получим множество S ⊆ { 0 , 1 , ⋯ , p - 1 }, так что
⋁ s ∈ S [ t = st=z(modm)S⊆{0,1,⋯,p−1}
должен держать. После обработки всех блоков нам нужно проверить, что существует выбор t, который удовлетворяет соединениям всех этих условий. Это можно сделать, убедившись, чтово всех множествах S есть общий элемент s,
так что уравнения t = s⋁s∈S[t=s(modp)]tsS и t = z jt=s(modp) все выполняются одновременно, где j проходит по блокам.t=zj(modmj)j
Есть также некоторые особые случаи, которые возникают на протяжении всей процедуры. В этих случаях мы получим условия вида для некоторого значения ℓ или формы t = s для некоторого определенного целого числа s из определенных блоков, или мы можем даже обнаружить, что t не может существовать. Они могут быть включены в логику для общего случая без проблем.t>ℓℓt=sst
Теперь мы опишем подпроцедуру для обработки каждого блока Jordan. Исправить такой блок.
Начните с фокусировки только на последней координате в блоке. Условие требует, чтобы y k = λ t x k . Другими словами, это пример проблемы дискретного журнала в некотором полевом расширении F q . Затем мы используем оракула для его решения, что либо не приводит к решению, либо дает условие модульности на t . Если «нет решения» возвращается, мы возвращаемся с указанием такового. В противном случае мы получаем условие t = zy=Atxyk=λtxkFqt , что эквивалентно y k = λ t x k .t=z(modm)yk=λtxk
Чтобы обработать другие координаты, мы начнем со следующей формулы (см., Например, здесь ):
Сначала позаботимся о случае, когдаxk=0. Поскольку у нас уже есть условие модульности, из которого следует, чтоyk=λtxk, мы можем также предположить, чтоyk=0. Но тогда мы можем просто сосредоточиться на первыхk-1элементахxиyи верхнем левом углу(k-1)×(k-1)
⎡⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢λ1λ1λ1⋱λ1λ⎤⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥t=⎡⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢λt(t1)λt−1λt(t2)λt−2(t1)λt−1⋱⋯⋯⋱⋱⋯⋯⋮⋱λt(tk−1)λt−k+1(tk−2)λt−k+2⋮⋮(t1)λt−1λt⎤⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥
xk=0yk=λtxkyk=0k−1xy(k−1)×(k−1)подматрица Иорданского блока. Итак, теперь предположим, что
.
xk≠0
Во-вторых, мы рассмотрим случай, когда . В этом случае степени блока Джордана имеют особую форму и заставляют либо t = z для некоторого z ≤ k , либо t > k , без каких-либо других условий. Я не буду описывать случаи, но достаточно сказать, что каждый может быть проверен эффективно. (В качестве альтернативы, мы могли бы свести к случаю, когда A является обратимым; см. Мой комментарий по этому вопросу.)λ=0t=zz≤kt>kA
Наконец, мы приходим к общему случаю. Поскольку у нас уже есть условие модульности, из которого следует, что , мы можем предположить, что это условие выполняется, и использовать y k x - 1 k в качестве замены для λ t . В более общем смысле мы можем использовать y k x - 1 k λ - z для представления λ t - z . Таким образом, нам нужно проверить, справедлива ли следующая система для некоторого выбора t :
[ y 1 y 2yk=λtxkykx−1kλtykx−1kλ−zλt−zt
Заметим, что выполнение уравнения зависит только отt
⎡⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢y1y2y3⋮yk−1yk⎤⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥=⎡⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢ykx−1k(t1)ykx−1kλ−1ykx−1k(t2)ykx−1kλ−2(t1)ykx−1kλ−1⋱⋯⋯⋱⋱⋯⋯⋮⋱ykx−1k(tk−1)ykx−1kλ−(k−1)(tk−2)ykx−1kλ−(k−2)⋮⋮(t1)ykx−1kλ−1ykx−1k⎤⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎡⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢x1x2x3⋮xk−1xk⎤⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥
; это потому, что зависимость от
t является только полиномиальной,
t должно быть целым числом, а приведенные выше уравнения находятся над полем характеристики
p . Следовательно, мы можем просто попробовать каждое значение
t ∈ { 0 , 1 , … , p - 1 } отдельно. Множество
S, которое мы вернем, является просто выбором
t, для которого система удовлетворена.
t(modp)ttpt∈{0,1,…,p−1}St
Так что теперь, за исключением некоторых особых случаев, подпроцедура для каждого блока нашла условие модульности и множество S, так что один из t = st=a(modm)S должно выполняться для некоторых S ∈ S . Эти условия эквивалентны y = A t x в этом конкретном жордановом блоке. Таким образом, мы возвращаем их из подпроцедуры. Частные случаи либо заключают, что t не может существовать (в этом случае подпроцедура немедленно возвращает указание на это), либо мы имеем условие модульности t = at=s(modp)s∈Sy=Atxt и некоторые специальные условия, такие как t = s для целого числа s или t > ℓ для некоторого целого числа ℓ . В любом случае, все условия эквивалентны y = A t x в этом блоке Джордана. Итак, как упоминалось выше, подпроцедура просто возвращает эти условия.t=a(modm)t=sst>ℓℓy=Atx
На этом завершается спецификация субпроцедуры для каждого блока и алгоритма в целом. Это правильность и эффективность вытекают из предыдущего обсуждения.
Тонкости с использованием JCF во втором сокращении:
Как упоминалось во втором сокращении, есть некоторые тонкости, которые возникают при работе с JCF. Есть несколько наблюдений для смягчения этих проблем:
Расширения конечных полей нормальны . Это означает , что если представляет собой неприводимый многочлен над F д , то любое расширение F д , содержащей корень P
содержит все корни P . Другими словами, поле расщепления неприводимого многочлена P
степени d имеет степень только d над F q .PFqFqPPPddFq
Существует обобщение жордановой канонической формы, называемой первичной рациональной канонической формой (PRCF), которая не требует записи расширений полей. В частности, если является матрицей с записями в F q , то мы можем записать A = P - 1 Q P для некоторых матриц P , Q с записями в F q , причем, кроме того, Q находится в PRCF. Кроме того, если мы сделаем вид, что записи A живут в поле F ′,
расширяющем F qAFqA=P−1QPP,QFqQAF′Fqкоторый содержит все собственные значения , тогда Q фактически будет в JCF. Таким образом, мы можем рассматривать вычисление JCF для A как особый случай вычисления PRCF.AQA
Используя форму PRCF, мы можем вычислить JCF для какA
вычисление PRCF над F qAFq
вычисление PRCF каждого блока (заимствуя обозначение из статьи в Википедии) в PRCF A , над полем расширения F ′ , где F ′ выбирается так, чтобы он содержал все собственные значения CCAF′F′C
Основное преимущество этой факторизации состоит в том, что все характеристические многочлены блоков будут неприводимыми , и, следовательно, согласно нашему первому наблюдению, мы можем выбрать F , чтобы иметь степень размера C (которая не больше n ) над F q , Недостатком является то, что теперь мы должны использовать различные поля расширения для представления каждого блока JCF, поэтому представление является нетипичным и сложным.CF′CnFq
Таким образом, учитывая способность эффективно вычислять PRCF, мы можем эффективно вычислить подходящее кодирование JCF, и это кодирование так, что работа с любым конкретным блоком JCF может быть выполнена в пределах поля расширения степени не более по F п .nFn
Как для эффективного вычисления ФКНР, бумаги « Рациональный Каноническая форма алгоритма » (KR Мэттьюз, Математика. Bohemica 117 (1992) 315-324) дает эффективный алгоритм для вычисления ФКНР , когда разложение характеристического полинома , как известно , Для фиксированной характеристики (такой, как у нас), разложение многовариантных полиномов по конечным полям может быть выполнено за детерминированный полиномиальный момент времени (см., Например, « О новом алгоритме факторизации для полиномов над конечными полями » (H. Niederreitter and R. Gottfert, Math. Of Вычисление 64 (1995) 347-353).), Поэтому PRCF можно вычислить эффективно.A