Билет 3
1. Асимметриялық криптожүйелер. RSA алгоритмі.
2. Модуль N = 88. φ(N) = ? Эйлер функциясын есептеңіз.
Жауаптары
1 сұрақ. Асимметриялық криптожүйелер-бұл кілт жұптарын қолданатын криптографиялық жүйелер: ашық және жеке кілт. Асимметриялық шифрлаудың ең танымал және кеңінен қолданылатын алгоритмдерінің бірі-RSA (Rivest-Shamir-Adleman) алгоритмі.
RSA алгоритмі үлкен бүтін сандарды факторизациялаудың математикалық күрделілігіне негізделген. Оның негізгі қадамдары:
Кілттерді құру:
P және q екі үлкен жай сандарды таңдау.
Олардың n = p * q көбейтіндісін есептеу, ол шифрлау модуліне айналады.
Эйлер функциясын есептеу φ (n), бұл n-мен өзара қарапайым сандар саны.
Бүтін сан болып табылатын e ашық кілтін таңдау φ(n) - мен өзара қарапайым.
Φ(n) модулі бойынша e-ге мультипликативті түрде кері болатын d жеке кілтін есептеу, яғни(e * d) MOD φ (n) = 1.
Хабарламаны шифрлау:
Хабарламаны m сандық көрінісіне түрлендіру.
C = m^e MOD N формуласы бойынша c Шифр мәтінін есептеу.
Хабарламаны декодтау:
M = C^D mod N формуласы бойынша бастапқы m хабарламасын есептеу.
RSA алгоритмі келесі қасиеттерге ие:
Ашық кілтті пайдаланып шифрлау, жеке кілтті пайдаланып шифрды ашу.
RSA алгоритмінің қауіпсіздігі үлкен сандарды факторизациялау қиындықтарына негізделген.
RSA сонымен қатар цифрлық қолтаңбаларды жасау, аутентификация және кілттерді бөлісу үшін қолданылады.
Маңыздысы, RSA алгоритмінде кейбір шектеулер бар және шифрлаудың қауіпсіздігі мен тиімділігін қамтамасыз ету үшін параметрлерді дұрыс таңдауды қажет етеді.
2 сұрақ. N = 88 модулі үшін Эйлер (φ) функциясын есептеу үшін n-ден кіші және онымен өзара қарапайым натурал сандардың санын анықтау қажет.
Φ(N) табу үшін келесі формуланы қолдану керек:
φ(N) = N * (1 - 1/p1) * (1 - 1/p2) * ... *(1 - 1/pn),
қайда p1, p2, ..., pn-N санының жай көбейткіштері.
88 санын факторизациялау:
88 = 2 * 2 * 2 * 11.
Формуланы қолдана отырып, біз аламыз:
φ(88) = 88 * (1 - 1/2) * (1 - 1/11) = 88 * (1/2) * (10/11) = 44 * 10/11 = 40.
Осылайша, N = 88 модулі үшін Эйлер функциясы (φ) 40-қа тең.
Билет 4
1. Диффи-Хеллман алгоритмi.
2. RSA алгоритмін қолданып хабарды шифрлаңыз: хабарлама М = 5,
модуль N = 33, ашық кілт е = 7, құпия кілт d = 3, шифрланған хабарлама ?
Жауаптары
1.сұрақ Диффи-Хеллман алгоритм-1976 жылы Уитфилд Диффи мен Мартин Хеллман жасаған криптографиялық хаттама. Ол ашық криптографиялық емес байланыс арнасындағы екі тарапқа хабарламаларды одан әрі шифрлау үшін пайдалануға болатын ортақ құпия кілтті орнатуға мүмкіндік береді.
Алгоритмнің негізгі идеясы - "дискретті логарифм"деп аталатын математикалық есепті қолдану. Ортақ құпия кілтті үйлестіргісі келетін екі тарап, Алиса мен Боб болсын
Алиса мен Боб p Модулінің өрісіндегі элемент болып табылатын үлкен жай P және g генераторын таңдайды.
Алиса кездейсоқ құпия а нөмірін таңдап, a = g^a mod p есептейді.
Боб кездейсоқ құпия B нөмірін таңдап, b = g^b mod p есептейді.
Алиса B-ны Бобтан алады және K = B^a mod p құпия кілтін есептейді.
Боб Алисадан А алады және K = A^B mod p құпия кілтін есептейді.
Енді Алиса мен Боб екеуінің арасындағы хабарламаларды симметриялы түрде шифрлау үшін пайдалануға болатын жалпы k құпия кілтін біледі.
Диффи-Хеллман алгоритмі шешетін негізгі мәселе-есептеу қиын мәселе болып табылатын дискретті логарифмді есептеу мәселесі. Егер шабуылдаушы А және В мәндерін ұстап алса да, А және В құпия сандарын білмей, K құпия кілтін есептеу қиынға соғады.
Диффи-Хеллман алгоритмі клиент пен сервер арасында қауіпсіз байланыс орнату үшін SSL/TLS сияқты негізгі алмасу протоколдарында кеңінен қолданылады.
2 сұрақ. RSA алгоритмін қолдана отырып, m хабарламасын шифрлау үшін келесі параметрлерді қолданыңыз:
Хабарлама M = 5
N = 33 Модулі
Ашық кілт e = 7
Шифрлау келесідей орындалады:
C = M^e mod N
Мәндерді ауыстырыңыз және есептеңіз:
C = 5^7 mod 33
Есептеулерге ыңғайлы болу үшін біз барлық аралық нәтижелерді береміз:
5^2 mod 33 = 25
5^4 mod 33 = (5^2)^2 mod 33 = 25^2 mod 33 = 19
5^7 mod 33 = 5^4 * 5^2 * 5^1 mod 33 = 19 * 25 * 5 mod 33 = 475 mod 33 = 8
Осылайша, C шифрланған хабарлама 8-ге тең.
Билет 5
1. RSA Цифрлық қолтаңба. Романец стр86(168)рис6.4
2. Blockchain (цепочка блоков) Блокчейн (blockchain — «цепочка блоков») — технология шифрования и хранения данных (реестра), которые распределены по множеству компьютеров, объединенных в общую сеть. Блокчейн — это цифровая база данных информации, которая отражает все совершенные транзакции.
Жауаптары
1 сұрақ. RSA сандық қолтаңбасы-бұл RSA алгоритмін қолданатын криптографиялық механизм, ол хабарлама жіберушіні аутентификациялауға мүмкіндік береді және деректердің қол жетімділігі мен тұтастығын қамтамасыз етеді.
RSA цифрлық қолтаңбасын құру және тексеру процесі келесі қадамдарды қамтиды:
Кілттерді құру:
RSA кілт жұбын құру: ашық кілт (e, n) және жеке кілт (d, n).
Ашық кілт (e, n) хабарламаларға қол қою үшін, ал жеке кілт (d, n) қолтаңбаны тексеру үшін қолданылады.
Сандық қолтаңба жасау:
Хэш функциясы хэш мәнін алу үшін хабарламаға қолданылады.
Жеке кілт (d, n) хабарламаның хэш мәнін шифрлау үшін қолданылады, бұл сандық қолтаңбаны жасайды.
Сандық қолтаңбаны тексеру:
Алынған хабарлама мен цифрлық қолтаңба алушыға беріледі.
Ашық кілт (e, n) сандық қолтаңбаның шифрын ашу және хабарламаның хэш мәнін алу үшін қолданылады.
Хэш функциясы жаңа хэш мәнін алу үшін алынған хабарламаға қолданылады.
Егер декодталған мән жаңа хэш мәнімен бірдей болса, қолтаңба жарамды болып саналады.
RSA сандық қолтаңбасы келесі қасиеттерді қамтамасыз етеді:
Аутентификация: алушы хабарламаға RSA жеке кілтінің иесі қол қойғанын тексере алады.
Жалғандық: RSA жеке кілтін білмей қолтаңбаны бұрмалау немесе өзгерту мүмкін емес.
Тұтастық: қолтаңбаны тексеру хабарлама қол қойылғаннан кейін өзгертілмегеніне кепілдік береді.
RSA цифрлық қолтаңбалары цифрлық келісімшарттар, электрондық коммерция, деректерді қауіпсіз тасымалдау және хабарламалардың аутентификациясы мен тұтастығы маңызды басқа жағдайлар сияқты әртүрлі салаларда кеңінен қолданылады.
2 сұрақ. Blockchain (цепочка блоков) Блокчейн (blockchain — «цепочка блоков») — технология шифрования и хранения данных (реестра), которые распределены по множеству компьютеров, объединенных в общую сеть. Блокчейн — это цифровая база данных информации, которая отражает все совершенные транзакции.
Blockchain (blockchain) - бұл желіде жасалған транзакциялар туралы ақпаратты қамтитын блоктар тізбегінен тұратын таратылған мәліметтер базасы. Әрбір блокта алдыңғы блоктың хэші (криптографиялық басып шығару) бар, бұл деректердің тұтастығы мен алмастырылмауын қамтамасыз етеді.
Блокчейннің негізгі ерекшеліктері:
Орталықсыздандыру: блокчейнде орталық басқару түйіні жоқ. Оны желі мүшелері (түйіндер) сақтайды және жаңартады, бұл оны бір сәтсіздікке төзімді етеді.
Мөлдірлік: Блокчейн деректердің ашықтығы мен ашықтығын қамтамасыз етеді. Барлық транзакциялар желінің барлық мүшелері тексере алатын жалпыға қол жетімді және өзгермейтін тізілімге жазылады.
Қауіпсіздік: әрбір блокта блоктар тізбегін құрайтын алдыңғы блоктың хэші бар. Бұл блокчейнді деректерді өзгертуге төзімді етеді. Сонымен қатар, блокчейн транзакциялардың қауіпсіздігін қамтамасыз ету және қол жетімділікті басқару үшін криптографиялық әдістерді қолданады.
Ауыстырылмау: блокты тізбекке қосқаннан кейін алдыңғы блоктардағы деректерді өзгерту өте қиын болады. Бұл блокчейндегі ақпараттың алмастырылмайтындығы мен сенімділігін қамтамасыз етеді.
Ақылды келісімшарттар: Блокчейн сізге ақылды келісімшарттар жасауға және орындауға мүмкіндік береді-белгілі бір шарттар орындалған кезде автоматты түрде орындалатын бағдарламалық кодтар. Ақылды келісімшарттар автоматтандыруды жеңілдетеді және келісімдерді орындау тиімділігін жақсартады.
Блокчейн технология қаржы (мысалы, биткоин сияқты криптовалюталар), жеткізу тізбегі, дауыс беру, медициналық жазбаларды басқару және т.б. сияқты әртүрлі салаларда қолдануды тапты. Ол әр түрлі қызмет салаларында ашықтықты, қауіпсіздікті және тиімділікті жақсарту үшін жаңа мүмкіндіктер ұсынады.
Билет 6
1. Модулярлық арифметика. Эйлер функциясы. Романец стр179(354) табл.П.1
2. RSA алгоритмін қолданып хабарды шифрлаңыз: хабарлама М = 5,
модуль N = 33, ашық кілт е = 7, құпия кілт d = 3, шифрланған хабарлама = ?
Жауаптары
1 сұрақ. Модульдік арифметика-модуль бойынша Сандар бойынша операцияларға негізделген арифметиканың бөлімі. Қосу және көбейту сияқты қарапайым арифметикалық амалдардың орнына модульдік арифметикада модульдік қосу, модульдік азайту және модульдік көбейту амалдары орындалады.
Модульдік арифметикадағы амалдардың мысалдары:
Модуль бойынша қосу: (a + b) mod n
Бұл дегеніміз, біз А және В сандарын қосамыз, содан кейін қалған бөлігін n санына бөлеміз.
Модуль бойынша азайту: (a - b) mod n
Мұнда біз А санынан в санын алып тастаймыз, содан кейін n санына бөлудің қалған бөлігін аламыз.
Модуль бойынша көбейту: (a * b) mod n
Бұл дегеніміз, біз А және В сандарын көбейтеміз, содан кейін қалған бөлігін n санына бөлеміз.
Эйлер функциясы (φ-функция) сандар теориясы мен модулярлық арифметикадағы маңызды ұғым болып табылады. Бұл функция N оң бүтін сан үшін анықталады және n-ден кіші және онымен өзара қарапайым сандардың санын есептейді.
Символдық түрде, Эйлер функциясы φ (n) келесідей анықталады:
φ (n) = 1 ≤ k < n және GCD(n, k) = 1 болатын k сандарының саны
Φ(n) Эйлер функциясы бірнеше қасиеттерге ие, соның ішінде:
Егер p жай сан болса, онда φ (p) = p - 1.
Қарапайым p үшін 1-ден p-1-ге дейінгі барлық сандар онымен өзара қарапайым.
Егер p және q әр түрлі жай сандар болса, онда φ (p * q) = (p-1) * (q-1).
Егер n p және q жай көбейткіштеріне ыдырайтын болса, онда φ (n) p және q Эйлер функцияларының көбейтіндісіне тең болады.
Кез келген оң бүтін сан үшін n, φ(n) ≥ 1.
N-мен өзара қарапайым сандар саны әрқашан 1-ден үлкен немесе оған тең.
Эйлер функциясы шифрлау алгоритмдері мен кілттерді құруды қоса алғанда, криптография мен сандар теориясында кеңінен қолданылады.
2 сұрақ. RSA алгоритмін қолдана отырып, m хабарламасын шифрлау үшін келесі параметрлерді қолданыңыз:
Хабарлама M = 5
N = 33 Модулі
Ашық кілт e = 7
Шифрлау келесідей орындалады:
C = M^e mod N
Мәндерді ауыстырыңыз және есептеңіз:
C = 5^7 mod 33
Есептеулерге ыңғайлы болу үшін біз барлық аралық нәтижелерді береміз:
5^2 mod 33 = 25
5^4 mod 33 = (5^2)^2 mod 33 = 25^2 mod 33 = 19
5^7 mod 33 = 5^4 * 5^2 * 5^1 mod 33 = 19 * 25 * 5 mod 33 = 475 mod 33 = 8
Осылайша, C шифрланған хабарлама 8-ге тең.
Билет 7
Модулярлық арифметика. Керi шамаларды табу.
Достарыңызбен бөлісу: |