Кіріспе

Асимметриялық кілт шифрлау алгоритмі
Голдвассер–Микали (GM) криптожүйесі – 1982 жылы Шафи Голдвассер және Сильвио Микали әзірлеген асимметриялық кілт шифрлау алгоритмі. GM стандартты криптографиялық талаптарға сәйкес дәлелді түрде қауіпсіздігін қамтамасыз ететін алғашқы ықтималдық ашық кілт шифрлау схемасы болып ерекшеленеді. Дегенмен, ол тиімді криптожүйе емес, себебі шифрланған мәтін бастапқы қара мәтіннен бірнеше жүз есе үлкен болуы мүмкін. Криптожүйенің қауіпсіздік қасиеттерін дәлелдеу мақсатында Голдвассер мен Микали семантикалық қауіпсіздіктің кеңінен қолданылатын анықтамасын ұсынды.

Негізгі

ГМ криптожүйесі квадраттық қалдық мәселесінің модульді құрама N = pq шешілмейтіндігіне негізделген семантикалық қауіпсіздікке ие, мұндағы p және q үлкен жай сандар. Бұл болжам бойынша, (x, N) берілгенде, x-тің N модулі бойынша квадраттық қалдық екенін анықтау қиын (яғни, x = y² mod N кейбір y үшін), егер x-тің Якоби символы +1 болса. N-нің факторлануы белгілі болса, квадраттық қалдық мәселесі оңай шешіледі, ал кез келген тарап осы факторлануды білмей-ақ жаңа квадраттық қалдықтарды жасай алады. GM криптожүйесі бұл асимметрияны жеке жай мәтін биттерін кездейсоқ квадраттық қалдықтар немесе қалдық емес мәндер ретінде N модулі бойынша шифрлау арқылы пайдаланады, барлығы квадраттық қалдық символы +1 арқылы. Алушылар N-нің факторлануын құпия кілт ретінде пайдаланады және алынған шифрланған мәтін мәндерінің квадраттық қалдықтығын тексеру арқылы хабарламаны шифрлауды шешеді. Goldwasser–Micali жай мәтіннің әрбір битін шифрлеу үшін шамамен N-ге тең мәнді шығарады, сондықтан GM шифрлау шифрмәтіннің айтарлықтай кеңеюіне әкеледі. Факторлау шабуылдарына жол бермеу үшін N-нің бірнеше жүз бит немесе одан да көп болуы ұсынылады. Осылайша, бұл схема негізінен тұжырымдамалық дәлел ретінде қызмет етеді, және кейіннен ElGamal сияқты тиімді және дәлелді қауіпсіз схемалар жасалды. Шифрлау ықтималдық алгоритмді пайдаланатындықтан, берілген жай мәтін әр шифрланған сайын өте әртүрлі шифрмәтіндерді тудырады. Бұл маңызды артықшылықтар береді, өйткені ол қарсыластың ұсталған хабарламаларды белгілі шифрмәтіндердің сөздігімен салыстыру арқылы тануына кедерес жасайды.

Схеманың анықтамасы

Голдвассер-Микали үш алгоритмнен тұрады: қоғамдық және жеке кілтті шығаратын ықтималды кілт жасау алгоритмі, ықтималды шифрлау алгоритмі және детерминистік шифрлау алгоритмі. Схема берілген x мәні N-нің (p, q) факторлануын ескере отырып, N модулі бойынша квадрат бола ма, жоқ па, соны анықтауға негізделген. Бұл келесі процедураны қолдану арқылы жүзеге асырылуы мүмкін: xp = x mod p, xq = x mod q. Егер , онда x - N модулі бойынша квадраттық қалдық.

Кілтті жасау

GM шифрлауда қолданылатын модуль RSA шифрлау жүйесіндегідей жасалады. (Толық мәліметтер үшін RSA, кілт жасау бөлімін қараңыз.) Алиса екі әртүрлі үлкен жай сандарды p және q, кездейсоқ және бір-бірінен тәуелсіз түрде таңдайды. Алиса N = p q есептейді. Одан кейін ол Лежандр белгілері қанағаттандыратын және осылайша Якоби белгісі +1 болатын қалдық емес x-ті табады. Мысалы, x мәнін кездейсоқ мәндерді таңдап, екі Лежандр белгісін тексеру арқылы табуға болады. Егер p, q = 3 mod 4 (яғни, N – Блум саны) болса, онда N – 1 мәніне қажетті қасиеттің болуы кепілдендіріледі. Ашық кілт (x, N) жұбынан тұрады. Құпия кілт – (p, q) сандарының көбейтіндісіне жіктелуі.

Хабарды шифрлау

Алиса (c1, cn) алады. Ол m-ді келесі процедураны қолдана отырып қалпына келтіре алады: әр i үшін, p және q-ның біріншілік көбейткішін пайдаланып, Алиса ci мәні квадраттық қалдық екенін анықтайды; егер олай болса, mi = 0, әйтпесе mi = 1. Алиса m = (m1, mn) хабарламасын шығарады.

Қауіпсіздік қасиеттері

Бұл криптожүйені бұзу мәселесінен Якоби символы +1-ге тең кездейсоқ мәнді N модулі бойынша квадраттық қалдық екенін анықтау мәселесіне қарапайым түрлендіру бар. Егер A алгоритмі криптожүйені бұзатын болса, онда берілген x мәнінің N модулі бойынша квадраттық қалдық екенін анықтау үшін, A алгоритмін (x, N) жұбын ашық кілт ретінде пайдаланып криптожүйені бұза ала ма, жоқ па, соны тексеруге болады. Егер x қалдық емес болса, A дұрыс жұмыс істеуі керек. Дегенмен, егер x қалдық болса, онда кез келген "шифрмәтін" жай ғана кездейсоқ квадраттық қалдық болады, сондықтан A уақыттың жартысынан артық дұрыс жауап бере алмайды. Бұған қоса, бұл мәселе өзін-өзі қысқарту қасиетіне ие, яғни белгілі бір N үшін кез келген ашық кілт басқа ашық кілттермен бірдей деңгейде қауіпсіз болады. GM криптожүйесі гомоморфты қасиеттерге ие, атап айтқанда, егер c0 және c1 сәйкесінше m0 және m1 биттерінің шифрланған түрлері болса, онда c0c1 mod N өрнегі N модулі бойынша шифрланған нәтиже болады. Осы себепті GM криптожүйесі кейде күрделі криптографиялық құралдарда қолданылады.