[Powered by Google Translate] [RSA] [Rob Bowden] [Tommy MacWilliam] [ჰარვარდის უნივერსიტეტის] [ეს არის CS50.] [CS50.TV] მოდით შევხედოთ RSA, ფართოდ გამოიყენება ალგორითმი encrypting მონაცემები. შიფრირების ალგორითმები, როგორიცაა კეისრის და Vigenère ciphers არ არის ძალიან უსაფრთხო. With კეისრის კოდი, თავდამსხმელი მხოლოდ სჭირდება ცდილობენ 25 სხვადასხვა გასაღებები მისაღებად გაგზავნა ს ძირითადი ტექსტი. მიუხედავად იმისა, რომ Vigenère cipher არის უფრო უსაფრთხო, ვიდრე კეისრის კოდი გამო უფრო დიდი ძებნის ფართი გასაღებები, ერთხელ თავდამსხმელი იცის სიგრძეზე გასაღები Vigenère cipher, რომელიც შეიძლება განისაზღვროს საშუალებით ანალიზი თარგების წელს დაშიფრული ტექსტი, Vigenère cipher არ არის, რომ გაცილებით უფრო უსაფრთხო, ვიდრე კეისრის კოდი. RSA, მეორეს მხრივ, არ არის დაუცველი თავდასხმების მოსწონს ეს. კეისრის კოდი და Vigenère cipher გამოიყენოთ იგივე გასაღები ორივე დაშიფვრა და გაშიფვრა გაგზავნა. ეს უძრავი ხდის ამ ciphers სიმეტრიული გასაღები ალგორითმები. ფუნდამენტური პრობლემა სიმეტრიული გასაღები ალგორითმები ის არის, რომ იმედი აქვთ ერთი encrypting და გაგზავნის გაგზავნა და ერთი მიმღები და გაშიფვრის დროს მოხდენილი გაგზავნა to უკვე შევთანხმდით upfront on გასაღები ორივე იყენებს. მაგრამ ჩვენ გვაქვს ცოტა ჩატვირთვის პრობლემა აქ. როგორ 2 კომპიუტერი რომ სურთ კომუნიკაცია დაამყაროს საიდუმლო გასაღები მათ შორის? თუ გასაღები უნდა იყოს საიდუმლო, მაშინ ჩვენ გვჭირდება გზა დაშიფვრა და გაშიფვრა გასაღები. თუ ყველა ჩვენ გვაქვს არის სიმეტრიული გასაღები კრიპტოგრაფიის მაშინ ჩვენ უბრალოდ დაბრუნებას იგივე პრობლემა. RSA, მეორეს მხრივ, იყენებს წყვილი გასაღებები, ერთი დაშიფვრისათვის და მეორე დეშიფრაციის. ეწოდება საჯარო გასაღები, და სხვა არის პირადი გასაღები. საჯარო გასაღები გამოიყენება დაშიფვრა შეტყობინებები. როგორც თქვენ ალბათ გავიგო მისი სახელი, ჩვენ შეიძლება გაიზიაროს ჩვენი საჯარო გასაღების ვინმე გვინდა გარეშე კომპრომეტირებისთვის უსაფრთხოების დაშიფრული გაგზავნა. შეტყობინებები იშიფრება გამოყენებით საჯარო გასაღები შესაძლებელია მხოლოდ გაშიფრავთ თავისი შესაბამისი პირადი გასაღები. მიუხედავად იმისა, შეგიძლიათ გაუზიაროთ თქვენი საჯარო გასაღები, თქვენ ყოველთვის უნდა ჩაწეროთ შეტყობინების გასაღები საიდუმლო. წლიდან შეტყობინების გასაღები დაცული უნდა იყოს საიდუმლო და მხოლოდ შეტყობინების გასაღები შეიძლება გამოყენებულ იქნას, გაშიფროთ შეტყობინებები, თუ 2 წევრებს სურთ შეტყობინებები იშიფრება ერთად RSA უკან და მეოთხე ორივე წევრებს უნდა ჰქონდეთ საკუთარი საჯარო და კერძო გასაღები წყვილი. შეტყობინებები მომხმარებლის 1 დან 2 მომხმარებლის მხოლოდ მომხმარებლის 2 მთავარი წყვილი, და შეტყობინებები მომხმარებლის 2 to მომხმარებლის 1 მხოლოდ მომხმარებლის 1 მთავარი წყვილი. ის ფაქტი, რომ არსებობს 2 ცალკე გასაღებები დაშიფვრა და გაშიფვრა შეტყობინებები ხდის RSA ასიმეტრიული გასაღების ალგორითმი. ჩვენ არ გვჭირდება დაშიფვრა საჯარო გასაღები, რათა გამოგვიგზავნოთ სხვა კომპიუტერზე რადგან გასაღები არის საჯარო მაინც. ეს ნიშნავს, რომ RSA ამჯამად არ აქვს იგივე ჩატვირთვის პრობლემა როგორც სიმეტრიული გასაღების ალგორითმი. როგორ 2 კომპიუტერი რომ სურთ კომუნიკაცია დაამყაროს საიდუმლო გასაღები მათ შორის? თუ გასაღები უნდა იყოს საიდუმლო, მაშინ ჩვენ გვჭირდება გზა დაშიფვრა და გაშიფვრა გასაღები. თუ ყველა ჩვენ გვაქვს არის სიმეტრიული გასაღები კრიპტოგრაფიის მაშინ ჩვენ უბრალოდ დაუბრუნდეს იგივე პრობლემა. RSA, მეორეს მხრივ, იყენებს წყვილი გასაღებები, ერთი დაშიფვრისათვის და მეორე დეშიფრაციის. ეწოდება საჯარო გასაღები, და სხვა არის პირადი გასაღები. საჯარო გასაღები გამოიყენება დაშიფვრა შეტყობინებები. როგორც თქვენ ალბათ გავიგო მისი სახელი, ჩვენ შეიძლება გაიზიაროს ჩვენი საჯარო გასაღები ვინმესთან გვინდა გარეშე კომპრომეტირებისთვის უსაფრთხოების დაშიფრული გაგზავნა. შეტყობინებები იშიფრება გამოყენებით საჯარო გასაღები შესაძლებელია მხოლოდ გაშიფრავთ თავისი შესაბამისი პირადი გასაღები. მიუხედავად იმისა, შეგიძლიათ გაუზიაროთ თქვენი საჯარო გასაღები, თქვენ ყოველთვის უნდა ჩაწეროთ შეტყობინების გასაღები საიდუმლო. წლიდან შეტყობინების გასაღები დაცული უნდა იყოს საიდუმლო და მხოლოდ შეტყობინების გასაღები შეიძლება გამოყენებულ იქნას, გაშიფროთ შეტყობინებები თუ 2 წევრებს სურთ შეტყობინებები დაშიფრული ერთად RSA უკან და მეოთხე როგორც წევრებს უნდა ჰქონდეთ საკუთარი საჯარო და კერძო გასაღები წყვილი. შეტყობინებები მომხმარებლის 1 დან მომხმარებლის 2 მხოლოდ მომხმარებლის 2 მთავარი წყვილი, და შეტყობინებები მომხმარებლის 2 to მომხმარებლის 1 მხოლოდ მომხმარებლის 1 მთავარი წყვილი. ის ფაქტი, რომ არსებობს 2 ცალკე გასაღებები დაშიფვრა და გაშიფვრა შეტყობინებები ხდის RSA ასიმეტრიული გასაღების ალგორითმი. ჩვენ არ გვჭირდება დაშიფვრა საჯარო გასაღები, რათა გამოგვიგზავნოთ სხვა კომპიუტერზე რადგან გასაღები არის საჯარო მაინც. ეს ნიშნავს, რომ RSA ამჯამად არ აქვს იგივე ჩატვირთვის პრობლემა როგორც სიმეტრიული გასაღები ალგორითმები. ასე რომ, თუ მინდა გაგზავნას გაგზავნა გამოყენებით RSA დაშიფვრის ძარცვა, მე ჯერ უნდა რობ საჯარო გასაღები. გენერირება წყვილი გასაღებები, რობ სჭირდება აირჩიოთ 2 დიდი რიცხვების. ეს ციფრები გამოყენებული იქნება როგორც საჯარო და კერძო გასაღებები, მაგრამ საჯარო გასაღები იქნება მხოლოდ პროდუქტის ამ 2 ნომრები, არ ციფრები თავად. ერთხელ მე იშიფრება გაგზავნა გამოყენებით რობ საჯარო გასაღები მე შეგიძლიათ გააგზავნოთ შეტყობინება რობ. იყიდება კომპიუტერი, ფაქტორინგული ნომრები არის რთული პრობლემა. საჯარო გასაღები, გახსოვდეთ, გამოყენებული პროდუქტი 2 რიცხვების. ეს პროდუქტი უნდა მაშინ აქვს მხოლოდ 2 ფაქტორები, რაც არ უნდა იყოს ციფრები, რომ შეადგინოს პირადი გასაღები. იმისათვის, რომ გაშიფვრა გაგზავნა, RSA გამოიყენებს ამ შეტყობინების გასაღები ან ნომრები გამრავლდეს ერთად შექმნის პროცესი საჯარო გასაღები. იმიტომ რომ computationally რთული ფაქტორი ნომერი გამოიყენება საჯარო გასაღების 2 ნომრები გამოიყენება შეტყობინების გასაღები ეს რთული შემტევს გაერკვნენ შეტყობინების გასაღები რომ საჭირო იქნება გაშიფვრა გაგზავნა. ახლა მოდით წასვლას გარკვეული ქვედა დონეზე დეტალებზე RSA. მოდით პირველ ვნახოთ, როგორ შეგვიძლია გენერირება წყვილი გასაღები. პირველი, ჩვენ გვჭირდება 2 რიცხვების. ჩვენ მოვუწოდებთ ამ 2 ნომრები P და Q. იმისათვის, რომ აირჩიოთ P და Q, პრაქტიკაში ჩვენ pseudorandomly გენერირება დიდი რაოდენობით და შემდეგ გამოიყენოთ ტესტი განსაზღვრის თუ არა იმ რაოდენობით ალბათ პრემიერ. ჩვენ შეგვიძლია შევინარჩუნოთ მომტანი შემთხვევითი რიცხვების უსასრულოდ სანამ ჩვენ გვაქვს 2 primes რომ ჩვენ შეგვიძლია გამოვიყენოთ. აქ მოდით აირჩიოთ p = 23 და Q = 43. გახსოვდეთ, პრაქტიკაში, P და Q უნდა იყოს გაცილებით ნომრები. რამდენადაც ჩვენ ვიცით, უფრო დიდი ციფრები, რთული ეს რათა ბზარი დაშიფრული გაგზავნა. მაგრამ ეს ასევე უფრო ძვირი დაშიფვრა და გაშიფვრა შეტყობინებები. დღეს ის ხშირად რეკომენდირებულია P და Q მინიმუმ 1024 ბიტი, რომელიც ხელს უწყობს თითოეული ნომრის მაჩვენებელი 300 ათობითი თანრიგისაგან. მაგრამ ჩვენ შეარჩიო ამ მცირე რაოდენობით ამ მაგალითს. ახლა ჩვენ გავამრავლოთ P და Q ერთად მისაღებად მე -3 პუნქტების, რომელიც ჩვენ მოვუწოდებთ n. ჩვენს შემთხვევაში, n = 23 * 43, რომელიც = 989. ჩვენ N = 989. შემდეგი ჩვენ გავამრავლოთ P - 1 Q - 1 მიიღონ მე -4 ნომერი, რომელიც ჩვენ მოვუწოდებთ მ. ჩვენს შემთხვევაში, მ = 22 * ​​42, რომელიც = 924. ჩვენ გვყავს m = 924. ახლა ჩვენ გვჭირდება ხმების ვებ რომ შედარებით პრემიერ მ და ნაკლები მ. ორი რიცხვის შედარებით პრემიერ ან coprime თუ მხოლოდ დადებითი მთელი რიცხვი რომ ყოფს მათ ორივე თანაბრად არის 1. სხვა სიტყვებით, უდიდესი საერთო divisor ელექტრონული და მ უნდა იყოს 1. პრაქტიკაში, ის საერთოა ვებ უნდა იყოს მარტივი რიცხვი 65537 რადგან ეს რიცხვი არ მოხდეს უნდა იყოს ფაქტორი m. ჩვენი გასაღებები, ჩვენ აირჩიოთ E = 5 მას შემდეგ, რაც 5 შედარებით პრემიერ to 924. საბოლოოდ, ჩვენ გვჭირდება კიდევ ერთი ნომერი, რომელიც ჩვენ მოვუწოდებთ დ. D უნდა იყოს გარკვეული მნიშვნელობა, რომ აკმაყოფილებს განტოლებას de = 1 (mod m). ეს mod m ნიშნავს ჩვენ ვიყენებთ რაღაც მოუწოდა მოდულარული არითმეტიკა. In მოდულარული არითმეტიკა, ერთხელ ხმების იღებს უფრო მაღალია, ვიდრე ზოგიერთი ზედა ბლოკნოტის ეს იქნება საერთო უკან გარშემო 0. საათი, მაგალითად, იყენებს მოდულარული არითმეტიკა. ერთი წუთის შემდეგ 1:59, მაგალითად, 2:00, არ 1:60. წუთი მხრივ დაასრულა გარშემო 0 საფუძველზე მიღწევის ზედა შეკრული 60. ასე რომ, ჩვენ შეგვიძლია ვთქვათ, 60 უდრის 0 (mod 60) და 125 უდრის 65 უდრის 5 (mod 60). ჩვენი საზოგადოების გასაღები იქნება წყვილი E და N აქ ამ შემთხვევაში ვებ არის 5 და N არის 989. ჩვენი შეტყობინების გასაღები იქნება წყვილი დ და n, რომელიც ჩვენს შემთხვევაში არის 185 და 989. გაითვალისწინეთ, რომ ჩვენი ორიგინალური primes P და Q არ გამოჩნდება სადმე ჩვენი კერძო ან საჯარო გასაღები. არის, რომ ჩვენ გვაქვს ჩვენი წყვილი გასაღებები, მოდით შევხედოთ როგორ შეგვიძლია გაშიფრავს და გაშიფვრა გაგზავნა. მინდა გაგზავნას გაგზავნა ძარცვა, ამიტომ იგი იქნება ერთ გენერირება ამ გასაღები წყვილი. მაშინ მე ვთხოვ რობ მისი საჯარო გასაღები, რომელიც მე გამოიყენოს დაშიფვრა გაგზავნა უგზავნიდნენ მას. გახსოვდეთ, ეს სრულიად okay for რობ, რომ თავისი საჯარო გასაღები ჩემთან ერთად. მაგრამ, ეს არ იქნება okay, რომ თავისი პირადი გასაღები. მე არ მაქვს როგორია მისი შეტყობინების გასაღები არის. ჩვენ შეგვიძლია დაარღვიოს ჩვენი გაგზავნა m up რამდენიმე მოცულობით ყველა ნაკლებია N და მერე გაშიფრავს თითოეული იმ მოცულობით. ჩვენ გაშიფრავს სიმებიანი CS50, რომელიც ჩვენ შეგვიძლია გაწყვეტის შევიდა 4 მოცულობით, პოსტი წერილში. იმისათვის, დაშიფროთ ჩემი გაგზავნა, მე უნდა გარდაქმნას იგი გარკვეული რიცხვითი წარმომადგენლობა. მოდით concatenate ASCII ღირებულებების მქონე სიმბოლოების ჩემი გაგზავნა. იმისათვის, რომ გაშიფროთ მოცემული გაგზავნა m მე უნდა გამოთვლაც c = m to E (mod N). მაგრამ მ უნდა იყოს ნაკლები n, ანდა სრული გაგზავნა არ შეიძლება გამოთქვა modulo n. ჩვენ შეგვიძლია შესვენება m up რამდენიმე მოცულობით, რომლებიც ნაკლებია N, და გაშიფრავს თითოეული იმ მოცულობით. Encrypting თითოეულ ამ მოცულობით, მივიღებთ C1 = 67 დან 5 (mod 989) რაც = 658. ჩვენი მეორე ბლოკი გვაქვს 83 დან 5 (mod 989) რაც = 15. ჩვენი მესამე ბლოკი გვაქვს 53 დან 5 (mod 989) რაც = 799. და ბოლოს, ჩვენი ბოლო ბლოკი გვაქვს 48 დან 5 (mod 989) რაც = 975. ახლა ჩვენ შეგიძლიათ გააგზავნოთ ამ დაშიფრული ღირებულებების ძარცვა. აი ისიც, რობ. ხოლო ჩვენი გაგზავნა არის ფრენის, ავიღოთ კიდევ ერთი სახე როგორ მივიღეთ, რომ მნიშვნელობა დ. ჩვენი ხმების დ საჭიროა დააკმაყოფილოს 5d = 1 (mod 924). ეს ხდის დ multiplicative უკუპროპორციულობით of 5 modulo 924. თუ გავითვალისწინებთ 2 რიცხვებით, და ბ, გაფართოებულ Euclidean ალგორითმი შეიძლება გამოყენებულ იქნას, რათა იპოვოს უდიდესი საერთო divisor ამ 2 რიცხვებით. ის ასევე გვაძლევს 2 სხვა ნომრები, X და Y, რომ დააკმაყოფილოს განტოლება ax + by = უდიდესი საერთო divisor of და ბ. როგორ ამჯამად ამ დაგვეხმარება? ისე, ჩართვის E = 5 და მ = 924 for B ჩვენ უკვე კარგად ვიცით, რომ ეს რიცხვი coprime. მათი უდიდესი საერთო divisor არის 1. ეს გვაძლევს 5x + 924y = 1 ან 5x = 1 - 924y. მაგრამ თუ ჩვენ მხოლოდ აინტერესებს ყველაფერი modulo 924 მაშინ ჩვენ შეგვიძლია ვარდნა - 924y. იფიქრეთ თავში საათი. თუ წუთი მხრივ არის 1 და შემდეგ ზუსტად 10 საათში გაივლის, ჩვენ ვიცით წუთი მხრივ კვლავ იყოს 1. აქ იწყება 1 და შემდეგ გადაიტანოთ გარშემო ზუსტად Y ჯერ, ამიტომ ჩვენ მაინც იყოს 1. ჩვენ გვყავს 5x = 1 (mod 924). და აქ ამ x იგივეა, რაც დ ჩვენ ეძებდნენ ადრე, ასე რომ, თუ ჩვენ ვიყენებთ გაფართოებულ Euclidean ალგორითმი მიიღოს ეს რაოდენობა x, რომ ნომერი უნდა გამოვიყენოთ, როგორც ჩვენი დ. ახლა მოდით აწარმოებს გაფართოებულ Euclidean ალგორითმი = 5 და b = 924. ჩვენ ვიყენებთ მეთოდი მოუწოდა მაგიდა მეთოდი. ჩვენი მაგიდა ექნება 4 მწკრივი, X, Y, დ, და K. ჩვენი მაგიდა იწყება off ერთად 2 ხაზად. პირველ მწკრივში ჩვენ გვყავს 1, 0, მაშინ ჩვენი ღირებულება, რომელიც 5, და ჩვენი მეორე მწკრივი არის 0, 1, და ჩვენი მნიშვნელობა B, რომელიც 924. ღირებულება -4 სვეტი, K, იქნება შედეგი გამყოფი ღირებულება რ row ზემოთ იგი ღირებულების დ იმავე კლავიშს. ჩვენ გვყავს 5 იყოფა 924 არის 0 ზოგიერთი ნაშთი. ეს იმას ნიშნავს, რომ ჩვენ გვაქვს K = 0. არის ღირებულების ყველა სხვა საკანში იქნება ღირებულება საკანში 2 ხაზად ზემოთ იგი მინუს ღირებულება row ზემოთ იგი ჯერ K. დავიწყოთ რ მე -3 row. ჩვენ გვყავს 5 - 924 * 0 = 5. შემდეგი გვაქვს 0 - 1 * 0 არის 0 და 1 - 0 * 0 არის 1. არც ისე ცუდია, მოდით გადავიდეთ მომდევნო მწკრივში. პირველი, ჩვენ გვჭირდება ჩვენი ღირებულება K. 924 იყოფა 5 = 184 ზოგიერთ დარჩენილი, ამიტომ ჩვენი მნიშვნელობა K არის 184. ახლა 924 - 5 * 184 = 4. 1 - 0 * 184 არის 1 და 0 - 1 * 184 არის -184. ყველა უფლება, მოდით შემდეგი row. ჩვენი ღირებულება K იქნება 1, რადგანაც 5 იყოფა 4 = 1 ზოგიერთი ნაშთი. მოდით შეავსოთ სხვა სვეტით. 5 - 4 * 1 = 1. 0 - 1 * 1 = -1. და 1 - 184 * 1 185. ვნახოთ რა ჩვენი მომავალი ღირებულება K იქნებოდა. ასევე, ის ჰგავს გვაქვს 4 იყოფა 1, რომელიც 4. ამ შემთხვევაში ჩვენ გამყოფი მიერ 1 ისეთი, რომ K უდრის ღირებულება რ ზემოთ row იმას ნიშნავს, რომ ჩვენ გავაკეთეთ ჩვენს ალგორითმი. ჩვენ ვხედავთ, რომ ჩვენ გვაქვს x = 185 და Y = -1, ბოლო row. მოდით ახლა დაბრუნდება ჩვენი ორიგინალური მიზანი. ჩვენ ვთქვით, რომ ღირებულება x შედეგად გაშვებული ეს ალგორითმი იქნებოდა multiplicative უკუპროპორციულობით of (mod ბ). ეს იმას ნიშნავს, რომ 185 არის multiplicative უკუპროპორციულობით 5 (mod 924) რაც იმას ნიშნავს, რომ ჩვენ გვაქვს ღირებულება 185 შეეხება დ. ის ფაქტი, რომ დ = 1 ამ ბოლო row ადასტურებს, რომ ვებ იყო coprime მ. თუ ეს არ იყო 1 მაშინ ჩვენ უნდა აირჩიოთ ახალი ვებ. ახლა ვნახოთ, თუ რობ მიღებული აქვს ჩემი გაგზავნა. როდესაც ვინმე აგზავნის ჩემს დაშიფრული გაგზავნა სანამ მე ჩემი ინახება შეტყობინების გასაღები საიდუმლო მე მხოლოდ ერთი ვისაც შეუძლია გაშიფვრა გაგზავნა. რათა გაშიფვრა ბლოკი გ შემიძლია გამოთვლა ორიგინალური გაგზავნა უდრის ბლოკი to დ ძალა (mod N). გახსოვდეთ, რომ დ და N არიან ჩემი პირადი გასაღები. მიიღოს სრული გაგზავნა თავისი მოცულობით ჩვენ გაშიფვრა თითოეული ბლოკი და concatenate შედეგი. სწორედ რამდენად დაცულია RSA? სიმართლე კი ის არის, რომ ჩვენ არ ვიცით. უშიშროების ეფუძნება რამდენ ხანს დასჭირდება შემტევს გაიბზარება გაგზავნა იშიფრება ერთად RSA. გახსოვდეთ, რომ თავდამსხმელი ხელი მიუწვდება თქვენი საჯარო გასაღები, რომელიც შეიცავს ორივე E და N. თუ შემტევს ახერხებს ფაქტორი n მის 2 primes, P და Q, მაშინ მას შეეძლო გამოეთვალა დ გამოყენებით გაფართოებულ Euclidean ალგორითმი. ეს იძლევა მისი შეტყობინების გასაღები, რომელიც შეიძლება გამოყენებულ იქნას, გაშიფროთ ნებისმიერი გაგზავნა. მაგრამ რამდენად სწრაფად შეიძლება ფაქტორი რიცხვებით? ისევ და ისევ, არ ვიცით. ჯერ ჯერობით არავის არ ნაპოვნი სწრაფი გზა ამის გაკეთება, რაც იმას ნიშნავს, რომ მოცემულ საკმარისად დიდი N დასჭირდება შემტევს unrealistically ხანგრძლივი to ფაქტორი ნომერი. თუ ვინმე გამოავლინა სწრაფი გზა ფაქტორინგული რიცხვებით RSA იქნება გატეხილი. მაგრამ მაშინაც კი, თუ მთელი factorization იგი არსებითად ნელი RSA ალგორითმი შეიძლება ჯერ კიდევ აქვს გარკვეული ხარვეზი მასში რომელიც საშუალებას აძლევს ადვილად დეშიფრაციის შეტყობინებები. ჯერ ჯერობით არავის არ იქნა ნაპოვნი და გამოვლენილი ასეთი ხარვეზი არ არის, მაგრამ ეს არ ნიშნავს, ერთი არ არსებობს. თეორიულად, ვინმე იყოს იქ კითხულობს ყველა მონაცემი იშიფრება ერთად RSA. არსებობს კიდევ ერთი ცოტა კონფიდენციალურობის საკითხი. თუ ტომი encrypts ზოგიერთი გაგზავნა გამოყენებით ჩემი საჯარო გასაღები და შემტევს encrypts იმავე გაგზავნა გამოყენებით ჩემი საჯარო გასაღები თავდამსხმელი ნახავთ, რომ 2 შეტყობინებები იდენტურია და ამით ვიცით, რა ტომი დაშიფრულია. იმისათვის რომ თავიდან ავიცილოთ ეს, შეტყობინებები ტიპიურად padded ერთად შემთხვევითი ბიტი სანამ იშიფრება ასე რომ იმავე გაგზავნა იშიფრება რამდენჯერმე გამოიყურება სხვადასხვა რადგან padding წლის გაგზავნა განსხვავებულია. მაგრამ მახსოვს როგორ გვაქვს გაყოფილი შეტყობინებები შევიდა მოცულობით ასე, რომ ყოველი ბლოკი მცირეა N? Padding მოცულობით ნიშნავს, რომ ჩვენ შეიძლება გაყოფილი რამ up შევიდა კიდევ უფრო მოცულობით წლიდან padded ბლოკი უნდა იყოს ნაკლები n. Encryption და დეშიფრაციის შედარებით ძვირი ერთად RSA, და ასე სჭირდება გაწყვეტის გაგზავნა შევიდა ბევრი მოცულობით შეიძლება ძალიან ძვირი. თუ დიდი მოცულობის მონაცემები უნდა იყოს დაშიფრული და გაშიფრავთ ჩვენ შეგვიძლია დააკავშიროთ სარგებელი სიმეტრიული გასაღები ალგორითმები რეგულაციებთან RSA მიიღოს როგორც უსაფრთხოების და ეფექტურობის. მიუხედავად იმისა, რომ ჩვენ არ შევალ აქ, AES არის სიმეტრიული გასაღების ალგორითმი მოსწონს Vigenère და ცეზარ ciphers მაგრამ გაცილებით უფრო რთული ბზარი. რა თქმა უნდა, ჩვენ არ შეგვიძლია გამოვიყენოთ AES გარეშე დამყარებას საერთო საიდუმლო გასაღები შორის 2 სისტემებისა და დავინახეთ პრობლემა, რომ ადრე. მაგრამ ახლა ჩვენ შეგვიძლია გამოვიყენოთ RSA დამყარებას საერთო საიდუმლო გასაღები შორის 2 სისტემებს. ჩვენ მოვუწოდებთ კომპიუტერის გაგზავნის მონაცემები გამგზავნი და კომპიუტერის მიღების მონაცემები მიმღები. მიმღები აქვს RSA გასაღები წყვილი და აგზავნის საჯარო გასაღები გამომგზავნს. გამგზავნი გენერირებას AES გასაღები, encrypts იგი მიმღების RSA საჯარო გასაღები, და აგზავნის AES გასაღები მიმღები. მიმღები decrypts გაგზავნა თავისი RSA პირადი გასაღები. ორივე გამგზავნი და მიმღები ახლა აქვს საერთო AES გასაღები მათ შორის. AES, რომელიც ბევრად უფრო სწრაფად ზე დაშიფვრის და დეშიფრაციის ვიდრე RSA, უკვე შესაძლებელია გამოყენებული დაშიფვრა დიდი მოცულობის მონაცემები და გააგზავნოთ მიმღები, ვისაც შეუძლია გაშიფვრა გამოყენებით იგივე გასაღები. AES, რომელიც ბევრად უფრო სწრაფად ზე დაშიფვრის და დეშიფრაციის ვიდრე RSA, უკვე შესაძლებელია გამოყენებული დაშიფვრა დიდი მოცულობის მონაცემები და გააგზავნოთ მიმღები, ვისაც შეუძლია გაშიფვრა გამოყენებით იგივე გასაღები. ჩვენ მხოლოდ საჭირო RSA გადარიცხოს გაუზიარეს გასაღები. ჩვენ აღარ უნდა გამოვიყენოთ RSA ყველა. როგორც ჩანს მაქვს გაგზავნა. არ აქვს მნიშვნელობა, თუ ვინმეს წაკითხვის რა ქაღალდზე თვითმფრინავის სანამ დაიჭირეს ეს იმიტომ, რომ მე ვარ მხოლოდ ერთი კერძო გასაღები. მოდით გაშიფვრა თითოეული მოცულობით in გაგზავნა. პირველი ბლოკი, 658, ჩვენ დავაყენებთ, რათა დ ძალა, რომელიც არის 185, mod N, რომელიც 989, უდრის 67, რაც ასო C ASCII. ახლა, გადატანა მეორე ბლოკი. მეორე ბლოკი მნიშვნელობაც 15, რომელსაც ჩვენ დავაყენებთ, რათა 185th ძალა, mod 989 და ეს უდრის 83 რაც წერილში S ში ASCII. ახლა მესამე ბლოკი, რომლის მნიშვნელობაც 799, ჩვენ დავაყენებთ, რათა 185, mod 989 და ეს უდრის 53, რაც ღირებულება ხასიათი 5 in ASCII. ახლა ბოლო ბლოკი, რომლის მნიშვნელობაც 975, ჩვენ დავაყენებთ, რათა 185, mod 989, და ეს არის ტოლი 48, რომელიც ღირებულების ხასიათი 0 in ASCII. ჩემი სახელი არის რობ Bowden, და ეს არის CS50. [CS50.TV] RSA ყველა. RSA ყველა. [სიცილის] ყველა.