Эта статья является кандидатом в добротные статьи

Сравнение по модулю: различия между версиями

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
[непроверенная версия][непроверенная версия]
Содержимое удалено Содержимое добавлено
Строка 198: Строка 198:
Методы теории сравнений используются в [[Теория чисел|теории чисел]], [[Теория групп|теории групп]], [[Теория колец|теории колец]], [[Теория узлов|теории узлов]], [[Общая алгебра|общей алгебре]], [[Криптография|криптографии]], [[Информатика|информатике]], [[Химия|химии]] и других областях.
Методы теории сравнений используются в [[Теория чисел|теории чисел]], [[Теория групп|теории групп]], [[Теория колец|теории колец]], [[Теория узлов|теории узлов]], [[Общая алгебра|общей алгебре]], [[Криптография|криптографии]], [[Информатика|информатике]], [[Химия|химии]] и других областях.


Например,сравнения часто применяются для вычисления контрольных сумм, используемых в идентификаторах. Так для определения ошибок при вводе [[IBAN (ISO 13616)|международного номера банковского счета]] используется сравнение по модулю 97<ref>{{книга |автор=Harald Niederreiter, Arne Winterhof |заглавие=Applied Number Theory |место= |издательство=«Springer» |год=2015|страницы=369 |страниц=442 |ссылка=}} </ref>.
Например,сравнения часто применяются для вычисления контрольных сумм, используемых в идентификаторах. Так для определения ошибок при вводе [[IBAN (ISO 13616)|международного номера банковского счета]] используется сравнение по модулю 97<ref>{{книга |автор=Harald Niederreiter, Arne Winterhof |заглавие=Applied Number Theory |место= |издательство=«Springer» |год=2015|страницы=369 |страниц=442 |isbn=978-3-319-22321-6}} </ref>.


В криптографии сравнения можно встретить в [[Криптосистема с открытым ключом|системах с открытым ключом]], использующих, например, [[RSA|алгоритм RSA]] или [[Протокол Диффи — Хеллмана|протокол Диффи — Хеллмана]].Также, модульная арифметика обеспечивает [[Конечное поле|конечные поля]],над которыми затем строятся [[Эллиптическая кривая|эллиптические кривые]], и используется в различных протоколах с симметричным ключем ([[Advanced Encryption Standard|AES]], [[IDEA|IDEA]])<ref>{{книга |автор=Венбо Мао |ответственный=пер. с англ. Д. А. Клюшина|заглавие=Современная криптография: теория и практика. |место=М. |издательство=Издательский дом «Вильямс» |год=2005 |страниц=768 |ссылка=}} </ref>.
В криптографии сравнения можно встретить в [[Криптосистема с открытым ключом|системах с открытым ключом]], использующих, например, [[RSA|алгоритм RSA]] или [[Протокол Диффи — Хеллмана|протокол Диффи — Хеллмана]].Также, модульная арифметика обеспечивает [[Конечное поле|конечные поля]],над которыми затем строятся [[Эллиптическая кривая|эллиптические кривые]], и используется в различных протоколах с симметричным ключем ([[Advanced Encryption Standard|AES]], [[IDEA|IDEA]])<ref>{{книга |автор=Венбо Мао |ответственный=пер. с англ. Д. А. Клюшина|заглавие=Современная криптография: теория и практика. |место=М. |издательство=Издательский дом «Вильямс» |год=2005 |страниц=768 |ссылка=}} </ref>.

Версия от 10:44, 10 ноября 2015

Сравнение[1] по модулю натурального числа n — в теории чисел отношение эквивалентности на кольце целых чисел, связанное с делимостью на n. Факторкольцо по этому отношению называется кольцом вычетов. Совокупность соответствующих тождеств и алгоритмов образует модульную[2] (или модулярную) арифметику.

История

Возникновение теории сравнений относится к концу XVIII — началу XIX веков и связано с изучением диофантовых уравнений. Например, одно из первых её применений можно обнаружить в трудах Лежандра, а именно в теореме о разрешимости диофантовых уравнений определенного вида[3]. Также сравнения применялись Эйлером и Лагранжем. Впоследствии Гаусс преобразовал все накопленные сведения в стройную теорию,которая впервые была изложена в его книге «Арифметические исследования», 1801 год. Он же предложил утвердившуюся в математике символику для сравнений[4].

