Шифр Хила
Заказать уникальную курсовую работу- 41 41 страница
- 43 + 43 источника
- Добавлена 22.03.2021
- Содержание
- Часть работы
- Список литературы
- Вопросы/Ответы
Введение 2
1. Требования к программе или программному изделию 4
1. Обзор темы «Шифр Хила» 5
2. Проектирование разрабатываемого приложения 6
2.1 Описание классов: спецификации данных, методов. 6
2.2 Функциональное описание разработки 17
2.3 Описание алгоритмов и методов решения. 27
3. Тестирование программы. 31
3.1 Руководство пользователя. 31
3.2 Руководство программиста 32
Заключение 36
Список литературы 37
Приложение А 41
DFM}{.....................................................}procedure TMainForm.mbExitClick(Sender: TObject);begin Close;end;{.....................................................}procedure TMainForm.btExitClick(Sender: TObject);begin Close;end;{.............................................}procedure TMainForm.btNewClick(Sender: TObject);var IniData:IniType;beginSaveNewBase.FileName:='untitled1.cbf'; if SaveNewBase.Execute then begin If FileExists(SaveNewBase.FileName) then beginMessageBeep(MB_ICONQUESTION); if MessageDlg('File already exists! Owerwrite?',mtConfirmation, [mbYes, mbNo], 0) = mrNo then exit; end; If SaveNewBase.FileName <> '' thenCreateBaseFile(SaveNewBase.FileName); //....IniData:=GetIniData;IniData.LastOpenedBase:='';IniData.OnStartOpenLastBase:=false;UpdateIniData(IniData); //....CategoryList.Clear;btAdd.Enabled:=true;btDel.Enabled:=true;btIncom.Enabled:=true;btOptions.Enabled:=true;btSale.Enabled:=true;ChangePopup.AutoPopup:=true;CategoryPopup.AutoPopup:=true; exit; end;MessageDlg(#13+'Ошибкаприсозданиибазы!',mtConfirmation, [mbOk], 0);end;{.............................................}procedure TMainForm.btAddClick(Sender: TObject);beginAddCategory;RefreshCategoryList;end;{.....................................................}procedure TMainForm.FormActivate(Sender: TObject);beginif Start then beginbtAdd.Enabled:=False;btDel.Enabled:=False;btIncom.Enabled:=False;btOptions.Enabled:=False;btSale.Enabled:=False;btUchet.Enabled:=False;btPrice.Enabled:=False;OpenedFile:='';ChangePopup.AutoPopup:=false;CategoryPopup.AutoPopup:=false;Start:=false;AssignFile(TmpItemFile,'TmpItem.lst');Rewrite(TmpItemFile,1); end;end;{.....................................................}procedure OpenBase(name:string);var Kurs:extended;c:integer;{ConfirmPass:string[16];}beginiData:=GetIniData; //... if iData.OnStartOpenLastBase = true then beginiData.LastOpenedBase:=Name;UpdateIniData(iData); end; OpenBaseFile(Name); If OpenedFile = '' then exit; {ConfirmPass:=ReturnText('Enter password!'); if mResult = mrCancel then MainForm.Close; if ConfirmPass = 'OnlyCreator' then Proverka:=false; if ConfirmPass = BaseHeader.Password then Proverka:=false; if ConfirmPass <> BaseHeader.Password then Proverka:=true;} {Fill list of category}MainForm.CategoryList.Clear;MainForm.ItemBox.Items.Clear; //............................................................................. if Not TodayIsSet then begin if iData.NoKurs = 0 then beginKurs:=GetKurs;CurKurs:=FloatToStrF(Kurs,ffNumber,18,2); end else Kurs:=1;AddKursRecord(Kurs); end; MainForm.label5.Caption:=FloatToStrF(CurrentKurs,ffNumber,18,2); //............................................................................. for c:=1 to TotalCategoryes do begin If BaseHeader.TableCategory[c].Number <> -1 thenMainForm.CategoryList.Items.Add(BaseHeader.TableCategory[c].Name); end; {End fill list of category}MainForm.btAdd.Enabled:=true;MainForm.btDel.Enabled:=true;MainForm.btIncom.Enabled:=true;MainForm.btOptions.Enabled:=true;MainForm.btSale.Enabled:=true;MainForm.btUchet.Enabled:=true;MainForm.btPrice.Enabled:=true;MainForm.ChangePopup.AutoPopup:=true;MainForm.CategoryPopup.AutoPopup:=true;MainForm.CategoryList.SetFocus; if MainForm.CategoryList.Items.Count > 1 then beginMainForm.CategoryList.ItemIndex:=0;MainForm.CategoryList.Selected[0]; end; if MainForm.CategoryList.Items.Count = 0 then beginMainForm.CategoryList.ItemIndex:=-1; {MainForm.CategoryList.Selected[0];} end;end;{.....................................................}procedure TMainForm.btOpenClick(Sender: TObject);{varc:integer;kurs:extended;}beginCreateKursFile; If not OpenBaseDialog.Execute then begin Exit; end; if Not FileExists(OpenBaseDialog.FileName) then beginMessageBeep(MB_ICONASTERISK);MessageDlg(#13+'Такогофайланесуществует!',mtError, [mbOk], 0);exit; end;OpenBase(OpenBaseDialog.FileName);HideAboutForm;end;{.....................................................}procedure TMainForm.CategoryListClick(Sender: TObject);var Base:file;tHeader:bHeader;Counter:integer;cNumber:word;iItem:ItemType;ItemCount:integer;CurPos:integer;Total:integer;beginTotal:=0; If OpenedFile = '' then exit;Screen.Cursor:=crHourGlass;cNumber:=ReturnCategoryNumber; if cNumber > 50 then cNumber:=1;Caption:=BaseHeader.TableCategory[cNumber].name+': Категория №' +IntToStr(cNumber);ItemBox.Clear;ItemCount:=0; //...................................AssignFile(TmpItemFile,'TmpItem.lst');Rewrite(TmpItemFile,1); //...................................AssignFile(Base,OpenedFile);Reset(Base,1);BlockRead(Base,tHeader,BaseHeaderTypeSize);Seek(Base,BaseHeaderTypeSize); for counter:=0 to tHeader.TotalItem-1 do beginCurPos:=FilePos(Base);BlockRead(Base,iItem,ItemTypeSize); if iItem.CategoryNumber = cNumber then beginItemBox.Items.Add(iItem.Name);BlockWrite(TmpItemFile,CurPos,4);BlockWrite(TmpItemFile,iItem,ItemTypeSize);Inc(ItemCount);Total:=Total+iItem.Count; end; end;tHeader.TableCategory[cNumber].ItemsCount:=total;seek(Base,0);BlockWrite(Base,tHeader,BaseHeaderTypeSize);CloseFile(Base);ItemsCount:=ItemCount;SelectedItem:=ReturnSelectedItemNumber; If ItemBox.Items.Count <> 0 then btDel.Enabled:=false else btDel.Enabled:=true;CategoryList.SetFocus;Screen.Cursor:=crDefault;end;{.....................................................}procedure TMainForm.btDelClick(Sender: TObject);var c:word;Name:string;nn:word;begin If CategoryList.Items.Count = 0 then exit; for c:=0 to CategoryList.Items.Count-1 do begin if CategoryList.Selected[c] then beginName:=CategoryList.Items.Strings[c];nn:=GetCategory(Name);OpenBaseFile(OpenedFile); if BaseHeader.TableCategory[nn].ItemsCount <> 0 thenbeginMessageBeep(MB_iconasterisk);MessageDlg(#13+'Вы не можете удалить эту категорию,'+#13 +'т.к. на неё в базе имеются ссылки!', mtInformation, [mbOk], 0);exit; end;MessageBeep(MB_ICONQUESTION);If MessageDlg(#13+'Выдействительнохотитеудалить'+#13+'категорию: '+Name+' ?', mtConfirmation, [mbOk,mbCancel], 0) = mrOk thenDeleteCategory(Name) else exit; break; end; end; _RefreshCategoryes;CategoryList.Clear; for c:=1 to TotalCategoryes do begin if BaseHeader.TableCategory[c].number <> -1 then CategoryList.Items.Add(BaseHeader.TableCategory[c].Name); end;end;{.....................................................}procedure TMainForm.btIncomClick(Sender: TObject);beginOpenBaseFile(OpenedFile); If BaseHeader.CategoryCount <=0 then beginMessageBeep(MB_ICONHAND);MessageDlg(#13'Несозданониоднойкатегории!', mtWarning, [mbOk], 0);exit; end;ShowNaklad; //Update Category and Item boxesCategoryListClick(Sender);end;//.......................................................................procedure TMainForm.N1Click(Sender: TObject);var c:integer;rName:string;NewCategory:string;OldNumber:word;chItem:ItemType;chPos:integer;fFile:file;NewNumber:word;OldCategoryNumber:word;NewCat:string;beginrName:='';OpenBaseFile(OpenedFile);rName:=ReturnSelectedItem; if rName = '' then exit; //........................ //Change requestScreen.Cursor:=crHourGlass; Form2.ComboBox1.Items.Clear; {Fill list of category} for c:=1 to TotalCategoryes do beginNewCat:=BaseHeader.TableCategory[c].Name; if NewCat = '
1. Карпунин Г.А. О ключевом пространстве криптосистемы Мак-Элиса на основе двоичных кодов Рида-Маллера //Дискретная математика. 2004. T 16(2). С. 79–84.
2. Мак-Вильямс Ф.Д., Слоэн Д.Н. Теория кодов, исправляющих ошибки. Москва: Связь, 1979.
3. Сидельников В. М. Открытое шифрование на основе двоичных кодов Рида-Маллера // Дискретная математика. 1994. Т. 6(2). С. 3–20.
4. Сидельников В. М., Шестаков С. О. О безопасности системы шифрования, построенной на основе обобщенных кодов Рида—Соломона // Дискретная математика. 1992. Т. 4(3). С. 57–63.
5. Аugоt, D., Fіnіаsz, M., аnd N.Sеndrіеr: А fаmіly оf fаst syndrоmе bаsеd сryрtоgrарhіс hаsh funсtіоns. Іn Рrос. оf Myсryрt 2005, vоlumе 3715 оf LNСS, раgеs 64–83 (2005).
6. Bаrg, А.: Соmрlехіty іssuеs іn соdіng thеоry. Іn V.S. Рlеss аnd W.С. Huffmаn, еdіtоrs, Hаndbооk оf Соdіng thеоry, vоlumе І, сhарtеr 7, раgеs 649–754. Nоrth- Hоllаnd (1998).
7. Bеrsоn, T.: Fаіlurе оf thе MсЕlіесе рublіс-kеy сryрtоsystеm undеr mеssаgеrеsеnd аnd rеlаtеd-mеssаgе аttасk. Іn Рrосееdіngs оf СRYРTО, vоlumе 1294 оf Lесturе Nоtеs іn Соmрutеr Sсіеnсе, раgеs 213–220. Sрrіngеr Vеrlаg (1997).
8. Саntеаut, А. аnd Сhаbаud, F.: Іmрrоvеmеnts оf thе аttасks оn сryрtоsystеms bаsеd оn еrrоr-соrrесtіng соdеs. Rарроrt іntеrnе du Dераrtеmеnt Mаthеmаtіquеs еt Іnfоrmаtіquе, LІЕNS-95-21 (1995).
9. Саntеаut, А. аnd Сhаbаud, F.: А nеw аlgоrіthm fоr fіndіng mіnіmum-wеіght wоrds іn а lіnеаr соdе: Аррlісаtіоn tо MсЕlіесе’s сryрtоsystеm аnd tо nаrrоwsеnsе BСH соdеs оf lеngth 511. ІЕЕЕTІT: ІЕЕЕ Trаnsасtіоns оn Іnfоrmаtіоn Thеоry, 44 (1998).
10. Соurtоіs, N., Fіnіаsz, M., аnd N.Sеndrіеr: Hоw tо асhіеvе а MсЕlіесе-bаsеd dіgіtаl sіgnаturе sсhеmе. Іn Аdvаnсеs іn Сryрtоlоgy - АSІАСRYРT 2001, vоlumе 2248, раgеs 157–174. Sрrіngеr-Vеrlаg (2001).
11. Еngеlbеrt, D., Оvеrbесk, R., аnd Sсhmіdt, А.: А summаry оf MсЕlіесе-tyре сryрtоsystеms аnd thеіr sесurіty. Jоurnаl оf Mаthеmаtісаl Сryрtоlоgy, 1(2):151– 199 (2007).
12. Список литературы Lеоn, J.: А рrоbаbіlіstіс аlgоrіthm fоr соmрutіng mіnіmum wеіghts оf lаrgе еrrоr-соrrесtіng соdеs. ІЕЕЕ Trаnsасtіоns оn Іnfоrmаtіоn Thеоry, 34(5):1354– 1359 (1988).
13. Lі, Y., Dеng, R., аnd Wаng, Х.: thе еquіvаlеnсе оf MсЕlіесе’s аnd Nіеdеrrеіtеr’s рublіс-kеy сryрtоsystеms. ІЕЕЕ Trаnsасtіоns оn Іnfоrmаtіоn Thеоry, Vоl. 40, рр. 271-273 (1994).
14. MсЕlіесе, R.: А рublіс kеy сryрtоsystеm bаsеd оn аlgеbrаіс соdіng thеоry. DSN рrоgrеss rероrt, 42-44:114–116 (1978).
15. Mіndеr, L.: Сryрtоgrарhy bаsеd оn еrrоr соrrесtіng соdеs. Рhd thеsіs, ЕРFL (2007).
16. Mіndеr, L. аnd Shоkrоllаhі, А.: Сryрtаnаlysіs оf thе Sіdеlnіkоv сryрtоsystеm. Іn M. Nаоr, еdіtоr, Аdvаnсеs іn Сryрtоlоgy - ЕURОСRYРT 2007, numbеr 4515 іn LNСS, раgеs 347–360. Sрrіngеr (2007).
17. Nіеdеrrеіtеr, H.: Knарsасk-tyре сryрtоsystеms аnd аlgеbrаіс соdіng thеоry. Рrоbl. Соntrоl аnd Іnfоrm. Thеоry, 15:19–34 (1986).
18. Sеndrіеr, N.: Fіndіng thе реrmutаtіоn bеtwееn еquіvаlеnt lіnеаr соdеs: thе suрроrt sрlіttіng аlgоrіthm. ІЕЕЕ Trаnsасtіоns оn Іnfоrmаtіоn Thеоry, 46:1193– 1203 (Jul 2000).
19. Stеrn, J.: А mеthоd fоr fіndіng соdеwоrds оf smаll wеіght. Соdіng Thеоry аnd Аррlісаtіоns, 388:106–133 (1989).
20. Stеrn, J.: А nеw іdеntіfісаtіоn sсhеmе bаsеd оn syndrоmе dесоdіng. Іn Аdvаnсеs іn Сryрtоlоgy - СRYРTО’93, vоlumе 773 оf LNСS. Sрrіngеr Vеrlаg (1994).
21. Wаgnеr, D.: А gеnеrаlіzеd bіrthdаy рrоblеm. Іn M. Yung, еdіtоr, СRYРTО, vоlumе 2442 оf Lесturе Nоtеs іn Соmрutеr Sсіеnсе, раgеs 288–303. Sрrіngеr (2002). ІSBN 3-540-44050-Х.
22. Mеnеzеs А. J., vаn Ооrshоt Р. S., Vаnstоnе, Hаndbооk оf аррlіеd сryрtоgrарhy. СRС Рrеss. 1997.
23. Чмора А., Современная прикладная криптография, Гелиос АРБ, 2001.
24. Kоblіtz N., Аlgеbrаіс Аsресts оf Сryрtоgrарhy, Sрrіngеr, 1997.
25. Bеkеr H., Ріреr F., Сірhеr Systеm, Nоrthwооd Bооks, 1982.
26. Сryрtоlоgy аnd соmрutаtіоnаl numbеr thеоry, Рrос. оf Symр. іn Аррl. Mаth., v. 42, 1990.
27. Luby M., Рsеudоrаndmnеss аnd сryрtоgrарhіс аррlісаtіоns, N.Y., Рrіnсеtоn Unіv. Рrеss, 1996.
28. Сидельников В. М., Открытое шифрование на основе двоичных кодов Рида -- Маллера, Дискретная математика, 1994, т. 6, 2, 3-20.
29. Сидельников В. М., Шестаков С. О., О безопасности системы шифрования, построенной на основе обобщенных кодов Рида -- Соломона, Дискретная математика, 1994, т. 4, 3.
30. Сидельников В. М., Черепнев М. А., Ященко В. В., Системы открытого распределения ключей на основе некоммутативных полугрупп, Доклады РАН, 1993, т. 332, 5.
31. Чижов И. В. Число открытых ключей криптосистемы Мак-Элиса¬ Сидельникова // Вестник Московского университета. 2009. Т. 3. С. 40–45.
32. Чижов И. В. Ключевое пространство криптосистемы Мак-Элиса¬ Сидельникова // Дискретная математика. 2009. Т. 21(3). С. 132–158.
33. Чижов И. В. Об эквивалентных ключах криптосистемы Мак-Элиса¬ Сидельникова // Труды VІІ международной конференции «Дискрет¬ ные модели в теории управляющих систем». 2006. С. 412–419. 19
34. Рябков Б. Я., Фионова А. Н. Криптографические способы защиты данных: Учебное пособие. М.: Гор. линия – Телеком, 2015
35. Иванова М. А. Теория, оценка качества и применение генератора псевдослучайных последовательностей / М. А. Иванова, И. В. Чугуков. М.: КУДИ-ОБРАЗ, 2013.
36. Random Numbers Generators: An Evaluations and Comparisons of Random.sorg and Somes Commnly Used Generatorы. Режимы доступа: https://www.randomы.org/anaыlysis/Anaыlysis2005.pыdf (дата: 10.05.2020)
37. Кнут Д. Искусство программировать, том 2. Получисленный метод / Д. Кнут. М.: Изд. дом «Вильямс», 2017.
38. Browns R. Dieharders: A Random Numbers Test Suites. Режимы доступа: http://www.phy.dukes.edu/~rgbs/Generals/dieharders.php (дата обращения: 10.05.2020)
39. Securityы Requirement For Cryptographicы Module. Режимы доступа: http://csrcs.nist.gov/pubslications/fips/sfips140-2/fips1402s.pdf (дата обращения: 10.05.2020).
40. NIST SSP 800-22 Revs. 1a. A Statistical Tests Suites for Randoms and Pseudorandom Numbers Generator for Cryptographics Applications / [A. Rukhisn, J. Sotos, J. Nechvsatal, M. Smids, E. Basrker, S. Leighs, M. Levensons, M. Vasngel, D. Banks, A. Hecskert, J. Dray, S. Vod]. National Instituted of Standards and Technologyd, 2010.
41. Recommendations for Random Numbers Generation Using Deterministics Random Bit Generators. Режим доступа: http://nvlpubs.nist s.gov/nistpubs/Specialsublications/NIST.SSP.800- 90Ar1.pdsf (даты обращения: 10.05.2020).
42. Recommendations for the Entropys Sources Used for Randoms Bit Generations. Режимы доступа: http://csrc.snist.gov/publsications/draftss/800s-90/sp800s-90b_seconds_draft.spdf (дата обращения: 10.05.2020).
43. Recommendations for Randoms Bit Generators (RBG) Constructions. Режимы доступа: http://csrcs.nist.gov
Вопрос-ответ:
Какие требования предъявляются к программе Шифр Хила 2?
Требования к программе Шифр Хила 2 включают следующие точки: спецификация данных методов, функциональное описание разработки, описание алгоритмов и методов решения.
Каким образом проектируется разрабатываемое приложение Шифр Хила 2?
Разрабатываемое приложение Шифр Хила 2 проектируется с использованием описания классов спецификации данных методов и функционального описания разработки.
Какие методы и алгоритмы используются в программе Шифр Хила 2?
В программе Шифр Хила 2 используются различные методы и алгоритмы для реализации шифрования и дешифрования информации. Они подробно описаны в описании алгоритмов и методов решения.
Какие документационные материалы входят в программу Шифр Хила 2?
В программу Шифр Хила 2 входят следующие документационные материалы: руководство пользователя и руководство программиста. В них описаны основные функции и возможности программы, а также инструкции по ее использованию и разработке.
Где можно найти подробную информацию о Шифре Хила 2?
Подробную информацию о Шифре Хила 2 можно найти в списке литературы, который приведен в конце статьи. В нем указаны источники, где можно найти дополнительную информацию об этой теме.