- •1.Симметричные
- •2.Асимметричные
- •Асимметричноешифрование.
- •Алгоритмпередачисекретногоключапооткрытомуканалу
- •Лекция№2 Элементытеориичисел
- •АлгоритмЕвклида
- •Лекция№3
- •1)ПлотностьпоявленияпростыхчиселназаданноминтервалепадаетсувеличениемN.
- •1)Самыйдревнийспособполученияпростыхчисел,какмыужезнаем,-
- •РешетоЭратосфена
- •Лекция№4 Получениепростыхчисел.
- •7.Б.Увеличитьсчетчикpна2.Перейтикпункту7.
- •ПроверкапростотычиселМерсенна
- •ТестЛюка-Лемера
- •Лекция5
- •Разложениечиселна2простыхсомножителя
- •АлгоритмБухштаба
- •АлгоритмФерма
- •Лекция№6 Числовыефункции
- •ФункцияЭйлера
- •Мультипликативнаяфункция
- •ФункцияМебиуса
- •0,Еслиdделитсянаквадратнекоторогоростогочисла.
- •1)Находимвседелителиdi|m
- •Числоваяфункция
- •2.ВозведениенатуральныхчиселпомодулювбольшиестепенипосхемеГорнера
- •Лекция8 Сравнимостьпомодулю.Модулярнаяарифметика
- •Свойстваоперацийсравнения
- •Лекция9 Модулярнаяарифметика(продолжение)КвадратичныевычетыСтепенныевычеты
- •Лекция10 Общаяалгебра
- •1)Замкнутость;
- •1)Замкнутость:длялюбыхαиβизSэлементпринадлежитS,где(*)-
- •Лекция11 Конечныеполя
- •Характеристикаполя
- •Вычислениеобратныхэлементов
- •11.Какиематематическиеоперациииспользуютсявалгоритмах? лекция12 Многочленынадконечнымполем
- •ПримитивныеполиномынадполемGf(p)
- •Алrебраическиеструктурынадмножествоммногочленов КольцомногочленовнадполемGf(p)
- •Корнимногочлена
- •Лекция13 Расширениеполей
- •Лекция14 Дополнительныйматериализраздела Теориячисел
- •1.Уравнениясравнений
- •1)Имеется1решение
- •2)Неимеетсярешений
- •2.Китайскаятеоремаобостатках
- •3.Тестированиечиселнапростоту Псевдопростыечисла
- •ТестЛюка
- •4.ЧислаКармайкла
- •5.ПолучениепростыхчиселдляалгоритмаRsa Процедураполученияустойчивыхпростыхчисел
- •Лекция15
- •1.Генераторыпсевдослучайныхпоследовательностей
- •2.ГпсПнаосновепроизведениямногочленов
- •Произведениямногочленов
- •Лекцич16 СпособыпредставленияэлементовполяGf(2n)
- •АрифметическиеоперациинадэлементамиполяGf(2n), заданнымивстандартномбазисе
- •Классическаясхемаумножения
- •МатематическаямодельалгоритмаRijndael
- •РаундпреобразованияалгоритмаRijndael
- •4.КакиешагисодержитраундшифрованияалгоритмаRijndael?
- •Перечень темпопрактическимзанятиям
- •Списоклитературы
АлгоритмФерма
Алгоритм Ферма похож на алгоритм Бухштаба и являетсяэффективным,еслиураскладываемогочислаnестьделитель(который
можетинебытьпростымчислом),незначительнопревосходящий n.
Пустьчислоnявляетсянечетным.Алгоритмзаключаетсявтом,чтобыпредставитьчислоnввиде
n=x2−y2=(x−y)(x+y),
гдеx,y-неотрицательныецелыечисла.Есличислаxиyнайдены,то
(x−y)и(x+y)являютсяпростымиделителямичислаn.
Есличислоy=0,тоделителемчислаnявляется n.
Еслиизвестноyиy>0,можновычислитьчислоxкакx
ny2;
полученноеxбудетбольше n.
Описаниеалгоритма.
Навходподаетсянечетноенатуральноечислоn.
Навыходеожидается:2сомножителячислаnилисообщениеоневозможностиразложитьчислоnспомощьюалгоритма.
1.Пустьx=] n[,где]…[-операциявзятияцелойчастиотаргумента.Еслиn=x2,тоxявляетсяделителемчислаn;выход.
2.Выполнитьx=x+1.
3.Есливыполняетсяравенство
раскладываетсянамножители,выход.
x(n1),точислоn-простоеине
2
4.Вычислитьy
x2n.
5.Если]y2[=(x2-n),тоnраскладываетсянамножители(x−y)и
(x+y),выход.
6.Иначеперейтикшагу2.
Покажемистинностьшага3алгоритмаФерма.Предположим,чточислоnможнопредставитьввидепроизведенияn=ab,гдеa≤b.Алгоритм
ищет такие целые числа x и y, которые удовлетворяют равенству
n=ab=(x2−y2)=
=(x−y)(x+y).
Таккакa=(x-y),b=(x+y)иa≤b,то(x-y)≤(x+y).Выразимнеизвестные
xиyизсистемы
axy
bxy
x(ba)/2
=>
y(ba)/2
.Действительно,подставляя
значенияxиyввыражение(x2-y2),получим
0.25(ba)20.25(ba)20.25(b22aba2b22aba2)ab,чторавно
n.
Есличислоn-нечетное(таккакпредположительноn-простое),тоего
2сомножителяaиbтакжеявляютсянечетнымичислами.Таккаксуммаиразностьдвухнечетныхчиселявляютсячетными,точисла(a+b)и(a−b)-четные.
Если n является простым числом, то единственными егосомножителямиявляютсячислаa=1иb=n.Тогдаx=(a+b)/2=(n+1)/2и
y=(n−1)/2.
Таккак(x2-y2)=n,тоy2=x2-nили y
x2n.Покажем,чтопри
указанных условиях нацело извлекается квадратный корень, если
x=(n+1)/2:
y x2n
0.25(n1)2n0.5
n22n14n
0.5
n22n10.5
(n1)2
0.5(n1).
Пример1.6.Разложимчислоn=1472861намножители.
Присвоим x=] n[=1213. При этом x2<n, тоесть
12132=1471369<1472861.Увеличимxнаединицу.Данныйпроцессбудет
продолжендотехпор,покачисло y
x2n
нестанетцелымилине
выполнитсяравенство
x(n1).Выражение
2
(n1)
2
равно736431.
Шагиработыалгоритмапредставимввидетрассировочнойтабл.1.6.
Таблица1.6.Трассировочнаятаблица
-
№шага
x
x(n1)
2
y x2n
yZ?
1
1214
нет
9351/2≈30.57
нет
2
1215
нет
58
да
Навторомшагебылополученоцелоечислоy.Искомымичисламиxиy
являются 1215 и 58. Тогда множителями числа n являются числа
(x−y)=1157и(x+y)=1273.
Дополнительныепримерыдлярешения(решитьобоимиспособами):
1.Разложитечислоn=391на2сомножителя.(n1=17иn2=23).
3.Разложитечислоn=111на2сомножителя.(n1=3иn2=37).
4.Разложитечислоn=115на2сомножителя.(n1=5иn2=23).
5.Рассмотритепримеры1.4-1.6спомощьюалгоритмаФерма.Вопросыдлясамопроверки.
1.ВчемзаключаетсяидеяалгоритмаБухштаба?
2.ВчемзаключаетсяидеяалгоритмаФерма?
3.Какиеобщиеарифметическиеоперацииприсутствуютвобоихалгоритмах?
4.Поясните,длячегоиспользуетсяарифметическаяпрогрессиявалгоритме
Бухштаба?
5.Почему,привыполненииравенствапростое?
x(n1)/2,принимается,чточислоn-
6.Длякакихчиселприменимыалгоритмы?
7.Вкакихдиапазонахищутсярезультатыразложения?
