石头:2229 - 371 x
Manikandan。G* 1克里希。G2和Dr.N.Sairam3.
|
通讯作者:Manikandan。克,电子邮件:(电子邮件保护) |
有关文章载于Pubmed,谷歌学者 |
更多相关文章请访问全球计算机科学研究杂志
考虑到目前的情况,大多数为网络或网络或数据提供安全性的现有系统都很容易受到攻击,无论其复杂的算法设计如何,它们都会在某个时间点被有效的密码分析攻破。一般来说,今天的加密世界仅限于遵循任何单一的加密方案,对于单个文件的单一迭代也是如此。这在99%的加密-解密案例中是显而易见的。所以,A需求?强烈的,不可能被攻击的?技术变得至关重要。在本文中,我们提出了一种使用两种不同维度的算法进行加密和解密的软件工具,并提供了文件分割和合并机制的良好辅助。采用改进的Blowfish算法和RC4算法对数据进行加密和解密。我们的结果清楚地证明,我们的工具在性能和安全性方面都是一种更好的解决方案。
关键字 |
密码学,文件切片,改进河豚算法,RC4,安全 |
介绍 |
密码学是通过数据编码和转换技术来保护信息的研究和实践。有两种基于密钥的加密方案: |
1.对称密钥密码学:这是一种使用公共密钥对消息进行加密和解密的加密方案。 |
2.非对称或公钥加密:这种类型的加密方案使用两个密钥进行加密和解密,称为公钥和私钥。 |
我们采用了对称密钥加密方案,因此只需要一个密钥进行通信。因此,所选择的加密方案包括: |
1.明文:必须传达给接收者的原始信息。 |
2.加密:在发送端通过所需的加密算法使用密钥对数据进行加密。 |
3.传输:通过公共通信信道将密码信息传送给接收者。 |
4.解密:用密钥解密通过相同算法(反向加密)接收到的密文。 |
我们还可以根据对称密钥加密的操作将其分为两种类型: |
1.流密码:它是对称密钥加密密码家族下的一种分类,其中明文与由伪随机序列产生的随机密钥流结合在一起。在流密码中,明文数字一次加密一个 |
2.分组密码:它也是一种对称密钥密码,适用于固定大小的位,通常称为块。分组密码加密算法以n位的明文块作为输入,生成相应的n位的密文输出块。 |
我们选择分组密码作为我们的加密操作,因为它是在实践中实现私钥加密的主要工具。 |
文献综述 |
河豚算法 |
河豚是一个由16轮迭代功能设计组成的对称块。blowfish算法的块大小为64位,密钥的大小可以是任意长度,但最大范围是448位。河豚算法的强大之处在于它的子密钥生成和复杂的加密。河豚密码使用18个p盒和4个32位的替换盒。河豚遵循一种通过使用排列概念将一个函数转换为另一个函数的一般方法。河豚密码的工作原理如下所示,它将64位的区块分成两个相等的区块,每个区块的大小为32位。左块与第一个子数组P1进行xor,得到的结果被馈送给一个叫做F-function的函数。在f函数内部执行替换操作,从而将32位块转换为另一个32位块。因此,所产生的32位条目与右半部分进行xor,所获得的结果被交换为下一轮的左半部分。因此,在每一轮成功完成后,右半部分变成新的左半部分,反之亦然,Fiestal结构被跟踪到16轮。 The resultant left and right halves are not swapped but XORed with the seventeenth and eighteenth P-arrays. The Fiestal Structure of blowfish algorithm is shown in the Fig-2 |
此外,为了提高安全性和性能,对河豚的f函数进行了轻微的修改。 |
RC4算法 |
RC4是一种基于256字节内部状态和两个1字节索引I和j的可变密钥大小的流密码,由密钥调度算法和伪随机生成[9]两部分组成。键调度算法由以下步骤组成,为了生成一个键,我们应该在数组“S”中开始排列。密钥长度一般为1≤密钥长度≤256。初始化数组“S”,进行256次迭代,操作过程与PRGA[10]相同。伪随机生成算法(Pseudo random generation algorithm, PRGA)阶段,在每次迭代中,PRGA将i指向的S的值加到j,并将S[i]和S[j]的值交换,从而将S数组中的每个元素与数组中的另一个元素交换。这应该在每256次迭代中至少发生一次 |
提出了系统 |
该软件工具涉及密码加密和解密以及文件分割和合并机制。在这种方法中,有秘密数据的文件被分成两部分,然后进行加密阶段。为了获得更高的安全性,我们可以采用一种以上的加密方案,确保零怀疑和更高的安全性。本文通过提供分组密码- Blowfish算法和流密码- rc4算法来区分密码方案;只要在解密时提供正确的密钥,以避免错误的结果。特别是使用改进的Blowfish算法对数据进行加密和解密,在性能和安全性方面都将是一个更好的解决方案。这种安全性和性能的增强在我们之前的工作[2]中得到了持续的证明。 |
在文件连接阶段,通过不同的加密技术获得的加密文件被合并并作为一个文件传输到接收端,使文件不可被破坏,减少了对采用不同加密方案的怀疑。从而使数据安全性最大化。在接收端,我们再次拆分文件并使用不同的算法进行解密,然后将所有拆分文件合并在一起以检索原始消息。 |
改性f方程 |
函数F在算法中起着重要的作用,我们决定对函数F进行修改。原函数F定义如下。[3] F(X) = ((S1 + S2 mod 232) XOR S3) + S4 mod 232相反,我们修改了F- function,将2个加法操作替换为异或操作。因此,修改后的F- function被写成,F(X) = ((S1 XOR S2 mod 232) + (S3 XOR S4 mod 232))这个修改导致两个异或操作同时执行。对于按顺序执行的原始f函数,需要32次加法运算和16次异或运算。但在我们修改的f函数中,它需要同样的48个门操作(32-XOR, 16-加法),但由于多线程[2],执行这48个操作所需的时间将会减少。我们使用线程并行执行了32个异或操作,因此完成16个门操作所花费的时间将等于完成32个异或操作所花费的时间,因为我们是在并行环境[4]中运行它 |
模拟与结果 |
为了模拟文件拆分和文件合并以及改进的河豚算法,我们使用了以其平台独立性和更好的GUI特性而闻名的Java。我们使用JDK 1.6在核2双核处理器上进行开发、测试和执行。出于IDE的目的,我们采用了jcreate1.6。 |
实验证明,改进河豚算法的执行时间比原算法缩短了13.5%。 |
重要的特性 |
这个建议有几点可取之处。首先,在考虑文件分割和合并模块时, |
它的设计简单,易于实现。 |
设计和工作方式是这样的,它是不可破坏的。 |
它也不会对拆分和合并文件产生任何怀疑。 |
因此,我们的最终目标是提供一个工具包,提供â '  -强大和不可实现的attackedâ '  -实现。 |
该软件工具是模块化的,因此任何加密算法都可以很好地适应我们改进的Blowfish算法。 |
接下来,关于加密和解密阶段, |
与原Blowfish算法相比,该算法的执行时间大约缩短了13.5%。 |
虽然我们使用了2个异或门和1个加法器,但原来的f函数使用2个加法器和1个异或门,执行时间或执行所需的时钟周期没有突变。这是因为在任何编程语言下运行时,所有基本逻辑操作(如AND、OR、XOR)所花费的时间或多或少相等,因为这些语言都是逻辑驱动的。 |
窃听者很难意识到f函数被修改了,因此与原始的Blowfish算法相比,攻击的概率更小。 |
由于我们提出的系统只对执行顺序进行了修改,而没有对实际功能进行更改(即,我们没有添加或删除新的操作,而只是改变了现有Xor和加德的执行顺序),因此执行密码分析是没有必要的。 |
分组密码和流密码具有完全不同的密码分析程序。因此,由于密文的性质,信息总是存在不一致性。 |
结论 |
本文将满足我们的首要目标,即提供一个âÂ′Â无法得到breachedâÂ′Â的系统。当在任何不安全的介质上传输时,它还提供了高端数据安全性。入侵者不会知道我们在算法和设计方面的修改,所以攻破这个系统是非常不可能的。我们相信该软件工具是独一无二的,而且由于其模块化设计,在不久的将来还可以通过增加或替换加密部分来实现更高的性能和安全性。即在不影响安全性的情况下,具有良好的性能,改进后的F-function也提高了性能,时钟周期缩短33%,执行时间缩短14%[2]。 |
参考文献 |
|