
- •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?
- •Перечень темпопрактическимзанятиям
- •Списоклитературы
Лекция№4 Получениепростыхчисел.
Померетогокакмыбудемизучатькурс«Математическиеосновыкриптологии»мыбудемвозвращатьсякэтойтеме.
Задачаполучениепростыхчиселвомногомзависитоттогокакставитьэтузадачу.
Методы:
1)Самыйдревнийспособполученияпростыхчисел,какмыужезнаем,-
решетоЭратосфена.
2)Формульныйметод.Спомощьюформулможнополучитьнекотороемножествочисел,нооноограниченно.Простейшие:
а)целочисленныеполиномы(вобщемслучаенерешаютзадачуполучениебесконечногомножествапростыхчисел.)
б)экспоненциальнаяфункция.(множествополучаемоенаосноведанногоспособа,какмыужеговорили,ограниченопомощности.
этотспособимеетбольшийинтересдляанализакриптошифра.
в)праймориальнаяформула.Поканеизвестноможнолипоэтойформулеполучитьбесконечноечислопростыхчисел.
3.ТЕСТИРОВАНИЕ
Заданонекотороечислоmипроверяетсяпоопределенномуалгоритму,являетсялионопростым.Такназываемоетестированиенапростоту.Этотспособиспользуетсявсовременныхкриптографическихсистемахсоткрытымключём.Беретсянекотороебольшоечисло(сотнидесятичныхзнаков)ипоотношениюкэтомучислуначинаетсятестирование.
Существует2методатестированиянапростоту:
1)строгиетесты(детерминированные).
отвечаютнавопроспростоеилисоставноеоднозначно.
2)вероятностныетесты.Спомощьюнихмыможемговоритьтолькоснекоторойвероятностью,чтоданноечислопростое. Приэтомвероятностьможетбытьскольугоднаблизкакединице.Ноэти
методыгораздобыстрее,нежелистрогие,поотношениюкбольшимчислам.Т.е.когдаинформациянестольважна(дляшифрование)мыможемрискнуть,иснекоторойвероятностью,использоватьвместопростогочисласоставное.
Метод,объединяющийвсебекаквероятностные,такидетерминированныеметодыназываетсякомбинированнымметодом.Т.е.сначаламывыясняем,снекоторойвероятностью,чточислоmпростоеипотомпоотношениюкнемуприменяемстрогийметодивитогеэтоболееоптимальночемсразуприменятькнекоторомубольшомучислустрогийтест.
Спонятием«строгиетесты»связаннотакоепонятиекак«факторизация».Факторизация–разложениезаданногочисланапростыесомножители.
В 19векепредложентестпроверкичиселМерсенанапростоту.Этобылодинизпервыхстрогихтестов.
ТаккакжеопределитьявляетсяличислоМерсенапростымилисоставным?Существуетметод,причемдостаточноэффективныйдлябольшихчисел.
РешетоЭратосфена
РешетоЭратосфена-этодревнейшийспособпоискапростыхчисел.Вотличиеотдругихметодов,оннеиспользуетспециальныхфункций.
Простыминазываютсячисла,которыемогутделитьсятольконаединицуинасебя.
Вназванииалгоритмазвучитслово"решето"потому,чтоонпозволяетизряданечетныхнатуральныхчисел"просеивать"составныечисла,апростые-"задерживать".Четныечисланеиспользуются,таккаквсеони,кроме2,составные.
Цельалгоритма-определитьвсеположительныепростыечисла,меньшиенекоторойверхнейграницып,гдеnN.Вначалевыписываютсявсенечетныецелыемежду3иn.
Далеерядпросеивается.Первоечисловнем3.Вычеркиваютсяизспискавсечисла,кратныетремибольшиетрех.Теперьвыбираетсянаименьшеечислоизсписка,превосходящее3,котороеещенебыловычеркнуто-число5.Вычеркиваетсякаждоечислоизсписка,кратноепятиибольшеепяти.Этапроцедурапродолжаетсядотехпор,поканебудутрассмотренывсечисладоп.
Привычеркиваниичисел,кратныхр,отсчетначинаетсясчислар+2,итомслучае,еслир+2быловычеркнутонапредыдущихшагахалгоритма.
Пример1.3.Дляп=41списокнечетныхчиселследующий:
3 5 7 9 11 13 15 17 19 21
23 25 27 29 31 33 35 37 39 41
Вычеркнувкаждоечисло,кратноетреминачинаяспяти,получим
3 5 7 9 11 13 15 17 19 21
23 25 27 29 31 33 35 37 39 41
Теперьвычеркиваемчисла,кратныепятииначинаяссеми,что
дает
3 5 7 9 11 13 15 17 19 21
23 25 27 29 31 33 35 37 39 41
Далее,ниодноизчисел,оставшихсявсписке,небудетвычеркнуто
наследующихэтапахпросеивания.Такимобразом,положительныенечетныепростыечисла,непревосходящие41,это
3 5 7 11 13 17 19 23 29 31 37 41.
Можно отметить следующие замечания к алгоритму "решето
Эратосфена".
1.Некоторыечиславычеркиваютсябольше,чемодинраз.
2.Хотяпроцессвычеркиванияповторяетсявплотьдограничногочисла
п,новсесоставныечиславычеркиваютсяраньшедостиженияэтойграницы.
Вмодифицированномалгоритмесделаныследующиеизменения.
1.Простейшееусовершенствование-этоначинатьпроцессвычеркиваниянесчислар+2,аснаименьшегократногорчисла,котороенеделитсянапростоечисло,меньшеер.Найдемего.
Положительныечисла,кратныер,записываютсяввидеkр,гдеk-натуральное.Еслиk<р,тоkрделитсяначисло,меньшеер,аименнонаk.Новсечисла,меньшиеp,ужебыливалгоритмерассмотреныранее.Значит,k=pипервоекратноерчисло,котороенеделитсянапростое,меньшеерчисло,естьр2.
Такимобразом,достаточновычеркиватьвсечисла,кратныер,начинаяср2.Однаковсеравнобудутоставатьсячисла,которыебудутвычеркиватьсяболееодногораза.
2.Можнозакончитьпросеиваниераньшеn-гошага.Пустьвычеркиваетсякаждоер−оечисло.Изпункта1следует,чтопервоечисло,подлежащеевычеркиванию,равнор2.Ноеслир2>п,тотакогочисланетв
списке.Тогдаприемлемымявляетсядиапазонр2≤пp[− n; n]иpN
p[1; n].
Витоге,необходимовычеркиватькаждоер-оедотехпор,покар≤]n[(есличислозаключаетсявквадратныескобки,тоданноечислоокругляетсякнаименьшемуцелому).Впримере,разобранномвыше,]41[=6.Поэтому
отбрасываниечисел,кратных3и5,былодостаточнодлявычеркиваниявсех
составныхчиселизсписка.
Таккаквычеркиваютсявсенечетныечиславдиапазоне
3,n,томожно
использоватьвекторVпризнаков"зачеркнутости"чисел.Дляхраненияпризнака"зачеркивания"одногочислатребуется1битинформации:двавозможныхзначения-1или0,невычеркнутоиливычеркнуто.ВекторVсостоитиз(n-1)/2ячеек,пооднойдлякаждогонечетногоцелогочисла2j+1.
ИнициализациявектораVзаключаетсявпроставленииединицывовсехячейках.Привычеркиваниинекоторогочислаp(числопомечаетсякаксоставное)вячейкусиндексом(p−3)/2вектораVзаписывается0(перваяячейкавектораимеетиндекс0).
Модифицированное "решето Эратосфена" имеет следующие
особенности:
1.Вмассивехранятсянечисла,алогическиефлагивычеркиваниячисел;поиндексумассиваможнооднозначнополучитьзаданноеиндексомчисло.
2.Нехранятсячетныечисла.
3.Зачеркиваютсявсекратныечисладлячиселиздиапазона
p3, n.
4.Длятекущеговыбранногочислаp,длякоторогобудутвычеркиватьсявсекратныеемучисла,процессвычеркиваниябудетначинатьсянесp+2,асp2,сшагом2p(таккакнеучитываютсячетныечисла).
Модифицированное "решето Эратосфена" имеет следующие
недостатки:
1.Ононеэффективноприпоискеоченьбольшихпростыхчисел.Такойпоискневыполним,еслиграницаслишкомвелика.
2.Дляработыалгоритматребуетсябольшойобъемкомпьютернойпамятидлябольшихчисел.
Алгоритмработы.
Представим алгоритм работы модифицированного "решета
Эратосфена".
ПустьчислоpзадаетсяввектореVподиндексом(p-3)/2,аотсчетвмассивеначинаетсяснуля(нулевойэлементVзадаетфлагпростотычисла
3).
1.Вводчислаn,докотороговключительнонадонайтипростыечисла.
2.Еслиn<2,товыход.
3.Еслиn=2,товыводпростогочисла2,выход.
4.ВычислениеразмерапамятиподвекторV:size=(n-1)/2бит(можнозадаватьмассивстатичногоразмера;тогданеобходимопроверять,чторазмерsize,требуемыйподвекторV,небольшеразмераданногомассива).
5.Выделениепамятиподвекторразмераsize,установкавкаждойячейкезначения1(флага,чтосоответствующеечислоневычеркнуто).
6.Еслипамятьнебылавыделена,тобылзапрошенслишкомбольшой
блокданных,выход.
7.Для
p3,
n(даннуюконструкциюлучшереализоватьспомощью
операторацикласпредусловием,наподобиеwhile):
7.а.Еслидляданногочислаpзначениеввекторененулевое(элементподиндексом(p−3)/2):V[(p−3)/2]≠0,то
7.а.1.Для
t
p2,n
(даннуюконструкциюлучшереализоватьс
помощьюоператорацикласпредусловием,наподобиеwhile),
7.а.1.1.Еслидлятекущегочислаtсоответствующеезначениеввекторенеравнонулю:V[(t-3)/2]≠0,тозначениевячейкезаменяемна0(вычеркиваемчислоt).
7.а.1.2.Увеличиваемчислоtна2?p.