Шта је РСА енкрипција и како функционише?

Шта је РСА енкрипција и како то ради_


РСА енкрипција је систем који решава оно што је некад био један од највећих проблема у криптографији: Како некоме можете послати кодирану поруку без могућности да претходно делите код са њима?

Овај чланак научиће вас о свему што требате знати како је развијено РСА шифровање, како то ради, математику иза тога, за шта се користи као и неке од њих највећи сигурносни проблеми с којима се суочава. Учење о РСА пружиће вам неко основно знање које вам помаже да схватите колико делова нашег онлајн живота је заштићено.

Шта је РСА енкрипција?

Рецимо да желите да кажете пријатељу тајну. Ако сте одмах поред њих, можете то да само шапућете. Ако сте на супротним странама земље, то очигледно неће функционисати. Можете то да запишете и да им пошаљете пошту или да употребите телефон, али сваки од ових канала комуникације је несигуран и свако са довољно јаком мотивацијом могао би лако пресрести поруку.

Ако је тајна била довољно важна, не бисте ризиковали да је напишете нормално - шпијуни или би неки лош поштар могао да вас прегледа кроз пошту. Исто тако, неко би могао да вас прислушкује без вашег знања и бележи сваки ваш позив.

Једно решење за спречавање прислушкивача да приступају садржају поруке јесте шифрирајте га. То у основи значи додати код у поруку која га мења у збрку. Ако је ваш код довољно сложен, једини људи који ће моћи да приступе оригиналној поруци су они који имају приступ коду.

Ако сте имали прилику раније да поделите код са својим пријатељем било ко од вас може послати шифровану поруку у било које време, знајући да сте вас двојица једини који имају могућност читања садржаја поруке. Али шта ако нисте имали шансу да претходно делите код?

Ово је један од основних проблема криптографије, којим се бавио шеме енкрипције јавних кључева (познате и као асиметрична енкрипција) попут РСА.

Под РСА енкрипцијом поруке се шифрују кодом који се зове а јавни кључ, који се могу отворено делити. Због неких различитих математичких својстава алгоритма РСА, једном када је порука шифрирана јавним кључем, може је дешифрирати само други кључ, познат као приватни кључ. Сваки РСА корисник има пар кључева који се састоји од њихових јавних и приватних кључева. Као што име говори, приватни кључ мора бити чуван у тајности.

Шеме шифрирања јавних кључева разликују се од енкрипција са симетричним кључем, где и кодирање и дешифровање користе исти приватни кључ. Ове разлике чине шифрирање јавних кључева попут РСА корисно за комуникацију у ситуацијама када претходно није било могућности безбедне дистрибуције кључева..

Алгоритми симетричних кључева имају сопствене апликације, као што су шифровање података за личну употребу или за безбедне канале преко којих приватни кључеви могу да се деле.

Такође видети: Криптографија јавног кључа

Где се користи РСА енкрипција?

РСА енкрипција се често користи у комбинација са другим шемама шифровања, или за дигитални потписи што може да докаже аутентичност и интегритет поруке. Обично се не користи за шифровање читавих порука или датотека, јер је мање ефикасна и већа за ресурсе од шифрирања кључа са симетричним кључем.

Да ствари буду ефикасније, датотека ће генерално бити шифрована алгоритмом симетричног кључа, а затим ће се симетрични кључ шифровати РСА енкрипцијом. У овом процесу, само ентитет који има приступ приватном кључу РСА моћи ће дешифровати симетрични кључ.

Без могућности да приступите симетричном кључу, тастер оригинална датотека се не може дешифровати. Ова метода се може користити за заштиту порука и датотека, без предугог трошења или трошења превише рачунских ресурса.

РСА шифровање се може користити у више различитих система. Може се имплементирати у ОпенССЛ, волфЦрипт, криптлиб и низ других криптографских библиотека.

Као један од првих широко коришћених схема шифрирања јавних кључева, РСА је поставила темеље за велики део наших сигурних комуникација. Било је која се традиционално користи у ТЛС и такође је био оригинални алгоритам коришћен у ПГП енкрипцији. РСА се и даље може видети у читавом низу веб прегледача, е-поште, ВПН-ова, ћаскања и других комуникационих канала.

