Saya telah merancang generator acak sederhana yang siklus dua angka dalam cara yang kacau menggunakan metode multiply dan modulus. Ini sangat bagus untuk itu.
Namun, jika saya menggunakannya sebagai generator sandi, ia akan rentan terhadap serangan plaintext yang diketahui, mengingat bahwa seorang penyerang dapat merekayasa balik benih dari serangkaian angka acak dengan cara yang efisien secara komputasi.
Untuk membuktikan cipher broken, temukan pasangan nilai seed legal yang menghasilkan 7 nol berturut-turut dalam rentang [0; 255], menggunakan daya sesedikit mungkin, waktu CPU, dll. Sebanyak mungkin.
Berikut adalah generator acak yang ditulis dalam JavaScript:
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>")
}
Saya telah membuat alat untuk menguji pasangan nomor kandidat, dapat ditemukan di sini .
Selama 3 hari berikutnya, spoiler tidak diperbolehkan , jawaban harus berisi hanya satu set angka, dan tentu saja set yang berbeda dari yang diposting oleh pemecah sebelumnya. Setelah itu Anda didorong untuk mengirim kode dan menjelaskan pendekatan Anda.
Edit, karantina selesai:
Jawaban harus berisi serangkaian angka dan penjelasan serta kode unik untuk mendokumentasikan metode penyelesaiannya.
Sebagian besar solusi elegan menang.
Sebagai catatan:
Menulis sebuah program yang dapat menemukan solusi dengan cepat itu elegan.
Membuat program yang memanfaatkan fitur-fitur GPU secara efisien untuk melakukannya lebih cepat adalah elegan.
Melakukan pekerjaan dengan sepotong "museumware" itu elegan.
Menemukan metode solusi yang layak dapat digunakan hanya dengan pena dan kertas sangat elegan.
Menjelaskan solusi Anda dengan cara yang instruktif dan mudah dimengerti adalah elegan.
Menggunakan banyak komputer atau sangat mahal tidak bagus.