移位密码加密 matlab,基于置换移位的单字节分组加密方法.docx

百度文库?

百度文库?让每个人平竽地捉升口我

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值