[Powered by Google Translate] [Vigenère cipher] [Nate Hardison - ჰარვარდის უნივერსიტეტი] [ეს არის CS50. - CS50.TV] გაიცანი Alice. Alice აქვს Crush წლის ბობ. საბედნიეროდ Alice, ბობ ასევე აქვს თვალების მისთვის. სამწუხაროდ მათი დაწყებული რომანი, არა მხოლოდ არ Alice მშობლები disapprove of ბობ, მაგრამ Alice საუკეთესო მეგობარი, Evelyn, აქვს საიდუმლო Crush წლის ბობ და selfishly სურს შეინახოთ გარდა ნებისმიერ ფასად. გამოაგზავნოს საიდუმლო შეტყობინებები ერთმანეთს რომ Alice მშობლები ვერ ვხვდები, Alice და ბობ არ იყენებს კეისრის კოდი, რომელიც მუშაობს მიერ გადასვლის ანბანი მიერ გარკვეული რაოდენობის ასოები როგორც გზა გენერირება ახალი ანბანი. თითოეული ასო ორიგინალური ანბანი შემდეგ შეცვალა თავისი შესაბამისი წერილი ახალ გადავიდა ანბანი. Alice-მისი საყვარელი ნომერი 3, რომელიც ბობ იცის, ასე რომ, ის იყენებს 3 როგორც მისი გასაღები. როდესაც იგი გადადის ინგლისურ ანბანში 3 წერილებს, ხდება D, B ხდება E, C ხდება F, და სხვ. როდესაც იგი იღებს ბოლომდე ანბანი - მდე წერილებს X, Y, Z და - მან მხოლოდ დასრულდება გარშემო თავში დასაწყისში ანბანი და შემცვლელი X ერთად, Y ერთად B, და Z ერთად C. ასე რომ, როდესაც Alice ღებულობენ გაშიფრავს მისი საიდუმლო გზავნილი ბობ, კერძოდ "Meet me at პარკის თერთმეტი საათისთვის," მან მხოლოდ იღებს შესაბამის substitutions. M ხდება P, E ხდება H, და ასე შემდეგ, სანამ მისი unencrypted ძირითადი ტექსტი გაგზავნა არის ქცეული დაშიფრული cipher ტექსტი: "Phhw ph DW wkh sdun DW hohyhq DP" ნამდვილად არ ყველაზე რომანტიკული sounding, მაგრამ Alice თვლიან, რომ გავაკეთებ. Alice აძლევს შეტყობინება Evelyn გამოაქვეყნებს to ბობ სახლში. მაგრამ Evelyn ნაცვლად იღებს მას უკან მისი ოთახი და ცდილობს ბზარი კოდი. ერთი პირველი რამ Evelyn განაცხადები არის, რომ წერილში H ხდება 7 ჯერ გაგზავნა, მრავალი სხვა ჯერ, ვიდრე ნებისმიერი სხვა წერილში. იცის, რომ წერილში E არის ყველაზე გავრცელებული ინგლისურ ენაზე, ხდება თითქმის 13% დროს, Evelyn ხვდება, რომ H უკვე შეიცვალოს E რათა საიდუმლო გაგზავნა და ცდილობს გამოყენებით გასაღები 3 დან გაშიფვრა იგი. ფარგლებში წუთი, Evelyn გათვლით out Alice გეგმები და evilly მოუწოდებს Alice მშობლები. ჰქონდა Alice და ბობ მიღებული CS50, ისინი არ იცნობენ ამ სიხშირე-ანალიზის თავდასხმის კეისრის კოდი, რაც საშუალებას აძლევს მას დაირღვეს საკმაოდ სწრაფად. თვითონაც ცნობილია, რომ cipher ადვილად ექვემდებარება უხეში-ძალები დაესხნენ თავს, რის Evelyn შეეძლო ცდილობდა ყველა შესაძლო 25 გასაღებები, ან ცვლაში ინგლისური ანბანი, რათა decipher გაგზავნა. რატომ 25 გასაღებები და არ 26? კარგად, ვცდილობთ გადასვლის ნებისმიერი წერილი 26 პოზიციებზე, და თქვენ ნახავთ, თუ რატომ. ყოველ შემთხვევაში, უხეში-Force თავდასხმა იქნებოდა მიღებული Evelyn bit longer მაგრამ არა ხანგრძლივი საკმარისი შენარჩუნება მას ჩაშლის Alice და ბობ გეგმები, განსაკუთრებით თუ Evelyn აქვს დახმარების კომპიუტერი რაც შეიძლება დააკოპიროთ მთელი 25 საქმეებზე მყისიერი. ასე რომ, ეს პრობლემა ასევე ხშირია სხვა, რომლებიც გამოიყენება კეისრის კოდი, და ამიტომ ხალხს დაიწყო ექსპერიმენტირება უფრო რთული ჩანაცვლებითი ciphers იმას რომ მრავალჯერადი ცვლა ფასეულობების ნაცვლად მხოლოდ ერთი. ერთი ყველაზე ცნობილი ამ ეწოდება Vigenère cipher. როგორ მივიღებთ მრავალჯერადი ცვლა ღირებულებები? ისე, ნაცვლად გამოყენებით ხმების როგორც გასაღები, ჩვენ ვიყენებთ სიტყვა გასაღები. ჩვენ ვიყენებთ ყოველ ასო გასაღები გენერირებისათვის ნომერი, და ეფექტი არის ის, რომ ჩვენ გვექნება მრავალჯერადი კეისრის კოდი ტიპის გასაღებები ამისთვის გადასვლის წერილებს. ვნახოთ როგორ ამ ნამუშევრების encrypting Alice გზავნილი Bob: Meet me at პარკის თერთმეტი საათისთვის მე, პირადად, ვფიქრობ, ბეკონი არის გემრიელი, მოდით გამოვიყენოთ, რომ როგორც გასაღები. თუ ავიღებთ გაგზავნა თავის unencrypted, ჩვეულებრივი ტექსტში ფორმატში, ჩვენ ვხედავთ, რომ 25 წერილებს ხანგრძლივი. ბეკონის მხოლოდ 5 წერილებს, ამიტომაც ჩვენ უნდა გავიმეოროთ ის 5 ჯერ რათა ის ემთხვევა სიგრძეზე ძირითადი ტექსტი. ბეკონის ბეკონი ბეკონი ბეკონი ბეკონი. როგორც მოკლე განზე, თუ ხმების შრიფტით ძირითადი ტექსტი არ დაყოს cleanly მიერ პუნქტების წერილები გასაღები, ჩვენ უბრალოდ დასრულდება საბოლოო განმეორება ჩვენი გასაღები დასაწყისში, გამოყენებით მხოლოდ წერილებს გვჭირდებოდა, რათა ყველაფერი ემთხვევა up. ახლა ჩვენ წავიდეთ შესახებ მოძიებაში ცვლა ღირებულებებს. ჩვენ ვაპირებთ ამის გამოყენებით თანამდებობა თითოეული წერილში ჩვენი გასაღები - ბეკონი - in to Z ანბანის. მას შემდეგ, რაც ჩვენ კომპიუტერის მეცნიერები, ჩვენ გვსურს დაიწყება დათვლის დროს ნულოვანი ნაცვლად 1, ამიტომ ჩვენ ვაპირებთ ვთქვა, რომ პოზიცია პირველი წერილი ბეკონი - B - არის პოზიცია 1 in ნულოვანი ინდექსირებულ დან Z ანბანი, არ 2, და პოზიცია არის ნულოვანი, არ 1. გამოყენება ამ ალგორითმი, ჩვენ შეგვიძლია მოვძებნოთ ცვლა ფასეულობების თითოეული წერილში. დაშიფვრა ძირითადი ტექსტი და შემდეგ cipher ტექსტი, ჩვენ უბრალოდ გადაეტანა თითოეული ასო ძირითადი ტექსტი მიერ მითითებულ თანხას, ისევე, როგორც ჩვენ არ უკავშირდება კეისრის კოდი, შესაფუთი დან Z თავში საჭიროების შემთხვევაში. M იღებს გადავიდა მიერ 1 ადგილი, გახდეს ნ პირველი E არ გადაიტანოს, მაგრამ ჩვენ გადაეტანა მეორე E მიერ 2 ადგილებში G და T მიერ 14 ადგილებში H. თუ ვმუშაობთ მეშვეობით ძირითადი ტექსტი, ჩვენ დასრულდება up ერთად, "Negh zf AV HUF pcfx BT gzrwep oz." ერთხელ, არც ისე რომანტიული-sounding მაგრამ აუცილებლად cryptic. თუ Alice და ბობ შესახებ ყველაფერი იცოდა Vigenère cipher, რომ ისინი არ ყოფილა დაზღვეული Evelyn ს prying თვალში? რას ფიქრობთ? გსურთ, რომ გსურთ სისტემიდან თქვენს საბანკო ანგარიშზე თუ თქვენი საბანკო მოედანზე გამოვიდა Vigenère cipher დაშიფვრა თქვენი ურთიერთობა გამოყენებით თქვენი პაროლი, როგორც თქვენი გასაღები? მე რომ თქვენ, მე არ. ხოლო Evelyn შეიძლება ინახება დაკავებული ხანგრძლივი საკმარისი Alice და ბობ ჰქონდეთ თავისი შეხვდება-up, ეს არ ღირს ამისთვის Alice და ბობ რომ მოსალოდნელი იყო. Vigenère cipher შედარებით ადვილი შესვენება თუ იცით სიგრძეზე გასაღები რადგან მაშინ მკურნალობა დაშიფრული cipher ტექსტი როგორც პროდუქტი რამდენიმე interwoven Caesar ciphers. Finding სიგრძეზე გასაღები არ არის საშინლად მძიმე, ან. თუ ორიგინალური ბარის ტექსტში გაგზავნა არის ხანგრძლივი საკმარისი, რომ ზოგიერთი სიტყვა მოხდეს რამდენჯერმე, საბოლოოდ თქვენ ნახავთ განმეორება cropping up in დაშიფრული cipher ტექსტი, როგორც ამ მაგალითში, სადაც ხედავთ MONCY გამოჩნდება ორჯერ. გარდა ამისა, შეგიძლიათ შეასრულოს უხეში-Force თავდასხმის cipher. ეს იმას მიიღოს მნიშვნელოვნად აღემატებოდეს უხეში-Force თავდასხმის კეისრის კოდი, რაც შეიძლება გაკეთდეს თითქმის მომენტალურად ერთად კომპიუტერში რადგან ნაცვლად 25 შემთხვევებში, რათა შეამოწმოთ თქვენ მოხვდით 26 ⁿ - 1 შესაძლებლობები, სადაც n სიგრძეზე უცნობია გასაღები. ეს იმიტომ რომ ყოველი ასო გასაღები შეიძლება იყოს რომელიმე 26 წერილებს, მეშვეობით Z, და საღად მოაზროვნე ადამიანს შეეცდება გამოიყენოს გასაღები რომ არ შეიძლება ნაპოვნი ლექსიკონი, რაც იმას ნიშნავს, რომ თქვენ მინდა უნდა შეამოწმოთ ყველა უცნაური წერილი კომბინაციები, როგორიც ZXXXFF, და არა მხოლოდ რამდენიმე ასი ათასი სიტყვა ლექსიკონში. მინუს 1 ძალაში მათემატიკის იმიტომ, რომ თქვენ არ გსურთ გამოიყენოთ გასაღები მხოლოდ ის, მას შემდეგ, რაც ჩვენს ნულოვანი ინდექსირებულ ანბანი, რომელიც მოგცემთ იგივე ეფექტი როგორც გამოყენებით კეისრის კოდი ერთად გასაღები ნულოვანი. ყოველ შემთხვევაში, 26 ⁿ - 1 ამჯამად კიდევ დიდი საკმაოდ სწრაფად, მაგრამ სანამ შენ ნამდვილად არ შევეცდები არღვევს cipher ხელით ამ გზით, ეს აუცილებლად doable ერთად კომპიუტერში. საბედნიეროდ Alice და ბობ და ონლაინ საბანკო, cryptographers შევიმუშავეთ უფრო უსაფრთხო გზები დაშიფვრა საიდუმლო შეტყობინებები საწყისი prying თვალში. თუმცა, რომ თემა სხვა დროს. ჩემი სახელი არის Nate Hardison. ეს არის CS50.