所有提交的电磁系统将被重定向到在线手稿提交系统。作者请直接提交文章在线手稿提交系统各自的杂志。

Implentation小说和安全加密算法

Sarabjit考尔1Ajay Kumar阿加瓦尔2
  1. 印度拉贾斯坦邦的Singhania大学研究学者
  2. 科技大学副教授,U.P.、印度
相关文章Pubmed,谷歌学者

访问更多的相关文章国际期刊的创新在计算机和通信工程的研究

文摘

介绍一种新的加密算法即FPSKEA(算法)这是一个共享密钥分组密码,块大小为128位。设计它是为了满足和超过要求的标准共享密钥加密在未来几十年。FPSKEA背后的主题设计是得到最好的安全/性能权衡利用目前最强大的工具和技术来设计块密码。因此,FPSKEA提供了一个非常高水平的安全,结合更好的性能比其他现有的密码。

我的介绍。

密码学的艺术和科学是将信息以使它安全从意想不到的接受者或使用。加密技术的两个基本构建块用于块密码替换和换位。替代技术的明文字母替换为其他字母但是在换位技术,洗牌的比特被执行时,通过应用一些排列。世界范围内加密标准,如DES(数据加密标准)、AES(高级加密标准)和ee(契约里的加密标准),其中一些仍然广泛用于解决沟通的问题在一个不安全的通道。但是,与今天的先进技术他们似乎不像一个想安全、快速。在本文中,我们提出了对称加密技术比传统的基于Feistel密码计划有两大优点。首先,加密和解密过程更简单,因此更快。第二,安全级别高是由于固有的自然poly-alphabetic替换映射方法中使用的加密过程和转置操作执行后一级密文的一代。

二世。文献综述

1997年国家标准与技术研究所宣布竞争算法的(DES)[1]替换并举行公开会议讨论的标准提出了高级加密标准(AES) [6]。1999年NIST宣布五个决赛:火星[12],将[13],Rijndael [14], Twofish蛇[15],[16]。火星把128位的输入块分为4个32位字。火星使用32-round失衡Feistel网络:在每一轮一个数据字和一些关键字修改剩余的数据的话。将,20-round Feistel RSA密码的安全公司,要简单得多。Pre-whitening ?和Post美白?步骤被用来增加算法的强度,美白是一个简单的主意Xor材料的输入或输出材料的关键。Twofish 16 -轮Feistel网络有两个修改。一个是比特旋转之前和之后的数据进入圆的函数。 The other alteration is dynamic S-boxes. In serpent ,there are 32 rounds—a high number—each of which consists of XORing the key and the intermediate data, a pass through Sboxes, and a linear function that combines fixed rotations and XOR. Bruce Scheneir[17] proposed a fast and unpatented block cipher available freely to people for public use. Blowfish[18] is a secret-key block cipher, is a Feistel network, iterating a simple encryption function 16 times. The block size is 64 bits, and the key can be any length up to 448 bits. Although there is a complex initialization phase required before any encryption can take place, the actual encryption of data is very efficient on large microprocessors.

三世。算法

FPSKEA是一个块密码,需要输入的128位的明文块产生128位和128位的关键的密文块。它是一个基于多个应用程序的产品密码substitution-permutation因此是一个基于SP-network密码组合。它的基本结构是解释如下图所示。
以上架构清晰地显示了加密和解密过程用于将明文转换为从密文密文和明文分别。在加密过程中,鉴于明文消息分为16个字符块(相当于128位),那么每个块128位通过替换映射部分,它将给定的明文块(128位)转换成一级密码文本块(128位),使用128位的关键。这一级密文块送入换位部分,第一级密文块转换成最终的使用四子密钥来自原始密钥密文块中使用这种换位部分结合置换操作。如果? n的块的数量在一个给定的消息,上面写程序是重复? n”的次数将完整的明文消息转换成密文信息。
的反向过程解密密文块转换为明文块也显示在图5.1。在解密过程中,密文块(128位)是通过Detransposition部分首先,将它转换成水平一个密文块通过使用四子键来源于原始键(128位)和通过应用反向排列操作。这一级密码文本块然后通过逆映射部分,产生原始明文块,通过使用和反向替换操作的关键。

加密过程

加密方法包括三个简单的步骤
1)矩阵使用密钥和初始化
2)替换映射使用天地盒(矩阵)和
3)换位操作使用数组和资料库。

IMPLEMENTAION算法

