Кіріспе
Кейбір крипто жүйелердің қасиеті Шифрлық мәтіннің ажыратылмауы көптеген шифрлау жүйелерінің қасиеті болып табылады. Интуитивті түрде, егер криптосистема ажыратылмау қасиеттеріне ие болса, онда қарсылас шифрланған мәтіндерді олар шифрлаған хабарламаға негіздеп ажырата алмайды. Таңдалған ашық мәтіндік шабуыл кезінде ажыратылмау қасиеттері, ең қауіпсіз ашық кілт крипто жүйелері үшін негізгі талап ретінде қарастырылады, дегенмен кейбір схемалар таңдалған шифрлық мәтіндік шабуыл мен адаптивті таңдалған шифрлық мәтіндік шабуыл кезінде де ажыратылмауды қамтамасыз етеді. Таңдалған ашық мәтіндік шабуыл кезінде ажыратылмау семантикалық қауіпсіздіктің қасиетіне тең, және көптеген криптографиялық дәлелдемелер бұл анықтамалар бір-бірін алмастыра пайдаланады. Криптосистема, егер қарсылас белгілеген екі элементті хабар кеңістігінен кездейсоқ таңдалған хабарды шифрлауды ескере отырып, қарсылас кездейсоқ болжаудан (1/2) әлдеқайда жақсы ықтималдықпен хабарды таңдай алмаса, айырмашылықсыздық тұрғысынан қауіпсіз деп саналады. Егер қарсыластың таңдалған шифрлық мәтінді 1/2 -ден әлдеқайда үлкен ықтималдығымен ажырата алса, онда бұл қарсыластың шифрлық мәтінді ажыратуда "артықшылығы" бар деп есептеледі және схема ажыратылмаушылық тұрғысынан қауіпсіз деп саналмайды. Бұл анықтама қауіпсіз схемада қарсылас шифрланған мәтінді көруден ешқандай ақпарат алуы керек деген ұғымды қамтиды. Сондықтан қарсылас кездейсоқ ойлағаннан гөрі жақсырақ ойнауға қабілетті болмауы керек.
Ciphertext indistinguishability is a property of many encryption schemes. Intuitively, if a cryptosystem possesses the property of indistinguishability, then an adversary will be unable to distinguish pairs of ciphertexts based on the message they encrypt. The property of indistinguishability under chosen plaintext attack is considered a basic requirement for most provably secure public key cryptosystems, though some schemes also provide indistinguishability under chosen ciphertext attack and adaptive chosen ciphertext attack. Indistinguishability under chosen plaintext attack is equivalent to the property of semantic security, and many cryptographic proofs use these definitions interchangeably. A cryptosystem is considered secure in terms of indistinguishability if no adversary, given an encryption of a message randomly chosen from a two element message space determined by the adversary, can identify the message choice with probability significantly better than that of random guessing (1/2). If any adversary can succeed in distinguishing the chosen ciphertext with a probability significantly greater than 1/2, then this adversary is considered to have an "advantage" in distinguishing the ciphertext, and the scheme is not considered secure in terms of indistinguishability. This definition encompasses the notion that in a secure scheme, the adversary should learn no information from seeing a ciphertext. Therefore, the adversary should be able to do no better than if it guessed randomly.
Ресми анықтамалар
Қауіпсіздіктің ажыратылмаушылық тұрғысынан көптеген анықтамасы бар, бұл шабуылшының мүмкіндіктері туралы жасалған болжамдарға байланысты. Әдетте ол ойын ретінде ұсынылады, онда криптосистема қауіпсіз деп есептеледі, егер қарсылас ойынды кездейсоқ болжауға тиіс қарсыластан әлдеқайда үлкен ықтималдықпен жеңе алмаса. Криптографияда қолданылатын ең көп таралған анықтамалар - таңдалған жай мәтіндік шабуыл кезінде ажыратылмаушылық (қысқаша IND CPA), (қалыптаспайтын) таңдалған шифрлық мәтіндік шабуыл кезінде ажыратылмаушылық (IND CCA1) және адаптивті таңдалған шифрлық мәтіндік шабуыл кезінде ажыратылмаушылық (IND CCA2). Соңғы анықтама бойынша кепілдік алдыңғы анықтама бойынша кепілдікті білдіреді: IND CCA1 қауіпсіз схема да IND CPA қауіпсіз, ал IND CCA2 қауіпсіз схема да IND CCA1 және IND CPA қауіпсіз. Осылайша, IND CCA2 - бұл үш кепілдіктің ең күштісі.
Таңдалған ашық мәтіндік шабуыл кезінде ажыратылмау (IND-CPA)
Шындықтықты асимметриялық кілт шифрлау алгоритмі үшін таңдалған жай мәтіндік шабуыл (IND CPA) кезінде ажыратылмаушылық қарсылас пен сыншы арасындағы келесі ойынмен анықталады. Есептеу қауіпсіздігіне негізделген схемалар үшін қарсыласты ықтималдық полиномиалдық уақыт Тьюринг машинасы модельдейді, яғни ол ойынды аяқтап, полиномиалдық сандағы уақыт қадамдары ішінде болжамды шығаруы керек. Бұл анықтамада E(PK, M) PK кілтімен M хабарламасының шифрлануын білдіреді: Шақырушы кейбір қауіпсіздік параметрлеріне негізделген PK, SK кілті жұбын жасайды (мысалы, кілттің биттік өлшемі) және PK қарсыласына жариялайды. Шақырушы СК-ны ұстайды. Қарсылас кодтау немесе басқа операцияларды полиномиялық шектелген санда орындай алады. Ақырында қарсылас қарсыласқа екі түрлі таңдалған мәтінді ұсынады. Талапкер b {0, 1} битін кездейсоқ біркелкі таңдайды және қарсыласқа C = E ((PK, ) сынақ шифр мәтінін қайтарады. Жау кез келген санда қосымша есептеулер мен шифрлауларды орындауға еркін. Ақырында қарсылас b-нің мәнін болжайды. Криптосистема таңдалған ашық мәтіндік шабуыл кезінде ажыратылмауы мүмкін, егер әрбір ықтималдық полиномиялық уақыт қарсыласының кездейсоқ болжауға қарағанда "артықшылығы" болмашы болса. Қарсылас жоғарыда аталған ойынды ықтималдықпен жеңсе, онда оның "артықшылығы" жоқ деп айтылады, мұнда k қауіпсіздік параметрінде жоқ функция бар, яғни әрбір (нөлден тыс) полиномиалдық функция үшін бар, өйткені барлық қарсыласы біледі , және PK, E-нің ықтималдық сипаты дегеніміз, шифрлау тек көптеген жарамды шифр мәтіндерінің бірі ғана болады, сондықтан шифрлау , және алынған шифр мәтіндерін сынақ шифр мәтінімен салыстыру қарсыласқа ешқандай назардан тыс артықшылық бермейді. Жоғарыда көрсетілген анықтама асимметриялық кілт криптосистемасына тән болса да, оны ашық кілт шифрлау функциясын шифрлау оракулымен ауыстыру арқылы симметриялық жағдайға бейімдеуге болады, ол құпия шифрлау кілтін сақтайды және қарсыластың өтініші бойынша кездейсоқ жазық мәтінді шифрлайды.
The challenger generates a key pair PK, SK based on some security parameter k (e. g., a key size in bits), and publishes PK to the adversary. The challenger retains SK. The adversary may perform a polynomially bounded number of encryptions or other operations. Eventually, the adversary submits two distinct chosen plaintexts to the challenger. The challenger selects a bit b {0, 1} uniformly at random, and sends the challenge ciphertext C = E(PK, ) back to the adversary. The adversary is free to perform any number of additional computations or encryptions. Finally, the adversary outputs a guess for the value of b. A cryptosystem is indistinguishable under chosen plaintext attack if every probabilistic polynomial time adversary has only a negligible "advantage" over random guessing. An adversary is said to have a negligible "advantage" if it wins the above game with probability , where is a negligible function in the security parameter k, that is for every (nonzero) polynomial function there exists such that for all
Although the adversary knows , and PK, the probabilistic nature of E means that the encryption of will be only one of many valid ciphertexts, and therefore encrypting , and comparing the resulting ciphertexts with the challenge ciphertext does not afford any non negligible advantage to the adversary. While the above definition is specific to an asymmetric key cryptosystem, it can be adapted to the symmetric case by replacing the public key encryption function with an encryption oracle, which retains the secret encryption key and encrypts arbitrary plaintexts at the adversary's request.
Симетриялық IND-CPA ойыны, ресмилендірілген
Таңдалған ашық мәтіндік шабуылды орындаудың қарсыластық процесі әдетте Криптографиялық ойын түрінде сипатталады. Симметриялық IND CPA сынағын жүргізу үшін жоғарыда сипатталған ойын анықталады. Let - кілтті құру функциясы, шифрлау функциясы және шифрлау функциясы. Симетриялық шифрлау схемасы болсын. Ойын былайша анықталады: қарсылас қалаған сайын екі ашық мәтіндік хабарды таңдап алады және оларды LR оракулына береді, ол хабарламалардың біреуін шифрлайтын шифрланған мәтінді қайтарады. Жаудың артықшылығы b мәнін болжау ықтималдығымен анықталады, бұл ойынның басында кездейсоқ таңдалған мән, ол LR оракулында шифрланған хабарламаны анықтайды. Сондықтан оның артықшылығы мыналай анықталады: Егер қарсылас хабарламаның бар-жоғын айта алмаса, онда ол хабарламаны жазған адамға сенуге болатын жоққа шығаруға мүмкіндік береді. Кейбір адамдар шифрланған байланыс желілерін құруда трафикті талдауды қиындату үшін әрбір шифрланған датаграмманың мазмұнын кездейсоқ деректерден ажыратуға болмайтындығын қалайды. Кейбір адамдар шифрланған деректерді сақтау үшін жүйелерді құруда деректерді жасыруды жеңілдету үшін деректерді кездейсоқ деректерден ажыратуға болмайтындығын қалайды. Мысалы, TrueCrypt сияқты диск шифрлаудың кейбір түрлері деректерді жоюдан қалған жазықсыз кездейсоқ деректерде деректерді жасыруға тырысады. Тағы бір мысал ретінде стеганографияның кейбір түрлері деректерді жасыруға тырысады, оны цифрлық фотосуреттердегі "кездейсоқ" бейкүнә бейне шуының статистикалық сипаттамаларына сәйкес келтіреді. Мұндай жалған шифрлау жүйелерін қолдау үшін бірнеше криптографиялық алгоритмдер арнайы шифрланған мәтіндік хабарламаларды кездейсоқ бит тізбектерінен ажыратуға арналған. Көптеген қолданбалар кездейсоқ биттерден ажыратылмайтын шифрланған хабарламаларды шығару үшін шифрлау алгоритмін қажет етпейді. Алайда, кейбір авторлар мұндай шифрлау алгоритмдерін тұжырымдамалық жағынан қарапайым және жұмыс істеу оңай деп санайды, және тәжірибеде көпжақты және көптеген IND CPA шифрлау алгоритмдері, шын мәнінде, кездейсоқ биттерден ажыратуға болмайтын шифрланған хабарламалар шығарады.
As many times as it would like, an adversary selects two plaintext messages of its own choosing and provides them to the LR oracle which returns a ciphertext encrypting one of the messages. An adversary's advantage is determined by its probability of guessing the value of b, a value chosen at random at the beginning of the game which determines the message that is encrypted in the LR oracle. Therefore, its advantage is defined as:
If an adversary is unable to tell if a message even exists, it gives the person who wrote the message plausible deniability. Some people building encrypted communication links prefer to make the contents of each encrypted datagram indistinguishable from random data, in order to make traffic analysis more difficult. Some people building systems to store encrypted data prefer to make the data indistinguishable from random data in order to make data hiding easier. For example, some kinds of disk encryption such as TrueCrypt attempt to hide data in the innocent random data left over from some kinds of data erasure. As another example, some kinds of steganography attempt to hide data by making it match the statistical characteristics of the innocent "random" image noise in digital photos. To support such deniable encryption systems, a few cryptographic algorithms are specifically designed to make ciphertext messages indistinguishable from random bit strings. Most applications don't require an encryption algorithm to produce encrypted messages that are indistinguishable from random bits. However, some authors consider such encryption algorithms to be conceptually simpler and easier to work with, and more versatile in practice—and most IND CPA encryption algorithms apparently do, in fact, produce encrypted messages that are indistinguishable from random bits.
Теңдестіктер мен әсерлері
Аңталмайтын қасиет - шифрланған қатынастардың құпиялылығын сақтау үшін маңызды қасиет. Алайда, кейбір жағдайларда айырмашылықты анықтау қасиетінің басқа, бір-бірімен байланысты емес қауіпсіздік қасиеттерін білдіретіндігі анықталды. Кейде бұл әсерлер екі бағытта да жүреді, екі анықтаманы теңестіреді; мысалы, адаптивті таңдалған шифрлық мәтін шабуылда ажыратылмау қасиетінің (IND CCA2) сол шабуыл сценарийінде (NM CCA2) қалыптаспау қасиетінің эквиваленті екендігі белгілі. Бұл теңдестік бірден айқын емес, өйткені пішінсіздік құпиялылық емес, хабар тұтастығына қатысты қасиет. Басқа жағдайларда, ажыратылмаушылықты басқа да пайдалы анықтамалар беру үшін, басқа анықтамалармен біріктіруге болады және керісінше. Келесі тізімде белгілі бірнеше әсерлер қысқаша келтірілген, бірақ ол мүлдем толық емес. Бұл белгі A қасиетінің B қасиетті білдіретінін білдіреді. Бұл A және B қасиеттері тең екенін білдіреді. дегеніміз, A қасиет міндетті түрде B қасиетті білдірмейді. NM CPA (таңдалған ашық мәтіндік шабуыл кезінде пішінсіздігі) IND CPA. NM CPA (таңдалған ашық мәтіндік шабуыл кезінде пішінсіздігі) IND CCA2. NM CCA2 (адаптациялық таңдалған шифрлық мәтіннің шабуылдау кезінде пішінсіздігі) IND CCA2.
IND CPA semantic security under CPA. NM CPA (non malleability under chosen plaintext attack) IND CPA. NM CPA (non malleability under chosen plaintext attack) IND CCA2. NM CCA2 (non malleability under adaptive chosen ciphertext attack) IND CCA2.