Определения

Если два целых числа a и b при делении на n дают одинаковые остатки, то они называются сравнимыми (или равноостаточными) по модулю числа n[5]. Шаблон:/рамка Сравнимость чисел a и b записывается в виде формулы (сравнения):

Число n называется модулем сравнения.


Определение сравнимости чисел a и b по модулю n равносильно любому из следующих утверждений:

  1. Разность чисел a и b делится на n без остатка;
  2. Число a может быть представлено в виде a = b + kn, где k — некоторое целое число[6].


Например, 32 и −10 сравнимы по модулю 7, так как оба числа при делении на 7 дают остаток 4:

Также, 32 и −10 сравнимы по модулю 7, так как их разность 42 делится на 7, и к тому же имеет место представление:

Свойства

Для фиксированного натурального числа n отношение сравнимости по модулю n обладает следующими свойствами:

  • рефлексивности: для любого целого справедливо
  • симметричности: если то
  • транзитивности: если и то

Таким образом, отношение сравнимости по модулю n является отношением эквивалентности на множестве целых чисел[7].

Кроме вышеперечисленных свойств, для сравнений справедливы следующие утверждения:

  • любые два целых числа сравнимы по модулю 1.
  • если числа a и b сравнимы по модулю n, и m является делителем n, то a и b сравнимы по модулю m.
  • если числа a и b сравнимы по нескольким модулям n1,n2,...,nk то

они сравнимы по модулю,равному наименьшему общему кратному модулей :[n1,n2,...,nk].

Следствие:
Для того, чтобы числа a и b были сравнимы по модулю n, каноническое разложение на простые сомножители которого имеет вид

необходимо и достаточно, чтобы

[8].

Операции со сравнениями

Сравнения по одному и тому же модулю обладают многими свойствами обычных равенств. Например, их можно складывать, вычитать и перемножать: если числа a1, a2, …, an и b1, b2, …, bn попарно сравнимы по модулю n, то их суммы a1 + a2 + … + an и b1 + b2 + … + bn, а также произведения a1a2an и b1b2bn тоже сравнимы по модулю n. При этом нельзя выполнять эти операции со сравнениями, если их модули не совпадают[9].

Отдельно, следует отметить, что к обеим частям сравнения можно прибавить одно и то же число, также можно перенести число из одно части сравнения в другую со сменой знака. Если числа a и b сравнимы по модулю n, то их степени ak и bk тоже сравнимы по модулю n при любом натуральном k[10].

K любой из частей сравнения можно прибавить целое число, кратное модуля, то есть, если числа a и b сравнимы по модулю некоторого числа n, то и a+t1n сравнимо с b+t2n по модулю n (t1 и t2 — произвольных целые числа) .Также обе части сравнения и модуль можно умножить на одно и то же число, то есть, если числа a и b сравнимы по модулю некоторого целого числа n, то и числа aq и bq сравнимы по модулю числа nq,где qцелое.

Сравнения, однако, нельзя, вообще говоря, делить друг на друга или на другие числа. Пример: , однако, сократив на 2, мы получаем ошибочное сравнение: . Правила сокращения для сравнений следующие.

  • Можно делить обе части сравнения на число, но только взаимно простое с модулем: если
и НОД то
.

Если число c не взаимно просто с модулем, то сокращать на c нельзя. Например,

, но .
  • Можно одновременно разделить обе части сравнения и модуль на их общий делитель:

если , то [11].

Связанные определения

Классы вычетов

Множество всех чисел, сравнимых с a по модулю n, называется классом вычетов a по модулю n, и обычно обозначается или . Таким образом, сравнение равносильно равенству классов вычетов [12].

