Bir çarpma ve modül yöntemi kullanarak iki sayıyı kaotik bir şekilde çevreleyen basit bir rastgele jeneratör tasarladım. Bunun için harika çalışıyor.
Bir şifre üreticisi olarak kullanacak olsaydım, saldırganın hesaplamayı etkili bir şekilde bir dizi rastgele sayının tohumunu tersine çevirebileceği göz önüne alındığında, bilinen bir düz metin saldırısına karşı savunmasız olurdu.
Şifrenin kırıldığını kanıtlamak için , mümkün olduğunca az güç, CPU zamanı vb. Kullanarak [0; 255] aralığında bir satırda 7 sıfır üreten yasal bir tohum değeri çifti bulun.
JavaScript ile yazılmış rasgele oluşturucu:
function seed(state1,state2){
//Constants
var mod1=4294967087
var mul1=65539
var mod2=4294965887
var mul2=65537
function random(limit){
//Cycle each state variable 1 step
state1=(state1*mul1)%mod1
state2=(state2*mul2)%mod2
//Return a random variable
return (state1+state2)%limit
}
//Return the random function
return random
}
//Initiate the random generator using 2 integer values,
//they must be in the ranges [1;4294967086] and [1;4294965886]
random=seed(31337,42)
//Write 7 random values in the range [0;255] to screen
for(a=0;a<7;a++){
document.write(random(256)+"<br>")
}
Aday sayı çiftlerini test etmek için bir araç yaptım, burada bulunabilir .
Önümüzdeki 3 gün boyunca, hiçbir spoyler izin verilmez , bir cevap sadece bir sayı kümesi içermelidir ve elbette önceki çözücüler tarafından gönderilenlerden farklı bir set olmalıdır. Daha sonra kod yazmanız ve yaklaşımınızı açıklamanız teşvik edilir.
Düzenleme, karantina bitti:
Cevaplar, çözme yöntemini belgelemek için hem benzersiz bir sayı kümesi hem de açıklama ve kod içermelidir.
En zarif çözüm kazanır.
Kayıt için:
Hızlı bir şekilde çözüm bulabilen bir program yazmak zariftir.
Bir GPU'nun özelliklerini daha hızlı yapmak için verimli bir şekilde kullanan bir program yapmak zariftir.
Bir işi "müze" parçası üzerinde yapmak zariftir.
Sadece kalem ve kağıt kullanarak uygulanabilir bir çözüm yöntemi bulmak çok zariftir.
Çözümünüzü öğretici ve kolay anlaşılır bir şekilde açıklamak zariftir.
Birden çok veya çok pahalı bilgisayarlar kullanmak yetersizdir.