paint-brush
Geleceğin Şifresini Çözmek: Programlanabilir Kriptografi ve Modern Teknolojideki Rolüile@felixarpa
619 okumalar
619 okumalar

Geleceğin Şifresini Çözmek: Programlanabilir Kriptografi ve Modern Teknolojideki Rolü

ile Felix Xu7m2024/04/26
Read on Terminal Reader

Çok uzun; Okumak

Programlanabilir kriptografi hala yeni bir kavramdır ancak çok karmaşık sorunları çok daha basit hale getirme şansı sunan bir kavramdır.
featured image - Geleceğin Şifresini Çözmek: Programlanabilir Kriptografi ve Modern Teknolojideki Rolü
Felix Xu HackerNoon profile picture
0-item

Kriptografik teknolojiler ilerlemeye devam ettikçe ve hayatımızda yeni ve daha önemli kullanım alanları buldukça, bu teknolojilerin gerçekleştirdiği süreçler de daha karmaşık hale geliyor. Basit kriptografik temel öğelerle çok büyük şeyler yapılabilirken, en heyecan verici olan, bunların bir araya getirildiğinde yapabilecekleri şeydir.


Daha da etkileyici olanı, bazı kriptografik protokollerin, onlara evrensel zorlukların üstesinden gelme gücü veren donanım tanımlama yetenekleriyle tasarlanmış olmasıdır. Uygun bir şekilde "programlanabilir kriptografi" olarak adlandırılan bu fikir, Brian Gu'nun ifadesiyle, yeni protokoller tasarlamanın matematiksel problemini mevcut protokolleri birleştirmenin programlama problemine dönüştürerek daha karmaşık eylemleri mümkün kılma vaadi taşıyor.


Bu makalede, bu fikirlerin nereden geldiğini anlamak için yüksek seviyeli hedeflerden düşük seviyeli algoritmalara kadar kriptografik uygulama katmanlarını inceleyeceğiz. Daha sonra nereye gittiklerine bakacağız.


Başlamadan önce, kriptografları kendi zanaatlarına dalmaya iten temel motivasyon üzerinde düşünmek için biraz zaman ayıralım. Sonuçta evde kalmak ve hiçbir şey yapmamak, yeni bir protokolün güvenli, uygulanabilir ve mevcut modellere göre anlamlı bir gelişme olduğunu gösteren matematiksel kanıtlar üzerinde çalışmaktan çok daha kolaydır.

Sakladığımız, paylaştığımız ve işlediğimiz dijital verilerin giderek artan önemi nedeniyle, gizliliğin sağlanması ve verilerin kurcalanmaya karşı korunması için yeni ve geliştirilmiş yöntemlere ihtiyaç duyulmaktadır. Kriptografları sabahları yataktan kaldıran şey bu ihtiyacı karşılama arzusudur.


Bugünlerde çevrimiçi olarak ne kadar çok bilginin işlendiğini düşünmek gerçekten şaşırtıcı. Çoğu insan için daha acil olan şey şu anda verilerle etkileşime geçmek için birkaç yıl öncesine göre ne kadar daha fazla zaman harcadıklarıdır. Ürettikleri, kullandıkları, inceledikleri ve gönderdikleri tüm bu bilgiler, uygun şekilde korunmadığı takdirde casusluk, çalınma veya manipüle edilme riskiyle karşı karşıyadır.


Bu nedenle kriptografiye her zaman ihtiyaç vardır. Bu nedenle verilerin gizli tutulmasına yönelik yeni ve geliştirilmiş yöntemler geliştirilmeye devam etmektedir.


Diğer birçok disiplin gibi kriptografi de, görev daha ilginç hale geldikçe ölçeklenen basit kavramlara dayanır. Modern kriptografide sıklıkla "kriptografik ilkeller" olarak anılan bu basit kavramların kendisi genellikle temeldir ancak karmaşık bir şey oluşturmak için birleştirilebilir.


Örneğin, en eski kodlardan biri olan Cesar şifresini düşünün. Adını en ünlü kullanıcısının adından alan bu kod, orijinal mesajdan üç harf geriye kaydırılan şifreli bir metinde sözcüklerin yazılmasını içeriyor. Bu durumda “the” kelimesi “qeb” şeklinde yazılır. Her harf, İngiliz alfabesinde bir önceki üç noktaya kaydırıldı.


Bu kod oldukça basit olmasına rağmen iyi test edilmiştir, kullanışlıdır ve kesinlikle deneysel değildir. Verileri şifrelemeniz gerekiyorsa, bu onu şifreleyecektir. Dünyadaki en güvenli kod olmasa da, diğer tekniklerle birleştirilerek daha güçlü hale getirilebilir.


Başka bir örnek vermek gerekirse, Vigenère şifresi, bir mesajı birkaç farklı Cesar şifresi kullanarak kodlamak için kullanılan bir araçtır. Bu sistemde her mesaj bir anahtarla birleştirilir; sırasıyla “kartal” ve “limon”u hayal edelim. Anahtar, mesajdaki harfleri kaç yere kaydıracağınızı söyler ancak her harfin farklı kaydırma sayısı vardır. Limondaki "L", mesajın ilk harfini on iki basamak kaydırmanızı söyler, çünkü L, İngiliz alfabesindeki on ikinci harftir. “E” size ikinci harfi beş boşluğa kaydırmanızı söyler ve bu böyle devam eder.


