RSA сандық қолтаңба алгоритмі


----------------------------------- ----------------------------------- ----------
Әбілқас Сағынов атындағы Қарағанды техникалық университеті
----------------------------------- ----------------------------------- ----------
Коммерциялық емес акционерлік қоғам
----------------------------------- ----------------------------------- ----------
----------------------------------- ----------------------------------- ----------
----------------------------------- ----------------------------------- ----------
Кафедра АТҚ
----------------------------------- ----------------------------------- ----------
----------------------------------- ----------------------------------- ----------
----------------------------------- ----------------------------------- ----------
----------------------------------- ----------------------------------- ----------
----------------------------------- ----------------------------------- ----------
----------------------------------- ----------------------------------- ----------
Курстық жоба
----------------------------------- ----------------------------------- ----------
----------------------------------- ----------------------------------- ----------
Криптография
----------------------------------- ----------------------------------- ----------
( пәннің атауы)
----------------------------------- ----------------------------------- ----------
Тақырып: Хэш-функцияны құру алгоритмдерін салыстырмалы талдау
----------------------------------- ----------------------------------- ----------
----------------------------------- ----------------------------------- ----------
----------------------------------- ----------------------------------- ----------
----------------------------------- ----------------------------------- ----------
----------------------------------- ----------------------------------- ----------
----------------------------------- ----------------------------------- ----------
Қабылдады:
----------------------------------- ----------------------------------- ----------
Тайлақ Б.Е.
----------------------------------- ----------------------------------- ----------
(баға) (оқытушының аты-жөні)
----------------------------------- ----------------------------------- ----------
----------------------------------- ----------------------------------- ----------
(қолы) (уақыты)
----------------------------------- ----------------------------------- ----------
----------------------------------- ----------------------------------- ----------
Комиссия мүшелері: Орындаған:
----------------------------------- ----------------------------------- ----------
Жолдасіл Қ.А.
----------------------------------- ----------------------------------- ----------
(қолы, аты-жөні) (студенттің аты-жөні)
----------------------------------- ----------------------------------- ----------
СИБ 21-2
----------------------------------- ----------------------------------- ----------
(қолы, аты-жөні) (группа)
----------------------------------- ----------------------------------- ----------
----------------------------------- ----------------------------------- ----------
(қолы, аты-жөні)
----------------------------------- ----------------------------------- ----------
----------------------------------- ----------------------------------- ----------
----------------------------------- ----------------------------------- ----------
----------------------------------- ----------------------------------- ----------
----------------------------------- ----------------------------------- ----------
----------------------------------- ----------------------------------- ----------
----------------------------------- ----------------------------------- ----------
----------------------------------- ----------------------------------- ----------
----------------------------------- ----------------------------------- ----------
Қарағанды 2024
Әбілқас Сағынов атындағы Қарағанды техникалық университеті Коммерциялық емес акционерлік қоғам
Факультет ИТ БЕКІТЕМІН
Кафедра АТҚ Кафедра меңг.
(қолы)
20 ж.
КУРСТЫҚ ЖОБАҒА ТАПСЫРМА
Криптография пәні бойынша
СИБ-21-2 тобының студенті Жолдасілов Қуаныш Асхатұлы
Тақырып: Хэш-функцияны құру алгоритмдерін салыстырмалы талдау.
Бастапқы мәліметтер: Криптография, бағдарлама құру оратасы Visual Studio
2017, С# бағдарламалау тілі
Тапсырма берілді 2024 ж.
Жетекші Тайлақ Б.Е. қолы
Студент Жолдасілов Қ.А. қолы
Мазмұны
Кіріспе
4
1
Электронды цифрлы қолтаңба
5
1.1
Электронды цифрлы қолтаңбаның даму тарихы
5
1.2
Электронды цифрлық қолтаңбаның негізгі ұғымдары
5
1.3
Электронды цифрлы қолтаңбаға қолданушылардың қоятын талаптары мен пайдаланудың артықшылықтары
6
1.4.
Электронды цифрлы қолтаңба түрлері
7
1.5
Электронды цифрлы қолтаңба алгоритмдері
9
2
Хеш-функциясы
11
2.1
Хештеу туралы қысқаша тарихы
11
2.2
Хештеу туралы негізгі түсінік
13
2.3
Хеш функцияның төзімділігі және қауіпсіздігі
15
2.4
2.5
2.6
2.7
2.8
3
3.1
3.2
Хеш функцияға бағытталған шабуылдар
MD5-хабарлама алгоритмі
SHA-1 алгортмі
SHA-256 алгоритмі
SHA-3 алгоритмі
Бағдарламаны жүзеге асыру
Қолданушыға нұсқаулық
Тестілеу нәтижелері
Қорытынды
Қолданылған әдебитеттер тізімі
Қосымша А
18
22
24
28
31
35
35
36
37
38
39
Кіріспе
ХХІ ғасырды ақпараттандыру ғасыры деп айтуға болады. Ақпараттық индустрия бугінгі танда алдыңғы қатарлы салалардың бірі. Кеңінен таралған компьютерлер-цифрлық мәліметтерді өндеу құрылғысы болып табылады.
Цифрлық технологияларды қолдану аясын кеңейту қазіргі әлемде жаңа құралдардың пайда болуына жол ашты. Электронды үкімет порталына қандайда бір қызметті алғың келсе, сен ол қызметті алуға құқылы екеніңді дәлелдеуің керек.
ЭЦҚ-ны сәйкестіндіру және құжаттардың заңдық маңыздылығын растау құралы ретінде қолдану өмірімізде қалыпты жағдайға айналды.
Электронды цифрлық қолтаңба - электронды құжаттың дұрыстығын, оның тиесілігін әрі мазмүнының өзгермейтіндігін растайтын электронлық цифрлық символдар жиынтығы.
Бүгінгі таңда электрондық құжаттарды қолдану көптеген қызмет салаларында кеңінен қолданылады. Қазақстан Республикасының заңнамасы мен құқық қолдану практикасын дамытудың маңызды бағыттарының бірі қазіргі уақытта электрондық құжат айналымы саласындағы қатынастарды құқықтық реттеу және электрондық құжаттарға заңды күш беру болып табылады. "Электрондық құжат және электрондық цифрлық қолтаңба туралы" заңның қабылдануы электрондық цифрлық қолтаңбаны өз қолыңызбен аналог ретінде пайдалануды заңдастырды.
Электронды цифрлы қолтаңба
Электронды цифрлы қолтаңбаның даму тарихы
1976 жылы Диффи мен Хеллман алғаш рет "электронды цифрлы қолтаңба" ұғымын ұсынды. Бірақ олар тек ЭЦҚ схемалары болуы мүмкін деп болжады.
1977 жылы Рональд Ривест, Ади Шамир және Леонард Адлеман RSA криптографиялық алгоритмін жасап, оны қарапайым цифрлық қолтаңбаларды жасау үшін қосымша өзгертулерсіз қолдануға болады.
RSA-дан кейін көп ұзамай Рабин, Меркле цифрлық қолтаңба алгоритмдері сияқты басқа ЭЦҚ жасалды
1984 жылы Голдвассер, Микали және Ривест ЭЦҚ алгоритмдеріне қойылатын қауіпсіздік талаптарын тұжырымдап, ЭЦҚ-ға жасалған шабуылдарды сипаттады.
1994 жылы АҚШ және Ресей ЭЦҚ-ға (DSS-Digital Signature Standard, ГОСТ Р 34.10-94) қабылданған стандарттарда арнайы жасалған алгоритмдер қолданылды. Бұл алгоритмдер Эль-Гамаль және Шнорр дербес алгоритмдеріне негізделген.
Ұлттық куәландырушы орталығы Қазақстанда ЭЦҚ-ны 2008 жылдан бастап бере бастады.
2012 жылғы шілденің 1-нен бастап Қазақстан тұрғындарының жеке куәліктерге ЭЦҚ құралдарын жазу мүмкіндігі пайда болды. Әрбір азаматтың басты құжатына ЭЦҚ-ны орналастырудың басымдылығы қауіпсіз сақтау болып табылады, кілттің жасырын бөлігін көшіру мүмкіндігіне жол берілмейді.
1.2. Электронды цифрлы қолтаңбаның негізгі ұғымдары
Электрондық цифрлық қолтаңба сертификаты сертификат иесіне ЭЦҚ ашық кілтінің (тексеру кілтінің) тиесілі екенін растайтын құжат. ЭЦҚ сертификатын ҰКО шығарады, ол электрондық цифрлық қолтаңба сертификаттарын берумен және қызмет көрсетумен айналысады. Тексеру кілті сертификаты немесе ашық кілт термині бұл құжатта электрондық цифрлық қолтаңбаның жабық кілтінің иесі туралы деректер, сондай-ақ қол қойған куәландырушы орталық жөніндегі деректер бар екендігін білдіреді. Сертификат берген куәландырушы орталық ондағы деректердің дұрыстығы үшін жауап береді.
ЭЦҚ сертификатының иесі куәландырушы орталықта өз атына ЭЦҚ сертификаты берілген жеке тұлға. Әрбір сертификат иесінің қолында жабық және ашық екі ЭЦҚ кілті бар.
Электрондық цифрлық қолтаңбаның жабық кілті (ЭЦҚ кілті RSA файлы...) электрондық цифрлық қолтаңбаны жасауға әрі электрондық құжатқа қол қоюға мүмкіндік береді. Сертификат иесі жабық кілтті құпия сақтауға міндетті.
Электрондық цифрлық қолтаңбаның ашық кілті (ЭЦҚ тексеру кілкі AUTH файлы) ЭЦҚ-ның жабық кілтімен байланысты әрі ЭЦҚ-ның түпнұсқалығын тексеруге арналған.
Егер ЭЦҚ-ны қолданғың келсе, алдымен ашық кілтті қолдана отырып, өзіңді аутентификациялауың керек, ал қолтаңба жабық кілттің көмегімен қойылады.
1.3. Электронды цифрлы қолтаңбаға қолданушылардың қоятын талаптары
Қолданушыларды әртүрлі сызбалардың математикалық модельдері қызықтырмайды, ал ЭЦҚ функцияларын орындайтын бағдарламалық немесе аппараттық кешендерде болатын қасиеттер қызықтырады, яғни: цифрлік қолтаңбаның криптомықтылығы қолтаңба қойған адамның құпиялы кілтіне рұқсаты жоқ кез келген тұлғаның қолтаңбаны жасауына жол бермеу керек; қиындық бөгде адаммен ұсталған қолтаңба қойылған кұжаттардың санына байланысты болмауы керек; сақтаулы тұрған құпиялы қолтаңба түпнұсқасына санкцияланбаған пайдаланудан қорғауы керек; хэш-функцияны және бағдарламалық кешенді санкцияланбаған пайдаланудан қорғау жүйесін дұрыс таңдау. ЭЦҚ-ға шабуылды келесі классификацияға бөлуге болады: түрлері бойынша: қарапайым (өзгерту, қайталау) және күрделі (хабарламаны сәйкестендіру, тексерушінің ашық каталогына шабуыл жасау); зияндары бойынша (қолданушының бір хабарламасына немесе барлық хабарламаларына, желінің барлық қолданушыларының барлық хабарламасына); қарсыластың мүмкіншіліктері бойынша (байланыс арнасына, қолданушы компьютеріне немесе қолтаңба жүйесін жасауға мүмкіншілік алу); қарсыласқа қажетті ресурстар бойынша (уақыт, ЭЕМ). Теориялық жағынан алдын алу қиын болатын өмірлік шабуылдың үш түрін қарастырайық. Маңдайлық шабуыл. Мұны ең көп қолданылатын шабуыл деп атауға болады, бұдан негізінен бәрі қорғанады. Бұл кезде қарсыласқа қолтаңба қою және хэш-функцияны есептеу алгоритмі белгілі, сонымен қатар қуатты есептеу ресурстары да бар деп есептелінеді.
Сіздің хатшыңыздың қатысуымен өтетін шабуыл. Сіздің қарсыластарыңыздың мүддесінде жұмыс істейтін хатшы, сізге қолтаңба қоюға құжаттарды дайындайды деп есептейік. Сіз хатшыға тағы да бір керек құжатты жасауға нұсқау бердіңіз дейік. Ол құжатты сіздің қарсыластарыңызға апарып береді, олар кұжатты өзгерткен кезде бір жағынан ол өзінің мағынасын сақтап қалатындай етіп, ал мәні сіздің екінші жағынан оның хэш-функциясының қарсыластарыңыздың жасаған құжаттың хэш- функциясының мәнімен сәйкес келетіндей етеді. Әрі қарай сіз өзгертілген құжатқа қолтаңба қоясыз, ал сіздің қарсыластарыңыз ол құжаттағы қолтаңбаны кесіп алады да, басқа құжатқа тіркейді, егер енді жаңа құжаттың хэш- функциясы мәні ескі құжаттың хэш-функциясы мәнімен сәйкес келсе, онда қолтаңбаны дұрыс деп мойындайды. Бұл тәрізді қиындықтарды шешудің өзіндік таза алгоритмдік әдіс бар, оны ағылшын әдебиеттерінде ортада кездесу әдісі деп атайды. Бұл әдістің мағынасы, хэш- функцияның бір мәніне екі құжатты сәйкестендіруге болады, біріншісі сіз қолтаңба қоятын, екіншісі сіздің қолтаңбаны тіркеу.
Хэш-функциясының мәні бірдей болатын екі құжаттың болу жағдайын ағылшын тілінде коллизий деп атау қабылданған.
Тексерушіге шабуыл Орталығы жоқ желіде, әрбір қолданушы хабарлама алатын адамдардың, ашық кілттері каталогін өз компьютерінде сақтайды. Бұл жағдай орталығы бар желіде де болуы мүмкін, егер әрбір қолтаңба қойылған құжат сертификатпен жөнетілсе, яғни орталық қолтаңба қойған тағы да бір хабарламамен, оның ішінде жіберушінің аты мен ашық кілті жазылған. Мұндай жағдайда тексеруші жаққа шабуыл жасауға болады. Тексерушінің компьютерін қолдануға (уақытша болса да)рұқсаты бар қарсылас, каталогтағы сәйкес жазбаларды жәй ғана өзгертуі мүмкін, өзінің тегінің орнына сіздің тегіңізді жазып қояды. Егер ол өзі қолтаңба қойған хабарламаны жіберсе, онда өзгертілген қаталогі бар компьютерде тексеру бағдарламасы, ол хабарламаға сіз қолтаңба қойғандығыңызды көрсетеді. Сипатталған ашық кілттер каталогына шабуыл, ондағы ақпарат шифрланған болса да, кейде мүмкін болады. Алайда қарсыласқа сипатталған шабуылды орындау үшін шифрді ашу міндетті емес! Қарсылас басқа деректерді өзгертпей, өзінің және сіздің шифрланған ашық кілттер жазбаларын өзара ауыстыруы мүмкін.
Электрондық цифрлық қолтаңбаны пайдалану: мәмілені ресімдеуге және құжат алмасуға кететін уақытты едәуір қысқартуға; құжаттарды дайындау, жеткізу, есепке алу мен сақтау рәсімін (процедураны) жетілдіруге және арзандатуға; құжаттаманың шынайылығына кепілдік беруге; ақпарат алмасудың құпиялылығын арттыру есебінен қаржылық шығындар тәуекелін азайтуға мүмкіндік береді.
ЭЦҚ қолдану жөніндегі ұсыныстар негізінен қауіпсіздік мәселелеріне қатысты. Электрондық цифрлық қолтаңбаның программалық коды бұзудан сенімді қорғалған. ЭЦҚ-мен жасалған алаяқтық фактілері программалық кодты бұзу арқылы емес, компьютер, флеш-жад лен мобильді телефонның біреудің қолына түсуіне байланысты. Осылайша, алаяқтардың ЭЦҚ пайдалануына көп жағдайда қолданушылар өзі кінәлі болады.Қауіпсіздік ережелері мен тиісті нұсқауларды сақтай отырып, келеңсіз оқиғалардың алдын алуға болады. Мысалы: ЭЦҚ-мен операциялар жасау үшін пайдаланылатын компьютерге бөгде адамдардың кіруіне жол бермеу. ЭЦҚ-ның жаңа кілттерін жасаған кезде құпия сөздерді өзгерту керек. Екі немесе одан да кеп ЭЦҚ үшін бірдей құпия сөзді қолдануға болмайды, бұл бұзуды жеңілдетуі мүмкін. Егер электрондық поштаға банктен ЭЦҚ құпия сөзін сұраған немесе қосымша программа орнату туралы хат келсе, оған жауап берудің қажеті жоқ. Банк мұндай хаттарды электрондық поштағаa жібермейді. Мәселенің анық-қанығына жету үшін, банкпен өзің хабарласуың керек.
Ақпараттық қауіпсіздік ережелерін сақтауға арналған сертификаттың қолданылу мерзімі шектеулі. Сертификат бір жылға беріледі, бір жылдан соң оны ұзарту қажет.
Бұдан басқа, жабық кілттің құпиялығына күмән туса, мысалы, иесі кілтті тасымалдаушыны жоғалтып алса немесе қараусыз қалдырса, құпиясөз ұмытылса немесе деректемелер ауысса, онда сертификат кері қайтарылып, орнына жаңасы беріледі. ЭЦҚ көптеген мүмкіндіктер береді, алайда ақпараттық қауіпсіздік мәселесінде өзің өте мұқият болуың керек.
1.4. Электронды цифрлы қолтаңба түрлері
"Электрондық қолтаңба туралы" № 63-ФЗ Федералдық Заңымен электрондық қолтаңбаның үш түрі белгіленген:
:: қарапайым;
:: күшейтілген біліктілігі жоқ;
:: күшейтілген білікті.
Бұл бөлу ЭП саласындағы ресейлік және шетелдік заңнаманы жақындастыруға мүмкіндік берді және электрондық қолтаңбаларды қолдану аясын белді. Біріншіден, бұл әртүрлі мемлекеттік қызметтерді алу мүмкіндіктерінің айтарлықтай кеңеюіне ықпал етті.
Қарапайым электрондық қолтаңба
ЭҚ-нің бұл түрі кодтарды, парольдерді және өзге де құралдарды пайдалану арқылы белгілі бір жеке тұлғаның қол қою фактісін растайды.
Ол қорғау дәрежесі төмен, құжатты қолдан жасаудан немесе өзгерістер енгізуден қорғамайды жөне тек электрондық құжаттың авторын анықтауға мүмкіндік береді.
Әдетте, қарапайым электронды қолтаңба жеке және заңды тұлғалардың мемлекеттік және муниципалды қызметтерді алу үшін өтініштер мен өтініштерге қол қою үшін қолданылады: егер оны қолдану федералды заңдармен немесе басқа нормативтік құжаттармен шектелмесе. Атап айтқанда, қарапайым ЭҚ дәрігерге жазылу, жүргізуші куәлігін алу, балабақшаға кезекке қою және т. б. үшін пайдаланылады.
Кәдімгі ЭҚ алу Мемлекеттік көрсетілетін қызметтер порталында тіркелу кезінде жүргізіледі. Бұл мүлдем тегін. Қолтаңбаның бұл түрін қолдану саласы Мемлекеттік қызметтерді алу, Мемлекеттікоргандардан белгілі бір ақпаратты сұрау, мысалы:::
:: Зейнетақы қорынан жинақтар туралы ақпарат сұрау.
:: Мәліметтер алу айыппұлдар туралы ГИБДД, оларды төлеу.
:: Төлқұжат алуға өтініш беру.
:: Емханаға қабылдауға жазылу.
:: Баланы балабақшаға есепке қою және тағы басқалар.
Күшейтілген біліксіз қолтаңба
Ол жеке қол қою кілтін қолдана отырып, ақпаратты криптографиялық түрлендіру арқылы алынады. Оның көмегімен электрондық құжатқа қол қойған тұлғаны анықтауға, сондай-ақ қол қойылғаннан кейін өзгерістер енгізу фактісін анықтауға болады. Күшейтілген білікті емес ЭҚ орташа қорғаныс дәрежесіне ие. № 63-ФЗ федералды Заңы, Егер электрондық құжат айналымына қатысушылар арасында тиісті заңды келісім жасалған болса, қолтаңбаның бұл түрін өз қолымен балама ретінде пайдалануға рұқсат етеді. Бірақ білікті емес ЭҚ-мен қол қойылған электрондық құжаттар салық және басқа да бақылаушы органдар өз қолымен қол қойған қағаз құжаттарына тең деп танылмайтынын түсіну керек. Бүгінгі таңда білікті емес қолтаңбаны қолданудың кең таралған саласы сауда-саттыққа және Мемлекеттік сатып алуға қатысу.
Күшейтілген білікті қолтаңба
Ол күшейтілген білікті емес схемамен жасалады, бірақ оны құру және тексеру үшін Ресей Федерациясының Федералды қауіпсіздік қызметі сертификаттаған крипто-қорғаныс құралдары қолданылады. Білікті ЭҚ сертификаттарын аккредиттелген куәландырушы орталықтар ғана беруге құқылы.
Электрондық құжаттағы қолтаңбаның бұл түрі өз қолымен қойылған қолдың және қағаз құжаттағы мөрдің толық аналогы болып табылады. АҚҚ, АҚҚ, ҚБҚ сияқты бақылаушы органдар білікті ЭҚ қол қойған электрондық құжаттардың ғана заңды күшін таниды.
Білікті ЭП қорғаудың жоғары дәрежесіне ие. Оны электрондық құжат айналымына қатысушылар арасында пайдалану қосымша келісімдерге қол қоюды талап етпейді.
Есептіліктің кейбір түрлері үшін білікті ЭҚ пайдалану нормативтік құжаттармен анықталған:
:: Салық инспекциясына декларация;
:: Росстатқа ұсыну үшін жылдық бухгалтерлік есеп;
:: РСВ-1 нысандары.
:: Электрондық қолтаңбаның күшейтілген белгілері:
:: Ол жеке (белгілі бір адамға тиесілі), әр пайдаланушы әртүрлі.
:: Ол қарапайым қолтаңбамен салыстырғанда күрделі әрекеттерді орындау үшін қолданылады.
:: Ол арнайы медиаға жазылады (әдетте флэш-диск).
:: Оның шектеулі мерзімі бар.
:: Егер барлық қажетті құжаттар ұсынылса, куәландырушы орталық береді.
Есептіліктен басқа, білікті ЭҚ электрондық шот-фактураларға, салық органында есепке қою немесе есептен шығару туралы өтініштерге, сондай-ақ салық сомасын қайтару немесе есепке алу туралы етін терге қол қою. Денсаулық сақтау министрлігіне лицензиялауға құжаттар беру және т. б. үшінпайдаланылады.
"Гарант" сертификаттау орталығы ЭҚ беруге аккредиттелген. Біздің мамандар қолтаңбаның қажетті түрін таңдауға көмектеседі, барлық құжаттарды дайындайды, сондай-ақ сәйкестендіруді жүргізеді.
1.5 Электронды цифрлы қолтаңба алгоритмдері
Электрондық қолтаңба алгоритмдері кәдімгі сандық қолтаңба және құжатты бастапқы қалпына келтіретін сандық қолтаңба болып бөлінеді. Құжатты капнына келтіретін сандық қолтаңбаны тексеру кезінде, құжат мәтіні автоматты түрде бастапқы қалпына келеді, оны қолтаңбаға тіркестіріп қажеті жоқ. Кәдімгі сандық қолтаңбалар құжатты қолтаңбаға тіркеуді талап етеді. Құжаттың хешіне қол қоюға арналған барлық алгоритмдер кәдімгі электрондық қолтаңбаға жатады. Құжатты бастапқы қалпына келтірумен электрондық қолтаңбаға RSA да жатады
RSA сандық қолтаңба алгоритмі
Бірінші және бүкіл әлемге танымал электрондық сандық қолтаңбаның нақты жүйесіне RSA жүйесі жатады. Оның математикалық схемасы 1977 жылы АҚШ-та Массачуссетс технологиялық институтында құрастырылды.
Ең алдымен кілттер жұбын шығарып алу керек (ашық және жабык кілт). Бұл үшін электрондық құжат жіберуші (автор) екі үлкен қарапайым Р және Q сандарын шығарып алып, одан кейін олардың орындалуы N=P * Q мен функциясының мәнін табады (N) = (P-1)(Q-1). Одан соң жіберуші талаптан Е санын шығарып алады: Е (N), НОД (Е, (N)) = 1 және талаптан D санын: DN, E*D 1 (mod (N)).
Сандар жұбы 1 (E, N) ашық кілт болып табылады. Бұл сандар жұбын автор оның сандық қолтаңбасын тексеру үшін хат алмасушы әріптесіне жібереді. D саны автормен колтаңбалау үшін жабық кілт ретінде сақталады.
Жіберуші М хабарын жібермес бұрын қолтаңбалағысы келеді деп есети Еп алдымен М хабарламасы хэш функция көмегімен жалпы m санына қысады. m = h(M). Одан кейін хэн мәні т мен D жабық кілтін қолдана оты электрондық құжатынан Ѕ сандық қолтаңбасын шығарады: S=mD (mod N).
Жұптар (М,Ѕ) S сандық қолтаңбасылd.kz мен қолтаңбаланған М электрондық құжаты ретінде әріптес кабылдаушыға жіберіледі және Ѕ қолтаңбасы D жабық кілт-неленушісімен құрастырылды.
Жұпты кабылдап алғаннан кейін (M,S) алушы М хабарламасының хэш - мәнін екі әдіспен шығарады. Ең алдымен, ол m' хэш мәнін Е ашық кілтін пайдаланып, қолтаңбаның криптографиялық өзгермесін қолдана отырып қалпына келтіреді: m' SE (mod N).
Сонымен қатар, сондай хэш- ол хэштау нәтижесін хабарламасының - функцияның көмегімен табады һ(*): m = h(M).
Егер шығарылған мәндердің теңдігі сақталса, яғни SE (mod N) = h(M), онда алушы жұпты (М, S) жалған деп таниды. D құпия кілтінің иеленушісі ғана Ѕ сандық қолтаңбасын М құжаты бойынша құрастырып шығара алатындығы дәлелденген, ал D құпия кілтін Е ашық кілті бойынша анықтау N модулін көбейгіштікке орналастырудан гөрі оңай емес.
Сонымен қатар, қатан математикалық түрде, Ѕ сандық қолтаңбасы тексерісінің корытындысы, есептеуде Е ашық кілтіне сәйкес келетін D құпия кілті кольпиадган жагдайда ғана нәтижелі болатындығын дәлелдеуге боладандыктан да, Е ашық кілтін кейде қол қоюшының идентификаторы деп те атайды.
Эль Гамал сандық қолтаңбасының алгоритмі (EGSA).
1984 жылы тегі араб американдық Тахер Эль Гамал жеке компьютерлерде қолдануда ыңғайлы және сенімді сандық қолтаңба алгоритмін даярлады. 1991 жылы АҚШ СҒҰИ (НИСТ) АҚШ Конгрессі комиссиясының алдында Эль Гамал сандық қолтаңбасы алгоритмінің ұлттық стандарт негізіне таңдап алынғандығын дәлелдеп шықты.
EGSA атауы Эль Гамал сандық қолтаңбасының алгоритмі деген сөзден шығады. EGSA идеясы сандық қолтаңбаны бұрмалау мүмкіндігін жоққа шығару үшін аса күрделі санау есебін пайдалануға негізделген және ол дискреттік логарифмдеу есебі деп аталады. Сонымен қатар, Эль Гамал RSA сандық қолтаңбасына тән кейбір хабарламаларға қойылған сандық қолтаңбаны нақты құпия кілтті білмей тұрып - ақ бұрмалаумен байланысты әлсіздігінен құтылды.
Эль Гамал сандық қолтаңбасының алгоритмін толықтай қарастырып көрелік. Кілттер жұбын (ашық кілт құпия кілт) генерациялау үшін, алдымен карапайым тұтас сан G таңдалады және GIP. Қол қойылған құжатты жіберуші мен алушы, санау кезінде бірдей Р (-10308 немесе -21024) үлкен тұтас санын және G (-10154 немесе -2512) құпия тұтас санын пайдаланады. Жіберуші Х, 1 Х (Р-1) кездейсоқ тұтас санын таңдай отырып Y = GX mod P есептеп шығарады. Y саны жіберушінің қолтаңбасын тексеру үшін пайдаланылатын ашық кілт болып табылады. Y саны құжатты алушылардың барлығына ашық жіберіледі.
Хеш - функция
2.1 Хештеу туралы қысқаша тарихы
Хеш функциялар информатикадағы іргелі тұжырымдама болып табылады және деректер құрылымы, криптография және цифрлық қолтаңбалар сияқты әртүрлі салаларда көптеген қолданыстарға ие. Олар әртүрлі пайдалану жағдайларында қауіпсіз және пайдалы ететін детерминирленген және қайтымсыздық сияқты қасиеттерімен танымал және осы жағынан алғанда ақпараттардың қауіпсіздігі, бүтіндігі мен аутентивтігін қамтамасыз ету бағытында үлкен сұранысқа ие.
Хеш функциялар 20 ғасырдың басында деректердің тұтастығын тексерумақсатында жасалған. 1953 жылы Харви Дэвис пен Гаррет Мейер деректердің тұтастығын тексеру үшін алғашқы хеш функциясын ұсынды. 1964 жылы К. Евклид пен С. Лампорт хеш-кесте деп аталатын мәліметтер құрылымын құру үшін хеш функцияны қолданды. Осы уақыттан бері олар деректер құрылымы, ақпараттық жүйелердің қауіпсіздігі, криптография сияқты әртүрлі салаларда қолданылып келеді. Уақыт өте келе криптографияның дамуымен бірге хеш функциялар сандық қолтаңбаларды жасау үшін, сондай-ақ әртүрлі қосымшалардағы деректердің тұтастығын бақылау үшін қолданыла бастады. 1980 жылдары кеңінен қолданыла бастаған MD4, MD5 және SHA1 сияқты әртүрлі хеш алгоритмдері жасалды. Кейінгі жылдары бұл алгоритмдердегі кейбір әлсіздіктер белгілі болды, бұл SHA-2 және SHA-3 сияқты заманауи және қауіпсіз алгоритмдердің дамуына әкелді. Соңғысы 2015 жылы жасалған және бүгінгі күнге дейін ең сенімді хеш алгоритмдерінің бірі болып табылады. Жалпы, хеш функцияларын дамыту олардың қауіпсіздік қасиеттері мен орындалу жылдамдығын арттыру бағытында жүреді. Қазіргі заманғы хеш функциялары жоғары қауіпсіздік қасиеттері мен өнімділікке ие. Заманауи хеш функцияларының дизайны жылдамдық, коллизияға төзімділік және шабуылдан қорғау сияқты әртүрлі факторларды қамтиды.
IT-индустрияға арналған стандарттар халықаралық техникалық регламенттермен үйлесуі тиіс, өйткені әр мемлекет әлемдік экономикаға интеграциялануда. Ақпараттық қауіпсіздік саласында әрбір мемлекет криптография саласында өзінің ұлттық стандарттарын әзірлеуге ұмтылады. Көптеген ұйымдар мен елдерде хештеудің өзіндік стандарттары бар. 2018 жылы ISO және МЭК (Халықаралық электротехникалық комиссия) ұсынған ISOIEC 10118-3:2018(E) дүниежүзілік стандарттауға арналған мамандандырылған жүйесінде 17 алгоритм халықаралық хештеу алгоритмдері мәртебесіне ие болды, атап айтқанда, RIPEMD-160, RIPEMD-128, SHA-1, SHA-256, SHA-512, SHA-384,
Whirlpool, SHA-224, SHA-512224, SHA-512256, Streebog-512, Streebog-256, SHA3-224, SHA3-256, SHA3-384, SHA3-512, SM3 [9].
АҚШ-тың NIST - Ақпараттық технологиялар және криптография саласындағы стандарттарды әзірлейтін ұйымы SHA-1, SHA-2 және SHA-3 сияқты көптеген хеш алгоритмдерінің стандарттарын жариялады. Ұйым 2015жылы SHA-3 (Keccak хеш функциясы) айнымалы ұзындықты хештеу алгоритмі негізінде FIPS 202 мемлекетті
стандартын бекітіп жариялады. Алгоритм ең көп қолданылатын сұлбалардың бірі болып саналатын Sponge криптографиялық сорғыш құрылымына негізделген [10]. Қазіргі уақытта ғылыми қауымдастық өзінің соңғы нұсқасының беріктігі туралы көптеген зерттеулер жүргізетіні белгілі, өйткені SHA-3-тің алдыңғы нұсқалары бұзылған немесе осалдықтары анықталған. SHA-3-те хештеу процесі екі кезеңнен тұрады: сіңіру және қысу. Бірінші қадамда әрбір тұрақты ұзындықтағы хабарлама блогы R бит матрицаның ағымдағы күйіне қосылады және f қысу функциясының 24 раунды орындалады. Екінші қадамда күй матрицасы f қысу функциясын итеративті орындау арқылы қажетті хеш-мән ұзындығына дейін кесіледі [11].
2016 жылы Қытай елі GBT 32905-2016 Ақпараттық қауіпсіздік технологиясы. SM3 криптографиялық хештеу алгоритмі стандартын бекітті [12]. SM3-256 биттік хеш алгоритмі M хабарламасы үшін 256 биттік хеш-мәнін жасайды және Меркл-Дамгард құрылымын қолданады. Ол негізінен электрондық қолтаңбаларда, криптографиялық бақылау сомаларында және жалған кездейсоқ сандар генераторларында қолданылады.
Ресей Федерациясында ГОСТ Р 34.11-2018 мемлекетаралық стандарты қолданысқа енгізілді. Бұл стандарт 2012 жылғы қабылданған ГОСТ Р 34.11- 2012. Ақпараттық технология. Ақпаратты криптографиялық қорғау. Хештеу функциясы стандартын қолдану негізінде түзетулер мен толықтырулар бойынша дайындалған. Алгоритм кіріс блогының ұзындығы 512 бит және хеш- мәннің ұзындығы 256512 бит болатын хеш функциясын сипаттайды. Ол үш түрлендіруге негізделген қысу функциясын қолданады: сызықтық емес биективті түрлендіру, байттық ауыстыру, сызықтық түрлендіру [13]. Бұл стандарт Армения, Қырғызстан, Түрікменстан Республикаларында және Тәжікстанда қолданылады.
2015 жылдан бастап Украинада DSTU 7564:2014. Ақпараттық технологиялар. Ақпаратты криптографиялық қорғау. Хештеу функциясы мемлекеттік стандарты енгізілді [14]. Ол ГОСТ 28147:2009 мемлекетаралық стандартын біртіндеп ауыстыруға арналған. Стандарттағы Купина хештеу функциясы Дэвис-Мейер схемасын қолданады және оның примитивтері
Калина блоктық шифрлау алгоритміне негізделген.
2020 жылдан бастап Беларусь Республикасында СТБ 34.101.77-2016 стандарты орнына СТБ 34.101.77-2020. Ақпараттық технологиялар және қауіпсіздік. Sponge функциясына негізделген криптографиялық алгоритмдер жаңа стандарты күшіне енді [15]. 1536 бит ұзындықтағы екілік сөздердің күрделі биективті түрленуін анықтайтын Sponge-функциясы bash-f және bash-s алгоритмдерінен тұрады. Хеш-мән ұзындығы беріктілік деңгейі 𝑙𝑙 ∈ {128, 192, 256} параметрімен анықталады, яғни осы мәндерге тең.
Біздің елімізде хештеу алгоритмі бойынша Қазақстан Республикасының Ұлттық стандарты болып ҚР СТ ГОСТ Р 34.11-2015 Ақпараттық технология. Ақпаратты криптографиялық қорғау. Хэштеу функциясы 2017 жылдың 1 қаңтарынан бастап қолданысқа енгізілді. Ескере кететіні, бұл ұлттық стандарт Ресей Федерациясының ГОСТ Р 34.11-2012. Ақпараттық технология.
Ақпаратты криптографиялық қорғау. Хештеу функциясы стандартының көшірмесі болып табылады [16, 17].
Қазақстан Республикасы негізінен халықаралық стандарттарды және шетелдік аппараттық және бағдарламалық қамтамасыз ету жасақтамаларын пайдаланады. Ақпаратты криптографиялық қорғаудың отандық алгоритмдерін, соның ішінде хештеу алгоритмдерін құру өзекті және қажетті міндет болып табылады.
2.2 Хештеу туралы негізгі түсінік
Хэштеу процесі-әртүрлі ұзындықтағы деректерді бекітілген хэш кодына түрлендіру. Бұл процесс бір жақты, яғни бастапқы деректерді хэштен қалпына келтіру мүмкін емес. Деректердің тұтастығын, аутентификациясын және қауіпсіздігін қамтамасыз ететін криптография саласында хэштеу маңызды.
Хеш функциялар информатика және ақпараттық қорғау саласында негізгі ұғым болып табылады және деректер құрылымы, криптография және цифрлық қолтаңбалар сияқты әртүрлі қолданбаларда кеңінен қолданылады. Қарапайым тілмен айтқанда, хеш функциялар ақпарат тізбегі (хабарлама) немесе кілт (пароль) деп аталатын кірістерді қабылдайды және хеш-мән (кейде хеш-кескін немесе дайджест) деп аталатын тұрақты ұзындықтағы шығыс мәнді шығарады.
Анықтама 1. H(М) хеш функциясы - еркін ұзындықтағы М ақпарат тізбегін (жолын) кіріс ретінде қабылдайтын және нәтиже ретінде алдын-ала белгіленген ұзындықтағы h ақпарат тізбегін (жолын) беретін функция.
Анықтама 2. M ақпарат тізбегін хештеу нәтижесі h=Н(M) - хеш-мән деп аталады.
М ақпарат тізбегі мен Н(M) хеш-мән ұзындықтары ара-қатынасы әртүрлі болуы мүмкін: мысалы, M Н(M) немесе M Н(M) немесе M = Н(M), мұндағы * - белгілеуі ақпараттың немесе хеш-мәннің ұзындығын білдіреді. Көп жағдайда ақпарат тізбегінің ұзындығы хеш-мән ұзындығынан едәуір үлкен болып жатады.
Анықтама 3. Хеш функцияның нәтижесі хеш-мән деп аталатындықтан, М ақпараттар тізбегі кейде түпбейне (прототип немесе бірінші прототип) деп аталады.
Анықтама 4. m ұзындықтағы барлық екілік тізбектер жиыны {0, 1}[m] деп, ал барлық ақырлы ұзындықтағы екілік тізбектер жиыны {0, 1}* деп белгіленсін. Онда Н хеш функциясы деп мына түрдегі түрлендіруді айтады:
Н : {0, 1}*--{0, 1}m, (1.1)
мұндағы m - хеш-мәннің ұзындығы. Н хеш функциясы кейде һ болып белгіленеді.
Хеш функцияның жалпы сұлбасы төменгі Сурет 2.1-де көрсетілген. Мұнда:
𝑀𝑀 = {𝑚𝑚0, 𝑚𝑚1, ... , 𝑚𝑚𝑡𝑡} - итерациялық түрде хештеу үшін М хабарламаны бекітілген ұзындықтағы t бөлікшелерге бөлінуі, i=1,2,...,t, t - M хабарламадағы бөлікшелер саны, h0 - инициализациялық вектор (IV). H(M) - M
Сурет 2.1 - Н(М) хеш функцияның жалпы сұлбасы
Анықтама 5. Хеш функциядағы коллизия деп әртүрлі екі М1 және М2 хабарламалар үшін H(M1)=H(M2) орындалу жағдайын айтады. Басқаша айтқанда, екі әртүрлі кіріс үшін хеш функцияның мәндері тең келеді. Келесі Сурет 1.2-де M3 и M5 коллизия тудыратын хабарламалар.
Сурет 2.2 - Н(М) хеш функциясының М3 және М5 хабарламалары тудырған коллизия
Анықтама 6. Әдетте, бекітілген нүкте деп мына жағдайды айтады: hi=H(hi-1,Mi)=hi-1, i=1,2,...,t, t - M хабарламадағы бөлікшелер саны, i=1 болған жағдайда, h0=IV.
Хеш функциясының қауіпсіздігі қасиеттеріне уақыт өте келе есептеу қуаты артқан сайын қауіп төнуі мүмкін екенін ескеру маңызды. Сондықтан олардың әлі де қауіпсіз қасиеттерге ие екеніне көз жеткізу үшін қауіпсіздік қолданбаларында қолданылатын хеш функциялардың қасиеттері мен мүмкіндіктерін үнемі қайта қарап, жаңартып отыру тиіс.
Кез-келген хештеу алгоритмдерін құру кезінде келесідегідей қасиеттерге ие болуы қамтамасыз етілуі тиіс:
Анықталғандық (детерминирленген) - бірдей кіріс хабарламалар үшін хеш функция әрқашан бірдей нәтижелер беруі.
Бірбағыттылық (қайтымсыздық) - бұл хеш функцияның шығыс нәтижесі бойынша бастапқы кірістерді (хабарламаны) математикалық тұрғыдан есептеу алудың мүмкін еместігі.
Бекітілген ұзындық - кез-келген ұзындықтағы деректерді белгіленген ұзындықтағы хеш-мәнге түрлендірудің орындалуы.
Тиімділік (өнімділік) - үлкен есептеу ресурстарын қажет етпеуі және жылдам орындалуы.
Лавиндік эффекті - кіріс хабарламаның шамалы өзгеруі шығыс хеш- мәннің айтарлықтай өзгеруіне әкелуі.
Ашықтық пен қолжетімділік - хеш функцияның криптографиялық қауіпсіздік қасиеттерін зерттеу үшін оның алгоритмі қолжетімді болуы.
2.3 Хеш функцияның төзімділігі және қауіпсіздігі
Қазіргі таңда кез-келген хештеу алгоритмдерге қойылатын негізгі классикалық талаптар бар. Бұл талаптар хеш функциясының қажетті қауіпсіздік қасиеттерін қамтамасыз етуін және әртүрлі қолданбаларда тиімді пайдаланылуын қамтамасыз етеді. Осы талаптардың кез-келгенін орындамау қауіпсіздік осалдығына немесе басқа мәселелерге әкелуі мүмкін. Бұл талаптарға мыналар жатады:
Коллизияға төзімділік;
Түпбейнеге (бірінші прототипке) төзімділік;
Екінші түпбейнеге (екінші прототипке) төзімділік.
Енді осы көрсетілген үш талапқа кеңінен тоқталып кетейік.
Коллизияға төзімділік (CR - Collision-Resistance):Хеш функциядағы коллизия кез-келген әртүрлі екі хабарламалардың хеш- мәні бірдей болған кезде пайда болады. H хеш функциясы коллизияға төзімділік талабы орындалуы үшін H(M) белгілі болған жағдайда H(M)=H(M') орындалатын кез-келген бір-біріне тең емес M және М' хабарламаларын (M!=M') есептеп табу мүмкін болмауы керек (Сурет 1.3). Формальды түрде, H хеш функциясындағы коллизияны анықтаудағы A қарсыластың мүмкіндігі келесідей анықталады:
𝐴𝐴𝐴𝐴𝐴 (қысқ., advantage) - артықшылық, мүмкіндік. Аталған талаптың графикалық нұсқасын келесі Сурет 2.3-тен көруге болады.
Сурет 2.3 - Коллизияға төзімділік (CR - Collision-Resistance) жағдайы
Түпбейнеге (Pre - Pre-image Resistance, бірінші прототипке) төзімділік:Түпбейнеге төзімділік деп - H хеш функциясына кері функцияны
есептеудің тиімді полиномиалдық алгоритмінің болмауы, яғни нақты уақытта (қайтымсыздық) белгілі хеш-мән арқылы М түпбейнесін есептеп қалпына келтіру мүмкін емес. Бұл қасиет хеш функция бір жақты функцияға пара-пар дегенді білдіреді. Яғни, әзірше белгісіз М хабарламаның белгілі H(M) хеш-мәні арқылы кері қарай М түпбейнесіне көше алмауы немесе кез-келген басқа M'!=M түпбейнесін (мұндағы H(M')=Н(М)) есептеп шығарудың мүмкін болмауы жағдайы. Әдетте, хеш функция коллизияға төзімділік танытса, ол түпбейне төзімділігіне кепілдік бермейді, бірақ хеш функция түпбейнеге жеткілікті түрде төзімділік танытса, онда ол колизияға төзімділікті де қамтамасыз ете алады, яғни 1-ші талап орындалса, 2-ші талап орындала бермейді, ал керісінше - орындалады (Сурет 2.4). H хеш функциясындағы түпбейнені анықтаудағы A қарсыластың мүмкіндігі келесідей анықталады:
Сурет 2.4 - Түпбейнеге (Pre - Pre-image Resistance) төзімділік жағдайы
Екінші түпбейнеге (Sec - 2nd Pre-image Resistance, екінші прототипке) төзімділік:Алдын-ала белгілі М түпбейнесінен H хеш функциясы арқылы алынған h=H(M) хеш-мәнін пайдаланып, H(M) = H(М') орындалатын қандай да бір M' түпбейнесін (мұндағы M!=M') нақты уақытта есептеп шығару мүмкіндігі болмаса, H хеш функциясы екінші түпбейнеге төзімділік танытады деп айтады (Сурет 2.5). Осы жағдайды А қарсыласқа қатысты былай сипаттауға болады:
Сурет 2.5 - Екінші түпбейнеге (Sec - 2-nd Pre-image Resistance) төзімділік жағдайы
Жоғарғы сипатталған үш талап хештелген ақпараттың дәйектілігін қамтамасыз
Ету үшін маңызды роль атқарады. Тұтастай алғанда, хеш функциясын құру және енгізу оның мақсатты пайдалану жағдайына сәйкес келуін қамтамасыз ету үшін қауіпсіздік, тиімділік және қарапайымдылық арасындағы тепе-теңдікті қамтамасыз етуі керек. Сенімді жасалған хеш функциялардың қауіпсіздігі қасиеттерінің жоғарғы үш талаптың қатысымен төмендегідей бағаланады:
Хеш функцияның коллизияға төзімділік (CR - Collision-Resistance) жағдайы үшін коллизияны анықтауға арналған ең жақсы шабуыл туған күн шабуылынан жақсы болмауы керек. Яғни, хеш осы талапқа сай болу үшін коллизияны іздеудегі ең тиімді шабуыл Туған күн парадоксі шабуылы болуы керек. Бұл шабуылдан басқа тиімді шабуыл табылмауы және барлық шабуылдар түрлерінің есептеу күрделілігі 2n2 -ден жоғары болуы керек, мұндағы n - хеш- мән ұзындығы (битпен).
Жақсы жасалған қауіпсіз хеш функция үшін екінші талап мына тұрғыда орындалуы керек: хеш функцияның түпбейнені қалпына келтіруге төзімді болуы үшін хеш функциясына қарсы ең жақсы шабуыл дөрекі күшті шабуыл болуы керек, яғни, n ұзындықтағы хеш-мән беретін хеш функциясы үшін операциясының күрделілігі 2n-нен жоғары болуы керек.
Жақсы жасалған қауіпсіз хеш функция үшін үшінші шарт келесідегідей сипатталады: хеш функцияның екінші түпбейнені қалпына келтіруге төзімді болуы үшін хеш функциясына қарсы ең жақсы шабуыл дөрекі күшті шабуыл болуы керек.
Хеш функциялардың қауіпсіздігін қамтамасыз ететін басқа да қосымша қажетті қасиеттер бар [20]. Дегенмен, бұл қасиеттердің кейбіреулерін кейбір хеш қатысатын қолданбалар қажет етпеуі мүмкін.
Жақын коллизияларға төзімділік (Near-collision resistance): бір-бірінен өзгеше екі хабарламаның хеш мәндері бір-бірінен айтарлықтай ерекшеленуі керек (тіпті хабарламалар бір-бірінен сәл ғана өзгеше болса да). Басқаша айтқанда, екі түрлі М және М' (M != M') хабарламалары үшін олардың хеш- мәндері H(M) және H(M') бір-бірінен аз ғана биттерге ерекшеленетін болса,онда осындай жағдайда жақын коллизиялар туындайды. Жақсы құрылған хеш функция осындай жағдай туындатпауы тиіс.
Псевдоколлизияларға төзімділік: псевдоколлизия (немесе еркін іске қосу коллизиясы) екі хабарлама арасындағы коллизияны тек инициалицациялық векторды (IV-ді) басқару арқылы анықтауға болатын кезде пайда болады. Бұл шабуыл іс жүзінде көп қолданбайды, өйткені хеш функцияларының көпшілігінде IV алдын-ала бекітілген. Сол себепті, қарсылас IV-ді өзгерте алмайды.
Түпбейнеге (прототипке) ішінара төзімділік: белгілі хеш-мән арқылы бастапқы хабарламаның бір бөлігін қалпына алу, сондай-ақ хабарламаның бір бөлігі бұрыннан белгілі болса да, бүкіл хабарламаны қалпына келтіре алу есептеу жағынан қиын болуы тиіс.
2.4 Хеш функцияға бағытталған шабуылдар
Хеш функциялар криптография және цифрлық қолтаңбалар қосымшаларында дұрыс және қауіпсіз жұмыс істейтініне көз жеткізу үшін оның сапасын бағалау - міндетті атқарылатын зерттеу жұмыстардың бірі болып саналады. Хеш функцияның сапасын бағалау критерийлері ретінде оған қойылатын жоғарыда айтылған талаптар мен қасиеттерін қарастыруға болады, атап айтқанда:
Коллизияға төзімділік: жақсы хеш функция бірдей хеш-мән беретін екі кірісті табуды қиындатуы керек.
Бірінші және екінші прототипке төзімділік: жақсы хеш функциясы көрсетілген хеш нәтижесін беретін кірістерді табуды қиындатуы керек.
Лавиндік эффекті: хабарламаның шамалы өзгеруі хеш-мәннің айтарлықтай өзгеруіне әкелуі керек.
Диффузия: хеш функция хабарламаны шығыс биттеріне біркелкі таратуы керек.
Тиімділік: жақсы хеш функциясы есептеуде жылдам болуы керек және аз операция орындалуы қажет етеді.
Әмбебаптық: жақсы хеш функциясы кірістер мен кірістердің кең ауқымы үшін жақсы жұмыс істеуі керек.
Анықталғандық: әрқашан бірдей кіріс үшін хеш функциясының шығысы бірдей болуы керек.
Хеш-мәннің ұзындығы: шығыс ұзындығы қолданбаға сәйкес келуі керек және коллизия шабуылдарының алдын-алу үшін жеткілікті үлкен болуы керек.
Криптографиялық қауіпсіздік қасиеттері: криптографиялық қауіпсіздікті қажет ететін қосымшалар үшін хеш функция берік математикалық негізге ие болуы немесе дәлелденген криптографиялық примитивтерден жасалуы керек және мұқият талдау мен тестілеу арқылы қауіпсіз түрде дәлелденуі керек.
Ашықтық: хеш функциясында шабуылдаушы қолдана алатын жасырын функциялар немесе әлсіз жерлер болмауы керек.
Криптографиялық және статистикалық талдауларға негізделген (дифференциалды, сызықтық, алгебралық және т.б.) шабуылдарға төзімділік: жақсы хеш функциясы аталған шабуылдарға осал болмауы керек, алгоритм сұлбасы негізінде шабуылдаушы кірістер (хабарламалар, кілттер, инициализациялық векторлар) мен шығыстар (хеш-мәндер) арасындағы айырмашылықтарды талдай отырып, кіріс туралы ақпаратты ала алмауы керек.
Бұл критерийлер хеш мүмкіндіктерінің қауіпсіз және нақты қолданбаларда пайдалануға жарамды екеніне көз жеткізуге көмектеседі.
Хеш функциясына шабуыл оның сапасы мен қауіпсіздік қасиеттерін бағалап қана қоймай, оны одан әрі жетілдірудің бірден-бір жолы ретінде қарастыруға болады. Хеш функциясына шабуыл - бұл хеш функцияларының қауіпсіздік қасиеттері мен талаптарының бірінің немесе бірнешеуінің дұрыс орындалмауын дәлелдеуге бағытталған әс-әрекеттер. Мысалы, түпбейнеге төзімділікті бұзу (сындыру) дегеніміз, шабуылдаушы түпбейнеге қалпына келтіріле алмау қасиетін бұзуы, яғни ол белгілі хеш-мән арқылы хабарламаны жасай алады. Шабуылдар көбінесе хеш функциясының құрылымына немесе қысу функциясының алгоритміне бағытталады. Жалпы, хеш функцияларда оған жасалатын шабуылдарды төменгі көрсетілген сұлба бойынша сипаттауға болады (Сурет 2.6). Сұлба бойынша хеш функцияларына шабуылдарды екі үлкен санатқа бөлуге болады .
Сурет 2.6 - Хеш функцияларға жасалатын шабуыл түрлерінің жіктелуі
Brute force шабуылдары. Brute force шабуылдары алгоритмдердің құрылымдарына және кез-келген басқа сипаттамаларға қарамастан барлық хеш функцияларына жүргізуге болады. Олар шифрлау алгоритмдеріндегі құпия кілтті алу үшін толық іздеу немесе кілтті қалпына келтіру әдістеріне ұқсас. Кез- келген хеш функциясының қауіпсіздігі оның хеш-мән ұзындығына байланысты. Төменгі Кесте 2.1-де осы қауіпсіз хеш функциялар үшін ең тиімді шабуыл түрлері, сондай-ақ олардың есептеу күрделілігі көрсетілген.
Кесте 2.1 - Жақсы жасалған қауіпсіз хеш функция үшін тиімді шабуылдар
Талаптар
Коллизияға төзімділік
... жалғасы
Әбілқас Сағынов атындағы Қарағанды техникалық университеті
----------------------------------- ----------------------------------- ----------
Коммерциялық емес акционерлік қоғам
----------------------------------- ----------------------------------- ----------
----------------------------------- ----------------------------------- ----------
----------------------------------- ----------------------------------- ----------
Кафедра АТҚ
----------------------------------- ----------------------------------- ----------
----------------------------------- ----------------------------------- ----------
----------------------------------- ----------------------------------- ----------
----------------------------------- ----------------------------------- ----------
----------------------------------- ----------------------------------- ----------
----------------------------------- ----------------------------------- ----------
Курстық жоба
----------------------------------- ----------------------------------- ----------
----------------------------------- ----------------------------------- ----------
Криптография
----------------------------------- ----------------------------------- ----------
( пәннің атауы)
----------------------------------- ----------------------------------- ----------
Тақырып: Хэш-функцияны құру алгоритмдерін салыстырмалы талдау
----------------------------------- ----------------------------------- ----------
----------------------------------- ----------------------------------- ----------
----------------------------------- ----------------------------------- ----------
----------------------------------- ----------------------------------- ----------
----------------------------------- ----------------------------------- ----------
----------------------------------- ----------------------------------- ----------
Қабылдады:
----------------------------------- ----------------------------------- ----------
Тайлақ Б.Е.
----------------------------------- ----------------------------------- ----------
(баға) (оқытушының аты-жөні)
----------------------------------- ----------------------------------- ----------
----------------------------------- ----------------------------------- ----------
(қолы) (уақыты)
----------------------------------- ----------------------------------- ----------
----------------------------------- ----------------------------------- ----------
Комиссия мүшелері: Орындаған:
----------------------------------- ----------------------------------- ----------
Жолдасіл Қ.А.
----------------------------------- ----------------------------------- ----------
(қолы, аты-жөні) (студенттің аты-жөні)
----------------------------------- ----------------------------------- ----------
СИБ 21-2
----------------------------------- ----------------------------------- ----------
(қолы, аты-жөні) (группа)
----------------------------------- ----------------------------------- ----------
----------------------------------- ----------------------------------- ----------
(қолы, аты-жөні)
----------------------------------- ----------------------------------- ----------
----------------------------------- ----------------------------------- ----------
----------------------------------- ----------------------------------- ----------
----------------------------------- ----------------------------------- ----------
----------------------------------- ----------------------------------- ----------
----------------------------------- ----------------------------------- ----------
----------------------------------- ----------------------------------- ----------
----------------------------------- ----------------------------------- ----------
----------------------------------- ----------------------------------- ----------
Қарағанды 2024
Әбілқас Сағынов атындағы Қарағанды техникалық университеті Коммерциялық емес акционерлік қоғам
Факультет ИТ БЕКІТЕМІН
Кафедра АТҚ Кафедра меңг.
(қолы)
20 ж.
КУРСТЫҚ ЖОБАҒА ТАПСЫРМА
Криптография пәні бойынша
СИБ-21-2 тобының студенті Жолдасілов Қуаныш Асхатұлы
Тақырып: Хэш-функцияны құру алгоритмдерін салыстырмалы талдау.
Бастапқы мәліметтер: Криптография, бағдарлама құру оратасы Visual Studio
2017, С# бағдарламалау тілі
Тапсырма берілді 2024 ж.
Жетекші Тайлақ Б.Е. қолы
Студент Жолдасілов Қ.А. қолы
Мазмұны
Кіріспе
4
1
Электронды цифрлы қолтаңба
5
1.1
Электронды цифрлы қолтаңбаның даму тарихы
5
1.2
Электронды цифрлық қолтаңбаның негізгі ұғымдары
5
1.3
Электронды цифрлы қолтаңбаға қолданушылардың қоятын талаптары мен пайдаланудың артықшылықтары
6
1.4.
Электронды цифрлы қолтаңба түрлері
7
1.5
Электронды цифрлы қолтаңба алгоритмдері
9
2
Хеш-функциясы
11
2.1
Хештеу туралы қысқаша тарихы
11
2.2
Хештеу туралы негізгі түсінік
13
2.3
Хеш функцияның төзімділігі және қауіпсіздігі
15
2.4
2.5
2.6
2.7
2.8
3
3.1
3.2
Хеш функцияға бағытталған шабуылдар
MD5-хабарлама алгоритмі
SHA-1 алгортмі
SHA-256 алгоритмі
SHA-3 алгоритмі
Бағдарламаны жүзеге асыру
Қолданушыға нұсқаулық
Тестілеу нәтижелері
Қорытынды
Қолданылған әдебитеттер тізімі
Қосымша А
18
22
24
28
31
35
35
36
37
38
39
Кіріспе
ХХІ ғасырды ақпараттандыру ғасыры деп айтуға болады. Ақпараттық индустрия бугінгі танда алдыңғы қатарлы салалардың бірі. Кеңінен таралған компьютерлер-цифрлық мәліметтерді өндеу құрылғысы болып табылады.
Цифрлық технологияларды қолдану аясын кеңейту қазіргі әлемде жаңа құралдардың пайда болуына жол ашты. Электронды үкімет порталына қандайда бір қызметті алғың келсе, сен ол қызметті алуға құқылы екеніңді дәлелдеуің керек.
ЭЦҚ-ны сәйкестіндіру және құжаттардың заңдық маңыздылығын растау құралы ретінде қолдану өмірімізде қалыпты жағдайға айналды.
Электронды цифрлық қолтаңба - электронды құжаттың дұрыстығын, оның тиесілігін әрі мазмүнының өзгермейтіндігін растайтын электронлық цифрлық символдар жиынтығы.
Бүгінгі таңда электрондық құжаттарды қолдану көптеген қызмет салаларында кеңінен қолданылады. Қазақстан Республикасының заңнамасы мен құқық қолдану практикасын дамытудың маңызды бағыттарының бірі қазіргі уақытта электрондық құжат айналымы саласындағы қатынастарды құқықтық реттеу және электрондық құжаттарға заңды күш беру болып табылады. "Электрондық құжат және электрондық цифрлық қолтаңба туралы" заңның қабылдануы электрондық цифрлық қолтаңбаны өз қолыңызбен аналог ретінде пайдалануды заңдастырды.
Электронды цифрлы қолтаңба
Электронды цифрлы қолтаңбаның даму тарихы
1976 жылы Диффи мен Хеллман алғаш рет "электронды цифрлы қолтаңба" ұғымын ұсынды. Бірақ олар тек ЭЦҚ схемалары болуы мүмкін деп болжады.
1977 жылы Рональд Ривест, Ади Шамир және Леонард Адлеман RSA криптографиялық алгоритмін жасап, оны қарапайым цифрлық қолтаңбаларды жасау үшін қосымша өзгертулерсіз қолдануға болады.
RSA-дан кейін көп ұзамай Рабин, Меркле цифрлық қолтаңба алгоритмдері сияқты басқа ЭЦҚ жасалды
1984 жылы Голдвассер, Микали және Ривест ЭЦҚ алгоритмдеріне қойылатын қауіпсіздік талаптарын тұжырымдап, ЭЦҚ-ға жасалған шабуылдарды сипаттады.
1994 жылы АҚШ және Ресей ЭЦҚ-ға (DSS-Digital Signature Standard, ГОСТ Р 34.10-94) қабылданған стандарттарда арнайы жасалған алгоритмдер қолданылды. Бұл алгоритмдер Эль-Гамаль және Шнорр дербес алгоритмдеріне негізделген.
Ұлттық куәландырушы орталығы Қазақстанда ЭЦҚ-ны 2008 жылдан бастап бере бастады.
2012 жылғы шілденің 1-нен бастап Қазақстан тұрғындарының жеке куәліктерге ЭЦҚ құралдарын жазу мүмкіндігі пайда болды. Әрбір азаматтың басты құжатына ЭЦҚ-ны орналастырудың басымдылығы қауіпсіз сақтау болып табылады, кілттің жасырын бөлігін көшіру мүмкіндігіне жол берілмейді.
1.2. Электронды цифрлы қолтаңбаның негізгі ұғымдары
Электрондық цифрлық қолтаңба сертификаты сертификат иесіне ЭЦҚ ашық кілтінің (тексеру кілтінің) тиесілі екенін растайтын құжат. ЭЦҚ сертификатын ҰКО шығарады, ол электрондық цифрлық қолтаңба сертификаттарын берумен және қызмет көрсетумен айналысады. Тексеру кілті сертификаты немесе ашық кілт термині бұл құжатта электрондық цифрлық қолтаңбаның жабық кілтінің иесі туралы деректер, сондай-ақ қол қойған куәландырушы орталық жөніндегі деректер бар екендігін білдіреді. Сертификат берген куәландырушы орталық ондағы деректердің дұрыстығы үшін жауап береді.
ЭЦҚ сертификатының иесі куәландырушы орталықта өз атына ЭЦҚ сертификаты берілген жеке тұлға. Әрбір сертификат иесінің қолында жабық және ашық екі ЭЦҚ кілті бар.
Электрондық цифрлық қолтаңбаның жабық кілті (ЭЦҚ кілті RSA файлы...) электрондық цифрлық қолтаңбаны жасауға әрі электрондық құжатқа қол қоюға мүмкіндік береді. Сертификат иесі жабық кілтті құпия сақтауға міндетті.
Электрондық цифрлық қолтаңбаның ашық кілті (ЭЦҚ тексеру кілкі AUTH файлы) ЭЦҚ-ның жабық кілтімен байланысты әрі ЭЦҚ-ның түпнұсқалығын тексеруге арналған.
Егер ЭЦҚ-ны қолданғың келсе, алдымен ашық кілтті қолдана отырып, өзіңді аутентификациялауың керек, ал қолтаңба жабық кілттің көмегімен қойылады.
1.3. Электронды цифрлы қолтаңбаға қолданушылардың қоятын талаптары
Қолданушыларды әртүрлі сызбалардың математикалық модельдері қызықтырмайды, ал ЭЦҚ функцияларын орындайтын бағдарламалық немесе аппараттық кешендерде болатын қасиеттер қызықтырады, яғни: цифрлік қолтаңбаның криптомықтылығы қолтаңба қойған адамның құпиялы кілтіне рұқсаты жоқ кез келген тұлғаның қолтаңбаны жасауына жол бермеу керек; қиындық бөгде адаммен ұсталған қолтаңба қойылған кұжаттардың санына байланысты болмауы керек; сақтаулы тұрған құпиялы қолтаңба түпнұсқасына санкцияланбаған пайдаланудан қорғауы керек; хэш-функцияны және бағдарламалық кешенді санкцияланбаған пайдаланудан қорғау жүйесін дұрыс таңдау. ЭЦҚ-ға шабуылды келесі классификацияға бөлуге болады: түрлері бойынша: қарапайым (өзгерту, қайталау) және күрделі (хабарламаны сәйкестендіру, тексерушінің ашық каталогына шабуыл жасау); зияндары бойынша (қолданушының бір хабарламасына немесе барлық хабарламаларына, желінің барлық қолданушыларының барлық хабарламасына); қарсыластың мүмкіншіліктері бойынша (байланыс арнасына, қолданушы компьютеріне немесе қолтаңба жүйесін жасауға мүмкіншілік алу); қарсыласқа қажетті ресурстар бойынша (уақыт, ЭЕМ). Теориялық жағынан алдын алу қиын болатын өмірлік шабуылдың үш түрін қарастырайық. Маңдайлық шабуыл. Мұны ең көп қолданылатын шабуыл деп атауға болады, бұдан негізінен бәрі қорғанады. Бұл кезде қарсыласқа қолтаңба қою және хэш-функцияны есептеу алгоритмі белгілі, сонымен қатар қуатты есептеу ресурстары да бар деп есептелінеді.
Сіздің хатшыңыздың қатысуымен өтетін шабуыл. Сіздің қарсыластарыңыздың мүддесінде жұмыс істейтін хатшы, сізге қолтаңба қоюға құжаттарды дайындайды деп есептейік. Сіз хатшыға тағы да бір керек құжатты жасауға нұсқау бердіңіз дейік. Ол құжатты сіздің қарсыластарыңызға апарып береді, олар кұжатты өзгерткен кезде бір жағынан ол өзінің мағынасын сақтап қалатындай етіп, ал мәні сіздің екінші жағынан оның хэш-функциясының қарсыластарыңыздың жасаған құжаттың хэш- функциясының мәнімен сәйкес келетіндей етеді. Әрі қарай сіз өзгертілген құжатқа қолтаңба қоясыз, ал сіздің қарсыластарыңыз ол құжаттағы қолтаңбаны кесіп алады да, басқа құжатқа тіркейді, егер енді жаңа құжаттың хэш- функциясы мәні ескі құжаттың хэш-функциясы мәнімен сәйкес келсе, онда қолтаңбаны дұрыс деп мойындайды. Бұл тәрізді қиындықтарды шешудің өзіндік таза алгоритмдік әдіс бар, оны ағылшын әдебиеттерінде ортада кездесу әдісі деп атайды. Бұл әдістің мағынасы, хэш- функцияның бір мәніне екі құжатты сәйкестендіруге болады, біріншісі сіз қолтаңба қоятын, екіншісі сіздің қолтаңбаны тіркеу.
Хэш-функциясының мәні бірдей болатын екі құжаттың болу жағдайын ағылшын тілінде коллизий деп атау қабылданған.
Тексерушіге шабуыл Орталығы жоқ желіде, әрбір қолданушы хабарлама алатын адамдардың, ашық кілттері каталогін өз компьютерінде сақтайды. Бұл жағдай орталығы бар желіде де болуы мүмкін, егер әрбір қолтаңба қойылған құжат сертификатпен жөнетілсе, яғни орталық қолтаңба қойған тағы да бір хабарламамен, оның ішінде жіберушінің аты мен ашық кілті жазылған. Мұндай жағдайда тексеруші жаққа шабуыл жасауға болады. Тексерушінің компьютерін қолдануға (уақытша болса да)рұқсаты бар қарсылас, каталогтағы сәйкес жазбаларды жәй ғана өзгертуі мүмкін, өзінің тегінің орнына сіздің тегіңізді жазып қояды. Егер ол өзі қолтаңба қойған хабарламаны жіберсе, онда өзгертілген қаталогі бар компьютерде тексеру бағдарламасы, ол хабарламаға сіз қолтаңба қойғандығыңызды көрсетеді. Сипатталған ашық кілттер каталогына шабуыл, ондағы ақпарат шифрланған болса да, кейде мүмкін болады. Алайда қарсыласқа сипатталған шабуылды орындау үшін шифрді ашу міндетті емес! Қарсылас басқа деректерді өзгертпей, өзінің және сіздің шифрланған ашық кілттер жазбаларын өзара ауыстыруы мүмкін.
Электрондық цифрлық қолтаңбаны пайдалану: мәмілені ресімдеуге және құжат алмасуға кететін уақытты едәуір қысқартуға; құжаттарды дайындау, жеткізу, есепке алу мен сақтау рәсімін (процедураны) жетілдіруге және арзандатуға; құжаттаманың шынайылығына кепілдік беруге; ақпарат алмасудың құпиялылығын арттыру есебінен қаржылық шығындар тәуекелін азайтуға мүмкіндік береді.
ЭЦҚ қолдану жөніндегі ұсыныстар негізінен қауіпсіздік мәселелеріне қатысты. Электрондық цифрлық қолтаңбаның программалық коды бұзудан сенімді қорғалған. ЭЦҚ-мен жасалған алаяқтық фактілері программалық кодты бұзу арқылы емес, компьютер, флеш-жад лен мобильді телефонның біреудің қолына түсуіне байланысты. Осылайша, алаяқтардың ЭЦҚ пайдалануына көп жағдайда қолданушылар өзі кінәлі болады.Қауіпсіздік ережелері мен тиісті нұсқауларды сақтай отырып, келеңсіз оқиғалардың алдын алуға болады. Мысалы: ЭЦҚ-мен операциялар жасау үшін пайдаланылатын компьютерге бөгде адамдардың кіруіне жол бермеу. ЭЦҚ-ның жаңа кілттерін жасаған кезде құпия сөздерді өзгерту керек. Екі немесе одан да кеп ЭЦҚ үшін бірдей құпия сөзді қолдануға болмайды, бұл бұзуды жеңілдетуі мүмкін. Егер электрондық поштаға банктен ЭЦҚ құпия сөзін сұраған немесе қосымша программа орнату туралы хат келсе, оған жауап берудің қажеті жоқ. Банк мұндай хаттарды электрондық поштағаa жібермейді. Мәселенің анық-қанығына жету үшін, банкпен өзің хабарласуың керек.
Ақпараттық қауіпсіздік ережелерін сақтауға арналған сертификаттың қолданылу мерзімі шектеулі. Сертификат бір жылға беріледі, бір жылдан соң оны ұзарту қажет.
Бұдан басқа, жабық кілттің құпиялығына күмән туса, мысалы, иесі кілтті тасымалдаушыны жоғалтып алса немесе қараусыз қалдырса, құпиясөз ұмытылса немесе деректемелер ауысса, онда сертификат кері қайтарылып, орнына жаңасы беріледі. ЭЦҚ көптеген мүмкіндіктер береді, алайда ақпараттық қауіпсіздік мәселесінде өзің өте мұқият болуың керек.
1.4. Электронды цифрлы қолтаңба түрлері
"Электрондық қолтаңба туралы" № 63-ФЗ Федералдық Заңымен электрондық қолтаңбаның үш түрі белгіленген:
:: қарапайым;
:: күшейтілген біліктілігі жоқ;
:: күшейтілген білікті.
Бұл бөлу ЭП саласындағы ресейлік және шетелдік заңнаманы жақындастыруға мүмкіндік берді және электрондық қолтаңбаларды қолдану аясын белді. Біріншіден, бұл әртүрлі мемлекеттік қызметтерді алу мүмкіндіктерінің айтарлықтай кеңеюіне ықпал етті.
Қарапайым электрондық қолтаңба
ЭҚ-нің бұл түрі кодтарды, парольдерді және өзге де құралдарды пайдалану арқылы белгілі бір жеке тұлғаның қол қою фактісін растайды.
Ол қорғау дәрежесі төмен, құжатты қолдан жасаудан немесе өзгерістер енгізуден қорғамайды жөне тек электрондық құжаттың авторын анықтауға мүмкіндік береді.
Әдетте, қарапайым электронды қолтаңба жеке және заңды тұлғалардың мемлекеттік және муниципалды қызметтерді алу үшін өтініштер мен өтініштерге қол қою үшін қолданылады: егер оны қолдану федералды заңдармен немесе басқа нормативтік құжаттармен шектелмесе. Атап айтқанда, қарапайым ЭҚ дәрігерге жазылу, жүргізуші куәлігін алу, балабақшаға кезекке қою және т. б. үшін пайдаланылады.
Кәдімгі ЭҚ алу Мемлекеттік көрсетілетін қызметтер порталында тіркелу кезінде жүргізіледі. Бұл мүлдем тегін. Қолтаңбаның бұл түрін қолдану саласы Мемлекеттік қызметтерді алу, Мемлекеттікоргандардан белгілі бір ақпаратты сұрау, мысалы:::
:: Зейнетақы қорынан жинақтар туралы ақпарат сұрау.
:: Мәліметтер алу айыппұлдар туралы ГИБДД, оларды төлеу.
:: Төлқұжат алуға өтініш беру.
:: Емханаға қабылдауға жазылу.
:: Баланы балабақшаға есепке қою және тағы басқалар.
Күшейтілген біліксіз қолтаңба
Ол жеке қол қою кілтін қолдана отырып, ақпаратты криптографиялық түрлендіру арқылы алынады. Оның көмегімен электрондық құжатқа қол қойған тұлғаны анықтауға, сондай-ақ қол қойылғаннан кейін өзгерістер енгізу фактісін анықтауға болады. Күшейтілген білікті емес ЭҚ орташа қорғаныс дәрежесіне ие. № 63-ФЗ федералды Заңы, Егер электрондық құжат айналымына қатысушылар арасында тиісті заңды келісім жасалған болса, қолтаңбаның бұл түрін өз қолымен балама ретінде пайдалануға рұқсат етеді. Бірақ білікті емес ЭҚ-мен қол қойылған электрондық құжаттар салық және басқа да бақылаушы органдар өз қолымен қол қойған қағаз құжаттарына тең деп танылмайтынын түсіну керек. Бүгінгі таңда білікті емес қолтаңбаны қолданудың кең таралған саласы сауда-саттыққа және Мемлекеттік сатып алуға қатысу.
Күшейтілген білікті қолтаңба
Ол күшейтілген білікті емес схемамен жасалады, бірақ оны құру және тексеру үшін Ресей Федерациясының Федералды қауіпсіздік қызметі сертификаттаған крипто-қорғаныс құралдары қолданылады. Білікті ЭҚ сертификаттарын аккредиттелген куәландырушы орталықтар ғана беруге құқылы.
Электрондық құжаттағы қолтаңбаның бұл түрі өз қолымен қойылған қолдың және қағаз құжаттағы мөрдің толық аналогы болып табылады. АҚҚ, АҚҚ, ҚБҚ сияқты бақылаушы органдар білікті ЭҚ қол қойған электрондық құжаттардың ғана заңды күшін таниды.
Білікті ЭП қорғаудың жоғары дәрежесіне ие. Оны электрондық құжат айналымына қатысушылар арасында пайдалану қосымша келісімдерге қол қоюды талап етпейді.
Есептіліктің кейбір түрлері үшін білікті ЭҚ пайдалану нормативтік құжаттармен анықталған:
:: Салық инспекциясына декларация;
:: Росстатқа ұсыну үшін жылдық бухгалтерлік есеп;
:: РСВ-1 нысандары.
:: Электрондық қолтаңбаның күшейтілген белгілері:
:: Ол жеке (белгілі бір адамға тиесілі), әр пайдаланушы әртүрлі.
:: Ол қарапайым қолтаңбамен салыстырғанда күрделі әрекеттерді орындау үшін қолданылады.
:: Ол арнайы медиаға жазылады (әдетте флэш-диск).
:: Оның шектеулі мерзімі бар.
:: Егер барлық қажетті құжаттар ұсынылса, куәландырушы орталық береді.
Есептіліктен басқа, білікті ЭҚ электрондық шот-фактураларға, салық органында есепке қою немесе есептен шығару туралы өтініштерге, сондай-ақ салық сомасын қайтару немесе есепке алу туралы етін терге қол қою. Денсаулық сақтау министрлігіне лицензиялауға құжаттар беру және т. б. үшінпайдаланылады.
"Гарант" сертификаттау орталығы ЭҚ беруге аккредиттелген. Біздің мамандар қолтаңбаның қажетті түрін таңдауға көмектеседі, барлық құжаттарды дайындайды, сондай-ақ сәйкестендіруді жүргізеді.
1.5 Электронды цифрлы қолтаңба алгоритмдері
Электрондық қолтаңба алгоритмдері кәдімгі сандық қолтаңба және құжатты бастапқы қалпына келтіретін сандық қолтаңба болып бөлінеді. Құжатты капнына келтіретін сандық қолтаңбаны тексеру кезінде, құжат мәтіні автоматты түрде бастапқы қалпына келеді, оны қолтаңбаға тіркестіріп қажеті жоқ. Кәдімгі сандық қолтаңбалар құжатты қолтаңбаға тіркеуді талап етеді. Құжаттың хешіне қол қоюға арналған барлық алгоритмдер кәдімгі электрондық қолтаңбаға жатады. Құжатты бастапқы қалпына келтірумен электрондық қолтаңбаға RSA да жатады
RSA сандық қолтаңба алгоритмі
Бірінші және бүкіл әлемге танымал электрондық сандық қолтаңбаның нақты жүйесіне RSA жүйесі жатады. Оның математикалық схемасы 1977 жылы АҚШ-та Массачуссетс технологиялық институтында құрастырылды.
Ең алдымен кілттер жұбын шығарып алу керек (ашық және жабык кілт). Бұл үшін электрондық құжат жіберуші (автор) екі үлкен қарапайым Р және Q сандарын шығарып алып, одан кейін олардың орындалуы N=P * Q мен функциясының мәнін табады (N) = (P-1)(Q-1). Одан соң жіберуші талаптан Е санын шығарып алады: Е (N), НОД (Е, (N)) = 1 және талаптан D санын: DN, E*D 1 (mod (N)).
Сандар жұбы 1 (E, N) ашық кілт болып табылады. Бұл сандар жұбын автор оның сандық қолтаңбасын тексеру үшін хат алмасушы әріптесіне жібереді. D саны автормен колтаңбалау үшін жабық кілт ретінде сақталады.
Жіберуші М хабарын жібермес бұрын қолтаңбалағысы келеді деп есети Еп алдымен М хабарламасы хэш функция көмегімен жалпы m санына қысады. m = h(M). Одан кейін хэн мәні т мен D жабық кілтін қолдана оты электрондық құжатынан Ѕ сандық қолтаңбасын шығарады: S=mD (mod N).
Жұптар (М,Ѕ) S сандық қолтаңбасылd.kz мен қолтаңбаланған М электрондық құжаты ретінде әріптес кабылдаушыға жіберіледі және Ѕ қолтаңбасы D жабық кілт-неленушісімен құрастырылды.
Жұпты кабылдап алғаннан кейін (M,S) алушы М хабарламасының хэш - мәнін екі әдіспен шығарады. Ең алдымен, ол m' хэш мәнін Е ашық кілтін пайдаланып, қолтаңбаның криптографиялық өзгермесін қолдана отырып қалпына келтіреді: m' SE (mod N).
Сонымен қатар, сондай хэш- ол хэштау нәтижесін хабарламасының - функцияның көмегімен табады һ(*): m = h(M).
Егер шығарылған мәндердің теңдігі сақталса, яғни SE (mod N) = h(M), онда алушы жұпты (М, S) жалған деп таниды. D құпия кілтінің иеленушісі ғана Ѕ сандық қолтаңбасын М құжаты бойынша құрастырып шығара алатындығы дәлелденген, ал D құпия кілтін Е ашық кілті бойынша анықтау N модулін көбейгіштікке орналастырудан гөрі оңай емес.
Сонымен қатар, қатан математикалық түрде, Ѕ сандық қолтаңбасы тексерісінің корытындысы, есептеуде Е ашық кілтіне сәйкес келетін D құпия кілті кольпиадган жагдайда ғана нәтижелі болатындығын дәлелдеуге боладандыктан да, Е ашық кілтін кейде қол қоюшының идентификаторы деп те атайды.
Эль Гамал сандық қолтаңбасының алгоритмі (EGSA).
1984 жылы тегі араб американдық Тахер Эль Гамал жеке компьютерлерде қолдануда ыңғайлы және сенімді сандық қолтаңба алгоритмін даярлады. 1991 жылы АҚШ СҒҰИ (НИСТ) АҚШ Конгрессі комиссиясының алдында Эль Гамал сандық қолтаңбасы алгоритмінің ұлттық стандарт негізіне таңдап алынғандығын дәлелдеп шықты.
EGSA атауы Эль Гамал сандық қолтаңбасының алгоритмі деген сөзден шығады. EGSA идеясы сандық қолтаңбаны бұрмалау мүмкіндігін жоққа шығару үшін аса күрделі санау есебін пайдалануға негізделген және ол дискреттік логарифмдеу есебі деп аталады. Сонымен қатар, Эль Гамал RSA сандық қолтаңбасына тән кейбір хабарламаларға қойылған сандық қолтаңбаны нақты құпия кілтті білмей тұрып - ақ бұрмалаумен байланысты әлсіздігінен құтылды.
Эль Гамал сандық қолтаңбасының алгоритмін толықтай қарастырып көрелік. Кілттер жұбын (ашық кілт құпия кілт) генерациялау үшін, алдымен карапайым тұтас сан G таңдалады және GIP. Қол қойылған құжатты жіберуші мен алушы, санау кезінде бірдей Р (-10308 немесе -21024) үлкен тұтас санын және G (-10154 немесе -2512) құпия тұтас санын пайдаланады. Жіберуші Х, 1 Х (Р-1) кездейсоқ тұтас санын таңдай отырып Y = GX mod P есептеп шығарады. Y саны жіберушінің қолтаңбасын тексеру үшін пайдаланылатын ашық кілт болып табылады. Y саны құжатты алушылардың барлығына ашық жіберіледі.
Хеш - функция
2.1 Хештеу туралы қысқаша тарихы
Хеш функциялар информатикадағы іргелі тұжырымдама болып табылады және деректер құрылымы, криптография және цифрлық қолтаңбалар сияқты әртүрлі салаларда көптеген қолданыстарға ие. Олар әртүрлі пайдалану жағдайларында қауіпсіз және пайдалы ететін детерминирленген және қайтымсыздық сияқты қасиеттерімен танымал және осы жағынан алғанда ақпараттардың қауіпсіздігі, бүтіндігі мен аутентивтігін қамтамасыз ету бағытында үлкен сұранысқа ие.
Хеш функциялар 20 ғасырдың басында деректердің тұтастығын тексерумақсатында жасалған. 1953 жылы Харви Дэвис пен Гаррет Мейер деректердің тұтастығын тексеру үшін алғашқы хеш функциясын ұсынды. 1964 жылы К. Евклид пен С. Лампорт хеш-кесте деп аталатын мәліметтер құрылымын құру үшін хеш функцияны қолданды. Осы уақыттан бері олар деректер құрылымы, ақпараттық жүйелердің қауіпсіздігі, криптография сияқты әртүрлі салаларда қолданылып келеді. Уақыт өте келе криптографияның дамуымен бірге хеш функциялар сандық қолтаңбаларды жасау үшін, сондай-ақ әртүрлі қосымшалардағы деректердің тұтастығын бақылау үшін қолданыла бастады. 1980 жылдары кеңінен қолданыла бастаған MD4, MD5 және SHA1 сияқты әртүрлі хеш алгоритмдері жасалды. Кейінгі жылдары бұл алгоритмдердегі кейбір әлсіздіктер белгілі болды, бұл SHA-2 және SHA-3 сияқты заманауи және қауіпсіз алгоритмдердің дамуына әкелді. Соңғысы 2015 жылы жасалған және бүгінгі күнге дейін ең сенімді хеш алгоритмдерінің бірі болып табылады. Жалпы, хеш функцияларын дамыту олардың қауіпсіздік қасиеттері мен орындалу жылдамдығын арттыру бағытында жүреді. Қазіргі заманғы хеш функциялары жоғары қауіпсіздік қасиеттері мен өнімділікке ие. Заманауи хеш функцияларының дизайны жылдамдық, коллизияға төзімділік және шабуылдан қорғау сияқты әртүрлі факторларды қамтиды.
IT-индустрияға арналған стандарттар халықаралық техникалық регламенттермен үйлесуі тиіс, өйткені әр мемлекет әлемдік экономикаға интеграциялануда. Ақпараттық қауіпсіздік саласында әрбір мемлекет криптография саласында өзінің ұлттық стандарттарын әзірлеуге ұмтылады. Көптеген ұйымдар мен елдерде хештеудің өзіндік стандарттары бар. 2018 жылы ISO және МЭК (Халықаралық электротехникалық комиссия) ұсынған ISOIEC 10118-3:2018(E) дүниежүзілік стандарттауға арналған мамандандырылған жүйесінде 17 алгоритм халықаралық хештеу алгоритмдері мәртебесіне ие болды, атап айтқанда, RIPEMD-160, RIPEMD-128, SHA-1, SHA-256, SHA-512, SHA-384,
Whirlpool, SHA-224, SHA-512224, SHA-512256, Streebog-512, Streebog-256, SHA3-224, SHA3-256, SHA3-384, SHA3-512, SM3 [9].
АҚШ-тың NIST - Ақпараттық технологиялар және криптография саласындағы стандарттарды әзірлейтін ұйымы SHA-1, SHA-2 және SHA-3 сияқты көптеген хеш алгоритмдерінің стандарттарын жариялады. Ұйым 2015жылы SHA-3 (Keccak хеш функциясы) айнымалы ұзындықты хештеу алгоритмі негізінде FIPS 202 мемлекетті
стандартын бекітіп жариялады. Алгоритм ең көп қолданылатын сұлбалардың бірі болып саналатын Sponge криптографиялық сорғыш құрылымына негізделген [10]. Қазіргі уақытта ғылыми қауымдастық өзінің соңғы нұсқасының беріктігі туралы көптеген зерттеулер жүргізетіні белгілі, өйткені SHA-3-тің алдыңғы нұсқалары бұзылған немесе осалдықтары анықталған. SHA-3-те хештеу процесі екі кезеңнен тұрады: сіңіру және қысу. Бірінші қадамда әрбір тұрақты ұзындықтағы хабарлама блогы R бит матрицаның ағымдағы күйіне қосылады және f қысу функциясының 24 раунды орындалады. Екінші қадамда күй матрицасы f қысу функциясын итеративті орындау арқылы қажетті хеш-мән ұзындығына дейін кесіледі [11].
2016 жылы Қытай елі GBT 32905-2016 Ақпараттық қауіпсіздік технологиясы. SM3 криптографиялық хештеу алгоритмі стандартын бекітті [12]. SM3-256 биттік хеш алгоритмі M хабарламасы үшін 256 биттік хеш-мәнін жасайды және Меркл-Дамгард құрылымын қолданады. Ол негізінен электрондық қолтаңбаларда, криптографиялық бақылау сомаларында және жалған кездейсоқ сандар генераторларында қолданылады.
Ресей Федерациясында ГОСТ Р 34.11-2018 мемлекетаралық стандарты қолданысқа енгізілді. Бұл стандарт 2012 жылғы қабылданған ГОСТ Р 34.11- 2012. Ақпараттық технология. Ақпаратты криптографиялық қорғау. Хештеу функциясы стандартын қолдану негізінде түзетулер мен толықтырулар бойынша дайындалған. Алгоритм кіріс блогының ұзындығы 512 бит және хеш- мәннің ұзындығы 256512 бит болатын хеш функциясын сипаттайды. Ол үш түрлендіруге негізделген қысу функциясын қолданады: сызықтық емес биективті түрлендіру, байттық ауыстыру, сызықтық түрлендіру [13]. Бұл стандарт Армения, Қырғызстан, Түрікменстан Республикаларында және Тәжікстанда қолданылады.
2015 жылдан бастап Украинада DSTU 7564:2014. Ақпараттық технологиялар. Ақпаратты криптографиялық қорғау. Хештеу функциясы мемлекеттік стандарты енгізілді [14]. Ол ГОСТ 28147:2009 мемлекетаралық стандартын біртіндеп ауыстыруға арналған. Стандарттағы Купина хештеу функциясы Дэвис-Мейер схемасын қолданады және оның примитивтері
Калина блоктық шифрлау алгоритміне негізделген.
2020 жылдан бастап Беларусь Республикасында СТБ 34.101.77-2016 стандарты орнына СТБ 34.101.77-2020. Ақпараттық технологиялар және қауіпсіздік. Sponge функциясына негізделген криптографиялық алгоритмдер жаңа стандарты күшіне енді [15]. 1536 бит ұзындықтағы екілік сөздердің күрделі биективті түрленуін анықтайтын Sponge-функциясы bash-f және bash-s алгоритмдерінен тұрады. Хеш-мән ұзындығы беріктілік деңгейі 𝑙𝑙 ∈ {128, 192, 256} параметрімен анықталады, яғни осы мәндерге тең.
Біздің елімізде хештеу алгоритмі бойынша Қазақстан Республикасының Ұлттық стандарты болып ҚР СТ ГОСТ Р 34.11-2015 Ақпараттық технология. Ақпаратты криптографиялық қорғау. Хэштеу функциясы 2017 жылдың 1 қаңтарынан бастап қолданысқа енгізілді. Ескере кететіні, бұл ұлттық стандарт Ресей Федерациясының ГОСТ Р 34.11-2012. Ақпараттық технология.
Ақпаратты криптографиялық қорғау. Хештеу функциясы стандартының көшірмесі болып табылады [16, 17].
Қазақстан Республикасы негізінен халықаралық стандарттарды және шетелдік аппараттық және бағдарламалық қамтамасыз ету жасақтамаларын пайдаланады. Ақпаратты криптографиялық қорғаудың отандық алгоритмдерін, соның ішінде хештеу алгоритмдерін құру өзекті және қажетті міндет болып табылады.
2.2 Хештеу туралы негізгі түсінік
Хэштеу процесі-әртүрлі ұзындықтағы деректерді бекітілген хэш кодына түрлендіру. Бұл процесс бір жақты, яғни бастапқы деректерді хэштен қалпына келтіру мүмкін емес. Деректердің тұтастығын, аутентификациясын және қауіпсіздігін қамтамасыз ететін криптография саласында хэштеу маңызды.
Хеш функциялар информатика және ақпараттық қорғау саласында негізгі ұғым болып табылады және деректер құрылымы, криптография және цифрлық қолтаңбалар сияқты әртүрлі қолданбаларда кеңінен қолданылады. Қарапайым тілмен айтқанда, хеш функциялар ақпарат тізбегі (хабарлама) немесе кілт (пароль) деп аталатын кірістерді қабылдайды және хеш-мән (кейде хеш-кескін немесе дайджест) деп аталатын тұрақты ұзындықтағы шығыс мәнді шығарады.
Анықтама 1. H(М) хеш функциясы - еркін ұзындықтағы М ақпарат тізбегін (жолын) кіріс ретінде қабылдайтын және нәтиже ретінде алдын-ала белгіленген ұзындықтағы h ақпарат тізбегін (жолын) беретін функция.
Анықтама 2. M ақпарат тізбегін хештеу нәтижесі h=Н(M) - хеш-мән деп аталады.
М ақпарат тізбегі мен Н(M) хеш-мән ұзындықтары ара-қатынасы әртүрлі болуы мүмкін: мысалы, M Н(M) немесе M Н(M) немесе M = Н(M), мұндағы * - белгілеуі ақпараттың немесе хеш-мәннің ұзындығын білдіреді. Көп жағдайда ақпарат тізбегінің ұзындығы хеш-мән ұзындығынан едәуір үлкен болып жатады.
Анықтама 3. Хеш функцияның нәтижесі хеш-мән деп аталатындықтан, М ақпараттар тізбегі кейде түпбейне (прототип немесе бірінші прототип) деп аталады.
Анықтама 4. m ұзындықтағы барлық екілік тізбектер жиыны {0, 1}[m] деп, ал барлық ақырлы ұзындықтағы екілік тізбектер жиыны {0, 1}* деп белгіленсін. Онда Н хеш функциясы деп мына түрдегі түрлендіруді айтады:
Н : {0, 1}*--{0, 1}m, (1.1)
мұндағы m - хеш-мәннің ұзындығы. Н хеш функциясы кейде һ болып белгіленеді.
Хеш функцияның жалпы сұлбасы төменгі Сурет 2.1-де көрсетілген. Мұнда:
𝑀𝑀 = {𝑚𝑚0, 𝑚𝑚1, ... , 𝑚𝑚𝑡𝑡} - итерациялық түрде хештеу үшін М хабарламаны бекітілген ұзындықтағы t бөлікшелерге бөлінуі, i=1,2,...,t, t - M хабарламадағы бөлікшелер саны, h0 - инициализациялық вектор (IV). H(M) - M
Сурет 2.1 - Н(М) хеш функцияның жалпы сұлбасы
Анықтама 5. Хеш функциядағы коллизия деп әртүрлі екі М1 және М2 хабарламалар үшін H(M1)=H(M2) орындалу жағдайын айтады. Басқаша айтқанда, екі әртүрлі кіріс үшін хеш функцияның мәндері тең келеді. Келесі Сурет 1.2-де M3 и M5 коллизия тудыратын хабарламалар.
Сурет 2.2 - Н(М) хеш функциясының М3 және М5 хабарламалары тудырған коллизия
Анықтама 6. Әдетте, бекітілген нүкте деп мына жағдайды айтады: hi=H(hi-1,Mi)=hi-1, i=1,2,...,t, t - M хабарламадағы бөлікшелер саны, i=1 болған жағдайда, h0=IV.
Хеш функциясының қауіпсіздігі қасиеттеріне уақыт өте келе есептеу қуаты артқан сайын қауіп төнуі мүмкін екенін ескеру маңызды. Сондықтан олардың әлі де қауіпсіз қасиеттерге ие екеніне көз жеткізу үшін қауіпсіздік қолданбаларында қолданылатын хеш функциялардың қасиеттері мен мүмкіндіктерін үнемі қайта қарап, жаңартып отыру тиіс.
Кез-келген хештеу алгоритмдерін құру кезінде келесідегідей қасиеттерге ие болуы қамтамасыз етілуі тиіс:
Анықталғандық (детерминирленген) - бірдей кіріс хабарламалар үшін хеш функция әрқашан бірдей нәтижелер беруі.
Бірбағыттылық (қайтымсыздық) - бұл хеш функцияның шығыс нәтижесі бойынша бастапқы кірістерді (хабарламаны) математикалық тұрғыдан есептеу алудың мүмкін еместігі.
Бекітілген ұзындық - кез-келген ұзындықтағы деректерді белгіленген ұзындықтағы хеш-мәнге түрлендірудің орындалуы.
Тиімділік (өнімділік) - үлкен есептеу ресурстарын қажет етпеуі және жылдам орындалуы.
Лавиндік эффекті - кіріс хабарламаның шамалы өзгеруі шығыс хеш- мәннің айтарлықтай өзгеруіне әкелуі.
Ашықтық пен қолжетімділік - хеш функцияның криптографиялық қауіпсіздік қасиеттерін зерттеу үшін оның алгоритмі қолжетімді болуы.
2.3 Хеш функцияның төзімділігі және қауіпсіздігі
Қазіргі таңда кез-келген хештеу алгоритмдерге қойылатын негізгі классикалық талаптар бар. Бұл талаптар хеш функциясының қажетті қауіпсіздік қасиеттерін қамтамасыз етуін және әртүрлі қолданбаларда тиімді пайдаланылуын қамтамасыз етеді. Осы талаптардың кез-келгенін орындамау қауіпсіздік осалдығына немесе басқа мәселелерге әкелуі мүмкін. Бұл талаптарға мыналар жатады:
Коллизияға төзімділік;
Түпбейнеге (бірінші прототипке) төзімділік;
Екінші түпбейнеге (екінші прототипке) төзімділік.
Енді осы көрсетілген үш талапқа кеңінен тоқталып кетейік.
Коллизияға төзімділік (CR - Collision-Resistance):Хеш функциядағы коллизия кез-келген әртүрлі екі хабарламалардың хеш- мәні бірдей болған кезде пайда болады. H хеш функциясы коллизияға төзімділік талабы орындалуы үшін H(M) белгілі болған жағдайда H(M)=H(M') орындалатын кез-келген бір-біріне тең емес M және М' хабарламаларын (M!=M') есептеп табу мүмкін болмауы керек (Сурет 1.3). Формальды түрде, H хеш функциясындағы коллизияны анықтаудағы A қарсыластың мүмкіндігі келесідей анықталады:
𝐴𝐴𝐴𝐴𝐴 (қысқ., advantage) - артықшылық, мүмкіндік. Аталған талаптың графикалық нұсқасын келесі Сурет 2.3-тен көруге болады.
Сурет 2.3 - Коллизияға төзімділік (CR - Collision-Resistance) жағдайы
Түпбейнеге (Pre - Pre-image Resistance, бірінші прототипке) төзімділік:Түпбейнеге төзімділік деп - H хеш функциясына кері функцияны
есептеудің тиімді полиномиалдық алгоритмінің болмауы, яғни нақты уақытта (қайтымсыздық) белгілі хеш-мән арқылы М түпбейнесін есептеп қалпына келтіру мүмкін емес. Бұл қасиет хеш функция бір жақты функцияға пара-пар дегенді білдіреді. Яғни, әзірше белгісіз М хабарламаның белгілі H(M) хеш-мәні арқылы кері қарай М түпбейнесіне көше алмауы немесе кез-келген басқа M'!=M түпбейнесін (мұндағы H(M')=Н(М)) есептеп шығарудың мүмкін болмауы жағдайы. Әдетте, хеш функция коллизияға төзімділік танытса, ол түпбейне төзімділігіне кепілдік бермейді, бірақ хеш функция түпбейнеге жеткілікті түрде төзімділік танытса, онда ол колизияға төзімділікті де қамтамасыз ете алады, яғни 1-ші талап орындалса, 2-ші талап орындала бермейді, ал керісінше - орындалады (Сурет 2.4). H хеш функциясындағы түпбейнені анықтаудағы A қарсыластың мүмкіндігі келесідей анықталады:
Сурет 2.4 - Түпбейнеге (Pre - Pre-image Resistance) төзімділік жағдайы
Екінші түпбейнеге (Sec - 2nd Pre-image Resistance, екінші прототипке) төзімділік:Алдын-ала белгілі М түпбейнесінен H хеш функциясы арқылы алынған h=H(M) хеш-мәнін пайдаланып, H(M) = H(М') орындалатын қандай да бір M' түпбейнесін (мұндағы M!=M') нақты уақытта есептеп шығару мүмкіндігі болмаса, H хеш функциясы екінші түпбейнеге төзімділік танытады деп айтады (Сурет 2.5). Осы жағдайды А қарсыласқа қатысты былай сипаттауға болады:
Сурет 2.5 - Екінші түпбейнеге (Sec - 2-nd Pre-image Resistance) төзімділік жағдайы
Жоғарғы сипатталған үш талап хештелген ақпараттың дәйектілігін қамтамасыз
Ету үшін маңызды роль атқарады. Тұтастай алғанда, хеш функциясын құру және енгізу оның мақсатты пайдалану жағдайына сәйкес келуін қамтамасыз ету үшін қауіпсіздік, тиімділік және қарапайымдылық арасындағы тепе-теңдікті қамтамасыз етуі керек. Сенімді жасалған хеш функциялардың қауіпсіздігі қасиеттерінің жоғарғы үш талаптың қатысымен төмендегідей бағаланады:
Хеш функцияның коллизияға төзімділік (CR - Collision-Resistance) жағдайы үшін коллизияны анықтауға арналған ең жақсы шабуыл туған күн шабуылынан жақсы болмауы керек. Яғни, хеш осы талапқа сай болу үшін коллизияны іздеудегі ең тиімді шабуыл Туған күн парадоксі шабуылы болуы керек. Бұл шабуылдан басқа тиімді шабуыл табылмауы және барлық шабуылдар түрлерінің есептеу күрделілігі 2n2 -ден жоғары болуы керек, мұндағы n - хеш- мән ұзындығы (битпен).
Жақсы жасалған қауіпсіз хеш функция үшін екінші талап мына тұрғыда орындалуы керек: хеш функцияның түпбейнені қалпына келтіруге төзімді болуы үшін хеш функциясына қарсы ең жақсы шабуыл дөрекі күшті шабуыл болуы керек, яғни, n ұзындықтағы хеш-мән беретін хеш функциясы үшін операциясының күрделілігі 2n-нен жоғары болуы керек.
Жақсы жасалған қауіпсіз хеш функция үшін үшінші шарт келесідегідей сипатталады: хеш функцияның екінші түпбейнені қалпына келтіруге төзімді болуы үшін хеш функциясына қарсы ең жақсы шабуыл дөрекі күшті шабуыл болуы керек.
Хеш функциялардың қауіпсіздігін қамтамасыз ететін басқа да қосымша қажетті қасиеттер бар [20]. Дегенмен, бұл қасиеттердің кейбіреулерін кейбір хеш қатысатын қолданбалар қажет етпеуі мүмкін.
Жақын коллизияларға төзімділік (Near-collision resistance): бір-бірінен өзгеше екі хабарламаның хеш мәндері бір-бірінен айтарлықтай ерекшеленуі керек (тіпті хабарламалар бір-бірінен сәл ғана өзгеше болса да). Басқаша айтқанда, екі түрлі М және М' (M != M') хабарламалары үшін олардың хеш- мәндері H(M) және H(M') бір-бірінен аз ғана биттерге ерекшеленетін болса,онда осындай жағдайда жақын коллизиялар туындайды. Жақсы құрылған хеш функция осындай жағдай туындатпауы тиіс.
Псевдоколлизияларға төзімділік: псевдоколлизия (немесе еркін іске қосу коллизиясы) екі хабарлама арасындағы коллизияны тек инициалицациялық векторды (IV-ді) басқару арқылы анықтауға болатын кезде пайда болады. Бұл шабуыл іс жүзінде көп қолданбайды, өйткені хеш функцияларының көпшілігінде IV алдын-ала бекітілген. Сол себепті, қарсылас IV-ді өзгерте алмайды.
Түпбейнеге (прототипке) ішінара төзімділік: белгілі хеш-мән арқылы бастапқы хабарламаның бір бөлігін қалпына алу, сондай-ақ хабарламаның бір бөлігі бұрыннан белгілі болса да, бүкіл хабарламаны қалпына келтіре алу есептеу жағынан қиын болуы тиіс.
2.4 Хеш функцияға бағытталған шабуылдар
Хеш функциялар криптография және цифрлық қолтаңбалар қосымшаларында дұрыс және қауіпсіз жұмыс істейтініне көз жеткізу үшін оның сапасын бағалау - міндетті атқарылатын зерттеу жұмыстардың бірі болып саналады. Хеш функцияның сапасын бағалау критерийлері ретінде оған қойылатын жоғарыда айтылған талаптар мен қасиеттерін қарастыруға болады, атап айтқанда:
Коллизияға төзімділік: жақсы хеш функция бірдей хеш-мән беретін екі кірісті табуды қиындатуы керек.
Бірінші және екінші прототипке төзімділік: жақсы хеш функциясы көрсетілген хеш нәтижесін беретін кірістерді табуды қиындатуы керек.
Лавиндік эффекті: хабарламаның шамалы өзгеруі хеш-мәннің айтарлықтай өзгеруіне әкелуі керек.
Диффузия: хеш функция хабарламаны шығыс биттеріне біркелкі таратуы керек.
Тиімділік: жақсы хеш функциясы есептеуде жылдам болуы керек және аз операция орындалуы қажет етеді.
Әмбебаптық: жақсы хеш функциясы кірістер мен кірістердің кең ауқымы үшін жақсы жұмыс істеуі керек.
Анықталғандық: әрқашан бірдей кіріс үшін хеш функциясының шығысы бірдей болуы керек.
Хеш-мәннің ұзындығы: шығыс ұзындығы қолданбаға сәйкес келуі керек және коллизия шабуылдарының алдын-алу үшін жеткілікті үлкен болуы керек.
Криптографиялық қауіпсіздік қасиеттері: криптографиялық қауіпсіздікті қажет ететін қосымшалар үшін хеш функция берік математикалық негізге ие болуы немесе дәлелденген криптографиялық примитивтерден жасалуы керек және мұқият талдау мен тестілеу арқылы қауіпсіз түрде дәлелденуі керек.
Ашықтық: хеш функциясында шабуылдаушы қолдана алатын жасырын функциялар немесе әлсіз жерлер болмауы керек.
Криптографиялық және статистикалық талдауларға негізделген (дифференциалды, сызықтық, алгебралық және т.б.) шабуылдарға төзімділік: жақсы хеш функциясы аталған шабуылдарға осал болмауы керек, алгоритм сұлбасы негізінде шабуылдаушы кірістер (хабарламалар, кілттер, инициализациялық векторлар) мен шығыстар (хеш-мәндер) арасындағы айырмашылықтарды талдай отырып, кіріс туралы ақпаратты ала алмауы керек.
Бұл критерийлер хеш мүмкіндіктерінің қауіпсіз және нақты қолданбаларда пайдалануға жарамды екеніне көз жеткізуге көмектеседі.
Хеш функциясына шабуыл оның сапасы мен қауіпсіздік қасиеттерін бағалап қана қоймай, оны одан әрі жетілдірудің бірден-бір жолы ретінде қарастыруға болады. Хеш функциясына шабуыл - бұл хеш функцияларының қауіпсіздік қасиеттері мен талаптарының бірінің немесе бірнешеуінің дұрыс орындалмауын дәлелдеуге бағытталған әс-әрекеттер. Мысалы, түпбейнеге төзімділікті бұзу (сындыру) дегеніміз, шабуылдаушы түпбейнеге қалпына келтіріле алмау қасиетін бұзуы, яғни ол белгілі хеш-мән арқылы хабарламаны жасай алады. Шабуылдар көбінесе хеш функциясының құрылымына немесе қысу функциясының алгоритміне бағытталады. Жалпы, хеш функцияларда оған жасалатын шабуылдарды төменгі көрсетілген сұлба бойынша сипаттауға болады (Сурет 2.6). Сұлба бойынша хеш функцияларына шабуылдарды екі үлкен санатқа бөлуге болады .
Сурет 2.6 - Хеш функцияларға жасалатын шабуыл түрлерінің жіктелуі
Brute force шабуылдары. Brute force шабуылдары алгоритмдердің құрылымдарына және кез-келген басқа сипаттамаларға қарамастан барлық хеш функцияларына жүргізуге болады. Олар шифрлау алгоритмдеріндегі құпия кілтті алу үшін толық іздеу немесе кілтті қалпына келтіру әдістеріне ұқсас. Кез- келген хеш функциясының қауіпсіздігі оның хеш-мән ұзындығына байланысты. Төменгі Кесте 2.1-де осы қауіпсіз хеш функциялар үшін ең тиімді шабуыл түрлері, сондай-ақ олардың есептеу күрделілігі көрсетілген.
Кесте 2.1 - Жақсы жасалған қауіпсіз хеш функция үшін тиімді шабуылдар
Талаптар
Коллизияға төзімділік
... жалғасы
Ұқсас жұмыстар
Пәндер
- Іс жүргізу
- Автоматтандыру, Техника
- Алғашқы әскери дайындық
- Астрономия
- Ауыл шаруашылығы
- Банк ісі
- Бизнесті бағалау
- Биология
- Бухгалтерлік іс
- Валеология
- Ветеринария
- География
- Геология, Геофизика, Геодезия
- Дін
- Ет, сүт, шарап өнімдері
- Жалпы тарих
- Жер кадастрі, Жылжымайтын мүлік
- Журналистика
- Информатика
- Кеден ісі
- Маркетинг
- Математика, Геометрия
- Медицина
- Мемлекеттік басқару
- Менеджмент
- Мұнай, Газ
- Мұрағат ісі
- Мәдениеттану
- ОБЖ (Основы безопасности жизнедеятельности)
- Педагогика
- Полиграфия
- Психология
- Салық
- Саясаттану
- Сақтандыру
- Сертификаттау, стандарттау
- Социология, Демография
- Спорт
- Статистика
- Тілтану, Филология
- Тарихи тұлғалар
- Тау-кен ісі
- Транспорт
- Туризм
- Физика
- Философия
- Халықаралық қатынастар
- Химия
- Экология, Қоршаған ортаны қорғау
- Экономика
- Экономикалық география
- Электротехника
- Қазақстан тарихы
- Қаржы
- Құрылыс
- Құқық, Криминалистика
- Әдебиет
- Өнер, музыка
- Өнеркәсіп, Өндіріс
Қазақ тілінде жазылған рефераттар, курстық жұмыстар, дипломдық жұмыстар бойынша біздің қор #1 болып табылады.

Ақпарат
Қосымша
Email: info@stud.kz
Реферат
Курстық жұмыс
Диплом
Материал
Диссертация
Практика
Презентация
Сабақ жоспары
Мақал-мәтелдер
1‑10 бет
11‑20 бет
21‑30 бет
31‑60 бет
61+ бет
Негізгі
Бет саны
Қосымша
Іздеу
Ештеңе табылмады :(
Соңғы қаралған жұмыстар
Қаралған жұмыстар табылмады
Тапсырыс
Антиплагиат
Қаралған жұмыстар
kz