If you're seeing this message, it means we're having trouble loading external resources on our website.

თუ ვებფილტრს იყენებთ, დარწმუნდით, რომ *.kastatic.org და *.kasandbox.org დომენები არ არის დაბლოკილი.

ძირითადი მასალა

XOR ბიტური ოპერაცია

ბიჯით შიფრი: საბოლოო ვერსია

თუ გინახავთ გაკვეთილი ვერნამის შიფრზე (ერთჯერად პანელზე), იცით, რომ ის არის ბიჯით შიფრის საბოლოო ვერსია (დავარქვათ „საბოლოო ბიჯით შიფრი“). ის მოიცავს ბიჯების შემთხვევით სიას, რომელიც უდრის წერილის სიგრძეს. მნიშვნელოვანია, გავიგოთ, თუ როგორ და რატომ არის ვერნამის შიფრი გაუტეხვადი, ანუ სრულყოფილად საიდუმლო.
იმისთვის, რომ გავიგოთ „რატომ“, უნდა შემოვიღოთ და, ან და XOR ორობითი ოპერაციები. კერძოდ, რატომ უნდა გამოვიყენოთ XOR, როცა ვასრულებთ ვერნამის შიფრს კომპიუტერებზე. ორობითი უბრალოდ ნიშნავს, რომ ცალკეულ ბიტებთან გვაქვს საქმე, იგივე ბინარული რიცხვები. ნებისმიერ თანამედროვე/კომპიუტერიზებულ დაშიფვრის სქემაში ჩვენს სიმბოლოებს წარმოვადგენთ ორობითი ციფრებით. თუ დაგავიწყდათ რატომ, შეგიძლიათ, ეს ვიდეო იხილოთ კომპიუტერების მეხსიერებაზე

ფერების დაშიფვრა

დავიწყოთ ვიზუალური მაგალითით: ხანის აკადემიის მწვანე ფოთლის ავატარის ფერის დაშიფვრა.
როგორ გადავიყვანოთ ფერი რიცხვში? ახლა თქვენ უყურებთ HTML ფერებს, რომლებიც განსაზღვრულია RGB ფერის მოდელით. ეს არის შენაზავი მოდელი, რომელიც დაფუძნებულია წითელი (Red), მწვანე (Green) და ლურჯი (Blue) ფერების შეზავებაზე.
შეგვიძლია, ზუსტად განვსაზღვროთ რაოდენობები RED, GREEN და BLUE 0-დან 255-მდე რიცხვის გამოყენებით. შავი არის ყველა (0,0,0), თეთრი კი არის ყველა (255,255,255). მათ შორის არის 16 მილიონი შესაძლო ფერი (256 * 256 * 256). ახლა შევარჩიოთ ხანის აკადემიის ფოთლის მწვანე სურათის რედაქტირების ნებისმიერ საშუალებაში:
ფოტოშოპის ფერის ამრჩევის ეკრანის ანაბეჭდი, სადაც მწვანე არის მონიშნული.
აღვნიშნოთ, რომ ის შემდეგნაირად ინახავს: RED=156, GREEN=181, BLUE=58.
თუ რიცხვებს ორობითში წარმოვადგენთ, მივიღებთ:
RED=10011100, GREEN=10110101, BLUE=00111010.
ამ ყველაფრის ერთმანეთზე მიწებება შემდეგნაირად შეგვიძლია: 100111001011010100111010
ხანის აკადემიის მწვანე ფერის ორობითი RGB წარმოდგენა:
მწვანე ფონი ზემოთ 100111001011010100111010-ით

შემთხვევითი ბიჯების გამოყენება

ახლა ვთქვათ, რომ ბიჯის მიმდევრობას აგენერირებთ მონეტის აგდებების გამოყენებით, რომლებიც გადაგყავთ ორობითში შემდეგნაირად:
HTHTTHTHHHHTTHTTTTHTTHHH = 010110100001101111011000
ვიფიქროთ, როგორ შეგვიძლია ამ ბიჯით მიმდევრობის გამოყენება ჩვენს ფერზე, რათა დავშიფროთ იგი ვერნამის შიფრით:
100111001011010100111010 + 010110100001101111011000 = start text, question mark, end text
ვერნამის შიფრის ასამუშავებლად საჭიროა სწორი ოპერაციის არჩევა, რათა შედეგად მიღებული მიმდევრობა თანაბარი ალბათობით იყოს ნებისმიერი ფერი. გავიაროთ სამი განსხვავებული ოპერატორი, და, ან, XOR.

