Çarpmanın tersi kolay mı, zor mu?

Cem Say
Çarpmanın tersi kolay mı, zor mu?

İki sayıyı birbiriyle çarpmak kolay. Sayılar uzun olsa, şöyle 15-20’şer rakamdan oluşsalar bile, kâğıt-kalem ve birazcık sabırla bu işi becerebilirsiniz.

Peki ya tersi? Size (1’den farklı) iki tamsayının çarpımı olan 40 rakamlı bir sayıyı versem ve hangi sayıları çarparak bu sayıya ulaştığımı sorsam, aynı hızda yanıtlayabilir misiniz?

Bu “çarpanlara ayırma” problemi için insanın aklına ilk gelen çözüm verilen sayıyı sırayla kendisinden küçük tamsayılara bölerek sonucun tamsayı çıkıp çıkmayacağına bakmak oluyor. Örneğin, çabuk söyleyin: 1073 hangi iki sayının çarpımıdır? Birçok sayıyı deneyerek sonuca vardınız, değil mi?


Matematikçilerin de bu konuda sizden çok ileride olduğunu düşünmeyin. Çarpanlara ayırma problemini bugün kullandığımız “klasik” bilgisayarlarla çözmek için bildiğimiz en hızlı yöntem, makul sayılabilecek uzunluklardaki sayıları bile ancak yüzlerce yılda çarpanlarına ayırabiliyor. Hatta bu problemin böyle zor görünmesi, elektronik haberleşmelerimizde temel bir rol oynuyor. Nasıl mı?

Güvenli iletişim

İnternet üzerinden iletişim kurduğunuzda (sözgelimi bankanızın ağ sitesine bağlandığınızda) gönderdiğiniz bilgiler doğrudan sizin bilgisayarınızdan bankanınkine zıplamaz. Birçok aracı noktadan geçerek aktarılırlar. Bu noktalardaki bilgisayarların sahiplerinin (ya da arada bir kabloya müdahale ederek veya radyo dalgalarını dinleyerek veri akışını gören birilerinin) banka parolanızı öğrenmesini istemezsiniz.

Bu yüzden böyle bilgiler sizin bilgisayarınızca “kilitleme anahtarı” işini gören özel bir sayı kullanılarak şifrelenir, şifreli olarak yolculuk eder ve bankaya vardığında oradaki bilgisayarca “açma anahtarı” yardımıyla özgün haline dönüştürülür. Açma anahtarına sahip olmayan bir “kulak misafiri”, şifreli mesajı ele geçirse bile çözemez.

Demek ki biri kilitlemek, diğeri de açmak için kullanılan, birbirine uyumlu iki sayı olacak. Bunlardan açma anahtarı bankada gizli olarak duracak. Ama ona karşılık gelen kilitleme anahtarının sizin bilgisayarınızda olması lazım. Bu anahtarı almak için kalkıp bankaya gitmek istemediğinize göre, kilitleme anahtarını nasıl alacaksınız?

Bu sorunun günümüzde yaygın kullanımdaki çözümü, yukarıda söz ettiğimiz çarpanlara ayırma problemine dayalı. Kabaca, bankanın bilgisayarı rastgele iki tane asal (yani 1'den farklı iki çarpana ayrılamayan) sayı tutuyor. Sonra bu iki sayının kendilerini kimselere söylemeden çarpımları olan sayıyı herkesin görebileceği şekilde yayınlıyor.

İşte bu çarpım bankaya gönderilecek mesajların kilitleme anahtarı! Sizin bilgisayar bankayla güvenli iletişim kurmak için mesajlarını bu anahtarla şifreliyor. Bu şifreyi bankadan başka kimse çözemiyor, çünkü açma anahtarı o gizli tutulan iki asal sayı. Ve yukarıda da anlattığımız gibi kimse kilitleme anahtarını çabucak çarpanlarına ayırıp açma anahtarını elde edemiyor.

Mu acaba? (Kuşkulu matematikçi)

Görüldüğü gibi, elektronik haberleşmelerimizin gizli kaldığına duyduğumuz güven, çarpanlara ayırma hesabının kolay değil zor olduğu yolundaki bir inanca dayalı. Bu, dünyanın en zor inanır insanları olan matematikçiler için çok rahatsız edici bir durum: Ya bu inanç yanlışsa? Ya uzun bir sayıyı çarpanlarına ayırmanın kolay bir yöntemi varsa da biz daha onu keşfetmemişsek? Daha kötüsü, ya birisi bu yöntemi keşfetmişse de kimselere söylememişse? Bu bilgiyi şöhretli bir matematikçi olmak yerine bankaların şifrelerini istediği gibi çözen zengin bir hırsız veya casus olmak için kullanmayı yeğliyorsa?

Hepsi bu kadar değil. 1994’ten beri bankacılar biraz daha endişeli. Çünkü o yıl ABD’li bilgisayarcı Peter Shor, çarpanlara ayırma problemi için hızlı bir yöntem buldu! Evet, yukarıda bu işi “klasik” bilgisayarlarla yapmayı bilmediğimizi belirtmiştim; ama Shor’un algoritması da tek rakamlık bir hanede aynı anda birden çok değer bulunması, hesaplamanın aynı anda çok sayıda paralel evrende yapılması vb. ilginçliklere el veren kuantum bilgisayarları için yazıldı.

Gerçi bildiğimiz kadarıyla hâlihazırda makul boyuttaki sayıları çarpanlarına ayırabilecek bir kuantum bilgisayarını inşa edebilecek teknolojiye sahip değiliz (15’in 3’le 5’in çarpımı olduğunu Shor algoritmasıyla bulabilen bilgisayar ünlü bilim dergilerinde kapak haberi olmuştu!) ama bundan emin olabilir misiniz? Siz bu yeteneğe sahip bir makine yapabilseniz duyurur musunuz, yoksa kendinize saklamanın daha kârlı olduğunu mu düşünürsünüz?

Gizli değil, apaçık mutluluklar dileklerimle.

Cem Say

Cem Say

1987'den beri Boğaziçi Üniversitesi Bilgisayar Mühendisliği Bölümü'nde çalışıyor. Çalışmaları Yapay Zeka ve Kuramsal Bilgisayar Bilimi üzerine. Sahte dijital deliller üzerine incelemeleri var. Bilimkurgu, uzay yolculuğu, seçim hileleri ve başka bir çok konuya da meraklı.