Dies ist einfacher zu sehen, wenn Sie diesen Modulo mit 256 als bitweises UND mit 255 interpretieren, oder mit anderen Worten, nur die niedrigstwertigen 8 Bits behalten.
Offensichtlich bringt das XOR keine Information von den höheren Bits zu den unteren Bits (tatsächlich gibt es keine Bewegung in beide Richtungen), was auch immer "da oben" passiert, kann für die niedrigen Bits keinen Unterschied machen. Es hätte einen Unterschied machen können für die hohen Bits (die das XOR setzen könnte, und dann abhängig davon, ob das UND zuerst oder zweit passiert, diese Bits werden jeweils gesetzt oder zurückgesetzt), aber durch Annahme, dass dies hier nicht passieren kann.
algebraisch und verteilt über XOR, so
(a^b) & c =
& distributes over^
(a & c)^(b & c)
Und wir haben das b & c = b
weil c
255 und b
liegt zwischen 0 und 255, so
(a & c)^(b & c) =
by assumptions
(a & c)^b
dies nicht die in Beziehung steht Multiplikation, es könnte buchstäblich alles sein, ich habe gerade diesen Teil a
hier genannt.