Кіріспе

Қоғамдық кілттің криптография алгоритмі – криптожүйе. Қоғамдық кілт криптожүйесінде шифрлау кілті ашық болады және құпия сақталатын шифрлау кілтінен (жеке кілттен) ерекшеленеді. RSA пайдаланушысы екі үлкен жай санға негізделген ашық кілтті құрастырып, жариялайды, сонымен қатар қосымша мәнді де жариялайды. Жай сандар құпия сақталады. Кез келген адам ашық кілт арқылы хабарды шифрлей алады, бірақ жеке кілтті білетін адам ғана оны шеше алады. RSA қауіпсіздігі екі үлкен жай санның көбейтіндісін есепке бөлудің практикалық қиындығына негізделген, бұл "есепке бөлу мәселесі" деп аталады. RSA шифрлауын бұзу – RSA мәселесі деп аталады. Бұл мәселенің есепке бөлу мәселесінен гөрі қиындығы ашық мәселе болып қалады. Егер жеткілікті үлкен кілт қолданылса, жүйені жеңуге арналған жарияланбаған әдістер жоқ. RSA салыстырмалы түрде баяу алгоритм. Осы себепті, ол пайдаланушы деректерін тікелей шифрлеу үшін жиі қолданылмайды. Көбінесе RSA симметриялық кілтті криптография үшін ортақ кілттерді беру үшін қолданылады, содан кейін олар көп көлемді шифрлеу-дешифрлеу үшін пайдаланылады.

Тарих

Асимметриялық ашық кілт криптожүйесінің идеясы 1976 жылы осы тұжырымдаманы жариялаған Уитфилд Диффи мен Мартин Хеллманға тиесілі. Олар сонымен қатар сандық қолтаңбаларды енгізді және сандар теориясын қолдануға тырысты. Олардың құрастыруындағы негіз – модуль бойынша белгілі бір санның дәрежесінен жасалған ортақ құпия кілт. Алайда, олар бір бағытты функцияны іске асыру мәселесін ашық қалдырды, мүмкін сол кезде санды түйіндеудің қиындығы жеткілікті зерттелмегендіктен. Сонымен қатар, Диффи-Хеллман сияқты, RSA да модульдік дәрежелеуге негізделген. Рон Ривест, Ади Шамир және Массачусетс технология институтының Леонард Адлеман бір жыл бойы кері қайтаруы қиын функция жасауға бірнеше рет әрекеттенді. Ривест пен Шамир, компьютер ғалымдары ретінде, көптеген мүмкін функцияларды ұсынды, ал математик Адлеман олардың кемшіліктерін табуға жауапты болды. Олар «қапшыққа негізделген» және «пермутациялық көпмүшелер» сияқты көптеген тәсілдерді сынап көрді. Бір кезде олар өзара қайшы талаптарға байланысты мұндай функция жасау мүмкін емес деп ойлады. 1977 жылдың сәуір айында олар бір студенттің үйінде Паска (құтқарылу) мерекесін тойлады және түн ортасында үйлеріне қайтқанға дейін көп шарап ішті. Ұйықтамаған Ривест диванда математика оқулығымен жатып, олардың бір бағытты функциясы туралы ойлана бастады. Ол түнің қалған бөлігін идеясын қалыптастыруға жұмсады және таңертең қағаздың көп бөлігі дайын болды. Алгоритм қазір RSA деп аталады, олардың тегінің әріптері қағаздағы тізімдегідей ретпен берілген. Британдық барлау қызметі – Үкіметтік байланыс штабында (GCHQ) жұмыс істейтін ағылшын математигі Клиффорд Кокс 1973 жылы ішкі құжатта осыған ұқсас жүйені сипаттады. Алайда, сол кезде оны іске асыру үшін қажетті салыстырмалы түрде қымбат компьютерлерді ескере отырып, ол көбінесе ғылыми жаңалық ретінде қарастырылды және, көпшілікке белгілі болғандай, ешқашан қолданылмады. Оның идеялары мен тұжырымдамалары жоғары құпиялылығына байланысты 1997 жылға дейін жарияланбады. Kid RSA (KRSA) – 1997 жылы жарияланған, білім беру мақсатында жасалған оңайлатылған, қауіпсіз емес ашық кілт шифры. Кейбір адамдар Kid RSA-ны оқыту RSA және басқа да ашық кілт шифрларына түсінік береді деп санайды, бұл оңайлатылған DES сияқты.

