Дәріс мақсаты: асимметрялық шифрлеу RSA алгоритмін және байланыстың ашық каналы бойынша ақпаратпен алмасып, жасырын кілтті тудыру алгоритмін оқу.
.
10.1 Ақпаратты шифрлеудің RSA криптожүйесі
RSA алгоритмін 1978 ж. үш авторлар: Р.Райвест (Rivest), А.Шамир (Shamir), А.Адлеман (Adleman) ұсынды. Алгоритм аты оның авторлар фамилияларының бірінші әріптерінен құрастырылған. Алгоритм авторлары келесі фактыны қолданған: есептеу жағынан екі үлкен жәй сандардың көбейтіндісін табу жеңіл орындалады да, ал осындай екі санның көбейтіндісін көбейткіштерге жіктеу практикалық мүмкін емес. RSA шифрын ашу осындай жіктеуге эквивалентті болатыны дәлелденген. Сондықтан кілттің кез келген ұзындығына шифрды ашуға қолданылатын операциялар санының төменгі бағасын беруге, ал қазіргі кездегі компьютерлер өнімділігін есепке ала отырып оған қажетті уақыттыда бағалауға болады. Басқа сұлбаларға қарағанда RSA алгоритмінің қорғалуын бағалау мүмкіндігі оның көп тарағанының себебі болды. Сондықтан RSA алгоритмі банктік компьютерлік желілерде, әсіресе алыстағы клиенттермен жұмыс жасағанда (кредитті карточкаларға қызмет жасағанда) қолданылады.
RSA криптожүйеде ашық КВ кілт (мысалы, В алушының), жасырынды kB кілт, М хабар мен С криптограмма бүтін сандардың жиынтығынан алынады:
мұндағы n – модуль,
Бұл жерде р және q - кездейсоқ үлкен жәй сандар. Максималды қауіпсіздікті қамтамасыздандыру үшін р мен q бірдей ұзындықтарымен таңдалынып, құпия сақталады.
Модулі n бойынша қосу және көбейту операциялары бар Zn жиынтығы модулі n бойынша арифметикасын құрастырады.
Ашық КВ кілті төмендегі шарттарды орындайтындай кездейсоқ таңдалынады:
мұндағы φ(n) - Эйлер функциясы.
φ(n) Эйлер функциясы 1-ден n-ге дейінгі интервалындағы n-мен өзара жәй болып табылатын оң таңбалы бүтін сандардың санын көрсетеді. Аталған шарттардың екіншісі ашық КВ кілті мен φ(n) Эйлер функциясы өзара жәй болу қажеттілігін көрсетеді.
Содан кейін, Евклидтің кеңейтілген алгоритмін қолданып, төмендегі шарттарды қанағаттандыратындай жасырын kв кілтін есептейді
немесе
Алушы В жәй (p,q) сандардың жұбын біледі де жеңіл φ(n) таба алады, сондықтан бұл есепті шешуге болады. kB мен n өзара жәй сандар болуы керектісін айтып кеткен жөн.
Ашық КВ кілтті мәліметтерді шифрлеуге, ал жасырын kB кілтті шифрды ашуға қолданады.
Шифрлеу түрлендіруі С криптограммасын “Кв ашық кілті, М хабар” жұбы арқылы келесі формуламен анықтайды:
С криптограмманы тез есептеу алгоритмі ретінде бүтін М-ді квадраттап және модулі n бойынша қайтадан М-ге көбейту тізбектелген әрекеттерін қолданады.
функциясын кері айналдыру, яғни белгілі С, Кв және n бойынша М мәнін анықтау n ≈ 2 512 болғанда практикалық мүмкін емес. Бірақ та кері есепті немесе С криптограмманың шифрын ашуды “kB жасырын кілті, С криптограммасы” жұбын қолданып, келесі формуламен шешуге болады
Шифрды ашу процесін келесідей жазуға болады:
Сонымен, криптожүйені құрастыратын В алушысы екі параметрді қорғайды: kB жасырын кілтін; көбейтіндісі n модуль мәнін беретін (p,q) сандар жұбын. Басқа жақтан, В алушы модулдің n мәні мен ашық Кв кілттің мәнін біледі. Қаскүнемге тек қана Кв мен n белгілі. Егер де ол n мәнін р және q көбейткіштерге жіктей алатын болғанда, ол "жасырын қадамды " - {p,q,KB} сандарын біліп, Эйлер функциясының φ(n) = (p-1)(q-1) мәнін есептеп, жасырын kB кілттің мәнін анықтай алатын еді. Бірақ, жоғарыда айтылғандай, есептеу жақтан өте үлкен n санын көбейткіштерге жіктеу мүмкін емес (таңдалынған р мен q ұзындықтары 100 ондық белгілерден төмен емес шарты орындалған кезде). Мысалы, қаскүнем ашық каналдан барлық хабарларды ұстап алып отырып, e = 37, n = 77, шифрмәтіннің y1 = 47, y2 = 1 символдарын білген болсын. Бірақ осы аралық мәліметтер негізінде ол шифрмәтіннің бастапқы мәтінін біле алмайды. Нақтылап айтқанда шифр мәтіннің шифрын шешу есебі үлкен сандарды (мысалда кішкене 77 сан) жіктеуге эквивалентті.
RSA криптожүйелері жабдықтық және программалық жолдармен іске асрылады. RSA алгоритмінің шифрлеу және шифрды ашу операцияларын жабдықтық іске асыру үшін арнайы процессорлар өңделген. Бәрібір де RSA алгоритмінің жабдықтық іске асыруы DES симметриялық криптоалгоритмнің жабдықтық іске асыруынан 1000 есе жәй. RSA-ның программалық іске асырылуы DES-тің программалық іске асырылуынан 100 есе жәй. Технологиялардың дамуына қарай бұл бағалар өзгеруі мүмкін, бірақ RSA асимметриялық криптожүйе еш қашанда симметриялық криптожүйелердің жылдамдығына жете алмайды. RSA криптожүйесінің төмен жылдамдығы оны қолдану салаларын шектегенмен, бағасын төмендетпейді.
10.2 Кілттерді ашық тарату Диффи-Хеллман алгоритмі
Ашық кілті бар бірінші криптожүйені Диффи мен Хелман құрастырған. Олар желі абоненттерінің арасында алдын-ала келіспей ашық канал бойынша ақпаратпен алмасып жасырын кілтті өндіру әдісін ұсынды (1976 ж.). Бір бағыттағы функция ретінде олар дискретті дәрежесін табу функцияны ұсынды.
Түрлендірудің кері айналмайтыны келесіде негізделген: р элементтерден тұратын шекті өрісте көрсеткіш функциясын есептеу жеткілікті жеңіл, ал осындай өрістерде логарифмдерді есептеу (дискретті логарифмдеу) көп еңбекті талап ететін операция.
Мысалы, екі А және В пайдаланушы қорғалған коммуникациялық каналды ұйымдастырғылары келеді. Алгоритм келесідей бейнеленеді:
1) екі жақта модуль n (n жәй сан болуы керек) мен Zn жиынтығынан таңдалынған жәй g элемент туралы келіседі. Осы екі бүтін n және g сандары құпия сақталмауларына да болады. Әдетте, осы мәндер жүйе пайдаланушылардың барлығына жалпы болып табылады;
2) содан кейін А және В пайдаланушылар бір бірінен тәуелсіз өздерінің жеке жасырын kA және kB кілттерін таңдайды (kA,, kB – кездейсоқ өте үлкен бүтін сандар болып табылады және де А мен В пайдаланушылармен құпия сақталады);
З) содан кейін А пайдаланушы өзінің ашық кілтін, ал В пайдаланушы өзінің ашық кілтін есептейді;
4) А мен В пайдаланушылары ашық yА және yB кілттерінің есептелген мәндерімен қорғалмаған канал бойынша алмасады. Қорғалмаған байланыс каналымен жіберілетін мәліметтердің барлығын қаскүнем ұстап алуы мүмкін деп есептеледі;
5) содан кейін А мен В пайдаланушылар төмендегі формулаларды қолданып, жалпы жасырын кілтті есептейді:
Достарыңызбен бөлісу: |