Rya*_*yan 7 encryption algorithm
我正在做一个电梯项目只是为了好玩,它实际上是硬件.但我认为这更像是一个软件问题.我不需要有这个功能,实际上它是完全多余的,但我很好奇,所以我还是添加它,所以我可以学习:P
我有一个8位地址,8位数据总线和一个8位加密代码.我有一个主设备和许多从设备.主设备知道从设备的地址并知道加密代码.奴隶知道他们的地址和加密代码.
我想要一个非常简单的算法:
主设备发送"y",其中,y =功能(数据,加密代码)从设备接收"y"并可以通过data = function2(y,加密代码)提取数据
我试过玩AND,XOR,OR等......以及它们的组合,但是无法理解它.
我再次寻找简单的算法.如果你不介意的话,你可以帮我一个更大的帮助,并解释一下我如何能够找到这样的解决方案/功能的理论.
非常感谢!
One*_*rew 18
您可以使用XOR密码,它非常简单:
E(x,key)=> y= x XOR key
D(y,key)=> x= y XOR key
Run Code Online (Sandbox Code Playgroud)
非常简单!
您可以升级加密并使其成为密码块链接,这意味着您需要将数据D划分为块,例如,对于您执行的第一个块,请使用大小为B的块:
E(b0,key)=> y0= b0 XOR key
Run Code Online (Sandbox Code Playgroud)
结果它将成为下一个块加密的关键:
E(b1,y0)=> y1= b0 XOR y0 .... E(bn,yn-1)=> yn= bn XOR yn-1
Run Code Online (Sandbox Code Playgroud)
原始数据D={b0,b1.....bn}
和加密数据现在E={y0,y1....yn}
用来解密你需要做的相反方式的加密数据!就这样!