Патент

RSA алгоритмін сипаттайтын патент 1983 жылдың 20 қыркүйегінде MIT-ге берілді: "Криптографиялық байланыс жүйесі және әдісі". DWPI патентінің аннотациясынан: Жүйеде кодтау құрылғысы бар кемінде бір терминалға және декодтау құрылғысы бар кемінде бір терминалға қосылған байланыс арнасы бар. Жіберілмекші хабар кодтау терминалында алдын ала белгіленген жиынтықтағы М саны ретінде шифрланып, шифрмәтінге түрлендіріледі. Бұл сан содан кейін бірінші алдын ала белгіленген дәрежеге (көрсетілген қабылдаушымен байланысты) көтеріліп, есептеледі. Экспоненталанған сан екі алдын ала белгіленген жай санның көбейтіндісіне (көрсетілген қабылдаушымен байланысты) бөлінгенде қалдық немесе қалдық, C есептеледі. Алгоритмнің толыққанды сипаттамасы 1977 жылдың тамызында Scientific American журналының "Математикалық ойындар" рубрикасында жарияланды.

Операция

RSA алгоритмі төрт қадамнан тұрады: кілт жасау, кілт тарату, шифрлау және шифрлауды кері қайтару. RSA-ның негізгі принципі – барлық бүтін сандар үшін m (0 ≤ m < n) екі өте үлкен оң бүтін сан e, d және n табу мүмкіндігі, олардың екеуі де n-ге бөлгенде бірдей қалдық береді (яғни, модуль бойынша конгруэнтті): алайда, тек e және n белгілі болғанда, d табу өте қиын. n және e бүтін сандары ашық кілтті құрайды, d жеке кілтті білдіреді, ал m – хабарламаны. e және d бойынша модульдік дәрежелеу сәйкесінше шифрлау мен шифрлауды кері қайтаруға сәйкес келеді. Бұған қоса, екі дәрежелі өрнекті ауыстыруға болатындықтан, жеке және ашық кілтті де ауыстыруға болады, бұл бірдей алгоритмді пайдаланып хабарламаға қол қоюға және оны тексеруге мүмкіндік береді.

Кілттерді бөлу

Мысалы, Боб Алисаға ақпарат жібергісі келеді делік. Егер олар RSA-ны пайдалануды шешсе, Боб хабарды шифрлау үшін Алисаның ашық кілтін білуі керек, ал Алиса хабарды ашу үшін өзінің жеке кілтін пайдалануы керек. Бобтың шифрланған хабарламаларын жіберуіне мүмкіндік беру үшін Алиса өзінің ашық кілтін (n, e) Бобқа сенімді, бірақ міндетті түрде құпия емес арна арқылы жібереді. Алисаның жеке кілті (d) ешқашан таралмайды.

Шифрлау

Боб Алисаның ашық кілтін алғаннан кейін, ол Алисаға M хабарламасын жібере алады. Ол үшін ол алдымен M (нақтырақ айтқанда, толтырылмаған қара мәтін) санын 0 ≤ m < n шартына сәйкес келетін толық санға (нақтырақ айтқанда, толтырылған қара мәтін) айналдырады, бұл үшін екеуі келіскен қайтымды протокол, яғни толтыру схемасы қолданылады. Содан кейін ол Алисаның e ашық кілтін пайдаланып, c шифрланған мәтінін есептейді. Бұл модульдік дәрежелеу арқылы, тіпті өте үлкен сандар үшін де, оңай және жылдам орындалуы мүмкін. Боб содан кейін c-ні Алисаға жібереді. m-нің кем дегенде тоғыз мәні c шифрланған мәтініне тең нәтиже береді, бірақ бұл практикада өте сирек кездеседі.

