Xorshift Akışı
akis.bin, bir xorshift32 PRNG’sinden türetilen akış anahtarıyla XOR’lanmış. Üreteç (başlangıç tohumu seed = 0x1A2B3C4D):
````
x = seed
her adimda:
x ^= (x << 13) & 0xFFFFFFFF
x ^= (x >> 17)
x ^= (x << 5) & 0xFFFFFFFF
anahtar_byte = x & 0xFF # 32-bit state'in dusuk byte'i
cikti = duz_metin XOR anahtar_akisi
Aynı üreteci birebir yeniden kur, akış anahtarını üret ve dosyayla XOR’la. 32-bit maskelemeyi (& 0xFFFFFFFF) sol kaydırmalardan sonra unutma.
Challenge dosyaları
- akis.bin (0.0 KB)
Bu challenge ne öğretiyor?
- XOR, aynı anahtarla iki kez uygulandığında veriyi geri veren bit düzeyinde bir işlemdir.
- Algoritma challenge'ları veriyi elle değil programla işlemeni gerektirir.
- Tersine mühendislik challenge'ları bir programın mantığını okuyup tersine çevirmeyi öğretir.