Yani “elma” “peszr” oluyor. Anahtara erişim olmadan mesajın kodunu çözmek çok daha zor hale gelir. Hala Cesar şifresinin zayıf yönlerine sahip olsa da (yeterli zaman verildiğinde, kaba kuvvet hesaplaması mesajın ne olduğunu belirleyecektir) mevcut araçları yeni bir şekilde birleştirerek güvenlik düzeyi önemli ölçüde artar.


Muhtemelen tahmin edebileceğiniz gibi, bunlar gibi mevcut şifreleri yeni, daha karmaşık yollarla bir araya getirmek, yeni bir sistem icat etmekten çok çok daha kolaydır. Cesar uzun zaman önce öldü ve biz hâlâ onun kod kitabını kullanıyoruz.


Eski kodların bilgeliği nasıl devam ediyorsa, modern şifreleme teknolojisinin çoğu da benzer bir kaide üzerinde duruyor. Yeni bir sistemin dijital sırlarınızı güvende tutacağına dair yeni bir kanıt yazması için bir kriptograf bulmak harikadır, ancak aynı zamanda oldukça zaman alıcıdır ve çalışması garanti edilmez. Öte yandan, RSA (Rivest-Shamir-Adleman), AES (Gelişmiş Şifreleme Standardı) veya Dijital İmza sistemleri gibi kriptografik temellerin çalıştığı bilinmektedir ve çok çeşitli sorunlara kolaylıkla uygulanabilmektedir. Örneğin, RSA güvenli veri iletimi için yaygın olarak kullanılırken, AES hassas verileri şifrelemek için bir standarttır. Birleştirilirlerse yenilikçi işlevsellik sağlayabilirler ve herhangi birinin tek başına çözemeyeceği kadar karmaşık sorunları çözebilirler.


Basit yöntemleri bir araya getirmek, daha karmaşık sistemler oluşturmanın harika bir yolu olsa da, bunun da sınırlamaları vardır. Bu ilkellerin her biri, belirli bir görevde iyi olacak şekilde tasarlanmıştır ve bunları birleştirirken, zayıf yönlerini açığa çıkaracak hatalar yapılması alışılmadık bir durum değildir.


Düşük seviyeli temellere dayanan orta seviye protokoller, daha gelişmiş özellikleri ve işlevleri hedefler. Aşağıda en yaygın olarak benimsenen ve tartışılan orta düzey protokollerden bazılarını inceleyeceğiz.


Homomorfik şifreleme, şifrelenmiş verilerin önce şifresini çözmeye gerek kalmadan işlenmesine olanak tanıyan bir protokoldür. Bunun örnekleri bugün mevcuttur, ancak hala nispeten erken aşamalarındadır; hatta pratik olduğu ancak 2009'da kanıtlanmıştır. Mevcut modeller bazen şifrelenmiş veriler üzerinde hangi işlemlerin gerçekleştirilebileceği konusunda sınırlıdır.

Ancak konsept son derece ilginçtir ve pek çok olası uygulamaya sahiptir. Tıbbi kayıtlar veya kredi bilgileri gibi hassas ancak yararlı verilerin, size yardımcı olmak için bunlara erişmesi gereken kuruluşlardan ne sıklıkla çalındığını düşünün. Ya şifrelenmiş tıbbi bilgilerinizle, şifresini çözmeden etkileşime geçmek mümkün olsaydı? Bu iyileştirmenin güvenlik açısından faydalarını söylemeye gerek yok.


Çok Taraflı Hesaplama (MPC), ortak bir çıktı üzerinde birlikte çalışan farklı aktörler tarafından sağlanan girdileri gizlemeye yönelik bir araçtır. Genellikle “Milyoner sorunu” olarak tanımlanır.


Hangisinin daha fazla paraya sahip olduğunu öğrenmek isteyen iki milyoner olduğunu hayal edin. Ancak, çıkıp net değerlerinin ne olduğunu söylemek istemiyorlar. Bu sorunu çözmek için MPC'yi kullanabilirler. İlk milyoner, şifrelenmiş net değerini ikinciye göndermeden önce değerleri karşılaştırmak için tasarlanmış bir programa ekleyebiliyor. İkinci milyoner ise net değerini kattığında ilk değeri göremiyor.

Daha sonra hem çıktının şifresini çözebilir hem de hangisinin daha büyük bir değer girdiğini bulabilirler; ancak hiçbir girdiyi göremezler.