Ойлер теоремасын қолдану арқылы дәлелдеу

Ривест, Шамир және Адлеманның түпнұсқалық мақаласында Ферманың кішкентай теоремасы RSA-ның неге жұмыс істейтінін түсіндіру үшін қолданылса да, көбінесе Эйлер теоремасына сүйенетін дәлелдемелер кездеседі. Біз m^(ed) ≡ m (mod n) екенін көрсеткіміз, мұнда n = pq екі әртүрлі жай санның көбейтіндісі, ал e және d – ed ≡ 1 (mod φ(n)) шартын қанағаттандыратын оң бүтін сандар. e және d оң сандар болғандықтан, 1 = ed = 1 + hφ(n) деп жаза аламыз, мұнда h – нөл емес бүтін сан. m саны n-ге өзіндік жай сан болған жағдайда, Эйлер теоремасынан екінші соңғы тепе-теңдік мынадай болады. Кез келген e және d сандары ed ≡ 1 (mod λ(n)) шартын қанағаттандырса, дәл осындай қорытынды Эйлер теоремасының Кармайкл тарапынан алынған жалпылама түрінен шығады, яғни m^(λ(n)) ≡ 1 (mod n) барлық n-ге өзіндік жай сандар үшін.

m саны n-ге өзіндік жай сан болмаса, жоғарыдағы аргумент жарамсыз болады. Бұл сирек кездеседі (тек 1/p + 1/q − 1/(pq) үлесінде сандар осы қасиетке ие), бірақ тіпті осы жағдайда да қажетті тепе-теңдік орындалады. m ≡ 0 (mod p) немесе m ≡ 0 (mod q) болады, және осы жағдайларды бұрынғы дәлелдеме арқылы қарастыруға болады.

Қарапайым RSA-ға қарсы шабуылдар

Қарапайым RSA-ға қарсы төменде сипатталған бірқатар шабуылдар бар. Төмен шифрлау көрсеткіштерімен (мысалы, e = 3) және m-нің кіші мәндерімен (яғни, m < n^(1/e)) шифрлау кезінде m^e нәтижесі модуль n-нен қатаң түрде кем болады. Мұндай жағдайда шифрмәтінді шифрланған мәтіннің e-ші түбірін есептеу арқылы оңай шифрлауға болады. Егер бірдей ашық мәтіндік хабарлама e немесе одан да көп алушыға шифрланған күйде жіберілсе және алушыларда бірдей көрсеткіш e болса, бірақ әртүрлі p, q, демек n болса, онда бастапқы ашық мәтіндік хабарламаны қытайлық қалдық теоремасы арқылы шифрлау оңай. Йохан Хастад бұл шабуыл ашық мәтіндер бірдей болмаса да мүмкін екенін байқады, бірақ шабуылшы олардың арасындағы сызықтық байланысты біледі. Бұл шабуылды кейін Дон Копперсмит жетілдірді (Копперсмиттің шабуылдарына қараңыз). RSA шифрлауы детерминистік шифрлау алгоритмі болғандықтан (яғни, кездейсоқ компоненті жоқ), шабуылшы криптожүйеге қарсы таңдалған ашық мәтіндік шабуылды сәтті жүргізе алады, ашық кілт бойынша ықтимал ашық мәтіндерді шифрлап, олардың шифрмәтінге тең екенін тексеру арқылы. Криптожүйе семантикалық түрде қауіпсіз деп аталады, егер шабуылшы тіпті сәйкес ашық мәтіндерді білсе де (немесе таңдаса да) екі шифрлауды бір-бірінен ажырата алмаса. Паддингсіз RSA семантикалық түрде қауіпсіз емес. RSA екі шифрмәтіннің көбейтіндісі тиісті ашық мәтіндердің көбейтіндісінің шифрлануына тең болатын қасиетке ие. Яғни, m1^e * m2^e ≡ (m1 * m2)^e (mod n). Осы көбейту қасиетінің арқасында таңдалған шифрмәтіндік шабуыл жасау мүмкін. Мысалы, c ≡ m^e (mod n) шифрмәтінінің шифрлануын білгісі келетін шабуылшы жеке кілт иесінен d жеке кілтімен күдік тудырмайтын шифрмәтін c′ ≡ cr^e (mod n) шифрлауын сұрауы мүмкін, мұндағы r шабуылшы таңдаған мән. Көбейту қасиетіне сәйкес, c′ mr (mod n) шифрлау болып табылады. Сондықтан, егер шабуылшы шабуылда табысқа жетсе, ол mr (mod n) мәнін біледі, одан m хабарламасын r-дің n модуль бойынша кері шамасын mr-ге көбейту арқылы алуға болады. Жеке көрсеткіш d берілгенде, модуль n = pq тиімді түрде көйтілуі мүмкін. Ал модуль n = pq көйтілгенін ескере отырып, кез келген жеке кілт (d', n) ашық кілтке (e', n) қарсы жасалуы мүмкін. Кейбір хабарламалар үшін бұл паддинг жеткілікті деңгейде қауіпсіздік қамтамасыз етпейтіні көрсетілді. Стандарттың кейінгі нұсқаларына осы шабуылдарды болдырмайтын Оптималды Асимметриялық Шифрлау Паддингі (OAEP) кіреді. Осылайша, OAEP кез келген жаңа қолданбада қолданылуы керек, ал PKCS#1 v1.5 паддингі мүмкіндігінше ауыстырылуы керек. PKCS#1 стандартында RSA қолтаңбаларына қосымша қауіпсіздік беруге арналған өңдеу схемалары да бар, мысалы, RSA үшін Ықтималдық Қолтаңба Схемасы (RSA PSS). RSA PSS сияқты қауіпсіз паддинг схемалары хабарламаны шифрлау үшін де, қол қою үшін де қауіпсіздік үшін маңызды. PSS-ке екі АҚШ патені берілді ( және ); алайда бұл патенттердің мерзімі 2009 жылдың 24 шілдесінде және 2010 жылдың 25 сәуірінде аяқталды. PSS-ті пайдалану енді патенттермен шектелмейді. Шифрлау және қол қою үшін әртүрлі RSA кілттерінің жұптарын пайдалану ықтимал қауіпсіздікті арттырады.

