ასიმეტრიული კრიპტოსისტემა
ასიმეტრიული კრიპტოსისტემა (კრიპტოსისტემა ღია გასაღებით) — კრიპტოსისტემა, რომელიც იყენებს გასაღებების წყვილს — ღია და პირად გასაღებებს. პირადი გასაღები რჩება გასაღების მფლობელთან და ინახება საიდუმლოდ, ხოლო ღია გასაღები შეიძლება გავრცელდეს და ყველასთვის ხელმისაწვდომი იყოს. ეს ორი გასაღები ერთმანეთთან დაკავშირებულია მათემატიკურად, მაგრამ ამავე დროს პირადი გასაღების მიღება ღია გასაღებიდან პრაქტიკულად შეუძლებელია. პირადი გასაღებით დაშიფრული ინფორმაციის დეშიფრაცია მხოლოდ შესაბამისი ღია გასაღებით შეიძლება და პირიქით. ასიმეტრიული კრიპტოგრაფიის გამოყენების ორი ძირითადი სფეროა: 1. ღია გასაღებით შიფრაცია — ღია გასაღებით დაშიფრული ტექსტის დეშიფრაცია შეუძლია მხოლოდ მას, ვისაც აქვს პირადი გასაღები. ანუ ნებისმიერს შეუძლია გაუგზავნოს გასაღების მფლობელს საიდუმლო ინფორმაცია. თუ ქსელში არსებობს N პირი, მათ შორის ინფრომაციის გასაცვლელად საჭირო ხდება მხოლოდ N-1 გასაღებების წყვილი. ღია გასაღებები თავისუფლად იცვლება ერთმანეთში ან მოთავსდება საერთო ბაზაში. 2. ციფრული ხელმოწერა — ფარული გასაღებით დაშიფრული ტექსტის დეშიფრაცია შეუძლია ნებისმიერს, ანუ ყველას შეუძლია მიმართოს საერთო ბაზას და დარწმუნდეს იმაში, რომ ეს ინფორმაცია ნამდვილად გამგზავნის მიერ იქნა დაშიფრული (ხელმოწერილი). ღია გასაღების არსებობა წარმოშობს დამატებით პრობლემას, სისტემის მონაწილეები დარწმუნებულნი უნდა იყოს, რომ ღია გასაღები ნამდვილად მფლობელს ეკუთვნის და შეცვლილი არ არის. ეს მიიღწევა ღია გასაღებების ინფრასტრუქტურის შექმნით, სადაც ერთი გასაღების მფლობელი (სერტიფიკატის გამცემი) სხვებს უდასტურებს (ციფრული ხელმოწერით) თავიანთი გასაღებების მფლობელობას. სხვა ხერხი, რომელსაც PGP იყენებს, მდგომარეობს ე.წ. „ნდობის ქსელის“ გამოყენებაში. ასიმეტრიული ალგორითმები გაცილებით მეტ გამოთვლით რესურსებს მოითხოვენ და უფრო ნელა მუშაობენ, ვიდრე სიმეტრიულნი. ამიტომ ხშირად გამოიყენება მათი ჰიბრიდი, როდესაც გასაღების გადაცემისათვის გამოიყენება ასიმეტრიული, ხოლო ძირითადი ინფორმაციის გადაცემისათვის—სიმეტრიული ალგორითმები (სიმეტრიული კრიპტოსისტემა). ეს ერთდროულად რამდენიმე პრობლემას ჭრის: აღარ არის გასაღების გაცვლის პრობლემა, აღარ არის საჭირო ყველა წყვილისათვის ცალ-ცალკე გასაღები, ასევე მონაცემების გაცვლა ხდება უფრო სწრაფი სიმეტრიული ალგორითმებით. მონაცემთა გადაცემისათვის გამგზავნი შეტყობინებას შიფრავს შემთხვევითი გასაღებით სიმეტრიული ალგორითმის გამოყენებით, შემდგომ თვითონ გასაღებს შიფრავს მიმღების ღია გასაღებით ასიმეტრიული შიფრაციით და ორივე ნაწილს უგზავნის მიმღებს. მიმღები თავის მხრივ ხსნის დაშიფრულ გასაღებს პირადი გასაღების გამოყენებით და მიღებული გასაღებით შეტყობინებას უკეთებს დეშიფრაციას. ციფრული ხელმოწერების დროს გამგზავნს გამოჰყავს შეტყობინების ჰეში და მიღებულ მნიშვნელობას შიფრავს პირადი გასაღებით, შემდგომ შეტყობინებას და ხელმოწერას უგზავნის მიმღებს. მიმღები დეშიფრაციას უკეთებს ხელმოწერას გამგზავნის ღია გასაღებით, თვითონვე გამოჰყავს შეტყობინების ჰეში და შემდგომ ორ მნიშვნელობას ერთმანეთს უდარებს. ჰეშის ერთნაირი მნიშვნელობები ადასტურებს რომ შეტყობინება ნამდვილად გამგზავნის მიერ იქნა ხელმოწერი და რომ ხელმოწერის შემდგომ შეტყობინებაში ცვლილება არ შესულა.