Hafıza zor işlevi - Memory-hard function
Gelen kriptografi , bir bellek sabit fonksiyon (TKF) önemli miktarda maliyeti bir fonksiyonu olan bellek değerlendirmek. Belleğe bağlı bir işlevden farklıdır ; ikincisi, bellek gecikmesi yoluyla hesaplamayı yavaşlatarak maliyete neden olur. MHF'ler kullanımlarını bir çalışma kanıtı olarak bulurlar .
Hafıza zor ölçü
Bir fonksiyonun hafıza sertliğini ölçmenin farklı yolları vardır. Yaygın olarak görülen bir ölçü, Kümülatif Bellek Karmaşıklığıdır (CMC). Paralel bir modelde CMC, her adımdaki tüm girdileri toplayarak bellek sertliğini ölçer.
Uygulanabilir başka bir önlem, hafızayı fiziksel zamana karşı bütünleştirmektir.
Yine bir başka ölçü, bir bellek veri yolundaki bellek bant genişliği tüketimidir. Bu işlevler kategorisine ayrıca "bant genişliği zor işlevler" adı verilir.
Motivasyon
MHF'lerin CPU döngüleri yerine çok fazla belleğe mal olmasının bir nedeni var. Bitcoin , işin kanıtı olarak SHA-2 işlevinin tekrarlanan değerlendirmesini kullandı , ancak modern genel amaçlı işlemcilerin, yani kullanıma hazır CPU'ların , sabit bir işlevi defalarca hesaplama görevi verildiğinde çok verimsiz olduğu ortaya çıktı. Madenciler uygulamaya özel entegre devreleri (ASIC'ler) benimsedi ve 10 ^ 16 hızlanma elde etti. Bitcoin'in iyi olduğu şey için bu iyi olsa da, daha "eşitlikçi" bir sertlik ölçüsü istiyoruz. Diğer bir deyişle, ASIC'lerine sahip olsalar bile herkesin işlevi hesaplamada eşit derecede verimsiz olmasını istiyoruz. Çünkü eğer bazı insanlar işlevi verimli bir şekilde değerlendirebilir ve bazıları yapamazsa, o zaman işlevi kısa yoldan alanlar için nispeten zor hale getirmek için, normal bir kullanıcı için işlevi çok zor hale getireceğiz. Herkes verimsizse, herkes orta derecede zor bir işlevi değerlendirebilir.
Zamanla, bellek maliyetinin pano genelinde oldukça eşit kaldığı kabul edilmiştir. Dolayısıyla MHF.
Varyantlar
MHF'ler, değerlendirme modellerine bağlı olarak iki gruba ayrılabilir: veriye bağlı (dMHF) ve veriden bağımsız (iMHF). dMHF'ler, bazen daha sonraki hesaplamalar için hala hangi bilgi parçalarına ihtiyaç duyacağınızı bilmediğiniz şeylerdir ve iMHF'ler, böyle bir belirsizlik olmayanlardır. DMHF'lerin örnekleri scrypt ve Argon2d'dir . İMHFs örnekleri Argon2i ve Catena . Bu MHF'lerin çoğu, tam olarak bellek sertliklerinden dolayı parola bozma işlevi olarak kullanılmak üzere geliştirilmiştir .
dMHF'lerin, önbellek zamanlaması gibi yan kanal saldırılarına eğilimli olmaları gibi göze çarpan bir sorunu vardır . İnsanlar bu nedenle, özellikle şifre karma işlemi için iMHF'lere yönelirler. Bununla birlikte, iMHF'lerin dMHF'lerden daha zayıf bellek sertliği özelliklerine sahip olduğu matematiksel olarak kanıtlanmıştır.
İnşaat
derinliğe dayanıklı grafik
Paralel rastgele oracle modelindeki (pROM) iMHF'ler için, kümülatif çakıllaşma karmaşıklığının bir grafiğin derinlik sağlamlığıyla daha düşük ve üst sınırlarda olduğu bilinen bir gerçektir.