Бүкіл сандарды факторлау және RSA мәселесі

RSA криптожүйесінің қауіпсіздігі екі математикалық мәселеге негізделген: үлкен сандарды факторлау және RSA мәселесі. RSA шифрмәтінiң толық шифрлауын мүмкiн емес деп есептеуге болады, егер осы екі мәселе де қиын болса, яғни оларды шешуге тиімді алгоритм болмаса. Жарым-жартылай шифрлаудан қорғану үшін қауіпсіз толтыру схемасын қосу қажет болуы мүмкін. RSA мәселесі – құрама n санының e-ші түбiн модуль бойынша табу мiндетi: c ≡ m^(e) (mod n) шартын қанағаттандыратын m мәнiн қалпына келтіру, мұнда (n, e) – RSA ашық кілті, ал c – RSA шифрмәтіні. Қазіргі уақытта RSA мәселесін шешудің ең перспективалы тәсілі – n модулін факторлау. Басты факторларды қалпына келтіру мүмкiндiгiмен шабуылшы ашық кілт (n, e) арқылы құпия көрсеткiш d-ны есептей алады, содан кейін стандартты процедураны қолдана отырып c-ны шифрлайды. Бұл үшін шабуылшы n-дi p және q-ға көбейтіп, lcm(p − 1, q − 1) есептейді, бұл d-ны e-ден анықтауға мүмкiндiк береді. Классикалық компьютерде үлкен бүтін сандарды факторлауға арналған полиномиалды уақыт әдісі әлі табылған жоқ, бірақ мұндай әдіс жоқ екені дәлелденбеген; осы мәселені талқылау үшін бүтін сандарды факторлау қараңыз. Көптік полиномиалды квадраттық елеуіш (MPQS) n жалпы модулін факторлау үшін пайдаланылуы мүмкiн. 1999 жылы алғашқы RSA 512 факторлау жүздеген компьютерлерді пайдаланды және шамамен жеті ай өткен уақыт ішінде 8,400 MIPS жылға тең болды. 2009 жылы Бенджамин Муди тек ашық бағдарламалық қамтамасыз етуді (GGNFS) және өзінің үстел компьютерін (1,900 МГц процессоры бар екі ядролы Athlon64) пайдаланып, 73 күнде 512 биттік RSA кілтін факторлай алды. Тек 5 гигабайттан аз дискілік жад және 2,5 гигабайт RAM қажет болды. Алайда, Rivest, Shamir және Adleman өздерінің IX/D бөлімінде RSA-н кері қайтарудың факторлау сияқты қиын екеніне дәлел таппағанын атап өтті. 2020 жылға қарай жалпыға белгілі ең үлкен факторланған RSA саны 829 биттен (250 ондық сан, RSA 250) тұрды. Оның факторлық бөлінісі, технологияның алдыңғы қатарлы үлестірілген іске асырылуы арқылы, шамамен 2,700 CPU жылды алды. Іс жүзінде RSA кілттерінің ұзындығы әдетте 1024-тен 4096 битке дейін болады. 2003 жылы RSA Security 1024 биттік кілттерді 2010 жылға қарай бұзуға болатындығын болжады. 2020 жылға қарай мұндай кілттерді бұзу мүмкiндiгi белгісіз, бірақ ең аз ұсыныстар кем дегенде 2048 битке ауыстырылды. Жалпы алғанда, егер n жеткілікті үлкен болса, кванттық есептеуден тыс RSA қауіпсіз деп есептеледі. Егер n 300 бит немесе одан аз болса, оны бірнеше сағат ішінде дербес компьютерде, қазірдің өзінде еркін қол жетімді бағдарламалық қамтамасыз етуді пайдалана отырып, факторлауға болады. 512 биттік кілттер 1999 жылы RSA 155 бірнеше жүз компьютерлерді пайдалану арқылы факторландырылған кезде практикалық түрде бұзуға болатындығы дәлелденді, ал қазір олар бірнеше аптада жалпы аппаратты пайдалану арқылы факторландырылады. 2011 жылы 512 биттік кодты қол қою сертификаттарын пайдаланатын, факторланған болуы мүмкiн пайдаланулар туралы хабарланды. 2003 жылы Шамир мен Тромер сипаттаған TWIRL деп аталатын теориялық аппараттық құрылғы 1024 биттік кілттердің қауіпсіздігін күмән тудырды. Дұрыс толтыру қолданылса, 1=e = 3 сияқты шағын көпшілік көрсеткіштеріне қарсы белгілі шабуыл жоқ. Coppersmith шабуылы RSA-ға шабуыл жасау үшін көптеген қолданбалар бар, әсіресе егер e ашық көрсеткіші кіші болса және шифрланған хабарлама қысқа және толтырылмаған болса. 65537 – e үшін жиі қолданылатын мән; бұл мәнді ықтимал кіші көрсеткіштік шабуылдардан аулақ болу және тиімді шифрлауды (немесе қолтаңбаны тексеруді) рұқсат ету арасындағы келісім ретінде қарастыруға болады. NIST Компьютерлік қауіпсіздік туралы арнайы басылымы (SP 800 78 Rev. 1, 2007 жылғы тамыз) 65537-ден кіші e жалпыға ортақ көрсеткішіне рұқсат бермейді, бірақ бұл шектеудің себебін көрсетпейді. 2017 жылдың қазан айында Масарик университетінің зерттеушілер тобы RSALib деп аталатын Infineon кітапханасында жинақталған алгоритммен құрылған RSA кілттеріне әсер ететін ROCA осаллығын жариялады. Көптеген смарт-карталар мен сенімді платформа модульдері (TPM) зардап шеккені анықталды. RSA кілттерінің осал екенін команда шығарған тест бағдарламасының көмегімен оңай анықтауға болады.