Любое число класса называется вычетом по модулю n. Пусть для определенности rостаток от деления любого из представителей выбранного класса на n, тогда любое число m из этого класса можно представить в виде m=nt+r, где tцелое. Вычет равный остатку ri называется наименьшим неотрицательным вычетом, а вычет , самый малый по абсолютной величине, называется абсолютно наименьшим вычетом.При r<n/2 =r,в противном случае =r-n.Если n-чётное и r=n/2, то =-r/2[13].

Поскольку сравнимость по модулю n является отношением эквивалентности на множестве целых чисел , то классы вычетов по модулю n представляют собой классы эквивалентности; их количество равно n. Множество всех классов вычетов по модулю n обозначается или [14].

Операции сложения и умножения на индуцируют соответствующие операции на множестве :

Относительно этих операций множество является конечным кольцом, а для простого nконечным полем.[15].

Системы вычетов

Система вычетов позволяет осуществлять арифметические операции над конечным набором чисел, не выходя за его пределы. Полная система вычетов по модулю n ― любой набор из n попарно несравнимых по модулю n целых чисел. Обычно в качестве полной системы вычетов по модулю n берутся наименьшие неотрицательные вычеты

или абсолютно наименьшие вычеты, состоящие из чисел

,

в случае нечётного , и чисел

в случае чётного .

Максимальный набор попарно несравнимых по модулю n чисел, взаимно простых с n, называется приведённой системой вычетов по модулю n. Всякая приведённая система вычетов по модулю n содержит элементов, где функция Эйлера[16].

Например, для числа n=42. Полная система вычетов может быть представлена числами: 0,1,2,3,...,21,22,23,...,39,40,41, а приведенная1,5,11,13,17,19,23,25,29,31,37,41.

Решение сравнений

Сравнения первой степени

В теории чисел, криптографии и других областях науки часто возникает задача поиска решений сравнения первой степени вида:

Решение такого сравнения начинается с вычисления НОД(a, m) = d. При этом возможны 2 случая:

  • Если b не кратно d, то у сравнения нет решений.
  • Если b кратно d, то у сравнения существует единственное решение по модулю m/d, или, что то же самое, d решений по модулю m. В этом случае в результате сокращения исходного сравнения на d получается сравнение:
где a1 = a/d, b1 = b/d и m1 = m/d являются целыми числами, причем a1 и m1 взаимно просты. Поэтому число a1 можно обратить по модулю m1, то есть найти такое число c, что (другими словами, ). Теперь решение находится умножением полученного сравнения на c:

Практическое вычисление значения c можно осуществить разными способами: с помощью теоремы Эйлера, алгоритма Евклида, теории цепных дробей (см. алгоритм) и др. В частности, теорема Эйлера позволяет записать значение c в виде:

[17].
Пример

Для сравнения имеем , поэтому по модулю 22 сравнение имеет два решения. Заменим 26 на 4, сравнимое с ним по модулю 22, и затем сократим все 3 числа на 2:

Поскольку 2 взаимно просто с модулем 11, то его можно обратить по модулю 11 и найти . Умножая сравнение на 6, получаем решение по модулю 11: , эквивалентное совокупности двух решений по модулю 22: и .

Сравнения второй степени

Сравнения второй степени по простому модулю n имеет следующий общий вид:

Это выражение можно привести к виду:

,

а при замене z=x+b упрощается максимально:

.

Решение этого сравнения сводится к выяснению, является ли данное число квадратичным вычетом (с помощью квадратичного закона взаимности) и последующему вычислению квадратного корня по данному модулю[18]. Для вычисления квадратного корня из квадратичного вычета существует вероятностный метод Берлекэмпа.

Системы сравнений

Китайская теорема об остатках утверждает, что система сравнений с попарно взаимно простыми модулями :

всегда разрешима, и её решение единственно по модулю .

Другими словами, китайская теорема об остатках утверждает, что кольцо вычетов по модулю произведения нескольких взаимно простых чисел является прямым произведением соответствующих множителям колец вычетов.

Применение

Методы теории сравнений используются в теории чисел, теории групп, теории колец, теории узлов, общей алгебре, криптографии, информатике, химии и других областях.

Например,сравнения часто применяются для вычисления контрольных сумм, используемых в идентификаторах. Так для определения ошибок при вводе международного номера банковского счета используется сравнение по модулю 97[19].

