有关异或加密:

2025-01-04 02:36:52
推荐回答(2个)
回答1:

楼主你好,这个是可以的,下面是证明的过程:(说明 由于取反不好写,我用!R0表示对R0的取反)
R2=R0*!R1+!R0*R1
R4=R2*!R3+!R2*R3
=>R0=(R0*!R1+!R0*R1)*!R3+!(R0*!R1+!R0*R1)*R3
=R0*!R1*!R3+R0*R1*R3+!R0*R1*!R3+!R0*!R1*R3
将上面的式子变换就是将R0移过来去,则变为
-R0*R1*!R3-R0*!R1*R3+!R0*R1*!R3+!R0*!R1*R3=0
得到
(!R0-R0)R1*!R3+(!R0-R0)!R1*R3=0
=>(!R0-R0)(R1*!R3+!R1*R3)=0
因为(!R0-R0)不为0
(R1*!R3+!R1*R3)就是R1异或R3=0 就是说R1=R3

回答2:

异或的特点是原始值经过两次异或某一个数后会变成原来的值,所以有时利用这个特性来进行加密,加密端把数据与一个密钥进行异或操作,生成密文。接收方收到密文后利用加密方提供的密钥进行再次异或操作就能得到明文。loop是汇编语言中的循环指令。它对cx进行减1,如果不为0则跳到循环首部继续执行循环体。如果为0,执行loop的下一条指令。