- •1.Симметричные
- •2.Асимметричные
- •Асимметричноешифрование.
- •Алгоритмпередачисекретногоключапооткрытомуканалу
- •Лекция№2 Элементытеориичисел
- •АлгоритмЕвклида
- •Лекция№3
- •1)ПлотностьпоявленияпростыхчиселназаданноминтервалепадаетсувеличениемN.
- •Лекция№4 Получениепростыхчисел.
- •1)Самыйдревнийспособполученияпростыхчисел,какмыужезнаем,-
- •РешетоЭратосфена
- •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?
- •Перечень темпопрактическимзанятиям
- •Списоклитературы
Лекция5
Алгоритмыфакторизации
Разложениечиселна2простыхсомножителя
ПустьN-множествонатуральныхчиселивсеоперациипроизводятся
надцелымичислами.Формула
ir,k
будетопределятьрядцелыхчисел,
лежащихвдиапазонеотrдоkвключительно,значенияизкоторогоможетприниматьпеременнаяi.]k[-взятиеотдробногочислаkтолькоцелойчасти,
безокругления.
АлгоритмБухштаба
ДанныйалгоритмприведенизкнигиБухштабаА.А."Теориячисел"[4].Пустьзаданонатуральноенечетноечислоn,n≥9,котороенеобходиморазложитьна2простыхсомножителя.ЗададимрядчиселNs(s-нульинатуральноечисло),гденакаждомшагекNsприбавляютсячиславпорядке
возрастания:длявычисленияNsкNs−1прибавляетсячисло(2s-1).
ТогдаитеративновычислимэлементыNsпоформулеNs=Ns-1+2s-1:
N0=n
N1=N0+1
N2=N1+3
N3=N2+5
……
Ns=Ns-1+2s-1
……
Прибавляемые к Ns числа являются членами арифметическойпрогрессии:
-начальныйэлементравенa0=1,
-последний-as=2s-1,
-числочленов-m=s
-шагпрогрессииравен2.
Тогдасуммачиселприбавленныхкnравна(поформулесуммыарифметическойпрогрессии)Sпрогрес=(a1+as)m/2=(1+2s-1)s/2=2s2/2=s2.
ВрезультатеэлементNsравенNs=N0+Sпрогрес=n+Sпрогрес=n+s2.
Предположим,чтоизNsизвлекаетсянацелоквадратныйкорень,тоестьNs=t2,гдеt-некотороенатуральноечисло,тогдаNs=t2=n+s2n=Ns−s2=t2−s2.
Такимобразом,еслипринекоторомsбудетвозможноизвлечениенацелоквадратногокорняизNs=t2,тоисходноечислоnраскладываетсякак
n=(t2−s2)=(t−s)(t+s).
n9 2 2
Есливдиапазонедляs:1≤s≤ 6
небудетнайденоt,гдеизt
нацелоизвлекаетсяквадратныйкорень,топроцесспоискадвухсомножителейчислаnзавершается-числоnявляетсяпростымилиалгоритмнеприменимдлянего.
Описаниеалгоритма.
Навходподаетсянатуральноечислоn.
Навыходе:2сомножителячислаnилиответонеприменимостиалгоритмадлячислаn.
1.Вводчислаn.Еслиn<9,тозадачаданнымалгоритмомнерешается.Выход.
2.N=n.
n9
3.Дляs1,
6
выполнить:
3.а.N=N+2s-1.
3.б.t]N[.
3.в.Еслиt2=N,то
выводчисел(t-s)и(t+s);Выходизалгоритма.
4.Разложитьчислоnнеудалось.Выходизалгоритма.
Пример1.4.Пустьn=69.
Таблица1.4.Трассировочнаятаблица
-
Шаг,s
n9
Условие:s 6 ?
N=N+2s-1
t]N[
2
Условие:t=N?
1
да:1≤10
70
8
нет:64≠70
2
да:2≤10
73
8
нет:64≠73
3
да:3≤10
78
8
нет:64≠78
4
да:4≤10
85
9
нет:81≠85
5
да:5≤10
94
9
нет:81≠94
6
да:6≤10
105
10
нет:100≠105
7
да:7≤10
118
10
нет:100≠118
8
да:8≤10
133
11
нет:121≠133
9
да:9≤10
150
12
нет:144≠150
10
да:10≤10
169
13
да:169=169
n9
N0=n=69;максимальноечислошагов:
s 6
10.Шагиработы
алгоритмапредставимввидетрассировочнойтабл.1.4.
ИзчислаN10=169можноизвлечьквадратныйкорень:t2=13.Тогда
n=(t2−s2)=(t−s)?(t+s)=(13-10)?(13+10)=3?23.
Т.е.число69раскладываетсянадвачисла:3и23.
Пример1.5.Пустьn=23.
n9
N0=n=23;максимальноечислошагов:s≤ 6
=2.
Шагиработыалгоритмапредставимввидетрассировочнойтабл.1.5.
Таблица1.5.Трассировочнаятаблица
-
Шаг,s
n9
Условие:s ?
6
N=N+2s-1
t]N[
Условие:t2=N?
1
да:1≤2
24
4
Нет:16≠24
2
да:2≤2
27
5
Нет:25≠27
3
нет:3>2
-
-
-
Такимобразом,число23нераскладываетсяалгоритмомБухштабана2
простыхсомножителя.
