百度文库?
百度文库?让每个人平竽地捉升口我
PAGE
PAGE #
基于置换移位的单宇节分组加密方法
为了减少无线传感器网络编码的冗余字节,提高基于Feistel结构的无线传感器网络分组的 安全性,提出了一种新的单字节分组密码加密方法。那么接下来我就给大家介绍一下这种加 密方法。
—■无线传感器网络Feistel结构分组加密算法
基于Feistel结构的WSN分组算法结构如图1所示。
图1 基于Eeistel结构的WSN分组加密结构
结构采用了置换和多轮的Feistel结构。输入的8bit明文分组首先被进行单字节位的置换变 换;然后被分成两个4bit的Ri、Li (其中i为Feistel加密的轮次.i=1.2,3,4,…,n), 再进行扌仑的Feistel结构加密r其中每轮的Feistel加密结构如图2所示。
Li-1Ri-J
图2
图2 单字节分组的Feistel结构
八比特分组的Feistel结构的处理过程表示为:
=厶T十丁 I = R-⑴
其中Ri、Ri-lx Li、Li-1. T都为4bit,走为密钥,f为加密函数。其中Feistel加密的最后
—轮不逬行高低半字节交换;最后再进行一次单字节的置换变换。
二置换操作
考察单字节的置换变化。从字节数据A变换到字节
考察单字节的置换变化。从字节数据A变换到字节B的置换变换,可以看做是A
的二
进制位的重新排列,例如r设字节A= ( abcdejgh ) T r B= ( dhefgcba ) T,其中a、b、
c、d、e、f、h、g都取0或1,变换前后A和B字节中位值为1和0的总数不变,T表示矩
阵转置操作。则这种变换可以表示为:
B = (dhefgcba)T =ro o o
B = (dhefgcba)T =
ro o o 1 o o000010000000001001000000
-1 0 0 0 0 0 0 0-
(abcdefgh)T = PA
具中T表示矩阵转置。可见通过变换矩阵P完成了从A到JEI的置换变换:
A->B(3)
观察矩阵P,可见有以下规律:
P是由1和0组成的矩阵,是由以下8个向呈al ~ a8构成的矩阵:
G1 = (1 0000 000)
fl2 = (0 1 0 00 0 00)
= (0 0 1 00 0 00)
a4 = (00 0 1 00 00),、
(4)
a5 = (0 0 00 1 0 00)
a6 = (0 00 00 1 00)
a7 = (0 000 0 0 1 0)
.a8 = (00 0 0 0 0 0 1)
P的秩为8 ,即:
rank(P) = 8(5)
(c ) P的n ( n为整数)次幕矩阵仍然是由1和0组成的矩阵,且以次幕矩阵的秩也为8 :
rank(P”)= 8(6)
(d) P的m(m为整数)次冨矩阵可以得到单位矩阵,即:
1 0 0 0 0 0 0 0-001000000000100000000010 0 0 0 0 0 0 0 L
m称为矩阵P的生成单位阵次数r E为单位阵。在上面的例子中m二&
还可以继续进行类似(2 )式的变换操作.例如:
C = (fagcbehd)
C = (fagcbehd) 1 =
(dhefgcba ) 1 = PB
C = (fagcbehciy = PB = PPA = P2A (9)
通过变换矩阵p2完成了从A到C的置换变换:
(10)
进而可以继续操作,即逬行变换:
(ID
百度文邮-让每个人平等地捉升口我
百度文邮-让每个人平等地捉升口我
PAGE
PAGE #
这样,如果将n (1-m )和P做为密钥,则得到一种单字节数据的编码方案。
三,移位操作
移位可以改变数据的位置,但数据的相邻关系不变。为保持移位后数据位的不损失,这里的 移位操作指循环移位,包括循环右移位和循坏左移位。
设:
A = (abcdefgh)1(12)
另设密钥为K,移位操作为S ( K ),其中S ( K )为0-1矩阵,移位后为B ,则:
B = S(K)A(13)
从字节:A变换到字节B的循环移位变换,可以看做是将A数据的二进制位重新排列r
从字节:
例如,设字节 A= ( abcdefgh ) T r B= ( defghabc ) T ,多乓中 a、b、c、ds e、f、g、h
都取0或1 ,变换前后A和B字节中位值为1和0的总数不变。则这种变换可以表示为:
■0 00 1 00 00"00000100
I
I
xT 0 000 00 1 0
B = (defghabc r =八八八八
0