Jason A.Donenfeld, VPN WireGuard'ın yazarı bilinir kıldı birkaç gün önce yeni bir uygulama rastgele sayı üreteci RDRAND'den güncellendiLinux çekirdeğindeki /dev/random ve /dev/urandom aygıtlarından sorumludur.
Kasım ayının sonunda, Jason rastgele bir kontrolör bakıcısı olarak listelendi ve şimdi yeniden çalışmasının ilk sonuçlarını yayınladı.
Duyuruda, yeni uygulamanın dikkat çekici olduğu belirtildi. SHA2 yerine BLAKE1s karma işlevini kullanmaya geçiş Entropi karıştırma işlemleri için.
BLAKE2'lerin kendisi, dahili olarak aşağıdakilere dayalı olmanın güzel özelliğine sahiptir.
RNG'nin genişleme için halihazırda kullandığı ChaCha permütasyonu, yani
yenilik, özgünlük veya şaşırtıcı CPU ile ilgili herhangi bir sorun olmamalıdır
davranış, çünkü zaten kullanımda olan bir şeye dayanmaktadır.
Ayrıca, değişikliğin ayrıca sözde rasgele sayı üretecinin güvenliğini de geliştirdi zahmetli SHA1 algoritmasından kurtularak ve RNG başlatma vektörünün üzerine yazmaktan kaçınarak. BLAKE2s algoritması performansta SHA1'in önünde olduğundan, kullanımının sözde rasgele sayı üretecinin performansı üzerinde de olumlu bir etkisi oldu (Intel i7-11850H işlemcili bir sistem üzerinde yapılan testler, hızda %131'lik bir artış gösterdi). .
Öne çıkan bir diğer avantaj, entropi karışımının BLAKE2'ye aktarılmasıdır. kullanılan algoritmaların birleşimidir: BLAKE2, zaten rastgele dizileri çıkarmak için kullanılan ChaCha şifresinde kullanılır.
BLAKE2'ler genellikle daha hızlıdır ve kesinlikle daha güvenlidir, Gerçekten çok kırıldı. Yanında RNG'deki mevcut yapı, tam SHA1 işlevini kullanmaz, çünkü belirtir ve bir şekilde RDRAND çıktısı ile IV'ün üzerine yazmanıza izin verir belgelenmemiş, RDRAND "güvenilir" olarak yapılandırılmamış olsa bile, bu da olası kötü niyetli IV seçenekleri anlamına gelir.
Ve kısa uzunluğu anlamına gelir miksere geri beslenirken sadece yarım sır tutmak için bize sadece 2^80 bit iletme gizliliği verir. Başka bir deyişle, sadece karma işlevinin seçimi modası geçmiş, ancak kullanımı da gerçekten iyi değil.
Ayrıca, getrandom çağrısında kullanılan kripto güvenli CRNG sözde rastgele sayı üretecinde iyileştirmeler yapıldı.
Şundan da bahsediliyor: iyileştirmeler, aramayı RDRAND oluşturucuya sınırlamak için kaynar entropinin çıkarılmasında yavaş olan performansı 3,7 kat artırabilir. Jason, RDRAND'a yapılan çağrının Yalnızca CRNG'nin henüz tam olarak başlatılmadığı bir durumda anlamlıdır, ancak CRNG başlatma işlemi tamamlandıysa, değeri oluşturulan akışın kalitesini etkilemez ve bu durumda, çağrı yapmadan bunu yapmak mümkündür. RDRAND.
Bu uzlaşma, bu iki sorunu çözmeyi ve aynı zamanda genel yapı ve anlambilim orijinaline mümkün olduğunca yakın.
özellikle:a) IV hash'in üzerine RDRAND ile yazmak yerine, belgelenmiş BLAKE2 "tuz" ve "kişisel" alanları koyduk, bunlar bu tür bir kullanım için özel olarak yaratılmıştır.
b) Bu işlev, tam karmanın sonucunu entropi toplayıcı, yalnızca uzunluğunun yarısını döndürürüz hash, tıpkı daha önce yapıldığı gibi. Bu artırır 2 ^ 80'den avans sırrı oluşturun 2^128 çok daha rahat.
c) Sadece ham "sha1_transform" işlevini kullanmak yerine, bunun yerine tam ve uygun BLAKE2s işlevini tamamlama ile birlikte kullanıyoruz.
Değişikliklerin çekirdeğe eklenmesi planlanıyor 5.17 ve geliştiriciler Ted Ts'o (rastgele sürücünün ikinci koruyucusu), Greg Kroah-Hartman (Linux çekirdeğini kararlı tutmaktan sorumlu) ve Jean-Philippe Aumasson (BLAKE2 algoritmalarının /3'ün yazarı) tarafından zaten gözden geçirildi.
Son olarak, bu konuda daha fazla bilgi edinmek istiyorsanız, ayrıntılara şuradan bakabilirsiniz: aşağıdaki bağlantı.