РСА се такође често користи за остваривање сигурних веза између ВПН клијената и ВПН сервера. Под протоколима као што је ОпенВПН, ТЛС руковање може користити алгоритам РСА за размену кључева и успостављање сигурног канала.

Позадина РСА енкрипције

Као што смо споменули на почетку овог чланка, пре шифрирања јавним кључем био је изазов безбедно комуницирати ако претходно није било могућности да безбедно разменимо кључеве. Ако није постојала прилика да се код дели унапред или сигуран канал преко кога би се могли дистрибуирати кључеви, не би било начина да се комуницира без претњи да ће непријатељи моћи да пресрећу и приступе садржају поруке.

Тек 1970-их ствари су се почеле мењати. Први велики развој према криптографији са јавним кључем објавио је почетком деценије Јамес Х. Еллис. Еллис није могао да нађе начин да спроведе свој посао, али његов колега Цлиффорд Цоцкс проширио га је и постао оно што сада знамо као РСА енкрипција.

Завршни део слагалице је оно што сада називамо Диффие-Хеллман размена кључева. Малцолм Ј. Виллиамсон, други сарадник, смислио је шему која омогућава двема странама да деле кључ за шифровање, чак и ако канал надгледају противници.

Сав овај посао обављен је у британској обавештајној агенцији, седишту владе за комуникације (ГЦХК), које је откриће је држало класификованим. Делимично због технолошких ограничења, ГЦХК тада није могао да примети криптографију са јавним кључем, па је развој непомично седео на полици и скупљао прашину. Тек 1997. дело је декласификовано и признати оригинални проналазачи РСА.

Неколико година касније слични концепти су се почели развијати у јавној сфери. Ралпх Меркле створио је рани облик криптографија са јавним кључем, што је утицало на Вхитфиелд Диффиеја и Мартина Хеллмана у дизајну Диффие-Хеллманове размене кључева.

Идејама Диффие и Хеллман недостајао је један важан аспект који би њихов рад учинио темељем криптографије јавног кључа. Ово је био једносмјерна функција коју би било тешко обрнути. 1977, Рон Ривест, Ади Схамир и Леонард Адлеман, чија презимена чине акроним РСА, пронашло је решење после годину дана рада на проблему.

Академици са МИТ-а остварили су свој пробој после пасхалне забаве 1977. Ривест је након ноћи испијања отишао кући, али уместо да спава, грозничаво је провео вече пишући рад који је формализовао његову идеју за неопходну једносмерну функцију.

Идеју је патентирао МИТ 1983. године, али тек у раним данима на Интернету је алгоритам РСА почео да види широко усвајање као важно сигурносно средство.

Како функционише РСА енкрипција?

Следеће ће представљати мало поједностављење, јер је превише читалаца вероватно престрашено од стране наставника математике у средњој школи. Да не бисмо превише успели из математике, ми ћемо бити поједностављивање неких концепата и коришћење много мањих бројева. У стварности, РСА енкрипција користи једноставне бројеве који су много већи и постоји неколико других сложености.

Неколико је различитих концепата за које ћете се морати окренути пре него што објаснимо како се све то уклапа. Ови укључују замкачке функције, генерисање прашума, Цармицхаелова тотиентна функција и одвојених процеса који су укључени у то рачунање јавних и приватних кључева користи се у процесима шифрирања и дешифрирања.

Функције врата

РСА енкрипција ради под претпоставком да је алгоритам лако је израчунати у једном правцу, али готово немогуће обрнуто. На пример, ако би вам рекли да је 701,111 производ два главна броја, да ли бисте могли да схватите шта су та два броја?

Чак и са рачунаром или рачунаром, већина нас не би имала појма одакле да започнемо, а камоли да бисмо могли да схватимо одговор. Али ако ствари преокренемо, постаје много лакше. Шта је резултат:

907 к 773

Ако би вам било довољно досадно, могли бисте извадити телефон или га можда израчунати у глави да откријете да је одговор на претходно споменути 701,111. Ових 907 и 773 су ​​примарни бројеви који дају одговор на наше прво питање, што нам показује да одређене једнаџбе можемо лако схватити на један начин, али наизглед немогуће обрнуто.

