[Powered by Google Translate] [આરએસએ] [રોબ બોડેન] [ટોમી MacWilliam] [હાર્વર્ડ યુનિવર્સિટી] [આ CS50 છે.] [CS50.TV] ચાલો આરએસએ, માહિતી એનક્રિપ્ટ કરવા માટે વ્યાપકપણે ઉપયોગ અલગોરિધમ પર એક નજર. સીઝર અને Vigenère સાઇફર્સ જેવા એન્ક્રિપ્શન algorithms ખૂબ સુરક્ષિત નથી. સીઝર સાઇફર સાથે, હુમલાખોર માત્ર 25 વિવિધ કીઓ પ્રયાસ કરવાની જરૂર છે ત્યારે સંદેશો સાદા લખાણ. જ્યારે Vigenère સાઇફર વધારે સીઝર સાઇફર કરતાં સુરક્ષિત છે કારણ કે મોટા કીઓ માટે શોધ જગ્યા, એકવાર હુમલાખોર એક Vigenère સાઇફર માં કી લંબાઈ જાણે છે, જે એનક્રિપ્ટ થયેલ લખાણમાં દાખલાની એક વિશ્લેષણ મારફતે નક્કી કરી શકાય છે, આ Vigenère સાઇફર કે વધુ સીઝર સાઇફર કરતાં સુરક્ષિત ખૂબ નથી. આરએસએ, બીજી બાજુ, આ જેવા હુમલાઓ માટે સંવેદનશીલ નથી. આ સીઝર સાઇફર અને Vigenère સાઇફર જ કી વાપરવા માટે બંને એનક્રિપ્ટ અને ડિક્રિપ્ટ કરવા માટે એક સંદેશો. આ મિલકત આ સાઇફર્સ સપ્રમાણ સંકેતલિપીના ગાણિતીક બનાવે છે. સિમેટ્રિક કી ગણતરી નિયમ એક મૂળભૂત સમસ્યા છે કે તેઓ એનક્રિપ્ટ અને મોકલવા મેસેજ એક પર આધાર રાખે છે અને એક પ્રાપ્ત કરો અને સંદેશ ડિક્રિપ્ટ પહેલાથી જ કી તેઓ બન્ને ઉપયોગ કરશે પર ઘણા સ્પષ્ટ સંમત થયા છે. પરંતુ અમે એક સ્ટાર્ટઅપ સમસ્યા થોડી અહીં છે. 2 જે કોમ્પ્યુટર વાતચીત કરવા માંગો છો તેમની વચ્ચે એક ગુપ્ત કી કેવી રીતે સ્થાપિત કરું? જો કી ગુપ્ત હોવું જ જોઈએ, તો પછી અમે એ એનક્રિપ્ટ અને ડિક્રિપ્ટ કી રસ્તો જરૂર છે. જો બધા અમારી પાસે સપ્રમાણ ગૂઢ સંકેતલિપી છે તો પછી અમે માત્ર એ જ સમસ્યા માટે કર્યું છે પાછા આવો. આરએસએ, બીજી બાજુ, કીઓ એક જોડી વાપરે છે, એક અને ડિક્રિપ્શન માટે એનક્રિપ્શન અન્ય માટે. એક જાહેર કી તરીકે ઓળખાય છે, અને અન્ય ખાનગી કી છે. જાહેર કી સંદેશાઓ એન્ક્રિપ્ટ કરવા માટે ઉપયોગમાં આવે છે. જેમ તમે તેનું નામ દ્વારા કદાચ ધારી શકો, અમે સાથે અમારી જાહેર કી શેર કરી શકો છો કોઈને પણ અમે એનક્રિપ્ટ થયેલ સંદેશ સુરક્ષા સાથે સમાધાન કર્યા વિના કરવા માંગો છો. સંદેશાઓ જાહેર કી વાપરી એન્ક્રિપ્ટ માત્ર તેની અનુરૂપ ખાનગી કી સાથે decrypted કરી શકાય છે. જ્યારે તમે તમારી જાહેર કી શેર કરી શકો છો, તો તમે હંમેશા તમારા ખાનગી કી ગુપ્ત રાખવી જોઈએ. કારણ કે ખાનગી કી ગુપ્ત રાખવામાં હોવી જોઈએ અને માત્ર ખાનગી કી ડિક્રિપ્ટ સંદેશાઓ માટે વાપરી શકાય છે, જો 2 વપરાશકર્તાઓ માટે સંદેશાઓ મોકલવા માંગો છો આરએસએ સાથે આગળ અને આગળ એન્ક્રિપ્ટ બંને વપરાશકર્તાઓ તેમના પોતાના જાહેર અને ખાનગી કી જોડ કરવાની જરૂર છે. 1 વપરાશકર્તા માંથી 2 વપરાશકર્તા સંદેશાઓ માત્ર વપરાશકર્તા 2 કી જોડ વાપરવા માટે, અને 2 વપરાશકર્તા પાસેથી 1 વપરાશકર્તા સંદેશા માત્ર વપરાશકર્તા 1 કી જોડ વાપરો. હકીકત એ છે કે ત્યાં 2 અલગ એનક્રિપ્ટ કીઓ અને ડિક્રિપ્ટ સંદેશાઓ છે એક અસમપ્રમાણ કી એલ્ગોરિધમ આરએસએ બનાવે છે. અમે જાહેર કી એનક્રિપ્ટ ક્રમમાં જરૂર નથી તેને બીજા કમ્પ્યુટર પર મોકલો કારણ કે કી જાહેર રીતે છે. આનો અર્થ એ થાય કે RSA એક સિમેટ્રિક કી અલ્ગોરિધમ પ્રમાણે જ શરૂઆતી સમસ્યા નથી. કેવી રીતે 2 જે કોમ્પ્યુટર વાતચીત કરવા માંગો છો કરવું તેમની વચ્ચે એક ગુપ્ત કી સ્થાપિત? જો કી ગુપ્ત હોવું જ જોઈએ, તો પછી અમે એ એનક્રિપ્ટ અને ડિક્રિપ્ટ કી રસ્તો જરૂર છે. જો બધા અમારી પાસે સપ્રમાણ ગૂઢ સંકેતલિપી છે તો પછી અમે માત્ર કરેલા એ જ સમસ્યા પર પાછા આવે છે. આરએસએ, બીજી બાજુ, કીઓ એક જોડી વાપરે છે, એક અને ડિક્રિપ્શન માટે એનક્રિપ્શન અન્ય માટે. એક જાહેર કી તરીકે ઓળખાય છે, અને અન્ય ખાનગી કી છે. જાહેર કી સંદેશાઓ એન્ક્રિપ્ટ કરવા માટે ઉપયોગમાં આવે છે. જેમ તમે તેનું નામ દ્વારા કદાચ ધારી શકો, અમે કોઈને આપણે ઇચ્છીએ સાથે અમારી જાહેર કી શેર કરી શકો છો એનક્રિપ્ટ થયેલ સંદેશ સુરક્ષા સાથે સમાધાન કર્યા વિના. જાહેર કી વાપરી એન્ક્રિપ્ટ સંદેશાઓ માત્ર decrypted શકાય તેના અનુરૂપ ખાનગી કી સાથે. જ્યારે તમે તમારી જાહેર કી શેર કરી શકો છો, તો તમે હંમેશા તમારા ખાનગી કી ગુપ્ત રાખવી જોઈએ. કારણ કે ખાનગી કી ગુપ્ત રાખવામાં હોવી જોઈએ અને માત્ર ખાનગી કી ડિક્રિપ્ટ સંદેશાઓ માટે વાપરી શકાય છે જો 2 વપરાશકર્તાઓ માટે સંદેશાઓ આરએસએ સાથે એનક્રિપ્ટ થયેલ મોકલવા માંગો છો પાછળ અને આગળ બંને વપરાશકર્તાઓ તેમના પોતાના જાહેર અને ખાનગી કી જોડ કરવાની જરૂર છે. 1 વપરાશકર્તા માંથી 2 વપરાશકર્તા સંદેશાઓ માત્ર 2 વપરાશકર્તા પાસેથી 1 વપરાશકર્તા માટે વપરાશકર્તા 2 કી જોડ અને સંદેશાઓ ઉપયોગ માત્ર વપરાશકર્તા 1 કી જોડ વાપરો. હકીકત એ છે કે ત્યાં 2 અલગ એનક્રિપ્ટ કીઓ અને ડિક્રિપ્ટ સંદેશાઓ છે એક અસમપ્રમાણ કી એલ્ગોરિધમ આરએસએ બનાવે છે. અમે જાહેર કી એનક્રિપ્ટ ક્રમમાં જરૂર નથી તેને બીજા કમ્પ્યુટર પર મોકલો કારણ કે કી જાહેર રીતે છે. આનો અર્થ એ થાય કે RSA જ શરૂઆતી સમસ્યા નથી સપ્રમાણ ચાવીરૂપ એલ્ગોરિધમ્સ તરીકે. તેથી જો મને એ RSA એન્ક્રિપ્શન મદદથી સંદેશો મોકલવા માંગો છો માટે રોબ, હું પ્રથમ રોબ જાહેર કી જરૂર પડશે. માટે કીઓ એક જોડ બનાવવા માટે, રોબ માટે 2 મોટી સંખ્યામાં મુખ્ય પસંદ કરવાની જરૂર છે. આ સંખ્યાઓ બંને જાહેર અને ખાનગી કીઓ ઉપયોગ કરવામાં આવશે, પરંતુ જાહેર કી માત્ર આ 2 સંખ્યામાં ઉત્પાદન ઉપયોગ કરશે, જે નંબરો પોતાને નથી. એકવાર હું રોબ જાહેર કી વાપરી સંદેશો એનક્રિપ્ટ થયેલ કર્યા છે હું રોબ સંદેશ મોકલી શકો છો. કમ્પ્યુટર માટે, ફેક્ટરિંગના નંબરો હાર્ડ સમસ્યા છે. જાહેર કી યાદ, 2 વડા સંખ્યામાં ઉત્પાદન વપરાય છે. ત્યારબાદ આ ઉત્પાદને માત્ર 2 પરિબળો હોવી જ જોઈએ, જે નંબરો કે જે ખાનગી કી બનાવે પ્રયત્ન થાય છે. ડિક્રિપ્ટ સંદેશ કરવા, આરએસએ આ ખાનગી કી ઉપયોગ કરશે અથવા નંબરો જાહેર કી બનાવવાની પ્રક્રિયા સાથે ગુણાકાર. કારણ કે તે ગણતરીની છે હાર્ડ સંખ્યા પરિબળ આ 2 ખાનગી કી ઉપયોગમાં નંબરો એક જાહેર કી ઉપયોગમાં તે મુશ્કેલ છે માટે હુમલાખોર બહાર ખાનગી કી આંકડો કે ડિક્રિપ્ટ કરવા માટે જરૂરી સંદેશ હશે. હવે આપણે કેટલાક ઓછા આરએસએ સ્તર વિગતો જાય. ચાલો પ્રથમ કેવી રીતે અમે કીઓ એક જોડી બનાવી શકે છે. પ્રથમ, અમે 2 વડા નંબરો કરવાની જરૂર પડશે. અમે આ પેજ 2 અને q નંબરો કહી શકશો. ક્રમમાં વ્યવહારમાં p અને q, જઇને અમે pseudorandomly પેદા થશે મોટી સંખ્યામાં છે અને પછી નક્કી કરવા માટે એક ચકાસણી વાપરવા માટે છે કે શું નથી અથવા તે નંબરો કદાચ વડા. અમે રેન્ડમ નંબર પેદા ઉપર અને ઉપર ફરીથી રાખી શકો છો ત્યાં સુધી અમે 2 primes કે અમે ઉપયોગ કરી શકે છે. અહીં આપણે = પૃષ્ઠ 23 અને = q 43 બનાવ્યો. વ્યવહારમાં યાદ રાખો, p અને q ખૂબ મોટી સંખ્યામાં પ્રયત્ન કરીશું. જ્યાં સુધી આપણે જાણીએ છીએ તે નંબરો વિશાળ, સખત આ છે માટે એનક્રિપ્ટ થયેલ સંદેશો ક્રેક. પણ તે ઉપરાંત વધુ એનક્રિપ્ટ અને ડિક્રિપ્ટ સંદેશાઓ માટે ખર્ચાળ. આજે તે ઘણીવાર આગ્રહણીય છે કે p અને q ઓછામાં ઓછા 1024 બિટ્સ છે, જે 300 થી દશાંશ આંકડાઓ પર દરેક નંબર મૂકે છે. પરંતુ અમે આ ઉદાહરણ માટે આ નાના નંબરો પસંદ પડશે. હવે અમે p અને q સાથે મળીને મલ્ટીપ્લાય કરવા માટે 3 જી નંબર મળશે, જે અમે n એ કહી શકશો. અમારા કેસ, n = 23 43 *, જે 989 =. અમે 989 = n છે. Q સાથે 1 - - આગળ અમે પૃષ્ઠ વધવું પડશે 1 એક 4th, કે જે અમે મીટર કૉલ કરશો મેળવે છે. અમારા કિસ્સામાં, મીટર = 22 42 *, જે 924 =. અમે = મીટર 924 હોય છે. હવે અમે એક નંબર ઈ કે સંબંધિત માટે વડા છે જરૂર પડશે મીટર અને એમ કરતાં ઓછો હોય છે. બે નંબર પ્રમાણમાં વડા અથવા coprime છે જો માત્ર ધન પૂર્ણાંક છે કે જે તેમને બંને સમાનરૂપે વિભાજિત 1 છે. અન્ય શબ્દોમાં, મહાન ઈ અને મીટર સામાન્ય ભાજક 1 હોવા જ જોઈએ. વ્યવહારમાં, ઈ માટે સામાન્ય કરવા માટે મુખ્ય નંબર 65537 પ્રયત્ન સુધી આ નંબર પર મીટર એક પરિબળ હોઇ ન થાય. અમારા કીઓ માટે, અમે પસંદ પડશે ઈ = 5 5 થી પ્રમાણમાં 924 માટે વડા છે. છેલ્લે, અમે વધુ એક નંબર છે, કે જે અમે ડી કૉલ કરશો કરવાની જરૂર પડશે. ડી અમુક મૂલ્ય કે સમીકરણ સંતોષે હોવા જ જોઈએ દ = 1 (mod મીટર). આ મોડ મીટર નોંધે અમે મોડ્યુલર અંકગણિત કહેવાય કંઈક ઉપયોગ કરશો. મોડ્યુલર અંકગણિત માં, એક વખત નંબર કેટલાક ઉચ્ચ બાઉન્ડ કરતા વધારે નોંધાયો નહીં તે પાછા 0 થી ફરતે વીંટળાય આવશે. એક ઘડિયાળ, ઉદાહરણ તરીકે, મોડ્યુલર અંકગણિત ઉપયોગ કરે છે. 1:59 પછી એક મિનિટ, ઉદાહરણ તરીકે, 2:00 છે, ન 1:60. આ મિનિટ હાથ આસપાસ 0 થી આવરિત છે એક 60 ની બંધાયેલ ઉપર સુધી પહોંચી પર. તેથી, અમે કહી શકીએ 60 0 (60 mod) સમકક્ષ છે અને 125 65 સમકક્ષ છે 5 (60 mod) સમકક્ષ છે. અમારા જાહેર કી જોડ E અને N હશે જ્યાં આ કિસ્સામાં ઈ 5 છે અને n એ 989 છે. અમારા ખાનગી કી જોડ ડી અને એન હશે, અમારા કિસ્સામાં જે 185 અને 989 છે. નોંધ કરો કે અમારા મૂળ primes p અને q દેખાતા નથી ગમે ત્યાં અમારી ખાનગી અથવા જાહેર કીઓ છે. હવે અમે કીઓ અમારી જોડી હોય છે, ચાલો અમે કેવી રીતે એનક્રિપ્ટ કરી શકો છો પર એક નજર અને ડિક્રિપ્ટ એક સંદેશ છે. હું રોબ એક સંદેશ મોકલવા માંગો છો, જેથી તેઓ આ કી જોડ બનાવવા એક હશે. પછી હું તેમની જાહેર કી, કે જે હું ઉપયોગ કરશો માટે રોબ કહીશું એક તેમને મોકલી સંદેશો એનક્રિપ્ટ. યાદ રાખો, તે સંપૂર્ણપણે ઠીક છે માટે રોબ મારી સાથે તેમની જાહેર કી શેર કરવા માટે. પરંતુ તે તેની ખાનગી કી શેર ઠીક નહિં હોય. હું કોઇ વિચાર પોતાના ખાનગી કી શું છે નથી. અમે કેટલાક હિસ્સામાં અમારા સંદેશ મીટર ઉપર તોડી શકે છે તમામ n કરતાં નાના અને પછી તે હિસ્સામાં દરેક એનક્રિપ્ટ. અમે શબ્દમાળા CS50, જે અમે અપ 4 હિસ્સામાં તોડી શકે છે એનક્રિપ્ટ પડશે, એક પત્ર હતો. ક્રમમાં મારા સંદેશ એન્ક્રિપ્ટ કરવા માટે, હું તે રૂપાંતર કરવાની જરૂર પડશે આંકડાકીય પ્રતિનિધિત્વ કેટલાક પ્રકારની. ચાલો મારા સંદેશ માં અક્ષરો સાથે તે ASCII કિંમતો એકસાથે જોડવું. ક્રમમાં આપેલ સંદેશ મીટર એન્ક્રિપ્ટ કરવા માટે હું ઈ (mod એન) માટે કેચ = મીટર ગણતરી કરવાની જરૂર પડશે. પરંતુ મીટર n કરતાં નાની હોવી જ જોઈએ, અથવા અન્ય સંપૂર્ણ સંદેશ મોડ્યૂલો n એ ન કરી શકો છો. અમે એમ અનેક ટુકડા જે તમામ n કરતાં નાના હોય છે અપ તોડી શકે છે, અને તે ટુકડા દરેક એનક્રિપ્ટ. આ હિસ્સામાં દરેક એનક્રિપ્ટ, અમે વિચાર c1 = 5 માટે 67 (989 mod) 658 = છે. અમારા બીજા ભાગ માટે અમે 5 એ (989 mod) માટે 83 છે = 15 છે. અમારા ત્રીજા ભાગ માટે અમે 5 એ (989 mod) માટે 53 છે 799 = છે. અને છેલ્લે, અમારા છેલ્લા ભાગ માટે અમે 5 એ (989 mod) નો થી 48 હોય છે જે 975 =. હવે અમે ઉપર રોબ આ એનક્રિપ્ટ થયેલ કિંમતો મોકલી શકો છો. અહીં તમે જાઓ, રોબ. જ્યારે અમારા સંદેશો ફ્લાઇટ છે, ચાલો અન્ય નજર કેવી રીતે અમારી માટે d કિંમત મળી. અમારા નંબર ડી માટે 5 દિ = 1 (924 mod) નો સંતોષ જરૂર છે. આ 5 924 મોડ્યૂલો ના multiplicative વ્યસ્ત ડી બનાવે છે. 2 પૂર્ણાંકો, એક બોલ્ડ અને વિસ્તૃત યુક્લિડીયન અલ્ગોરિધમનો આપવામાં સૌથી મોટો આ 2 પૂર્ણાંકો સામાન્ય ભાજક શોધવા માટે વાપરી શકાય છે. તે પણ અમને 2 અન્ય નંબર્સ, એક્સ અને વાય આપશે, કે = સૌથી મહાન એક બોલ્ડ અને સામાન્ય ભાજક દ્વારા સમીકરણ ax + સંતોષવા. આ અમને કેવી રીતે મદદ કરે છે? વેલ, e માટે 5 = પ્લગ અને = બો માટે 924 મીટર અમે પહેલાથી જ જાણો છો કે આ નંબરો coprime છે. તેમના મહાન સમભાજક 1 છે. આ અમને આપે 5x + + 924y = 1 અથવા 5x = 1 - 924y. પરંતુ જો આપણે માત્ર 924 મોડ્યૂલો બધું વિશે કાળજી 924y - તો પછી આપણે ઘટી શકે છે. ઘડિયાળ પર પાછા વિચારો. જો મિનિટ હાથ 1 પર છે અને પછી બરાબર 10 કલાક પસાર કરવા માટે, આપણે જાણીએ છીએ કે મિનિટ હાથ હજુ 1 પર રહેશે. અહીં અમે 1 શરૂ થાય છે અને પછી લગભગ બરાબર વાય વખત લપેટી તેથી અમે હજુ 1 અંતે હશો. અમે 5x = 1 (924 mod) નો હોય છે. અને અહીં આ એક્સ એ ડી અમે પહેલાં શોધી રહ્યાં જેવા જ છે, તેથી જો આપણે વિસ્તૃત યુક્લિડીયન અલ્ગોરિધમનો ઉપયોગ આ નંબર એક્સ વિચાર, કે જે નંબર અમારા ડી તરીકે વાપરવા જોઇએ છે. હવે આપણે એક = 5 માટે વિસ્તૃત યુક્લિડીયન અલ્ગોરિધમનો સ્કોર અને બોલ્ડ 924 =. અમે એક ટેબલ પદ્ધતિ કહેવાય છે પદ્ધતિ વાપરો પડશે. અમારા ટેબલ 4 કૉલમ, એક્સ, વાય, ડી, અને k હશે. અમારા ટેબલ 2 પંક્તિઓ સાથે બંધ થાય છે. પ્રથમ પંક્તિ અમે 1, 0, પછી અમારી કિંમત છે, કે જે 5 છે, અને અમારા બીજા પંક્તિ 1 0 છે, અને બોલ્ડ માટે અમારા કિંમત છે, કે જે 924 છે. 4 થી સ્તંભ, કે, મૂલ્ય પરિણામ હશે ડી ની કિંમત સાથે તેને ઉપરની પંક્તિ માં ડી ની કિંમત ભાગાકાર ના આ જ પંક્તિ પર. અમે હોય 5 924 દ્વારા વિભાજી 0 કેટલીક બાકીની સાથે છે. તેનો અર્થ એ કે અમે 0 k = હોય છે. હવે દરેક અન્ય કોશિકાના કિંમત તેના ઉપર કોશિકા 2 પંક્તિઓ કિંમત હશે બાદ તે વખત k ઉપર પંક્તિ મૂલ્ય. ચાલો 3 જી પંક્તિમાં ડી સાથે શરૂ કરો. અમે 5 હોય - 924 0 * 5 =. 1 * 0 જે 0 છે - આગામી અમે 0 હોય અને 1 - 0 0 * જે 1 છે. ખરાબ પણ નથી, તેથી આપણે આગામી પંક્તિ પર ખસેડો. પ્રથમ અમે k અમારી કિંમત જરૂર છે. 924 કેટલીક બાકીની સાથે 5 = 184 દ્વારા વિભાજી, જેથી k માટે અમારા કિંમત 184 છે. 924 હવે - 5 184 * = 4. 1 - 0 184 * 1 અને 0 - 1 184 * -184 છે. અધિકાર બધા છે, આગામી પંક્તિ દો. K અમારી કિંમત 1 કારણે હશે 5 કેટલાક બાકીની 4 = 1 દ્વારા વિભાજી. ચાલો અન્ય કૉલમ ભરો. 5 - 4 1 * 1 =. 0 - 1 1 * -1 =. અને 1 - 184 1 * 185 છે. ચાલો જોવા અમારા k ની આગામી કિંમત શું હશે. વેલ, લાગે છે કે અમારી પાસે 1, જે 4 છે દ્વારા 4 વહેંચાયેલી છે. આ કિસ્સામાં જ્યાં અમે 1 દ્વારા ભાગાકાર કરી રહ્યાં ફૂટ કે k સમાન છે ઉપર પંક્તિ માં ડી ના મૂલ્યનો અર્થ છે કે અમે અમારા અલગોરિધમ સાથે પૂર્ણ કરી લીધું. અમે અહીં જુઓ કે અમે છેલ્લા સળંગ 185 = x અને = y -1 હોઈ શકે છે. ચાલો હવે અમારી મૂળ ધ્યેય પાછા આવો. અમે જણાવ્યું હતું કે પરિણામે x ની કિંમત આ ગણતરીઓ ચાલી એક (mod b) multiplicative વ્યસ્ત રહેશે. એટલે કે 185 5 multiplicative વ્યસ્ત (924 mod) નો છે જેનો અર્થ છે કે અમે ડી માટે 185 ની કિંમત હોય છે. હકીકત એ છે કે ડી = 1 છેલ્લા હરોળમાં કે ઈ મી coprime હતી ખાતરી કરે છે. જો તે 1 ન હતા તે પછી અમે નવા ઈ બનાવ્યો હશે. હવે આપણે શું રોબ મારા સંદેશ પ્રાપ્ત થયા છે. જ્યારે કોઇ મને એનક્રિપ્ટ થયેલ સંદેશો મોકલે છે સુધી હું મારા ખાનગી કી ગુપ્ત રાખવામાં કર્યા છે હું માત્ર એક જેઓ ડિક્રિપ્ટ સંદેશ કરી શકો છો છું. ડિક્રિપ્ટ એક ભાગ સી હું મૂળ સંદેશો ગણતરી કરી શકે ડી શક્તિ (mod એન) માટે ભાગ સમાન છે. યાદ રાખો કે ડી અને n એ મારા ખાનગી કી છે. તેના હિસ્સામાં એક સંપૂર્ણ સંદેશ ડિક્રિપ્ટ દરેક ભાગ અમે અને પરિણામો એકસાથે જોડવું. બરાબર સુરક્ષિત કેવી રીતે આરએસએ છે? સત્ય એ છે કે, આપણે જાણતા નથી. સુરક્ષા લાંબા તે કેવી રીતે હુમલાખોર લેવા માટે એક સંદેશ ક્રેક છે તેના પર આધારિત છે આરએસએ સાથે એન્ક્રિપ્ટેડ. યાદ રાખો કે કોઈ હુમલાખોર તમારી જાહેર કી ઍક્સેસ છે, જે બંને E અને N સમાવે છે. જો હુમલાખોર તેની 2 primes, p અને q માં n પરિબળ વ્યવસ્થા, પછી તે ડી ગણતરી વિસ્તૃત યુક્લિડીયન અલ્ગોરિધમનો ઉપયોગ કરીને કરી શકે છે. આ તેમના ખાનગી કી છે, જે ડિક્રિપ્ટ કરવા માટે વાપરી શકાય છે કોઇપણ સંદેશ આપે છે. પરંતુ ઝડપથી અમે કેવી રીતે પૂર્ણાંકો પરિબળ કરી શકે છે? ફરીથી, અમે જાણતા નથી. કોઇએ આમ એક ઝડપી રીત મળી છે, જેનો અર્થ છે કે આપેલ પર્યાપ્ત વિશાળ n તે હુમલાખોર unrealistically લાંબા લેશે આ નંબર પરિબળ. જો કોઈ ફેક્ટરિંગના પૂર્ણાંકો એક ઝડપી રીત જાહેર આરએસએ ભાંગી આવશે. પણ જો પૂર્ણાંક અવયવ પૃથક્કરણ સ્વાભાવિક રીતે ધીમી છે આરએસએ ગાણિતીક નિયમને હજુ પણ તેને કેટલીક ખામી હોય શકે છે કે સંદેશાઓ સરળ ડિક્રિપ્શન માટે પરવાનગી આપે છે. કોઇએ મળી છે અને જાહેર હજુ સુધી આવી ભૂલ, પરંતુ તેનો અર્થ એ નથી એક અસ્તિત્વમાં નથી. સિદ્ધાંત માં, કોઈને બહાર ત્યાં બધા આરએસએ સાથે એન્ક્રિપ્ટેડ ડેટા વાંચવા શકે છે. ત્યાં એક ગોપનીયતા મુદ્દે અન્ય બીટ છે. જો ટોમી કેટલાક મારું જાહેર કી વાપરી સંદેશો એન્ક્રિપ્ટ અને હુમલાખોર જ મારું જાહેર કી વાપરી સંદેશો એન્ક્રિપ્ટ હુમલાખોર જોશો કે 2 સંદેશાઓ સમાન છે અને આમ ખબર ટોમી શું એન્ક્રિપ્ટ. ક્રમમાં આ રોકવા માટે, સંદેશા ખાસ કરીને રેન્ડમ બિટ્સ સાથે ગાદીવાળાં છે આવી રહી છે એનક્રિપ્ટ થયેલ છે કે જેથી એક જ સંદેશો એનક્રિપ્ટ થયેલ પહેલા ઘણી વાર સુધી વિભિન્ન જોવા તરીકે સંદેશ પર પેડિંગ અલગ છે. યાદ પણ કેવી રીતે અમે હિસ્સામાં માં સંદેશાઓ વિભાજિત હોય છે જેથી દરેક ભાગ n કરતા નાની છે? આ હિસ્સામાં પૅડિંગ અર્થ એ છે કે અમે વસ્તુઓ વિભાજિત હોય શકે છે થી પણ વધુ હિસ્સામાં માં ગાદીવાળાં ભાગ n કરતાં નાની હોવી જ જોઈએ. એન્ક્રિપ્શન અને ડિક્રિપ્શન આરએસએ સાથે પ્રમાણમાં ખર્ચાળ છે, અને તેથી ઘણા હિસ્સામાં એક સંદેશ તોડી જરૂર ખૂબ ખર્ચાળ હોઇ શકે છે. જો માહિતી વિશાળ વોલ્યુમ એનક્રિપ્ટ થયેલ હોવું જોઇએ છે અને decrypted અમે સિમેટ્રિક કી એલ્ગોરિધમ્સ ફાયદા ભેગા કરી શકો છો આરએસએ સાથે બંને સુરક્ષા અને કાર્યક્ષમતા વિચાર. જોકે અમે તેને માં અહીં જશે, એઇએસ આ Vigenère અને સીઝર સાઇફર્સ જેવી સિમેટ્રિક કી એલ્ગોરિધમ છે પરંતુ ખૂબ કઠણ ક્રેક છે. અલબત્ત, આપણે એઇએસ વહેંચાયેલ ગુપ્ત કી સ્થાપના વગર ઉપયોગ કરી શકતા નથી આ 2 સિસ્ટમો વચ્ચે, અને અમે તે પહેલાં સાથે સમસ્યા જોવા મળી હતી. પરંતુ હવે અમે આરએસએ માટે વાપરો 2 સિસ્ટમો વચ્ચે વહેંચાયેલ ગુપ્ત કી સ્થાપિત કરી શકો છો. અમે માહિતી પ્રેષક મોકલવા કોમ્પ્યુટર કહી શકશો અને કમ્પ્યૂટર માહિતી રીસીવર પ્રાપ્ત. રીસીવર કોઈ RSA કી જોડ છે અને મોકલે છે પ્રેષક જાહેર કી. પ્રેષક એક એઇએસ કી પેદા, તે રીસીવર આરએસએ જાહેર કી સાથે એન્ક્રિપ્ટ, અને રીસીવર એઇએસ કી મોકલે છે. રીસીવર તેના RSA ખાનગી કી સાથે મેસેજ decrypts. બંને મોકલનાર અને રીસીવર હવે તેમની વચ્ચે વહેંચાયેલ એઇએસ કી છે. એઇએસ છે, જે ખૂબ અને RSA એન્ક્રિપ્શન કરતાં ડિક્રિપ્શન અંતે ઝડપી છે, હવે માહિતી મોટી વોલ્યુંમ એનક્રિપ્ટ અને તેમને રીસીવર મોકલવા માટે વાપરી શકાય છે, ડિક્રિપ્ટ જેણે સમાન કી વાપરી શકો છો. એઇએસ છે, જે ખૂબ અને RSA એન્ક્રિપ્શન કરતાં ડિક્રિપ્શન અંતે ઝડપી છે, હવે માહિતી મોટી વોલ્યુંમ એનક્રિપ્ટ અને તેમને રીસીવર મોકલવા માટે વાપરી શકાય છે, ડિક્રિપ્ટ જેણે સમાન કી વાપરી શકો છો. અમે હમણાં જ આરએસએ જરૂરી વહેંચાયેલ કી પરિવહન કરે છે. અમે લાંબા સમય સુધી આરએસએ બધા વાપરવાની જરૂર છે. એવું લાગે છે કે હું એક સંદેશ મળ્યો છે. જો તે કોઈને વાંચી શું કાગળ વિમાન પર નથી વાંધો પહેલાં હું તેનો કેચ નથી કારણ કે હું ખાનગી કી સાથે માત્ર એક છું. ચાલો ડિક્રિપ્ટ સંદેશમાં હિસ્સામાં દરેક. પ્રથમ ભાગ, 658, અમે ડી શક્તિ છે, જે 185 છે ઉઠાવે છે, મોડ n એ, કે જે 989 છે 67 માટે સમાન છે, જે તે ASCII માં પત્ર સી છે. હવે, બીજા ભાગ પર. બીજા ભાગ 15 કિંમત ધરાવે છે, જેને આપણે 185th શક્તિ વધારવા, 989 મોડ, અને આ 83 ને સમાન હોય છે જે તે ASCII માં એસ અક્ષર છે. હવે ત્રીજા ભાગ છે, જે 799 કિંમત ધરાવે છે, અમે 185 થી ઉઠાવે છે, 989 મોડ, અને આ 53 માટે સમાન છે, જે તે ASCII માં 5 અક્ષર કિંમત છે. હવે છેલ્લા ભાગ માટે, કે જે 975 કિંમત ધરાવે છે, અમે 185 થી વધારવા, 989 મોડ, અને આ 48 છે, જે તે ASCII માં અક્ષર 0 ની કિંમત છે ને સમાન હોય છે. મારું નામ રોબ બોડેન છે, અને આ CS50 છે. [CS50.TV] બધા અંતે આરએસએ. બધા અંતે આરએસએ. [અટ્ટહાસ્ય] અંતે તમામ.