บิตใดในเอาต์พุตได้รับอิทธิพลจากบิตใดของอินพุต คือ ถ้าผมเปลี่ยน เช่น พูดว่าบิตที่สองของอินพุต บิตใดของเอาต์พุตที่ได้รับอิทธิพลจากสิ่งนี้
เท่าที่ทราบ บิตเอาต์พุตทั้งหมดเป็นฟังก์ชันที่ซับซ้อนของบิตอินพุตทั้งหมด การพลิกบิตอินพุตใดๆ ก็ตาม (เช่น บิตที่สอง) อาจพลิกบิตเอาต์พุตใดๆ ก็ได้
สมมติว่าฉันมีเอาต์พุต 256 บิตแรกของฟังก์ชัน Keccak จากนั้น เนื่องจาก Keccak-f[1600] เป็น bijective จึงมีเพียง 1600-256 ภาพล่วงหน้าที่ยังสามารถแมปกับเอาต์พุตด้วย 256 บิตแรก "ถูกต้อง"
ที่จริงคุณคำนวณผิด มี $2^{1600-256}$ พรีอิมเมจ นั่นคือ:
383984923062992702193107238768305990575971314802788874095145673202075995393018055488645297669674812185833211621938100469973519720714697045576788566898683254440275883795786334484525778054071087861396060398229434719927672395650215231472663143090071728679350725089418264731278276442800414037787428461842409521168393903855600900323733353159466811689332335765898192891862061280747855198528180896166938113212416
พรีอิมเมจ มากกว่า 1600-256 = 1344 นิดหน่อย...