და

და ოპერატორს აგრეთვე ვეძახით ლოგიკურ შეერთებას და ზუსტად ისე მუშაობს, როგორც გამრავლება.
მას გამოაქვს 1 მხოლოდ იმ შემთხვევაში, თუ მისი ყველა შემომავალი მონაცემი არის 1. აი, ჭეშმარიტების ცხრილი:
0 და 0 = 0
0 და 10
1 და 0 = 0
1 და 0 = 0
მოდით, ვცადოთ ის:
100111001011010100111010 და 010110100001101111011000 = 000110000001000100011000
ეს შედეგად გვაძლევს ძალიან მუქ იისფერს. აღვნიშნოთ, რომ როცა ვასრულებთ და ოპერაციას ორობით რიცხვზე, შედეგად მიღებული მიმდევრობა ვერ იქნება მეტი. ჩვენს ფერის მაგალითში ეს გამორიცხავს ბევრ შესაძლო ჩრდილს, რადგან ის უბიძგებს ფერს შავისკენ.

ან

ან ოპერაცია აგრეთვე ცნობილია, როგორც ლოგიკური განცალკევება. მას გამოაქვს 1, როცა ერთი ან მეტი შემომავალი მონაცემი არის 1. აი, ჭეშმარიტების ცხრილი:
0 ან 0 = 0
0 ან 1 = 1
1 ან 0 = 1
1 ან 1 = 1
მოდით, ვცადოთ ის:
100111001011010100111010 ან 010110100001101111011000 = 110111101011111111111010
ეს შედეგად გვაძლევს უფრო ღია ფერის იისფერს. აღვნიშნოთ, რომ როცა ან ოპერაციას ვაკეთებთ ნებისმიერ ორობით მიმდევრობაზე, შედეგად მიღებული მიმდევრობა ვერ იქნება უფრო მცირე. ეს გამორიცხავს ბევრ შემთხვევას, რადგან ის უბიძგებს ფერს თეთრისკენ.

XOR

XOR ოპერატორს გამოაქვს 1, როდესაც შემომავალი მონაცემები არ ემთხვევა ერთმანეთს, რაც ხდება მაშინ, როცა ორი შემომავალი მონაცემიდან ერთი არის გამომრიცხავად ჭეშმარიტი. ეს იგივეა, რაც შეკრება mod 2. აი, ჭეშმარიტების ცხრილი:
0 XOR 0 = 0
0 XOR 1 = 1
1 XOR 0 = 1
1 XOR 1 = 0
მოდით, ვცადოთ ის:
100111001011010100111010 XOR 010110100001101111011000 = 110001101010111011100010
მუქი იისფერი
ეს შედეგად გვაძლევს ოდნავ უფრო მუქ იისფერს, ვიდრე OR ოპერაცია. აღვნიშნოთ, რომ როცა ვასრულებთ XOR ოპერაციას ორობით მიმდევრობაზე, შედეგად მიღებული მიმდევრობა შეიძლება, იყოს ნებისმიერი მიმდევრობა. თუ მოცემული გვაქვს რაიმე დაშიფრული ფერი, მხოლოდ ის ვიცით, რომ თავდაპირველი ფერი „თანაბარი ალბათობით შეიძლება, იყოს ნებისმიერი ფერი“. ჩვენ არ გვაქვს არანაირი ინფორმაცია, რაც თვალდახუჭულად გამოცნობაზე უკეთეს შანსებს მოგვცემს (1/16 მილიონი).
საბოლოოდ, ვცადოთ ვიზუალური დემონსტრაცია, რათა ვნახოთ ვერნამის შიფრის განხორციელება. შემდეგ ვიშოვით მეტ ენერგიის ქულას!

გსურთ, შეუერთდეთ დისკუსიას?

პოსტები ჯერ არ არის.
გესმით ინგლისური? დააწკაპუნეთ აქ და გაეცანით განხილვას ხანის აკადემიის ინგლისურენოვან გვერდზე.