Кіріспе
Асимметриялық кілт шифрлау алгоритмі
Голдвассер–Микали (GM) криптожүйесі – 1982 жылы Шафи Голдвассер және Сильвио Микали әзірлеген асимметриялық кілт шифрлау алгоритмі. GM стандартты криптографиялық талаптарға сәйкес дәлелді түрде қауіпсіздігін қамтамасыз ететін алғашқы ықтималдық ашық кілт шифрлау схемасы болып ерекшеленеді. Дегенмен, ол тиімді криптожүйе емес, себебі шифрланған мәтін бастапқы қара мәтіннен бірнеше жүз есе үлкен болуы мүмкін. Криптожүйенің қауіпсіздік қасиеттерін дәлелдеу мақсатында Голдвассер мен Микали семантикалық қауіпсіздіктің кеңінен қолданылатын анықтамасын ұсынды.
The Goldwasser–Micali (GM) cryptosystem is an asymmetric key encryption algorithm developed by Shafi Goldwasser and Silvio Micali in 1982. GM has the distinction of being the first probabilistic public key encryption scheme which is provably secure under standard cryptographic assumptions. However, it is not an efficient cryptosystem, as ciphertexts may be several hundred times larger than the initial plaintext. To prove the security properties of the cryptosystem, Goldwasser and Micali proposed the widely used definition of semantic security.
Негізгі
ГМ криптожүйесі квадраттық қалдық мәселесінің модульді құрама 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 модулі бойынша квадраттық қалдық.
Compute xp = x mod p, xq = x mod q. If and , then x is a quadratic residue mod 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) хабарламасын шығарады.
For each i, using the prime factorization (p, q), Alice determines whether the value ci is a quadratic residue; if so, mi = 0, otherwise mi = 1. Alice outputs the message 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 криптожүйесі кейде күрделі криптографиялық құралдарда қолданылады.
then to determine if a given value x is a quadratic residue modulo N, we test A to see if it can break the cryptosystem using (x,N) as a public key. If x is a non residue, then A should work properly. However, if x is a residue, then every "ciphertext" will simply be a random quadratic residue, so
A cannot be correct more than half of the time. Furthermore, this problem is random self reducible, which ensures that for a given N, every public key is just as secure as every other public key. The GM cryptosystem has homomorphic properties, in the sense that if c0, c1 are the encryptions of bits m0, m1, then c0c1 mod N will be an encryption of For this reason, the GM cryptosystem is sometimes used in more complex cryptographic primitives.