Кіріспе

Криптографияда, соқырлау – агенттің клиентке нақты кіріс немесе нақты шығысты білмей, кодталған түрде қызмет көрсетуі (яғни, функцияны есептеу) үшін қолданылатын әдіс. Соқырлау әдістері шифрлау құрылғыларына жанама арналық шабуылдарды болдырмау үшін де қолданылады. Нақтырақ айтқанда, Алисаның x кірісі бар, ал Оскардың f функциясы бар. Алиса Оскарға y = f(x) есептеп беруді қалайды, бірақ оған x немесе y-ді көрсетпейді. Оның бұны қалаған себебі f функциясын білмеуі немесе оны есептеу үшін ресурстары жоқ болуы мүмкін. Алиса хабарды басқа кіріс E(x) ретінде кодтау арқылы «соқырлайды»; E кодтау f кіріс кеңістігіндегі биекция болуы керек, идеалды жағдайда – кездейсоқ пермутация. Оскар оған f(E(x))-ті береді, оған ол y алу үшін D кодтауын қолданады: D(f(E(x))) = y. Барлық функцияларды соқыр есептеуге рұқсат етілмейді. Кейде соқырлауды мұқият қолдану қажет. Мұның мысалы – Рабин-Уильямс қолтаңбалары. Егер форматталған хабарламаға соқырлау қолданылса, бірақ кездейсоқ мән p және q бойынша Якоби талаптарына сай келмесе, онда ол жеке кілтті қалпына келтіруге әкелуі мүмкін. Евгений Сидоровтың ашқан нәрсесінде қалпына келтірудің мысалын көруге болады. Соқырлаудың кең таралған қолданылуы – соқыр қолтаңбалар. Соқыр қолтаңбалау протоколында қол қоюшы оның мазмұнын білмей-ақ хабарламаға цифрлық қол қояды. Бір реттік жастықша (OTP) – бұл қауіпсіз байланыс мәселесіне соқырлаудың табиғаты бойынша қолданылуы. Алиса Бобқа хабарды құпия түрде жібергісі келеді, бірақ олардың барлық байланыстарын Оскар оқи алады. Сондықтан, Алиса хабарламаны Бобпен бөлісетін құпия кілтпен немесе OTP арқылы соқырлағаннан кейін жібереді. Боб хабарды алғаннан кейін соқырлауды кері қайтарады. Бұл мысалда f функциясы – сәйкестік, ал E және D екеуі де әдетте XOR операциясы болып табылады. Соқырлау асимметриялық шифрлау схемаларына қатысты кейбір жанама арналық шабуылдарды болдырмау үшін де қолданылуы мүмкін. Жанама арналық шабуылдар қарсыласқа алгоритмнің нәтижесінен гөрі басқа нәрсені өлшеу арқылы криптографиялық операцияға енгізілген ақпаратты қалпына келтіруге мүмкіндік береді, мысалы, қуатты тұтыну, есептеу уақыты немесе құрылғының радиожиілік эмиссиясы. Әдетте бұл шабуылдар шабуылшы алгоритмнің сипаттамаларын, сондай-ақ (кейбір) кіріс деректерін білгеніне байланысты. Бұл жағдайда соқырлау алгоритмнің кіріс деректерін болжауға болмайтын күйге өзгерту үшін қолданылады. Бұл соқырлау функциясының ерекшеліктеріне байланысты пайдалы ақпараттың кейбір немесе барлық ағып кетуін болдырмауы мүмкін. Соқырлау функцияларының өзінің жанама арналық шабуылдарға төзімділігіне де қауіпсіздік байланысты екенін ескеріңіз. Мысалы, RSA-да соқырлау E(x) = (xr)^e mod N соқырлау операциясын есептеуді қамтиды, мұнда r – 1 мен N арасындағы кездейсоқ бүтін сан және N-ге салыстырмалы түрде алғашқы (яғни, gcd(r, N) = 1), x – ашық мәтін, e – RSA-ның жалпы көрсеткіші және N – RSA модулі. Әдеттегідей, шифрлау функциясы f(z) = z^d mod N қолданылады, осылайша f(E(x)) = (xr)^ed mod N = xr mod N. Соңында, ол D(z) = zr^(-1) mod N функциясын пайдалана отырып, соқырлаудан босатылады. xr mod N-ді r^(-1) mod N-ге көбейту x-ті береді, қалағандай. Осылайша шифрлау кезінде осы операцияның уақытын өлшейтін қарсылас бұл ақпаратты пайдалана алмайды (RSA уақыт шабуылдарына осал екені белгілі), өйткені ол r тұрақтысын білмейді және сондықтан RSA примитивтеріне берілетін нақты кіріс туралы білімі жоқ.

Мысалдар

GPG 1.x нұсқасында көру қабілетін жою (немесе деректерді жасыру)