1 00:00:00,000 --> 00:00:02,000 [Powered by Google Translate] [RSA] 2 00:00:02,000 --> 00:00:04,000 [Rob Bowden] [Tommy MacWilliam] [Harvard Universiteti] 3 00:00:04,000 --> 00:00:07,000 [Bu CS50 edir.] [CS50.TV] 4 00:00:07,000 --> 00:00:11,000 Nin RSA, data Şifreleme üçün geniş istifadə alqoritm nəzər salaq. 5 00:00:11,000 --> 00:00:16,000 Sezar və Vigenère ciphers kimi Encryption alqoritmlər çox təhlükəsiz deyil. 6 00:00:16,000 --> 00:00:20,000 Olan Sezar parol ilə, bir saldırganın yalnız 25 müxtəlif düymələri cəhd lazımdır 7 00:00:20,000 --> 00:00:22,000 mesaj düz mətn almaq üçün. 8 00:00:22,000 --> 00:00:25,000 The Vigenère parol the Caesar parol artıq təhlükəsiz olsa 9 00:00:25,000 --> 00:00:28,000 çünki düymələri üçün böyük axtarış alan, bir dəfə, bir saldırganın 10 00:00:28,000 --> 00:00:30,000 bir Vigenère parol ildə əsas uzunluğu bilir 11 00:00:30,000 --> 00:00:34,000 olan şifreli mətn nümunələri təhlil vasitəsilə müəyyən edilə bilər 12 00:00:34,000 --> 00:00:38,000 the Vigenère cipher daha təhlükəsiz Caesar parol çox deyil. 13 00:00:38,000 --> 00:00:42,000 RSA, digər tərəfdən, bu kimi hücumlara həssas deyil. 14 00:00:42,000 --> 00:00:45,000 Bu Caesar parol və Vigenère parol eyni düyməsindən istifadə 15 00:00:45,000 --> 00:00:47,000 encrypt və decrypt mesaj həm də. 16 00:00:47,000 --> 00:00:51,000 Bu əmlak bu ciphers simmetrik əsas alqoritmləri edir. 17 00:00:51,000 --> 00:00:54,000 Simmetrik əsas alqoritmləri olan əsas problem 18 00:00:54,000 --> 00:00:57,000 onlar mesaj Şifreleme və göndərilməsi bir etibar ki, 19 00:00:57,000 --> 00:00:59,000 və bir qəbul və mesaj decrypting 20 00:00:59,000 --> 00:01:03,000 artıq onlar həm istifadə edəcək əsas haqqında upfront razılıq var. 21 00:01:03,000 --> 00:01:06,000 Amma burada bir başlanğıc problem bir qədər var. 22 00:01:06,000 --> 00:01:10,000 Necə ünsiyyət etmək istəyirəm ki, 2 kompüter arasında bir gizli əsas yaratmaq edirsiniz? 23 00:01:10,000 --> 00:01:16,000 Əsas gizli olmalıdır, onda biz əsas şifrelemek və decrypt üçün bir yol lazımdır. 24 00:01:16,000 --> 00:01:18,000 Biz bütün simmetrik əsas Kriptoqrafiya deyil 25 00:01:18,000 --> 00:01:21,000 sonra biz yalnız eyni problem qayıda etdik. 26 00:01:21,000 --> 00:01:25,000 RSA, digər tərəfdən, düymələri bir cüt istifadə 27 00:01:25,000 --> 00:01:28,000 parol çözme üçün şifrələmə və digər üçün. 28 00:01:28,000 --> 00:01:32,000 Bir ictimai əsas adlanır və digər xüsusi açarı edir. 29 00:01:32,000 --> 00:01:34,000 Ictimai əsas messages şifrelemek üçün istifadə olunur. 30 00:01:34,000 --> 00:01:38,000 Onun adı ilə tapmaq kimi, biz bizim ictimai əsas payı edə bilərsiniz 31 00:01:38,000 --> 00:01:43,000 biz şifrəli mesaj təhlükəsizlik ödün olmadan istədiyiniz hər kəs. 32 00:01:43,000 --> 00:01:45,000 Mesajlarım ictimai açarı istifadə şifrelenir 33 00:01:45,000 --> 00:01:49,000 yalnız müvafiq xüsusi açar ilə şifresi çözülen bilər. 34 00:01:49,000 --> 00:01:53,000 Siz ictimai əsas payı edə bilərsiniz baxmayaraq, siz həmişə xüsusi açarı gizli saxlamaq lazımdır. 61 00:01:55,000 --> 00:01:58,000 və yalnız xüsusi açarı decrypt mesaj üçün istifadə edilə bilər 62 00:01:58,000 --> 00:02:02,000 2 istifadəçi RSA ilə mesaj şifrəli göndərmək istəyirsinizsə 63 00:02:02,000 --> 00:02:07,000 geri və irəli də istifadəçilər öz dövlət və özəl əsas cüt lazımdır. 64 00:02:07,000 --> 00:02:10,000 Istifadəçi 1 istifadəçi 2 Mesajlarım 65 00:02:10,000 --> 00:02:15,000 yalnız user 2 istifadəçi 1 istifadəçi 2 əsas cüt, mesaj istifadə 66 00:02:15,000 --> 00:02:17,000 yalnız istifadəçi 1 əsas cüt istifadə edin. 67 00:02:17,000 --> 00:02:21,000 2 ayrı-ayrı şifrelemek düymələri və decrypt mesaj var ki, 68 00:02:21,000 --> 00:02:24,000 RSA bir asimmetrik açar alqoritmi edir. 69 00:02:24,000 --> 00:02:28,000 Biz başqa bir kompüter göndərmək üçün ictimai əsas şifrelemek ehtiyac yoxdur 70 00:02:28,000 --> 00:02:31,000 əsas hər halda ictimai göstərir. 71 00:02:31,000 --> 00:02:33,000 Bu RSA eyni başlanğıc problem yoxdur o deməkdir ki, 72 00:02:33,000 --> 00:02:36,000 bu simmetrik əsas alqoritmləri kimi. 73 00:02:36,000 --> 00:02:39,000 Mən RSA şifreleme istifadə edərək mesaj göndərmək istədiyiniz Belə ki, əgər 74 00:02:39,000 --> 00:02:42,000 Rob, mən ilk Rob ictimai əsas lazımdır. 75 00:02:42,000 --> 00:02:47,000 Düymələri bir cüt yaratmaq üçün, Rob 2 böyük baş nömrələri yığmaq lazımdır. 76 00:02:47,000 --> 00:02:50,000 Bu nömrələr, həm də dövlət və özəl açarları istifadə olunacaq 77 00:02:50,000 --> 00:02:54,000 lakin ictimai əsas yalnız bu 2 ədəd məhsul istifadə edəcək 78 00:02:54,000 --> 00:02:56,000 deyil nömrələri özləri. 79 00:02:56,000 --> 00:02:59,000 Mən Rob ictimai əsas istifadə edərək mesaj şifrelenir sonra 80 00:02:59,000 --> 00:03:01,000 Mən Rob mesaj göndərə bilərsiniz. 81 00:03:01,000 --> 00:03:05,000 Bir kompüter üçün, faktorinq ədəd ağır problemdir. 82 00:03:05,000 --> 00:03:09,000 Ictimai əsas, xatırlayıram, 2 baş nömrələri məhsul istifadə. 83 00:03:09,000 --> 00:03:12,000 Bu məhsul, sonra yalnız 2 amillər olmalıdır 84 00:03:12,000 --> 00:03:16,000 özəl əsas təşkil edən nömrələri olmaq üçün baş verir. 85 00:03:16,000 --> 00:03:20,000 Decrypt mesaj üçün, RSA bu xüsusi açarı istifadə edəcək 86 00:03:20,000 --> 00:03:25,000 və ya ədəd ictimai əsas yaradılması prosesi birlikdə vurulur. 87 00:03:25,000 --> 00:03:28,000 Bu sayı Factor computationally çətindir, çünki 88 00:03:28,000 --> 00:03:32,000 özəl əsas istifadə 2 ədəd bir ictimai əsas istifadə 89 00:03:32,000 --> 00:03:36,000 Bir saldırganın özəl əsas anlamaq üçün çətin 90 00:03:36,000 --> 00:03:39,000 decrypt mesaj lazım olacaq. 91 00:03:39,000 --> 00:03:43,000 İndi RSA bəzi aşağı təfərrüata varmaq bildirin. 92 00:03:43,000 --> 00:03:46,000 Gəlin ilk biz düymələri bir cüt yarada necə. 93 00:03:46,000 --> 00:03:49,000 Birincisi, 2 baş nömrələri lazımdır. 94 00:03:49,000 --> 00:03:52,000 Biz bu 2 ədəd p və q zəng edəcəyik. 95 00:03:52,000 --> 00:03:56,000 Praktikada p və q, seçin üçün biz pseudorandomly yaradacaq 96 00:03:56,000 --> 00:03:59,000 sonra böyük sayda və müəyyən bir test istifadə və ya 97 00:03:59,000 --> 00:04:02,000 bu ədəd yəqin ki, baş var. 98 00:04:02,000 --> 00:04:05,000 Biz yenə üzərində təsadüfi nömrələri yaradan saxlaya bilərsiniz 99 00:04:05,000 --> 00:04:08,000 biz istifadə edə bilərsiniz ki, 2 primes qədər. 100 00:04:08,000 --> 00:04:15,000 Burada p = 23 q = 43 seçin bildirin. 101 00:04:15,000 --> 00:04:19,000 Praktikada, saxla, p və q daha nömrələri olmalıdır. 102 00:04:19,000 --> 00:04:22,000 Bizdə kimi, ədəd böyük, daha bu 103 00:04:22,000 --> 00:04:25,000 şifreli mesajı çat. 104 00:04:25,000 --> 00:04:29,000 Lakin bu da şifrelemek və decrypt mesaj daha bahalı. 105 00:04:29,000 --> 00:04:33,000 Bu gün tez-tez p və q azı 1024 bit olan tövsiyə, 106 00:04:33,000 --> 00:04:37,000 olan 300-dən artıq decimal rəqəm hər sayı qoyur. 107 00:04:37,000 --> 00:04:40,000 Amma bu məsələn bu kiçik nömrələri yığmaq lazımdır. 108 00:04:40,000 --> 00:04:43,000 İndi, 3-cü nömrə almaq üçün birlikdə p və q çoxaltmaq olacaq 109 00:04:43,000 --> 00:04:45,000 biz n zəng bilərsiniz. 110 00:04:45,000 --> 00:04:55,000 Bizim halda, n = 23 989 = olan * 43. 111 00:04:55,000 --> 00:04:58,000 Biz = 989 n. 112 00:04:58,000 --> 00:05:02,000 Q ilə - 1 - Next biz p çoxaltmaq olacaq 1 113 00:05:02,000 --> 00:05:05,000 biz m arayacaðým olan 4-cü sayı. almaq 114 00:05:05,000 --> 00:05:15,000 Bizim halda, m = 22 924 = olan * 42. 115 00:05:15,000 --> 00:05:18,000 Biz m = 924 var. 116 00:05:18,000 --> 00:05:22,000 İndi nisbətən baş ki, bir sıra e lazımdır m 117 00:05:22,000 --> 00:05:25,000 və m-dən azdır. 118 00:05:25,000 --> 00:05:28,000 Iki ədəd nisbətən baş və ya coprime var 119 00:05:28,000 --> 00:05:33,000 həm bərabər onlara ayıran yalnız müsbət tam 1 olsun. 120 00:05:33,000 --> 00:05:37,000 E və m Başqa sözlə, ən böyük ortaq bölən 121 00:05:37,000 --> 00:05:39,000 1 olmalıdır. 122 00:05:39,000 --> 00:05:44,000 Təcrübədə, bu, baş sayı 65537 olmaq e yaygın 123 00:05:44,000 --> 00:05:48,000 kimi uzun kimi bu rəqəm m amil olmaz. 124 00:05:48,000 --> 00:05:53,000 Bizim düymələri, biz seçeceğiz e = 5 125 00:05:53,000 --> 00:05:57,000 5 ildən 924 ilə nisbətən baş deyil. 126 00:05:57,000 --> 00:06:01,000 Nəhayət, biz d arayacaðým daha bir sayı, lazımdır. 127 00:06:01,000 --> 00:06:11,000 D tənlik cavab verən bəzi dəyəri olmalıdır de = 1 (mod m). 128 00:06:11,000 --> 00:06:17,000 Bu mod m biz modul hesab deyilən bir şey istifadə edəcəyik bildirir. 129 00:06:17,000 --> 00:06:21,000 Modul hesab, bir bir sıra bəzi yuxarı bağlı daha yüksək olur 130 00:06:21,000 --> 00:06:24,000 o 0 ətrafında geri paketi olacaq. 131 00:06:24,000 --> 00:06:27,000 A saat, məsələn, modul hesab edir. 132 00:06:27,000 --> 00:06:31,000 1:59 sonra bir dəqiqə, məsələn, 2:00 edir 133 00:06:31,000 --> 00:06:33,000 1:60 deyil. 134 00:06:33,000 --> 00:06:36,000 Bu dəqiqə tərəfdən 0 ətrafında bükülmüş edib 135 00:06:36,000 --> 00:06:39,000 60 bağlı bir üst çatdıqda. 136 00:06:39,000 --> 00:06:46,000 Belə ki, 60 0 (mod 60) bərabərdir demək olar 137 00:06:46,000 --> 00:06:57,000 və 125 65 bərabərdir 5 (mod 60) bərabərdir. 138 00:06:57,000 --> 00:07:02,000 Bizim ictimai əsas cüt e və n olacaq 139 00:07:02,000 --> 00:07:09,000 bu halda e 5 və n 989 edir. 140 00:07:09,000 --> 00:07:15,000 Bizim xüsusi düyməsi, cüt d və n olacaq 141 00:07:15,000 --> 00:07:22,000 bizim halda olan 185 və 989-dir. 142 00:07:22,000 --> 00:07:25,000 Orijinal primes p və q görünmür edək ki, 143 00:07:25,000 --> 00:07:29,000 hər yerdə bizim özəl və ya ictimai düymələri ilə. 144 00:07:29,000 --> 00:07:33,000 İndi açarları bizim cüt ki, biz şifrelemek necə nəzər edək 145 00:07:33,000 --> 00:07:36,000 və decrypt bir mesaj. 146 00:07:36,000 --> 00:07:38,000 Mən, Rob bir mesaj göndərmək istəyirəm 147 00:07:38,000 --> 00:07:42,000 o bu əsas cüt yaratmaq üçün biri olacaq. 148 00:07:42,000 --> 00:07:46,000 Sonra mən istifadə edəcəyik onun ictimai düyməsi üçün Rob isteyeceğiz 149 00:07:46,000 --> 00:07:48,000 ona göndərmək üçün mesaj şifrelemek. 150 00:07:48,000 --> 00:07:53,000 Rob mənə onun ictimai əsas bölüşmək üçün Unutmayın, tamamilə OK. 151 00:07:53,000 --> 00:07:56,000 Amma öz şəxsi əsas bölüşmək tamam olmaz. 152 00:07:56,000 --> 00:08:00,000 Mən onun xüsusi açarı nə heç bir fikir yoxdur. 153 00:08:00,000 --> 00:08:03,000 Biz bir neçə chunks bizim mesaj m qədər qıra bilər 154 00:08:03,000 --> 00:08:07,000 bütün sonra n daha kiçik və o chunks hər şifrelemek. 155 00:08:07,000 --> 00:08:12,000 Biz 4 chunks qədər qıra bilər string CS50, şifrelemek lazımdır 156 00:08:12,000 --> 00:08:14,000 məktub başına bir. 157 00:08:14,000 --> 00:08:17,000 Mənim mesaj şifrelemek üçün, mən çevirmək lazımdır 158 00:08:17,000 --> 00:08:20,000 rəqəmli nümayəndəliyinin bir növ. 159 00:08:20,000 --> 00:08:25,000 Nin mənim mesaj simvol ilə ASCII dəyərlər concatenate edək. 160 00:08:25,000 --> 00:08:28,000 Bir mesaj m şifrelemek üçün 161 00:08:28,000 --> 00:08:37,000 Mən e (mod n) c = m hesablamaq lazımdır. 162 00:08:37,000 --> 00:08:40,000 Amma m, n daha kiçik olmalıdır 163 00:08:40,000 --> 00:08:45,000 və ya başqa tam mesaj modulo n ifadə edilə bilməz. 164 00:08:45,000 --> 00:08:49,000 Biz n daha kiçik olan bir neçə chunks, daxil m qədər qıra bilər 165 00:08:49,000 --> 00:08:52,000 və bu chunks hər şifrelemek. 166 00:08:52,000 --> 00:09:03,000 Bu chunks hər Şifreleme, biz almaq c1 olan 5 = 67 (MOD 989) 167 00:09:03,000 --> 00:09:06,000 hansı = 658. 168 00:09:06,000 --> 00:09:15,000 Ikinci yığın biz 5 (MOD 989) 83 mövcut 169 00:09:15,000 --> 00:09:18,000 hansı = 15. 170 00:09:18,000 --> 00:09:26,000 Üçüncü yığın biz 5 (MOD 989) 53 mövcut 171 00:09:26,000 --> 00:09:30,000 hansı = 799. 172 00:09:30,000 --> 00:09:39,000 Və nəhayət, sonuncu yığın biz 5 (MOD 989) 48 mövcut 173 00:09:39,000 --> 00:09:43,000 olan 975 =. 174 00:09:43,000 --> 00:09:48,000 İndi Rob bu şifrəli dəyərlər göndərə bilərsiniz. 175 00:09:54,000 --> 00:09:58,000 Burada, Rob gedin. 176 00:09:58,000 --> 00:10:01,000 Bizim mesaj uçuş olsa, gəlin bir nəzər edək 177 00:10:01,000 --> 00:10:07,000 necə ki, biz d üçün dəyəri var. 178 00:10:07,000 --> 00:10:17,000 Bizim sayı d 5d = 1 (MOD 924) təmin etmək lazımdır. 179 00:10:17,000 --> 00:10:24,000 Bu d 5 modulo 924 və multiplikativ tərs edir. 180 00:10:24,000 --> 00:10:28,000 2 integers, bir və b, uzadılmış Evklid alqoritmi nəzərə alaraq 181 00:10:28,000 --> 00:10:33,000 Bu 2 integers ən böyük ortaq bölən tapmaq üçün istifadə edilə bilər. 182 00:10:33,000 --> 00:10:37,000 Bu da bizim digər 2 ədəd, x və y, verəcək 183 00:10:37,000 --> 00:10:47,000 bir və b = böyük ortaq bölən tərəfindən tənlik balta + qane. 184 00:10:47,000 --> 00:10:49,000 Bu bizə kömək edir? 185 00:10:49,000 --> 00:10:52,000 Yaxşı, bir üçün e = 5 sayede 186 00:10:52,000 --> 00:10:56,000 və b m = 924 187 00:10:56,000 --> 00:10:59,000 biz artıq bu rəqəmlər coprime olduğunu bilirəm. 188 00:10:59,000 --> 00:11:03,000 Onların böyük ortaq bölən 1-dir. 189 00:11:03,000 --> 00:11:09,000 Bu + 924y = 1 Bookmark 5x verir 190 00:11:09,000 --> 00:11:17,000 və ya 5x = 1 - 924y. 191 00:11:17,000 --> 00:11:22,000 Amma biz yalnız hər şey modulo 924 qayğı əgər 192 00:11:22,000 --> 00:11:25,000 924y - onda biz açılır. 193 00:11:25,000 --> 00:11:27,000 Saat geri düşünün. 194 00:11:27,000 --> 00:11:31,000 Dəqiqə əl 1 və sonra tam 10 saat, ötürmək edin 195 00:11:31,000 --> 00:11:35,000 biz dəqiqə tərəfdən hələ 1 olacaq bilirik. 196 00:11:35,000 --> 00:11:39,000 Burada, 1-də başlayacaq və sonra dəqiq y dəfə ətrafında kesmek 197 00:11:39,000 --> 00:11:41,000 biz hələ 1 olacaq. 198 00:11:41,000 --> 00:11:49,000 Biz = 1 (MOD 924) 5x var. 199 00:11:49,000 --> 00:11:55,000 Və burada x, biz əvvəl aradığınız d eyni 200 00:11:55,000 --> 00:11:58,000 Biz uzun Evklid alqoritmi istifadə əgər 201 00:11:58,000 --> 00:12:04,000 bu sayı x almaq ki, biz d kimi istifadə etməlidir sayı var. 202 00:12:04,000 --> 00:12:07,000 İndi bir = 5 uzadılmış Evklid alqoritmi run bildirin 203 00:12:07,000 --> 00:12:11,000 və b = 924. 204 00:12:11,000 --> 00:12:14,000 Biz masa metodu deyilən bir üsul istifadə edəcəyik. 205 00:12:14,000 --> 00:12:21,000 Bizim masa 4 sütun, x, y, d, və k olacaq. 206 00:12:21,000 --> 00:12:23,000 Bizim cədvəl 2 satır ilə off başlayır. 207 00:12:23,000 --> 00:12:28,000 Ilk sırada biz sonra 1, 0, 5 olan bizim dəyəri var, 208 00:12:28,000 --> 00:12:37,000 və ikinci sıra 0, 1 və b üçün dəyəri olan 924-dir. 209 00:12:37,000 --> 00:12:40,000 4-cü sütun, k, dəyəri nəticə olacaq 210 00:12:40,000 --> 00:12:45,000 d dəyəri ilə yuxarıda sırasında d dəyəri ayırıcı ilə 211 00:12:45,000 --> 00:12:49,000 eyni sırada. 212 00:12:49,000 --> 00:12:56,000 Biz 924 bölünür 5 bəzi qalan 0 var. 213 00:12:56,000 --> 00:12:59,000 Yəni = 0 k var deməkdir. 214 00:12:59,000 --> 00:13:05,000 İndi hər bir digər mobil dəyəri yuxarıda mobil 2 satır dəyəri olacaq 215 00:13:05,000 --> 00:13:09,000 bu dəfə k yuxarıda sıra mənfi dəyər. 216 00:13:09,000 --> 00:13:11,000 3-cü sıra d başlamaq edək. 217 00:13:11,000 --> 00:13:19,000 Biz 5 var - 924 * 0 = 5. 218 00:13:19,000 --> 00:13:25,000 0 olan 1 * 0 - 0 biz var Sonraki 219 00:13:25,000 --> 00:13:30,000 və 1 - 0 * 0, 1-dir. 220 00:13:30,000 --> 00:13:33,000 Çox pis deyil, belə ki, bu və növbəti sıraya hərəkət edək. 221 00:13:33,000 --> 00:13:36,000 İlk k bizim dəyər lazımdır. 222 00:13:36,000 --> 00:13:43,000 924, bəzi qalan 5 = 184 bölünür 223 00:13:43,000 --> 00:13:46,000 belə k üçün dəyər 184-dir. 224 00:13:46,000 --> 00:13:54,000 İndi 924 - 5 * 184 = 4. 225 00:13:54,000 --> 00:14:05,000 1 - 0 * 184 1 və 0 - 1 * 184 -184 edir. 226 00:14:05,000 --> 00:14:07,000 Bütün hüquqlar, növbəti sıra nə edək. 227 00:14:07,000 --> 00:14:10,000 K Bizim dəyəri 1 çünki olacaq 228 00:14:10,000 --> 00:14:15,000 5 bəzi qalan 4 = 1 bölünür. 229 00:14:15,000 --> 00:14:17,000 Nin digər sütunlar doldurmaq edək. 230 00:14:17,000 --> 00:14:21,000 5 - 4 * 1 = 1. 231 00:14:21,000 --> 00:14:25,000 0 - 1 * 1 = -1. 232 00:14:25,000 --> 00:14:33,000 Və 1 - 184 * 1 185-dir. 233 00:14:33,000 --> 00:14:35,000 K növbəti dəyər ola bilər nə edək. 234 00:14:35,000 --> 00:14:40,000 Biz 4 olan 1, 4 bölünür var kimi Bəli, görünür. 235 00:14:40,000 --> 00:14:43,000 Biz 1-ayırıcı olduğunuz Bu halda, belə ki, k bərabərdir 236 00:14:43,000 --> 00:14:50,000 Yuxarıda sıra d dəyəri bizim alqoritmi ilə tamamlayın deməkdir. 237 00:14:50,000 --> 00:14:58,000 Biz son sırada x = 185 və y = -1 ki, burada görə bilərsiniz. 238 00:14:58,000 --> 00:15:00,000 Indi bizim orijinal məqsədi qayıtmaq edək. 239 00:15:00,000 --> 00:15:04,000 Biz nəticəsində x dəyəri bu alqoritm çalışan bildirib ki, 240 00:15:04,000 --> 00:15:08,000 a (mod b) multiplikativ tərs olardı. 241 00:15:08,000 --> 00:15:15,000 Bu 185 5 multiplikativ tərs (MOD 924) deməkdir 242 00:15:15,000 --> 00:15:20,000 olan biz d 185 bir dəyəri deməkdir. 243 00:15:20,000 --> 00:15:23,000 Olması d = 1 son sırada 244 00:15:23,000 --> 00:15:26,000 e m coprime edilib doğrular. 245 00:15:26,000 --> 00:15:30,000 1 deyil Əgər biz yeni bir e seçin olardı. 246 00:15:30,000 --> 00:15:33,000 İndi Rob mənim mesajı əgər in görək. 247 00:15:33,000 --> 00:15:35,000 Kimsə mənə bir şifrəli mesaj göndərir zaman 248 00:15:35,000 --> 00:15:38,000 kimi uzun Mən xüsusi açarı gizli saxlanılır olduğunuz kimi 249 00:15:38,000 --> 00:15:41,000 Mən kim mesaj decrypt bilər yalnız bir deyiləm. 250 00:15:41,000 --> 00:15:46,000 Decrypt bir yığın c Mən orijinal mesajı hesablamaq olar 251 00:15:46,000 --> 00:15:53,000 d gücü (mod n) üçün yığın bərabərdir. 252 00:15:53,000 --> 00:15:57,000 D və n mənim xüsusi açarı var unutmayın. 253 00:15:57,000 --> 00:16:01,000 Biz decrypt hər yığın onun chunks bir tam mesaj almaq üçün 254 00:16:01,000 --> 00:16:04,000 və nəticələri concatenate. 255 00:16:04,000 --> 00:16:08,000 RSA Məhz necə təhlükəsiz? 256 00:16:08,000 --> 00:16:10,000 Həqiqət, biz bilmirik. 257 00:16:10,000 --> 00:16:14,000 Təhlükəsizlik bir mesaj çat bir saldırganın almaq necə uzun əsaslanır 258 00:16:14,000 --> 00:16:16,000 RSA ilə şifrelenir. 259 00:16:16,000 --> 00:16:19,000 Bir saldırganın ictimai əsas çıxışı var ki, saxla, 260 00:16:19,000 --> 00:16:21,000 e və n də var. 261 00:16:21,000 --> 00:16:26,000 Təcavüzkarın öz 2 primes, p və q, daxil n amil idarə edin 262 00:16:26,000 --> 00:16:30,000 sonra o, uzun Evklid alqoritmi istifadə d hesablamaq bilər. 263 00:16:30,000 --> 00:16:35,000 Bu onun hər hansı bir mesajı decrypt üçün istifadə edilə bilər olan özəl əsas verir. 264 00:16:35,000 --> 00:16:38,000 Amma necə tez biz integers amil ola bilər? 265 00:16:38,000 --> 00:16:41,000 Yenə bilmirəm. 266 00:16:41,000 --> 00:16:43,000 Heç kəs bunu bir sürətli yol tapdı 267 00:16:43,000 --> 00:16:46,000 hansı verilmiş o deməkdir ki, kifayət qədər böyük n 268 00:16:46,000 --> 00:16:49,000 bu unrealistically uzun bir saldırganın edəcək 269 00:16:49,000 --> 00:16:51,000 sayı amil üçün. 270 00:16:51,000 --> 00:16:54,000 Kimsə faktorinq integers bir sürətli yol aşkar edin 271 00:16:54,000 --> 00:16:57,000 RSA sınıq olardı. 272 00:16:57,000 --> 00:17:01,000 Lakin, hətta tam factorization mahiyyət yavaş 273 00:17:01,000 --> 00:17:04,000 RSA alqoritmi, hələ də bəzi qüsur ola bilər 274 00:17:04,000 --> 00:17:07,000 mesajlar asan parol çözme üçün imkan verir. 275 00:17:07,000 --> 00:17:10,000 Heç kəs, hələ belə bir qüsur aşkar və aşkar 276 00:17:10,000 --> 00:17:12,000 lakin bir mövcud deyil demək deyil. 277 00:17:12,000 --> 00:17:17,000 Nəzəri olaraq, kimsə RSA ilə şifrelenir bütün məlumatları oxumaq orada ola bilər. 278 00:17:17,000 --> 00:17:19,000 Bir gizlilik məsələnin başqa bit var. 279 00:17:19,000 --> 00:17:23,000 Tommy mənim ictimai açarı istifadə bir mesaj şifreleyerek edin 280 00:17:23,000 --> 00:17:26,000 və təcavüzkar mənim ictimai əsas istifadə edərək eyni mesaj şifreleyerek 281 00:17:26,000 --> 00:17:29,000 təcavüzkarın 2 mesaj eyni olduğunu görəcəksiniz 282 00:17:29,000 --> 00:17:32,000 və beləliklə Tommy şifrelenir bilirik. 283 00:17:32,000 --> 00:17:36,000 Bu qarşısını almaq üçün, mesajlar adətən təsadüfi bit ilə padded olunur 284 00:17:36,000 --> 00:17:39,000 eyni mesaj şifrələnir ki şifrelenir əvvəl 285 00:17:39,000 --> 00:17:44,000 Mesaj üzrə padding fərqli olaraq birdən çox uzun kimi müxtəlif görünür. 286 00:17:44,000 --> 00:17:47,000 Amma biz chunks daxil messages split necə yadda 287 00:17:47,000 --> 00:17:50,000 hər yığın n daha kiçik ki? 288 00:17:50,000 --> 00:17:52,000 Bu chunks padding biz şeyi split ola bilər o deməkdir ki, 289 00:17:52,000 --> 00:17:57,000 ildən daha chunks daxil padded yığın n daha kiçik olmalıdır. 290 00:17:57,000 --> 00:18:01,000 Şifrələmə və parol çözme, RSA ilə nisbətən bahalı 291 00:18:01,000 --> 00:18:05,000 və bir çox chunks bir mesaj parçalamaq ehtiyac çox bahalı ola bilər. 292 00:18:05,000 --> 00:18:09,000 Məlumatların böyük həcmdə şifrəli olmalıdır və şifresi çözülen edin 293 00:18:09,000 --> 00:18:12,000 biz simmetrik əsas alqoritmləri faydaları birləşdirə bilər 294 00:18:12,000 --> 00:18:16,000 RSA bu təhlükəsizlik və səmərəlilik həm almaq üçün. 295 00:18:16,000 --> 00:18:18,000 Biz burada daxil deyil baxmayaraq, 296 00:18:18,000 --> 00:18:23,000 AES bu Vigenère və Caesar ciphers kimi bir simmetrik əsas alqoritm edir 297 00:18:23,000 --> 00:18:25,000 amma çox çətindir çat. 298 00:18:25,000 --> 00:18:30,000 Əlbəttə ki, biz ortaq bir gizli əsas yaratmadan AES istifadə edə 299 00:18:30,000 --> 00:18:34,000 2-sistemləri arasında, biz əvvəl problem gördüm. 300 00:18:34,000 --> 00:18:40,000 Amma indi biz 2-sistemləri arasında paylaşılan gizli əsas yaratmaq RSA istifadə edə bilərsiniz. 301 00:18:40,000 --> 00:18:43,000 Biz data göndərən göndərilməsi kompüter arayacaðým 302 00:18:43,000 --> 00:18:46,000 və kompüter data alıcı alınması. 303 00:18:46,000 --> 00:18:49,000 Alıcı bir RSA əsas cüt və göndərir 304 00:18:49,000 --> 00:18:51,000 göndərən ictimai düyməsi. 305 00:18:51,000 --> 00:18:54,000 Göndərən bir AES əsas yaradır 306 00:18:54,000 --> 00:18:57,000 alıcı-nin RSA ictimai əsas ilə şifreleyerek, 307 00:18:57,000 --> 00:19:00,000 və alıcı üçün AES əsas göndərir. 308 00:19:00,000 --> 00:19:04,000 Alıcı öz RSA Şəxsi düyməsindən ilə mesaj şifrini açır. 309 00:19:04,000 --> 00:19:09,000 Göndərən və alıcı, həm də indi onların arasında ortaq bir AES əsas var. 310 00:19:09,000 --> 00:19:14,000 RSA çox şifrələmə və parol çözme da çox daha sürətli olan AES, 311 00:19:14,000 --> 00:19:18,000 indi məlumatların böyük həcmdə şifrelemek və alıcı onları göndərmək üçün istifadə edilə bilər, 312 00:19:18,000 --> 00:19:21,000 decrypt həmin əsas olan istifadə edə bilərsiniz. 313 00:19:21,000 --> 00:19:26,000 RSA çox şifrələmə və parol çözme da çox daha sürətli olan AES, 314 00:19:26,000 --> 00:19:30,000 indi məlumatların böyük həcmdə şifrelemek və alıcı onları göndərmək üçün istifadə edilə bilər, 315 00:19:30,000 --> 00:19:32,000 decrypt həmin əsas olan istifadə edə bilərsiniz. 316 00:19:32,000 --> 00:19:36,000 Biz yalnız paylaşılan əsas transfer RSA lazımdır. 317 00:19:36,000 --> 00:19:40,000 Biz artıq bütün RSA istifadə etmək lazımdır. 318 00:19:40,000 --> 00:19:46,000 Mən bir mesaj var kimi görünür. 319 00:19:46,000 --> 00:19:49,000 Hər kağız təyyarə var nə oxumaq əgər mən tutdu əvvəl etməz 320 00:19:49,000 --> 00:19:55,000 Mən xüsusi açar ilə yalnız bir deyiləm, çünki. 321 00:19:55,000 --> 00:19:57,000 Iletideki chunks hər decrypt edək. 322 00:19:57,000 --> 00:20:07,000 Ilk yığın, 658, biz 185 olan d enerji ilə qaldırmaq 323 00:20:07,000 --> 00:20:18,000 989 olan mod n, 67-ə bərabərdir 324 00:20:18,000 --> 00:20:24,000 ASCII-ci məktub C-dir. 325 00:20:24,000 --> 00:20:31,000 İndi, ikinci yığın daxil. 326 00:20:31,000 --> 00:20:35,000 İkinci yığın, dəyəri 15 var 327 00:20:35,000 --> 00:20:41,000 biz 185th hakimiyyətə qaldırmaq olan 328 00:20:41,000 --> 00:20:51,000 mod 989, və bu 83-ə bərabərdir 329 00:20:51,000 --> 00:20:57,000 ASCII-ci məktub S olan. 330 00:20:57,000 --> 00:21:06,000 İndi dəyəri 799 olan üçüncü yığın üçün, biz 185 qaldırmaq 331 00:21:06,000 --> 00:21:17,000 mod 989, və bu 53-ə bərabərdir, 332 00:21:17,000 --> 00:21:24,000 ASCII-ci karakter 5 dəyəri olan. 333 00:21:24,000 --> 00:21:30,000 İndi son yığın üçün olan dəyəri 975 var 334 00:21:30,000 --> 00:21:41,000 biz 185 mod 989, qaldırmaq 335 00:21:41,000 --> 00:21:51,000 və bu ASCII ildə karakter 0 dəyəri olan 48, bərabərdir. 336 00:21:51,000 --> 00:21:57,000 My name Rob Bowden, bu CS50 edir. 337 00:21:57,000 --> 00:22:00,000 [CS50.TV] 338 00:22:06,000 --> 00:22:08,000 Bütün RSA. 339 00:22:08,000 --> 00:22:14,000 Bütün RSA. [Gülüş] 340 00:22:14,000 --> 00:22:17,000 Bütün.