Bir şifreleme algoritması ortaya konduğunda whitepaperlarında matematiksel olarak ne kadar hızlı şekilde anahtar aracılığıyla şifrelenebilip şifresinin geri açılabildiğinin yanı sıra şifrenin kırılabilmesinin zorluğu da matematiksel fonksiyonlarla ifade edilir. Çünkü şifrelemede temel amaç hashlemenin tersine verinin eski haline döndürülebilmesidir. Simetrik ve asimetrik anahtarlama konuları oldukça matematiksel konular olmakla beraber biz bu derinliğe inmeyeceğiz. Konunun daha çok blockchain yaklaşımlarında nerelerde hangi amaçlarla kullanıldığı konularına değinmeye çalışacağız. Farklı blockchain örneklerinde farklı algoritmalar tercih edilse de tüm örneklerde temel amacın ağın güvenliğinin sağlanması olduğunu söyleyebiliriz.
Simetrik Şifreleme
Simetrik Şifreleme
En basit haliyle bir verinin şifrelendiği anahtar tarafından çözülebildiği şifreleme yöntemi olarak tanımlayabiliriz. Örnek olması için okul yıllarımıza dönüp kırtasiyelerde satılan hatıra defterlerini kafamızda canlandırabiliriz. Bu hatıra defterleri iki anahtarla satılırdı, birbirinin aynısı olan bu iki anahtarın(public keys) birisinin sizde, diğerinin arkadaşınızda olduğunu düşünün. Defteri yazdıktan sonra bu anahtarla kilitlediğinizi(gerçekte anahtar olmadan kitleniyordu, burada gerçekle biraz örtüşmüyor), defteri alan arkadaşınızın da birebir aynı anahtar tarafından bu şifreyi açtığını düşünebilirsiniz. Bu şifreleme daha çok server-client trafiklerinde veya disk içeriğinin güvenliğe alınması gibi amaçlarla kullanılmaktadır. Birkaç farklı simetrik şifreleme algoritmasını özellikleriyle birlikte inceleyelim:
Data Encryption Standart (DES):
DES standartlaşmış bir encryption algoritmasıdır, zaman zaman Digital Encryption Algorithm (DEA) olarak da adlandırılmaktadır. IBM tarafından ortaya koyulmuştur ancak 56 bitlik anahtarlama yapısı sebebiyle artık güvenli olarak görülmemektedir. Bu sebeplerden Triple DES(3DES) ismi verilen ard arda 3 kez 56 bitlik anahtarlama yapılmak suretiyle bu algoritma güvenlik açısından daha kabul edilebilir bir seviyede kullanılabilmektedir. DES bir blok anahtarlama (block chiper) algoritmasıdır. Aşağıda örnek Java kodu bulunmaktadır repoya buradan erişilebilir.
International Data Encryption Algorithm (IDEA):
Patentli bir algoritmadır ancak ticari amaç harici ücretsiz olarak kullanılabilmektedir. Güvenli bir algoritma olarak tanımlanmaktadır, IDEA bir block chiper algoritmasıdır.
Advenced Encryption Standart (AES):
DES algoritmasının iyileştirilmiş versiyonu olarak tanımlanabilir, bir şifreleme standartıdır. NIST tarafından duyurulan ve Amerikan hükümeti tarafından kabul edilen bu defakto standart dikey olarak ölçeklenebilen bir şifreleme algoritmasıdır. Yani CPU artışı şifrelemenin hızını artırmaktadır. TrueCrypt ve SSH tarafından desteklenen bu algoritma farklı modlarda(GMC, CBC, ..) kullanılabilmektedir. Son olarak AES de bir block chiper algoritmasıdır. Aşağıda örnek Java kodu bulunmaktadır repoya buradan erişilebilir.
AES Encryption Decryption Example
AES yarışmasının finalistlerinden birisi olan bu algoritma bir block chiper algoritmasıdır. 128, 192 veya 256 bitlik anahtarlarla şifrelemeye olanak tanıyan bu algoritma TrueCrypt ve SSH tarafından da desteklenmektedir. CPU artışıyla daha verimli çalışabilmektedir.
AES yarışmasının diğer bir finalisti olan bu algoritma ücretsiz patentle kullanılabilmektedir. TrueCrypt tarafından desteklenmektedir ve bir block chiper örneğidir.
RSADSI firmasının patentlemediği, kendisi için kullandığı bir şifreleme yöntemi olan RC4 bir süre sonra kaynak kodlarının piyasaya ifşa edilmesi ile birlikte duyuldu. Az biliniyor olmasına rağmen çok hızlı çalışan bir algoritmadır. Ancak pratikte kullanılması farklı standartlar ve kurumlar tarafından önerilmemektedir.(örn: TLS 1.1 üzeri, Cloudfare ve Microsoft) AncakSon zamanlarda block chiper algoritmalarda bulunan bazı sorunlar RC4 gibi stream chiper kullanan algoritmalara olan dikkati artırmaktadır.
RC4’ün aksine bir block chiper algoritmasıdır. Ancak yapısında RC2 ve RC4 ü de barındırmaktadır. RSA Security tarafından patentlidir. AES yarışmasının bir diğer finalistidir.
Sonraki yazımızda asimetrik şifreleme örneklerini inceleyeceğiz. Ayrıca hem simetrik hem asimetrik şifreleme algoritmalarının blockchain uygulamalarındaki aktif rolüne değineceğiz.
Yazılarımızın devamlılığını sağlayabilmemiz için lütfen yorumlarınızı iletmeyi unutmayınız. Ve bizi LinkedIn ve Facebook’ta takip edin, topluluğumuzun bir parçası olun.