2000 წელზე მეტის წინ, ევკლიდემ აჩვენა,
რომ ნებისმიერი რიცხვი მხოლოდ ერთი სახით იშლება მარტივ მამრავლებად,
რაც შეგვიძლია ერთვგვარ საიდუმლო გასაღებად ჩავთვალოთ.
აღმოჩნდა, რომ მარტივ მამრავლებად დაშლა
ფუნდამენტურად რთულ პრობლემას წარმოადგენს.
განვმარტოთ რა იგულისხმება მარტივსა და რთულში,
ე.წ. "დროითი სირთულის" შემოტანით.
რიცხვები აქამდეც გაგვიმრავლებია და არსებობს წესები,
რომლითაც ეს სწრაფად ხდება.
თუ კომპიუტერს დავაპროგრამებთ რიცხვების გასამრავლებლად,
ის ამას გაცილებით სწრაფად იზამს ვიდრე რომელიმე ადამიანი.
ეს გრაფიკი აჩვენებს, თუ რა დრო სჭირდება კომპიუტერს ორი რიცხვის გასამრავლებლად.
ცხადია, გამრავლების დრო იმატებს რიცხვების ზრდის მიხედვით.
თუ დაუკვირდებით, გამოთვლის დრო ერთ წამზე ნაკლები რჩება ძალიან დიდი რიცხვებისთვისაც.
შესაბამისად, გამრავლება "მარტივია".
შევადაროთ ეს მარტივ მამრავლებად დაშლას.
ვინმემ რომ გთხოვოთ 589-ის მარტივ მამრავლებად დაშლა,
შეამჩნევთ, რომ ეს უფრო რთული ამოცანაა.
სტრატეგიის მიუხედავად, გარკვეული მცდელობა და შეცდომები გექნებათ,
სანამ იპოვით 589-ის მარტივ მამრავლებად დაშლას.
გარკვეული წვალების შემდეგ იპოვით, რომ 19-ჯერ 31 არის ეს დაშლა.
437 231-ის მარტივ მამრავლებად დაშლა რომ გჭირდებოდეთ, ალბათ დანებდებით
და კომპიუტერს გამოიყენებთ.
კომპიუტერი მცირე რიცხვებზე კარგად მუშაობს,
მაგრამ თუ უფრო და უფრო დიდ რიცხვებს მივაწვდით მარტივ მამრავლებად დასაშლელად,
მივიღებთ runaway ეფექტს.
გამოთვლისთვის საჭირო დრო სწრაფად იზრდება რადგან ნაბიჯების რაოდენობა იმატებს.
რიცხვების ზრდასთან ერთად, კომპიუტერი წუთებს ხარჯავს,
შემდეგ საათებს და საბოლოოდ საჭირო ხდება
ასობით და ათასობით წელი უზარმაზარი რიცხვებისთვის.
შესაბამისად, ეს ნამდვილად "რთული" ამოცანაა,
რადგან გამოთვლისთვის საჭირო დრო ძალიან სწრაფად იზრდება.
მარტივ მამრავლებად დაშლა გამოიყენა Cocks-მა,
რათა შეექმნა trapdoor ამოხსნა.
ნაბიჯი პირველი, ალისა შემთხვევით ირჩევს 150-ნიშნა მარტივ რიცხვს,
რომელსაც უცოდებს "p ერთს".
შემდეგ, იღებს მეორე შემთხვევით მარტივ რიცხვს,
დაახლოებით იმავე ზომისას. ამას უწოდებს "p ორს".
ამ მარტივ რიცხვებს ის ამრავლებს ერთმანეთზე
და იღებს შედგენილ რიცხვ N-ს,
რომელიც 300 სიმბოლოზე მეტს შეიცავს.
გამრავლების ნაბიჯს წამზე ნაკლები სჭირდება,
ამის გაკეთება ვებ ბრაუზერითაც კი შეიძლება.
შემდეგ ის იღებს N-ის ფაქტორიზაციას,
ანუ p ერთის და p ორის ნამრავლს და მალავს.
ახლა, თუ ის N-ს ვინმეს მისცემს,
კომპიუტერით მას წლები დასჭირდება ამოხსნის საპოვნელად.
ნაბიჯი მეორე, Cocks-ს სჭირდებოდა ფუნქციის პოვნა,
რომელიც დამოკიდებული იქნებოდა N-ის ცოდნაზე.
ამისთვის, მან 1760 ჩატარებულ სამუშაოს მიმართა,
რომელიც ჩატარდა შვედი მათემატიკოსის, ლეონარდ ეილერის მიერ.