Други интересантан аспект ове једначине је да је лако утврдити један од главних бројева ако већ имате други, као и производ. Ако вам је речено да је 701,111 резултат 907 помножено са другим једноставним бројем, можете то да схватите другим примером следећом једначином:

701,111 ÷ 907 = 773

Пошто је однос између ових бројева једноставно израчунати у једном правцу, али је невероватно тешко обрнуто, једначина је позната као функција замка врата. Имајте на уму да, иако је горњи пример тешко схватити, рачунари могу да раде операцију у тривијалном временском року.

Због тога РСА користи много веће бројеве. Величина прајдова у стварној РСА имплементацији варира, али у 2048-битном РСА-у они би се саставили да би направили кључеве дужине 617 цифара. Да бисте вам помогли да га визуализујете, кључ би био број ове величине:

99999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999

Стварање прашума

Споменуте функције замка врата чине основу за функционирање шема шифрирања јавних и приватних кључева. Њихова својства омогућавају дељење јавних кључева без угрожавања поруке или откривања приватног кључа. Омогућавају и шифрирање података једним кључем на начин који други кључ може да дешифрује из пара.

Први корак шифрирања поруке са РСА-ом је генерише кључеве. Да бисмо то урадили, треба нам два главна броја (п и к) који су изабрани тестом прималности. Тест прималности је алгоритам који ефикасно проналази једноставне бројеве, попут Рабин-Миллеровог теста примарности.

Примарни бројеви у РСА морају бити јако велики, а такође и релативно удаљени. Мали или ближи бројеви су много лакши за пуцање. Упркос томе, наш пример ће користити мање бројеве како би ствари било лакше пратити и израчунати.

Рецимо да нам тест примарности даје основне бројеве које смо користили горе, 907 и 773. Следећи корак је откривање модула (н), користећи следећу формулу:

н = п Икс к

Где п = 907 и к = 773

Стога:

н = 907 к 773

н = 701.111

Цармицхаелова тотиентна функција

Једном јесмо н, користимо Цармицхаелова тотиентна функција:

    λ(н) = лцм (п - 1, к - 1)

Ако је прошло доста времена откад сте посегнули за уџбеницима из математике, горе наведено може изгледати помало застрашујуће. Можете прескочити овај део и само верујете да математика делује, а у супротном се држите још неколико рачунања. Све ће вам бити објашњено у што већем броју детаља како би вам помогло да се око главе темељите.

За оне који нису свесни, λ (н) представља Цармицхаел за који се веже н, док лцм значи најнижи заједнички вишеструки, што је најмањи број оба п и к могу да се поделе. Постоји неколико различитих начина да то схватите, али најлакше је веровати интернетском калкулатору који ће направити једнаџбу за вас. Па, ставимо наше бројеве у једначину:

    λ(701,111) = лцм (907 - 1, 773 - 1)

    λ(701,111) = лцм (906, 772)

   Помоћу горе наведеног калкулатора добијате:

рса-енкрипција-2

    λ(701,111) = 349.716

Генерисање јавног кључа

Сада када имамо Цармицхаел-ов највиши број, то је ствар време да смислимо наш јавни кључ. Под РСА, јавни кључеви се састоје од правог броја е, добро као н. Број е може бити било шта између 1 и вредности за λ(н), што у нашем примеру износи 349,716.

Како се јавни кључ дели отворено, није толико важан за е да буде случајни број. У пракси, е је генерално постављена на 65,537, јер када се много већи број бира насумично, то шифровање чини много мање ефикасним. За данашњи пример, држаћемо бројеве малим да би прорачуни били ефикасни. Рецимо:

е = 11

Наши коначни шифровани подаци називају се шифрични текст (ц). Извлачимо то из наше отворене поруке (м), применом јавног кључа са следећом формулом:

ц = ме мод н

Већ смо смислили е и ми знамо н такође. Једино што морамо објаснити је мод. То је мало изван дубине овог чланка, али односи се на рад модула, што у суштини значи остатак који је преостао када поделите једну страну на другу. На пример:

10 мод 3 = 1

То је зато што 3 улази у 10 три пута, а остатак 1.

Назад у нашу једнаџбу. Да ствари буду једноставне, рецимо то порука (м) које желимо да кодирамо и чувамо у тајности је само један број, 4. Укључимо све у:

ц = ме мод н

ц = 411 мод 701,111

ц = 4.194.304 мод 701,111

Опет, да направим рад модула лако, ми ћемо користити интернетски калкулатор, али добродошли сте да то схватите сами. Уносом 4,194,304 у онлине калкулатор даје нам:

рса-енкрипција-3

ц = 688.749

Зато када користимо РСА за шифрирање наше поруке, 4, са нашим јавним кључем, даје нам шифротекст 688.749. Претходни кораци су вам се можда деловали превише математички тешки, али важно је поновити шта се заправо догодило.

Имали смо порука од 4, коју смо желели да сачувамо у тајности. На њега смо примијенили јавни кључ, који нам је дао шифровани резултат од 688,749. Сада када је шифрована, број 688,749 можемо сигурно послати власнику пара кључева. Они су једина особа која ће то моћи да дешифрује својим приватним кључем. Кад га дешифрују, видеће поруку коју смо заиста послали, 4.

Генерисање приватног кључа

У РСА енкрипцији, након што се подаци или поруке претворе у шифрични текст јавним кључем, он се може дешифровати само приватним кључем из истог пара кључева. Приватни кључеви се састоје од д и н. Већ знамо н, а за проналажење се користи следећа једначина д:

д = 1 /е мод λ(н)

У Генерисање јавног кључа одељак горе, то смо већ одлучили у нашем примеру, е било би једнако 11. Слично томе, знамо то λ(н) једнак је 349,716 из нашег ранијег рада под Цармицхаелова тотиентна функција. Ствари се мало сложе када наиђемо на овај део формуле:

1 /е мод

Ова једначина може изгледати као да тражи да поделите 1 на 11, али то није случај. Уместо тога, ово само симболизује да морамо да израчунамо модуларни инверзни од е (што је у овом случају 11) и λ(н) (што у овом случају износи 349,716).

То у суштини значи то уместо да изводимо стандардну операцију модула, уместо тога ћемо користити обрнуто. То се обично налази код проширеног еуклидског алгоритма, али то је мало изван оквира овог чланка, па ћемо само преварити и употребити онлајн калкулатор. Сада када смо разумели све што се догађа, укључимо наше податке у формулу:

д = 1 /11 мод 349,716

Да бисте извршили ову операцију, једноставно унесите 11 (или било коју вредност коју можда имате е ако то покушавате својим примером) где пише Интегер и 349.716 (или било које вредности које можда имате λ(н) ако то покушавате својим примером) где пише Модуло у мрежном калкулатору који је повезан горе. Ако сте то правилно урадили, требало би да добијете резултат где:

д = 254, 339

Сада када имамо вредност за д, можемо да дешифрујемо поруке које су шифроване нашим јавним кључем следеће формуле:

м = цд мод н

Сада се можемо вратити на шифрични текст који смо шифровали испод Генерисање приватног кључа одељак. Када смо шифрирали поруку јавним кључем, она нам је дала вредност ц од 688.749. Одозго то знамо д једнако 254.339. То такође знамо н једнак 701,111. То нам даје:

м = 688.749254,339 мод 701,111.

Као што сте можда приметили, покушај преузимања броја до 254.339. снаге може бити мало помало за већину нормалних калкулатора. Уместо тога, користићемо интернетски калкулатор дешифрирања РСА. Ако бисте желели да користите другу методу, применили бисте овлаштења као што би то обично радили и извршили операцију модула на исти начин као што смо урадили у Генерисање јавног кључа одељак.

У горњи калкулатор унесите 701,111 где пише Модул снабдевања: Н, 254.399 где пише Кључ за дешифровање: Д, и 688.749 где пише Шифрована порука у нумеричком облику, како је приказано испод:

рса-енкрипција-1