В криптографии сравнения можно встретить в системах с открытым ключом, использующих, например, алгоритм RSA или протокол Диффи — Хеллмана.Также, модульная арифметика обеспечивает конечные поля,над которыми затем строятся эллиптические кривые, и используется в различных протоколах с симметричным ключем (AES, IDEA)[20].

В химии последняя цифра в регистрационном номере CAS является значением контрольной суммы, которая вычисляется путём сложения последней цифры номера, умноженной на 1, второй справа цифры, умноженной на 2, третьей, умноженной на три и так далее до первой слева цифры, завершаясь вычислением остатка от деления на 10.

См. также

Примечания

  1. Дэвенпорт Г. Высшая арифметика. Введение в теорию чисел. — М.: Наука, 1965. — 176 с.
  2. Вельшенбах М. Криптография на Си и C++ в действии. — М.: Триумф, 2004. — 461 с.
  3. С.А.Степанов. Сравнения. — М.: «Знание», 1975. — С. 3. — 64 с.стр. 3
  4. Н.Г. Башмакова,Э. Н.Березкина,А. Н. Володарский, Б. А. Гозенфельд,А.П. Юшкевич. История математики с древнейших времен до начала XIX столетия в трех томах / под ред. А.П. Юшкевич. — М.: «Наука», 1972. — Т. 3. — С. 123. — 496 с.
  5. С. А. Степанов. Сравнения. — М.: «Знание», 1975. — С. 5. — 64 с.
  6. И. М. Виноградов. Основы теории чисел. — М.Л.: Гос. изд. технико-теоретической литературы, 1952. — С. 41. — 180 с.
  7. С. В. Сизый. §4. Теория сравнений // Лекции по теории чисел. — М.: ФИЗМАТЛИТ, 2008. — С. 88. — 192 с.
  8. Ю. Л. Сагалович. Введение в алгебраические коды. — 2-е изд. — М.: ИППИ РАН, 2010. — С. 25—29. — 320 с.
  9. Ю. Л. Сагалович. Введение в алгебраические коды. — 2-е изд. — М.: ИППИ РАН, 2010. — С. 25. — 320 с.
  10. И. М. Виноградов . Основы теории чисел. — М.Л.: Гос. изд. технико-теоретической литературы, 1952. — С. 42—45. — 180 с.
  11. Ю. Л. Сагалович. Введение в алгебраические коды. — 2-е изд. — М.: ИППИ РАН, 2010. — С. 25—29. — 320 с.
  12. А. А. Бухштаб. Глава 8. Классы // Теория чисел. — М.: «Просвещение», 1966. — С. 77—78. — 384 с.
  13. Ю. Л. Сагалович. Введение в алгебраические коды. — 2-е изд. — М.: ИППИ РАН, 2010. — С. 29. — 320 с.
  14. С. В. Сизый. §4. Теория сравнений // Лекции по теории чисел. — М.: ФИЗМАТЛИТ, 2008. — С. 87—88,91. — 192 с.
  15. С. А. Степанов. Сравнения. — М.: «Знание», 1975. — С. 7. — 64 с.
  16. Ю. Л. Сагалович. Введение в алгебраические коды. — 2-е изд. — М.: ИППИ РАН, 2010. — С. 29—32. — 320 с.
  17. С. В. Сизый. §4. Теория сравнений // Лекции по теории чисел. — М.: ФИЗМАТЛИТ, 2008. — С. 105—109. — 192 с.
  18. А. А. Бухштаб. Глава 21. Сравнения 2-й степени по простому модулю, Глава 22. Сравнения второй степени по составному модулю // Теория чисел. — М.: «Просвещение», 1966. — 384 с.
  19. Harald Niederreiter, Arne Winterhof. Applied Number Theory. — «Springer», 2015. — С. 369. — 442 с. — ISBN 978-3-319-22321-6.
  20. Венбо Мао. Современная криптография: теория и практика. / пер. с англ. Д. А. Клюшина. — М.: Издательский дом «Вильямс», 2005. — 768 с.

Литература