Қатты кездейсоқ сандар генерациясының маңызы

Криптографиялық тұрғыдан берік кездейсоқ сан генераторы, жеткілікті энтропиямен дұрыс инициализацияланған, p және q жай сандарын жасау үшін қолданылуы тиіс. 2012 жылдың басында Арьен К. Ленстра, Джеймс П. Хьюз, Максим Ожье, Джоппе В. Бос, Торстен Клейнджунг және Кристоф Вахтер интернеттен жиналған миллиондаған ашық кілттерді салыстыратын талдау жүргізді. Олар Евклид алгоритмін ғана қолдана отырып, кілттердің 0,2%-ын жіктеуге қол жеткізді. Олар бүтін сандарды жіктеуге негіделген криптожүйелерге тән әлсіздікті пайдаланды. Егер 1=n = pq – бір ашық кілт болса, ал 1=n′ = p′q′ – екіншісі болса, және 1=p = p′ (бірақ q ≠ q') тегіс орын алса, онда 1=gcd(n, n′) = p есептеуі n және n' екеуін де жіктеуге мүмкіндік береді, осылайша екі кілтті де толығымен құлатып жібереді. Ленстра және авторлар бұл мәселені бит ұзындығы қажетті қауіпсіздік деңгейінен екі есе ұзын болған күшті кездейсоқ инициализацияны қолдану арқылы немесе p және q-ны тәуелсіз таңдаудың орнына, p берілгенде q-ны таңдау үшін детерминистік функцияны қолдану арқылы азайтуға болатынын атап өтеді. Надя Хенингер осыған ұқсас эксперимент жасаған топтың құрамында болды. Олар Дэниел Дж. Бернштейннің идеясын пайдаланып, әр RSA кілтінің GCD-ін n-нің барлық басқа кілттерінің көбейтіндісіне қарсы есептеді (729 миллион цифрдан тұратын сан), әр gcd(n, n′) есептеуінен гөрі, осылайша айтарлықтай жылдамдыққа қол жеткізді, себебі бір үлкен бөлуден кейін GCD мәселесі қалыпты көлемде болады. Хенингер өзінің блогында бұзылған кілттер негізінен «өрт қабырғалары, маршрутизаторлар, VPN құрылғылары, қашықтан серверді басқару құрылғылары, принтерлер, проекторлар және VOIP телефондары» сияқты 30-дан астам өндірушілердің енгізілген қосымшаларында кездесетінін мәлімдеді. Хенингер екі топтың анықтаған ортақ жай сандық проблемасы псевдокездейсоқ сан генераторының бастапқыда нашар инициализацияланған және содан кейін бірінші және екінші жай сандар жасалғанда қайта инициализацияланған жағдайлардан туындайтынын түсіндіреді. Пернетақтаның уақытын, электрондық диодтың шуын немесе станциялар арасындағы радио қабылдағыштың атмосфералық шуын пайдаланып жеткілікті энтропиялы инициализацияны қолдану бұл мәселені шешеді. Ашық кілтті криптографияның барлық кезеңінде күшті кездейсоқ сан генерациясы маңызды. Мысалы, егер RSA арқылы таратылатын симметриялық кілттер үшін әлсіз генератор қолданылса, онда тыңшы RSA-ны айналып өтіп, симметриялық кілттерді тікелей болжауы мүмкін.

Уақытша шабуылдар

Кохер 1995 жылы RSA-ға жаңа шабуылды сипаттады: егер шабуылшы Ева Алисаның аппараттық құралдарын жеткілікті детальды білетін болса және бірнеше белгілі шифрмәтіндердің шифрлау уақытын өлшесе алса, Ева шифрлау кілтін d тез анықтай алады. Бұл шабуыл RSA қолтаңба схемасына да қолданылуы мүмкін. 2003 жылы Бонэ мен Брамли желілік қосылым арқылы (мысалы, Secure Sockets Layer (SSL) қосылған веб-серверден) RSA факторларын қалпына келтіре алатын практикалық шабуылды көрсетті. Бұл шабуыл көптеген RSA жүзеге асырулары қолданатын қытайлық қалдық теоремасының оңтайландыруынан ақпараттың таралуын пайдаланады. Бұл шабуылдарды болдырмаудың бір жолы – шифрмәтіннің әрқайсысы үшін шифрлау операциясы тұрақты уақытқа созылатынын қамтамасыз ету. Алайда, бұл тәсіл өнімділікті айтарлықтай төмендетуі мүмкін. Оның орнына, көптеген RSA жүзеге асырулары криптографиялық жасыру деп аталатын баламалы әдісті қолданады. RSA жасыру RSA-ның көбейту қасиетін пайдаланады. c^(d) (mod n) есептеудің орнына, Алиса алдымен құпия кездейсоқ r мәнін таңдайды және (r^(e)c)^(d) (mod n) есептейді. Бұл есептеудің нәтижесі Эйлер теоремасын қолданғаннан кейін rc^(d) (mod n) болады, сондықтан r әсерін оның кері көбейту арқылы жоюға болады. Әр шифрмәтін үшін r-дің жаңа мәні таңдалады. Жасыру қолданылған кезде, шифрлау уақыты енді кіріс шифрмәтіннің мәнімен байланысты емес, сондықтан уақыт шабуылы сәтсіз аяқталады.

Адаптациялық таңдалған шифрлық мәтіндік шабуылдар

1998 жылы Дэниел Блейхенбахер PKCS #1 v1 толтыру схемасын пайдалана отырып, RSA шифрланған хабарламаларға қарсы бірінші практикалық бейімделмелі таңдалған шифрмәтіндік шабуылды сипаттады (бұл толтыру схемасы RSA шифрланған хабарламаға кездейсоқ және құрылымдық элементтер қосады, соның арқасында шифрланған хабарламаның дұрыс екендігін анықтауға болады). PKCS #1 схемасындағы қателерге байланысты, Блейхенбахер Secure Sockets Layer протоколының RSA нұсқаларына қарсы шабуыл жасап, сессия кілттерін қалпына келтіре алды. Осы жұмыстың нәтижесінде криптографтар қазір дәлелді түрде қауіпсіз толтыру схемаларын, мысалы, Оңтайлы Асимметриялық Шифрлау Толтыруын (Optimal Asymmetric Encryption Padding) пайдалануды ұсынады, ал RSA Laboratories PKCS #1-дің осы шабуылдарға осал емес жаңа нұсқаларын шығарды. Осы шабуылдың "BERserk" деп аталған түрі 2014 жылы қайта пайда болды. Ол Firefox және Chrome қолданған Mozilla NSS Crypto Library-ге әсер етті.

Бүйірлік арналар талдау шабуылдары

Браншты болжау талдауын (BPA) қолданатын жанама арналық шабуыл сипатталды. Көптеген процессорлар бағдарламаның нұсқау ағынындағы шартты тармақтың орындалу ықтималдығын анықтау үшін тармақ болжаушысын пайдаланады. Көбінесе бұл процессорлар бір мезгілде көп өрістік (SMT) технологиясын қолдайды. Бранч болжау талдау шабуылдары осы процессорларда өңделгенде жеке кілтті (статистикалық) анықтау үшін бақылау процесін пайдаланады. Қарапайым тармақты болжау талдауы (SBPA) BPA-ны статистикалық емес тәсілмен жақсартады деп мәлімдейді. "Қарапайым тармақты болжау талдауының күші туралы" мақаласында SBPA авторлары (Онур Ачичмез және Сетин Кая Кок) 10 итерацияда RSA кілтінің 512 битінен 508-ін анықтағанын мәлімдейді. 2010 жылы RSA іске асырылымдарына қарсы қуат ақаулары шабуылдары сипатталды. Автор кілтті CPU қуат кернеуін шектен тыс өзгерту арқылы қалпына келтірді, бұл серверде бірнеше қуат ақауларына әкелді.

Қиын іске асыру

RSA-ны қауіпсіз түрде іске асыру үшін ескеру керек көптеген ерекшеліктер бар (күшті PRNG, қабылданатын ашық кілттік көрсеткіш және т.б.). Бұл оны іске асыруды қиын етеді, тіпті "Practical Cryptography With Go" кітабы мүмкіндігі болса RSA-ны қолданудан қашуды ұсынады.