Након што унесете податке, притисните Дешифрирајте, који ће бројеве ставити кроз горњу формулу дешифрирања. Тако ћете добити оригиналну поруку у доњем пољу. Ако сте све правилно обавили, требало би да добијете одговор 4, која је била оригинална порука коју смо шифровали својим јавним кључем.

Како РСА енкрипција функционише у пракси

Горњи одељци требало би да вам дају разумљив начин на који функционише математика која стоји иза шифрирања јавних кључева. Може бити мало збуњујуће, али чак и они који нису разумели танкоће једнаџби могу вам с надом одузети неке важне информације о процесу.

У горе наведеним корацима показали смо како два ентитета могу безбједно комуницирати без претходног дељења кода. Прво, сви морају поставили своје парове кључева и делите јавни кључ једни са другима. Два ентитета морају чувати своје приватне кључеве у тајности како би комуникација остала сигурна.

Једном када пошиљалац има јавни кључ свог примаоца, он може да га користи за шифрирање података које жели да остане безбедан. Једном када је шифриран јавним кључем, он се може дешифрирати само приватним кључем из истог пара кључева. Чак се исти јавни кључ не може користити за дешифровање података. То је због својстава функције замки врата које смо поменули горе.

Када прималац прими шифровану поруку, они користе свој приватни кључ за приступ подацима. Ако прималац жели да врати комуникацију на сигуран начин, они тада могу да шифрирају своју поруку јавним кључем странке са којом комуницирају. Поново, након што је шифриран јавним кључем, једини начин на који се може приступити информацијама је путем одговарајућег приватног кључа.

На овај начин, непознате стране могу да користе РСА енкрипцију за сигурно слање података међу собом. Значајни делови комуникационих канала које користимо у нашим онлајн животима изграђени су од ове фондације.

Како су сложеније поруке шифроване помоћу РСА?

У нашем примеру смо много поједноставили ствари како бисмо их лакше разумели, због чега смо само шифровали поруку „4“. Могућност шифрирања броја 4 не чини се посебно корисном, па се можда питате како можете да шифрирате сложенији скуп података, као што је симетрични кључ (који се најчешће користи РСА) или чак порука.

Неки се могу збунити како кључ попут "н38цб29фкбјх138г7фкијнф3кај84ф8б9ф ..." или порука попут "купи ми сендвич" може бити шифрирана алгоритмом попут РСА, који се бави бројевима, а не словима. Реалност је да су све информације које наши рачунари обрађују похрањене у бинарним (1с и 0с) и користимо стандарде кодирања као што су АСЦИИ или Уницоде да их представљамо на начине на које их људи могу разумети (слова).

То значи да кључеви попут „н38цб29фкбјх138г7фкијнф3кај84ф8б9ф…“ и поруке попут „купи ми сендвич“ већ постоје као бројеви, које се лако могу израчунати у алгоритму РСА. Бројеви којима су они представљени много су већи и теже нам је управљати, зато се радије бавимо алфанумеричким знаковима, а не гомилу бинарних.

Ако желите шифрирање дужег сесијског кључа или сложеније поруке с РСА-ом, то би једноставно укључивало пуно већи број.

Паддинг

Када се РСА имплементира, користи нешто што се назива подметање за спречавање бројних напада. Да бисмо објаснили како то функционише, почећемо са примером. Рецимо да пријатељу шаљете кодирану поруку:

Драга Карен,

    Надам се да си добро. Хоћемо ли сутра вечерати?

    Искрено Ваш,

    Џејмс

Рецимо да сте шифрирали поруку на једноставан начин мењање сваког слова у оно које следи у абецеди. Ово би поруку променило у:

Ефбс Лбсфо,

    Ј ипкф зпв бсф кфмм. Бсф кф тујмм ибвјох ејоофс упнпсспк?

    Зпвст тјодфсфмз,

    Кбнфт

Ако су ваши непријатељи пресрели ово писмо, постоји трик који би могли да искористе да би испробали код. Су могли погледајте формат вашег писма и покушајте да погодите шта би та порука могла да каже. Они знају да људи обично започињу своја слова са "Бок", "Здраво", "Драги" или низом других конвенција.

