简单加密算法

时间:2013-04-25 15:46:28

标签: algorithm encryption

我正在开发一个电梯项目,只是为了好玩,它实际上是硬件。但我认为这更像是一个软件问题。我不需要有这个功能,事实上它是完全多余的,但我很好奇,所以我还是添加它,所以我可以学习:P

我有一个8位地址,8位数据总线和8位加密代码。 我有一个主设备和许多从设备。 主设备知道从设备的地址并知道加密代码。 奴隶知道他们的地址和加密代码。

我想要一个非常简单的算法:

主设备发送“y”,其中,y =功能(数据,加密代码) 从机接收“y”并可以通过data = function2(y,加密代码)

提取数据

我尝试过使用AND,XOR,OR等......以及它们的组合,但无法理解它。

我再次寻找简单的算法。如果你不介意的话,你可以给我一个更大的帮助,并解释一下我如何能够得到这样的解决方案/功能的理论。

非常感谢!

1 个答案:

答案 0 :(得分:18)

你可以使用XOR cipher这很简单:

E(x,key)=> y= x XOR key
D(y,key)=> x= y XOR key

非常简单!

您可以升级加密并使其成为密码块链接,这意味着您需要将数据D划分为块,例如块大小为B.你做的第一个块:

E(b0,key)=> y0= b0 XOR key

结果它将成为下一个块加密的关键:

E(b1,y0)=> y1= b0 XOR y0 .... E(bn,yn-1)=> yn= bn XOR yn-1

enter image description here

原始数据为D={b0,b1.....bn},加密数据现为E={y0,y1....yn} 解密加密数据,你需要做相反的方式!就这样!