Son olarak Sıfır Bilgi Kanıtlarına (ZKP'ler) bakalım. Bunlar yaygın olarak kullanıldıkları için muhtemelen okuyucu tarafından iyi bilinmektedir ve bunları kısaca ele alacağız. ZKP'ler, bir kanıtlayıcının , genellikle doğrulayıcı olarak adlandırılan başka bir kişiye başka bir şey söylemeden bir şeyin doğru olduğunu söylemesine izin verme konusunda çok iyidir. Genellikle bu hizmeti tek bir kullanıcıya sağlarlar; kişi kanıt ister ve alır. Zk-SNARK ve zk-STARK dahil olmak üzere çok sayıda ZKP vardır. Her birinin kendine göre avantajları ve dezavantajları vardır.


Bu gelişmiş protokoller üzerindeki araştırmalar ilerledikçe, odak noktası genel amaçlı şifreleme protokollerinin geliştirilmesine doğru genişledi. Bu girişimler, kriptografinin evrensel hesaplamanın güvenli ve özel olarak yapılmasını mümkün kılmasının mümkün olduğunu kanıtlamayı amaçlıyor. Başlangıçta bu çabalar tamamen teorikti ve pratik uygulama verimliliğinden ziyade fizibiliteye öncelik veriliyordu. Ancak araştırmalar derinleştikçe kriptograflar dikkatlerini bu kavramları pratikte uygulanabilir hale getirmeye yöneltti. Yeni protokolleri ve bileşenleri geliştirir, birleştirir ve icat ederler. Çoğu zaman nihai protokol, birden fazla yaklaşımın güçlü yönlerinden yararlanan bir hibrit haline gelir. Örneğin, homomorfik şifreleme, hesaplamaların geçerli bir aralıkta kalmasını sağlamak amacıyla aralık kanıtları için sıfır bilgi kanıtlarını kullanır. Bu arada, MPC protokolleri doğrusal olmayan işlemleri yürütmek için homomorfizm unsurlarını içerebilir.


Çok sayıda deneysel protokol arasında bazıları, gerçek dünyadaki gelişimin yolunu açacak kadar pratik faydaya yeterince yaklaşmıştır. Bu araçlar derleyicilere benzer şekilde çalışır, üst düzey dilleri yorumlar ve bunları kriptografik protokollerin işleyebileceği devrelere dönüştürür. Bu dönüşüm, yazılımı CPU kayıt işlemlerine dönüştürmeye veya Solidity'yi EVM durum geçişlerine dönüştürmeye benzer. Turing-tam hesaplama desteğiyle tamamlanan bu derleyici benzeri yeteneğe ulaşmak, programlanabilir kriptografi dediğimiz şeyin ortaya çıkışına işaret ediyor. Bu aşırı iyimser görünse de gerçek çok incelikli. Örneğin bit bazlı hash fonksiyonları, sıfır bilgi kanıtı protokolünde o kadar verimli değildir, oysa modüler çarpma yoluyla yürütülen hash'ler üstün verimlilik sunar. Bu nedenle SHA-3 gibi algoritmalardan uzak durulması tavsiye edilir. Ayrıca, kriptografik protokoller ağırlıklı olarak sonlu alanlar içerisinde çalıştığından, kayan nokta hesaplamalarından kaçınmak yaygın bir uygulamadır. Programlanabilir kriptografiyi hayata geçirirken bunun gibi hileler her yerde mevcuttur.


Programlanabilir kriptografi hala yeni bir kavramdır ancak çok karmaşık sorunları çok daha basit hale getirme şansı sunan bir kavramdır. Alacağı yönler hakkında spekülasyon yapmak kolaydır. Her ne kadar bu araçlarla bulunacak başarı düzeyleri belirlense de, her türlü kriptografik araçla programlama yapmaya çalışılacağı kesindir.


Ancak bu deneylerden bazıları işe yarayacaktır. Bazıları iyi çalışacak ve iyi çalışanlar, bir kriptografın tek bir uygulama için yepyeni bir sistem oluşturması masrafına gerek kalmadan güçlü işlevler ve yüksek düzeyde güvenlik sağlayacaktır. Bu olasılık tek başına muhtemelen bu alanda büyük bir ilgi uyandıracaktır.


Bunun mevcut sistemlerle çalışacak şekilde nasıl yapılacağı sorununun ele alınması gerekecektir ve benimsenenlerin çoğunun, etkileşime girmesi gereken verilerle verimli bir şekilde çalışan olması muhtemeldir.


Bu teknolojinin veri güvenliği, gizlilik ve daha geniş anlamda dijital güvenlik alanı üzerindeki etkisini abartmak zor olabilir. Çok sayıda karmaşık eylemin uygulanması daha kolay hale gelecektir. Kötü programlama her zaman olduğu gibi teknolojinin çalıştığı yerde sorunlara yol açsa da, daha iyi güvenlik ve daha sağlam gizlilik sistemleri göreceğiz.


Belki de en cesaret verici olanı, bu teknolojinin kullanımı açısından henüz oldukça erken olmasıdır. ZK kanıtları 1980'lerde geliştirildi ancak ancak 2012'de mümkün oldu. Henüz kimsenin hayal etmediği birçok olası mekanizma ve mekanizma kombinasyonu olabilir. Dünyayı sarsacak bir sonraki fikir yarın gelebilir. Ne yapacağını tahmin bile edemeyebiliriz.