STEP.1初始矩阵结构
一个矩阵九十五16行和列定义。列矩阵的每一行充满了ASCII编码的字符从空白(ASCII = 32) 0到列(ASCII = 126)九十四年列代表的元素矩阵。
代码1初始化过程。
因为我= 0 to15
j = 0到94
M[我][j] = + 32
EndFor
Code.1:初始化矩阵M的明文字符的ASCII代码
一个16字符(128位)密钥K与关键人物K通过K[15][0]是用于加密和解密。第i行矩阵给出一个初始的圆形转变,许多倍的数量等于ASCII代码(i + 1) th关键字符转移矩阵m的内容,因为我= 0到14岁。例如如果k[1]是什么?“ASII值为97的矩阵的行0 M应该对循环移位的97倍。
Code2。循环移位操作应用于M矩阵的行。
我= 0到14
n = ASCII (k (i + 1))
m = 0到n
j = 94 0
M M[我][j + 1] =[我][j]
EndFor
EndFor
n = ASCII (k [0])
= 0到n形式
j = 94 0
M [15] [j + 1] = M [15] [j]
EndFor
M M [15] [0] = [15] [95]
EndFor
这些正确的循环操作使矩阵的内容的安排只有消息的发送方和接收方知道而不是敌人的关键是未知的。
进一步给出了矩阵的i行右二循环转变尽可能多的次数等于ASCII (K(我)转移矩阵M的内容,因为我= 0到15。例如,行0 M是正确的循环将尽可能多的次数等于的ASCII值K [0]。矩阵的第一行M是给出一个正确的循环移位尽可能多的次数等于关键字符的ASCII值K[1]等等。
代码3秒循环移位操作应用于矩阵M的行。
因为我= 0到15
n = ASCII (K[我])
m = 0到n
j = 94 0
M M[我][j + 1] =[我][j]
EndFor
M[我][0]= M[我][95]
EndFor
EndFor
这些转移操作确保没有对手将无法找到一个引用从他/她可以开始工作提取密钥,即使他/她能够获得一个纯文本消息和相应的密文信息。这些循环右移操作的行矩阵M只做一次,在一个加密的开始部分。
替换映射过程
代码4显示了映射过程中使用纯文本字符块转化为一级密文字符块。给定消息如果分为16块纯文本字符。字符p[我]是,如果计算j =纯文本字符的ASCII代码p[我]- 32。这个数字j,用作矩阵的列数m .使用j列号我们继续发现矩阵的元素i行。这个元素是作为一级密文字符cL1[我]对于一个给定的纯文本字符p[我]。例如,对于纯文本字符P[0]在一块我= 0,j =纯文本字符的ASCII代码P[0] - 32用作矩阵的列数行0 M获得一级密文字符对应P [0]。通过这种方式,所有的16块纯文本字符被映射到16使密文字符用cL[我],我= 0到15。
纯文本字符的代码4映射块使密文字符。
因为我= 0到15
J = ASCII (p[我]- 32)
cL1[我]= M[我][j]
EndFor
步骤2。换位
使有效的密文字符cL1[我]在一块16生产使用矩阵M进一步转置使用数组的元素循环左移和右使用资料库来自密钥。这个操作使输出结果密文字符很难由任何对手没有密钥解密。
查寻代
四个资料库ks1 ks2 ks3和ks4生成使用密钥K这样的角色:
Ks1 = (ASCII编码的字符和k的国防部13)+ 1
1 < = ks1 < = 13
Ks2 = (ASCII编码的字符和k的国防部5)+ 1
1 < = ks2 < = 5
Ks3 = (ASCII编码的字符和k的国防部6)+ 1
1 < = ks3 < = 6
Ks4 = (ASCII编码的字符和k的国防部14)+ 1
1 < = ks4 < = 14
代码5查寻生成过程
n = o
因为我= 0到15
n = n + ASCII (K[我])
EndFor
ks1 = (n % 13) + 1
ks2 = (n % 5) + 1
ks3 = (n % 6) + 1
ks4 = (n % 14) + 1
步骤3。换位的一级密文字符数组。
一级密文字符的字符块(CL1(0)通过CL1(15)转移到一个16个元素数组A1。数组A1是正确的循环将尽可能多的次数等于Ks1的整数值。这个操作之后,前八的元素A1(左大多数元素)转移到另一个数组A2拥有8个元素位置。然后,A2是正确的循环将尽可能多的次数等于Ks2的整数值。其他八个元素的数组A1(最右边的元素)转移到另一个8元素数组A3是左圆了尽可能多的次数等于Ks3的整数值。然后A2和A3是连接转移到16个元素数组A4。这16个元素数组,A4。是正确的循环将尽可能多的次数等于Ks4的整数值。
换位操作上执行一级密文字符
一级密码文本块转移到数组,
因为我= 0到15
A1[我]= CL1[我]
EndFor
正确的循环移位一级密码textblock数组A1使用查寻ks1
ks1 n = 0
因为我= 15 - 0
A1 (i + 1) = A1(我)
EndFor
A1 A1 [0] = [16]
EndFor
一半的数组A1转移到数组A2和正确使用循环转变查寻ks2
因为我= 0到7
A2 A1[我]=[我]
EndFor
Ks2 n = 0
因为我= 7 - 0
A2 (i + 1) = A2(我)
EndFor
A2 [0] = A2 [8]
EndFor
转移另一半A1数组的数组A3,圆形转变使用查寻ks3。
因为我= 0到7
A3[我]= A1 (i + 8)
EndFor
Ks3 n = 0
A3 [8] = A3 [0]
因为我= 0到7
A3[我]= A3 (i + 1)
EndFor
EndFor
连接A2 andA3 A4和转让
因为我= 0到7
A4[我]= A2(我)
EndFor
我= o 7
A4 (i + 8) = A3(我)
EndFor
对圆形转变一级密码文本块数组A4使用查寻ks4
ks4 n = 0
因为我= 15 - 0
A4 (i + 1) = A4(我)
EndFor
A4 [0] = A4 [16]
EndFor
一级密文字符的代码。6,换位在一块使用数组
这个操作之后,A4represent密文字符的内容在一个给定的块。数组的元素A4搬到密文块C(0)通过C (15)。转移操作代码所示。7所示。密文块用于创建输出密文信息文件。
因为我= 0到15
[我]C[我]= A4
EndFor
Code.7:转置一级密文字符转移到密文块。
解密过程。
加密的加密算法执行相反的操作,P = D (K、C)。它是在三个步骤中完成。这里,密文字符C (i),在16块使用数组和马t r我处理。加密算法,生成符合的密钥一样的加密算法。
步骤1。最初的矩阵结构。
一个相同的矩阵M,用于将明文字符映射到一级密文字符,用来做逆映射的一级密文字符在解密成明文字符。解密网站,这个矩阵是使用密钥创建的K一样的加密。
步骤2。De-transposition密文字符使用数组。
参考代码。8展示de-transposing操作进行密文字符使用循环转变:ied opposi te的基于“增大化现实”技术的射线方向。de-transposing操作转换为C[我]CL1[我]。
/ /传输密文块数组A4
我= 15
A4[我]= C[我]
EndFor
/ /左循环转变一级密码文本块数组A4使用查寻ks4
Ks4 n = 0
A4 [16] = A4 [0]
因为我= 0到15
A4[我]= A4 (i + 1)
EndFor
EndFor
/ /数组的一半A4转移到数组A2和左循环转变使用查寻ks2
因为我= 0到7
A2[我]= A4(我)
Endfor
ks2 n = 0
A2 [8] = A2 [0]
EndFor
因为我= 0到7
A2[我]= A2 (i + 1)
EndFor
/ /传递数组A4的另一半数组A3和右循环转变使用查寻ks3
因为我= 0到7
A3[我]= A4 (i + 8)
EndFor
ks3 n = 0
因为我= 7 - 0
A3 (i + 1) = A3(我)
EndFor
A3 [0] = A3 [8]
EndFor
/ /连接A2and A3我到A1
因为我= 0到7
A1[我]= A2(我)
EndFor
因为我= 0到7
1 (i + 8) = A3(我)
EndFor
/ /左循环转变一级密码文本块数组A1使用查寻ks1
Ks1 n = 0
A1 A1 [16] = [0]
因为我= 0到15
A1[我]= A1 (i + 1)
EndFor
EndFor
/ /移动de-transposed密文字符块一级密码文本块使用数组
因为我= 0到15
CL1[我]= A4(我)
EndFor
Code8: De-transposition密文字符在一块使用
密文字符,通过c [15] c[0],在文本块转移到16个元素数组A4。这个数组左循环移位尽可能多的次数等于tio关键Ks4的整数值。此操作前八后转移到另一个数组中的元素A2拥有八个元素然后这个数组左循环移位尽可能多的次数等于关键Ks2的整数值。其他八个元素的数组A1转移到数组A3就圆了尽可能多的次数等于关键Ks3那么A2和A3数组的内容连接到数组A1自己拥有16个元素数组A1左循环移位尽可能多的次数等于关键Ks1的整数值。
这个操作数组的内容后A1correspondas总公司一级密文字符块对应的映射操作完成后获得的一个加密使用矩阵。
步骤3。使用矩阵逆映射
如果cL1[我]是总公司一级密文字符块,逆映射,完成P[我]= char((列号j i行矩阵M, cL1[我]元素)+ 32)。例如,我们第一级密文字符,Cl1[1],在一块? #”,继续搜索#发现列的矩阵M。j在第一行cL1 [1] = [1] [j]。然后我们确定字符的ASCII = (j + 32)赋予相对应的明文字符P [1] cl1 [1]。这样我们可以逆密文字符每一块映射到回到原始消息明文字符文件。
Code9。逆映射的一级密文字符到明文字符使用矩阵M。
因为我= 0到15
J = 0
虽然cL1[我]不等于M[我][j]
J = + 1
EndWhile
是谁的ASII P[我]=字符(j + 32)
EndFor

四。结论

拟议中的对称加密技术有两个最重要的优势传统方案基于Feistel密码。首先,加密和解密过程更简单,因此更快。第二,安全级别高是由于固有的自然poly-alphabetic替换映射方法中使用的加密过程和转置操作执行后一级密文的一代。

数据乍一看

图1
图1

引用