If you're seeing this message, it means we're having trouble loading external resources on our website.

Bağlandığınız bilgisayar bir web filtresi kullanıyorsa, *.kastatic.org ve *.kasandbox.org adreslerinin engellerini kaldırmayı unutmayın.

Ana içerik

Bitcoin: Şifreleme

Şifreleme işlemleri nedir ve hangi özelliklere sahip olması beklenmelidir. Orijinal video Zulfikar Ramzan tarafından hazırlanmıştır.

Tartışmaya katılmak ister misiniz?

Henüz gönderi yok.
İngilizce biliyor musunuz? Khan Academy'nin İngilizce sitesinde neler olduğunu görmek için buraya tıklayın.

Video açıklaması

Merhaba arkadaşlar şifrelemeli özet fonksiyonları birçok şifreleme algoritmalarında ve protokollerinde kullanılan temel yapı taşlarıdır Bilgi güvenliği bağlamında birkaç önemli uygulamaları vardır Şifrelemeli özet fonksiyonları olarak bilinen bu kategorideki bazı genel algoritmalardan biri MD5( emdi5)’tir. Ve onun atası olan MD4(emdi4 ). Bir diğeri SHA(şaa)-256 ki onunda atası SHA(şaa)-1’di. RIPEMD(rayp emdi), BLAKE(bleyk), Skein (skayn) ve diğerleri gibi aşina olabileceğiniz, daha az bilinen algoritmalar da söz konusudur. Şifrelemeli özet fonksiyonları esasen birçok uygulamanın kritik temel yapı taşlarını oluşturur Bu tip özet fonksiyonlarının ilk uygulaması dijital imza olarak bilinir. Dijital imza çok sayıda e-ticaret protokolleri de dâhil olmak üzere birçok şifreleme uygulamasının temel taşı olarak kullanılmıştır. Bitcoin oluşumu ve benzeri şeylerde de kullanıldı. Şifrelemeli özet fonksiyonları mesaj kimlik denetimi protokollerinde adi rastgele sayı oluşturmada ve şifre güvenliğinde ve hatta bir dereceye kadar şifrelemede kullanıldı. Bu fonksiyonlar dijital imzaların yanı sıra Bitcoin protokolünde başka yerlerde de kullanıldılar Öncelikle şifrelemeli özet fonksiyonunun ne olduğundan bahsedeyim Tabi ki bu bir özet fonksiyonu bunu söylerken ifade etmek istediğim bir girdi gerektirdiği. Matematiksel bir fonksiyon, bir dönüştürücüdür Her bir girdiyi alır ki biz bu girdileri “mesaj” olarak isimlendiriyoruz Mesaj gelişi güzel uzunlukta olabilir. Şifrelemeli özet fonksiyonu bu mesajdan tek bir çıktı elde edebilmek için Bir veya birkaç matematiksel dönüştürücü uygular. Genelde bu çıktıya Digest (daycest) yani özet denilmekle beraber bazen biçim, öz ya da parmak izi olarak da adlandırılabildiğini de görebilirsiniz Örneğin MD5 şifreleme özet fonksiyonları “Mesaj Özeti 5” i ifade eder. MD4 ise “Mesaj Özeti 4” tür v.s, v.s. Biraz önce detaylandırdığım mesajın ebadı gelişi güzeldir İstediğiniz kadar uzun ya da kısa olabilir Ama özetin standart bir büyüklüğü olacaktır. Mesela, SHA-256 şifrelemeli özetleme fonksiyonunda özet tam olarak 256 bit ebadında olacaktır. Dolayısıyla gelişi güzel ebatta bir girdi ve sınırlandırılmış ebatta bir çıktı olacaktır Burada belirtmek istediğim bir başka nokta ise bu şifrelemeli özet fonksiyonlarının belirlenimci fonksiyonlar olduğudur. Yani her bir girdinin sabit bir çıktısı olacaktır Burada söylemek istediğim, verilmiş bir girdi için kesinlikle daima aynı çıktı elde edilecektir Verilmiş bir girdiden asla iki fark sonuç elde edilmesi mümkün değildir. Sonuç daima tutarlı olacaktır Geleneksel şifrelemeli özet fonksiyonları uzun süredir bilgisayar biliminde kullanılmaktadır Birçok bilgi işlem uygulamalarında da kullanıldılar Örneğin özetleme tablos, anahtarlı tablo oluşturmak için kullanılan özet fonksiyonu diye bir şey duymuş olabilirsiniz. Bunu özellikle vurgulamak istiyorum; anahtarlı tablolar oluşturmak için kullanılan özetleme fonksiyonları kesinlikle şifrelemeli özet fonksiyonları ile aynı değildir. Burada şifrelemeli nitelemesi çok ama çok önemlidir Ve genelde kritik tasarlanmış hedeflerden oluşan belirli bir seriye sahip olmalıdır Muhtemelen güvenliğin veya gizliliğin ya da mahremiyetin veya kimlik doğrulamanın çok önemli olduğu şifrelemeli uygulamalarda kullanılabilmesi için belki de bazı özel niteliklere sahip olmalıdır Şifrelemeli özet fonksiyonundan beklenilen belki de en önemli özellik bilişimsel açıdan verimli olmasıdır Demek istediğim verilen bir girdinin çıktısının hesaplanması çok uzun sürmemelidir. Şayet bir mesaj verilmişse, bu mesajın özeti için uygulanacak dönüşümler silsilesinin bunu gerçekleştirmesi çok zaman almamalıdır Bir bilgisayarda bu işlem çok daha hızlı olmalıdır. Aslında söylemeye bile gerek yok gibi görünse de bu noktayı bu kadar vurgulamamın sebebi bazen birilerinin korkunç derecede verimsiz özetleme fonksiyonlarıyla karşıma çıkmasıdır Ve Şifrelemeli uygulamalarda kullanılan tipik şifrelemeli özet fonksiyonları kavramı söz konusu olduğunda bunlar uygun görülmeyecektir. Özellikle dijital imza kavramında gereksinim duyacağınız ikinci özellik ise ki, aynı çıktı ile eşleşen 2 ayrı girdi bulmanız çok zordur Yani 2 ayrı girdiye ilişkin özetin birebir aynı olması durumundan bahsediyorum Bu özellik çarpışmaya direnme özelliğidir. Çarpışan bir çift girdiye denk gelmek gerçekten zordur. Başka bir ifadeyle, 2 girdi söz konusuysa, diyelim ki elimizde iki mesaj var M1 ve M2 Bir özet fonksiyonu uygulaması sonucunda bunların çıktısı aynı olmamalıdır. Bir özetleme fonksiyonu uygulamasında M1 ve M2 nin çıktısı asla aynı olamaz Demek ki daima farklı olmalıdır Şimdi bir adım geri gidelim Uygulamada verilmiş bu mesajlar gelişi güzel ebatlarda olabilir. Ve çıktının da sabitlenmiş ebatta olacağı verilmiştir Matematiksel olarak iki ayrı mesajın çıktılarının her zaman farklı olacağını garanti edemeyiz Fakat tipik istek, çıktının illa farklı olması değil Aynı sonucu doğurabilecek iki ayrı mesajın bulunmasının zorluğudur. Bunların var olduklarını biliyoruz Mesajların ebatları ne olursa olsun daha ufak olarak sınırlandırılmış şekilde özetleneceği gerçeğine dayanarak düşünüyoruz. Yani, bir özetleme fonksiyonu uygulamasına tabi olan iki ayrı mesajın aynı çıktı ile sonuçlanması gerçekten çok zor. Böyle bir şeyin olabilmesi uzun zaman gerektiriyor ki uzun derken astronomik derecede uzun bir süreçten bahsediyorum. İstenen üçüncü özellik ise özet fonksiyonunun girdiler hakkındaki her türlü bilgiyi saklayabilmesidir Başka bir değişle, girdi ile ilgili her hangi bir işe yarar bilginin, detayın toplanabilmesi çok zor olmalıdır. Burada girdinin tamamından söz etmiyorum. Çıktıdan yola çıkılarak girdinin değerinin çift ya da tek sayı olup olmadığına dahi ulaşmak çok zor olmalıdır. Girdinin tek ya da çift sayı olması kadar basit bir sonuç bile çıkarılamamalıdır. Üzerinde durmak istediğim dördüncü özellik ise çıktının iyi dağıtımlı olmasıdır. Diğer bir değişle rastgele oluşmuş gibi görünmelidir. Yani çıktıya nasıl ulaşıldığının tahmin edilemeyeceği, sanki birkaç yazı tura atışıyla oluşturulduğu hissini vermelidir O kadar rastgele oluşmuş görünmelidir.. Bu şifrelemeli özetleme fonksiyonlarını belki bir kıyma makinesinin matematiksel karşılığı gibi düşünebilirsiniz. Bu girdileri alıp bu matematiksel dönüştürücüleri uygulayarak sonuçta tamamen rastgele oluşmuş ve de orijinal girdi ile hiçbir alakası olmayan bir çıktı veriyor. Şimdi, özellikler birkaç söz etmek istiyorum. Öncelikle hepsinin bir biriyle ilgisi var Şayet çıktılarınız gerçekten girdi ile hiçbir bağlantısı yokmuş gibi ve tamamen rastgele oluşturulmuş gibi görünüyorsa zaten bu size büyük oranda çarpışma direnci olduğunu verir. Çıktının tahmin edilemez olması ve tüm bilgileri gizleme durumu iki farklı girdinin aynı çıktı ile eşlem olma ihtimalinin çok zor olduğunu ifade eder Bazen bir özellik diğerlerinin yerini alabilir Bu özellikler pratikte hatta belki de temel matematikte sizin umduğunuz şeylerdir. Ama her zaman olacaklarını garanti edemezsiniz. Bir ihtimal ki bu her şekilde olabilir, tamamen çarpışma dirençli bir özet fonksiyonu tasarladığınızı düşünebilirsiniz. Fakat bir yıl sonra birisi çarpışmayı çok daha zekice bir şekilde tasfiye edebilecek bir fikirle ortaya çıkabilir. Belki de deneme yanılma araştırması içermeyen zeki bir kısa yol keşfetmişlerdir. Bu şifrecilerin bazı sınırlamalar civarında çalışabilmek için belirli teknikler geliştirmediklerini gösterir Biz de bunların ne kadar zamandır kullanıldıklarına dayanarak güvenilir projeler olduklarını düşünür ve itibari değer olarak alırız Son olarak değinmek istediğim şey bahsettiğim bu muamele hayal edilebilecek bir matematiksel kesinliği amaçlamamaktadır Bu özellikler çok daha hassas şekillerde tanımlanabilir Umarım bu videoda şifrelemeli özet fonksiyonlarını ifade etmek için gerekli olan matematiğin önemsiz ayrıntılarına ve formalitelerine gömülmeden kafanızda bir fikir oluşturabilmiştir. Bir sonraki videoda görüşmek dileğiyle hoşça kalın