二维表的高效实现实现及表格中数据的交换
最近做一个基于转换表的混沌加密算法。需要用到转换表。
转换表可以写作int a[256][2] \\256行,每行2个元素,第一个元素是明文,第二个是密文,每一行明文对应相应行的密文
密文在每次加密发送之后,为了下一轮加密的安全,会互相交换256个密文中N个密文的位置,具体算法为,(设V为两个交换密文之间的间隔,上次加密密文行数为C)
C swap C+V mod N ;
C+V+1 swap C+2V+1 mod N;
...
C+(N-1)V+N-1 swap C+N*V+N-1;
现在大体的方法是由明文利用二分查找或者别的方法确定是哪一行,然后由行号确定密文,然后密文交换顺序可以先设置一个tmp变量,tmp = C ; C + V = tmp ; C = C+V ;(以上C+V代表C+V行的密文)
这个算法是要在嵌入式上实现的,不知道转换表这样实现,效率如何。
有没大侠弄个更高效的转换表实现算法。
[解决办法]
效率还可以