Када би покушали да примењују „Здраво“ или „Здраво“ као прву реч, видели би да то не би одговарало броју знакова. Потом би могли пробати „Драги“. Одговара, али то не мора нужно ништа значити. Нападачи би то само покушали и видели где их је то одвело. Тако би они променили слова "е", "ф", "б" и "с" са "д", "е", "а", односно "р". Ово би им дало:

Драги Ласео,

    Ј ипке зпв су кемм. Јесу ли ке тујмм иавјох дјооес упнпсспк?

    Зпврт тјодеремз,

    Канет

И даље изгледа прилично збуњујуће, па би нападачи могли да покушају да погледају неке друге конвенције, како закључујемо наша писма. Људи често на крају додају „Фром“ или „Срдачан поздрав“, али ниједан од њих не одговара формату. Уместо тога, нападачи ће можда покушати са вама “искрено” и заменити друга слова да виде где их налази. Променом "з", "п", "в", "т", "ј" "о", "д" и "м" са "и", "о", "у", "с", " и "," н "," ц "и" л ", добили би:

Драги Ласен,

    Претпостављам да сте кретен. Јесу ли ке туилл иавинх диннес уоноссок?

    Искрено Ваш,

    Канет

Након те модификације, изгледа да нападачи почињу да стижу негде. Пронашли су речи „ја“, „ви“ и „јесте“, поред речи које су чиниле њихова почетна нагађања.

Гледајући како су речи правилним граматичким редоследом, нападачи могу бити прилично сигурни да крећу у правом смеру. До сада су вероватно схватили да код укључује свако слово које се мења у оно које следи у абецеди. Једном када то схвате, лако је превести остатак и прочитати оригиналну поруку.

Горњи пример био је само једноставан код, али као што видите, структура поруке може дати нападачима трагове о њеном садржају. Наравно, било је тешко разабрати поруку управо из њене структуре и било је потребно неко школовано нагађање, али морате имати на уму да су рачунари много бољи у томе него што смо ми. То значи да се могу користити за проналажење далеко сложенијих кодова у много краћем времену, заснована на траговима који потичу од структуре и других елемената.

Ако структура може довести до пуцања кода и откривања садржаја поруке, онда нам треба неки начин да сакријемо структуру да би порука остала сигурна. То нас доводи до паддинг.

Када је порука подстављена, додају се насумични подаци да се сакрију оригинални трагови форматирања који би могли довести до разбијања шифроване поруке. С РСА-ом су ствари мало сложеније, јер шифрирани кључ нема очигледно обликовање писма које би нам помогло да нам да трагове у горњем примеру..

Упркос томе, противници могу да користе бројне нападе да би искористили математичка својства кода и разбили шифроване податке. Због ове претње, имплементације РСА користе схеме паддинг-а као што је ОАЕП за уметање додатних података у поруку. Додавање ове облоге пре шифрирања поруке чини РСА много сигурнијим.

Потписивање порука

РСА се може користити за шифрирање података. Његова својства га чине корисним и за потврђујући да је поруку послао ентитет који тврди да ју је послао, као и да доказује да порука није измењена или неовлашћена.

Када неко жели да докаже аутентичност своје поруке, може израчунати а хасх (функција која узима податке произвољне величине и претвара их у фиксну дужину) отвореног текста, а затим их потписује својим приватним кључем. Они потпишите хасх примјеном исте формуле која се користи код дешифрирања (м = цд мод н). Након потписивања поруке, овај дигитални потпис шаљу примаоцу заједно са поруком.

Ако прималац прими поруку са дигиталним потписом, може их користити потпис да провјери је ли порука аутентично потписана приватним кључем особе која тврди да ју је послала. Такође могу да виде да ли су нападачи променили поруку након што је послана.

Да бисте проверили дигитални потпис, прималац прво користи исту функцију хасх-а како би пронашао хасх вредност поруке коју је примио. Тада прималац примењује јавни кључ пошиљаоца на дигитални потпис, помоћу формуле за шифровање (ц = ме мод н), да им дају хасх дигиталног потписа.

Од стране упоређујући хасх поруке која је примљена упоредо са хасх-ом из шифрованог дигиталног потписа, прималац може рећи да ли је порука аутентична. Ако су двије вриједности исте, порука није промијењена откако је потписана од оригиналног пошиљаоца. Да је поруку измијенио чак и један знак, вриједност хасх-а била би потпуно другачија.

Безбедност РСА & напада

Као и већина криптосистема, сигурност РСА зависи од начина на који се примењује и користи. Један важан фактор је величина кључа. Тхе што је већи број бита у кључу (у суштини колико је дуг дуг), то је теже пробити се нападима као што су грубо форсирање и факторинг.

Будући да алгоритми асиметричних кључева као што је РСА могу бити разбијени целокупном факторизацијом, док алгоритми симетричних кључева попут АЕС не могу, РСА кључеви морају бити много дужи да би се постигао исти ниво сигурности.

Тренутно је највећа величина кључа која је узета у обзир је дугачка 768 бита. То је урадио тим академика током двогодишњег периода, користећи стотине машина.

Пошто је факторинг завршен крајем 2009. и рачунска снага је значајно порасла од тог времена, може се претпоставити да је покушај сличног интензитета сада би могао да има много већи РСА кључ.

Упркос томе, време и ресурси потребни за овакав напад стављају га ван домашаја већине хакера и у подручје националних држава. Најбоља дужина кључа за употребу зависи од вашег појединачног модела претње. Национални институт за стандарде и технологију препоручује минималну величину кључа 2048-бит, али се такође користе и 4096-битни тастери у неким ситуацијама када је ниво претње виши.

Факторинг је само један од начина на који РСА може да се пробије. Бројни други напади могу потенцијално разбити шифровање са мањом количином ресурса, али они зависе од имплементације и других фактора, а не нужно и самог РСА. Неке од њих укључују:

Јесу ли примеси случајни?

Неке имплементације РСА користе слабе генераторе случајних бројева како би смислили примес. Ако ови бројеви нису довољно случајни, нападачи олакшавају њихово факторирање и разбијање шифрирања. Овај проблем може се избећи коришћењем криптографски сигурног генератора псеудо случајних бројева.

Лоша генерација кључева

РСА кључеви морају бити унутар одређених параметара како би били заштићени. Ако су примеси п и к су преблизу заједно, кључ се лако може открити. Исто тако, број д који чини део приватног кључа не може бити премален. Ниска вредност олакшава решење. Важно је да ови бројеви буду одговарајуће дужине како би ваш кључ били безбедни.

Напади бочних канала

Ово су врста напада који не разбијају РСА директно, већ уместо тога користе информације из његове примене да би нападачима дали наговештаје о процесу шифровања. Ти напади могу укључивати и ствари попут анализирање количине енергије која се користи, или анализа предвиђања грана, који користи мерења времена извршења да би открио приватни кључ.

Друга врста напада бочних канала позната је као временски напад. Ако нападач има могућност да мери време дешифровања на рачунару свог циља за бројне различите шифроване поруке, ове информације могу омогућити нападачу да утврди лични кључ циља.

Већина имплементација РСА избегава овај напад додавањем једнократне вредности током процеса шифровања, што уклања ову корелацију. Овај процес се зове криптографско заслепљивање.

Да ли је РСА енкрипција сигурна за будућност?

Добра вест је да се РСА сматра безбедном за употребу, упркос тим могућим нападима. Упозорење је то треба га правилно имплементирати и користити кључ који спада у исправне параметре. Као што смо недавно расправљали, имплементације које не користе паддинг, непримерене величине или друге рањивости не могу се сматрати безбедним..

Ако желите да користите РСА енкрипцију, обавезно користите кључ од најмање 1024 бита. Они са моделима веће претње требало би да се придржавају кључева од 2048 или 4096 бита ако желе да поуздано користе РСА. Све док сте свесни слабости које РСА има и правилно их користите, требало би да се осећате сигурним да користите РСА за дељење кључева и друге сличне задатке који захтевају шифровање јавних кључева.

Такође видети: Објашњени су уобичајени типови шифрирања

Brayan Jackson Administrator
Sorry! The Author has not filled his profile.
follow me

About the author

Leave a Reply

Your email address will not be published. Required fields are marked *

− 5 = 2