您的位置 首页 被动

一种网络传输信息加密解密体系研发的办法

在对公钥密码体制分析的基础上,研究了RSA密码体制的实现算法,设计了系统程序模块。开发了端对端的网络传输信息加密解密系统。 测试表明采用RSA密码体制可以研制出安全性更高的网络传输信息加密解密系统。

  因为核算机网络具有体系复杂性、资源共享、鸿沟不可知、传输信息的路由不确认性、电磁辐射等原因使其自身的安全性很低[1]。网络在我国起步比较晚,一些与网络相关的技能还不老练,在现有的许多网络中至今还在传输裸信息。据调查[2],目 前我国企业选用信息加密的仅8%。即便传输经过加密的数据,大多选用的是传统暗码体系。由此看来,网络的安全系数一般都比较小。数据加密是确保核算机网络重要的安全机制,可是,运用公钥体系,尤其是运用RSA算法的有用加密解密软件体系很少。因而,对网络传输的数据加密宽和密进行深入研讨,开宣布适用于网络环境下的信息加密解密体系很有含义。

  网络加密的办法首要有链路加密、端对端加密[3]。端对端加密的作业仅在意图节点和源节点进行,所以成本低、运用灵敏。本文选用这种办法,其处于网络OSI模型的使用层或标明层。

1公钥暗码体系

  公钥暗码体系的根本思想是:密钥分为加密密钥E,解密密钥D和公钥M。加密密钥E和公钥M能够揭露,D不能揭露。加密时选用以E,M为参数的函数f1(E,M)进行加密,解密时选用以D,M为参数的函数f2(D,M)进行解密。

  在传统暗码体系的算法中,知道了加密进程,则能够推出解密进程。而在公钥暗码体系的算法中,即便知道了加密进程,也不可能推出解密进程。迄今为止创造的公钥暗码体系的算法简略用数学术语来描绘的,而他的保密强度是建立在一种特定的已知数学问题求解困难性这个假定上的。因而核算加密密钥E,公钥M宽和密密钥D需求特别的算法和过程。以确保不能从加密密钥E和公钥M推导出解密密钥D。

  RSA体系是一种新式公钥暗码体系[4]。该公钥暗码体系以数论为根底,其原理是:求2个大素数的乘积很简略完成,但将一个大的合数分解成2个大素数很难完成。RSA加密宽和密运算的数学表达式为:
 C=XE(mod M)
  X=CD(mod M)
其间:X为明文,C为密文,(0  (1)M是2个大素数P,Q的乘积,然后M的欧拉数φ(M)=(P-1)×(Q-1)。
  (2)D是大于P,Q的并与φ(M)互素的正整数。
  (3)E是D关于φ(M)的乘逆。即ED=1 mod(φ(M))。

  满意以上3个条件,(E,M)便可作公钥对,(D,M)作密钥对。

  例如:P=101,Q=113,那么M=P×Q=11 413,φ(M)=(P-1)×(Q-1)=100×112=11 200,与φ( M)互素的整数E有无数个,因而,假定E=3 533,依据公式ED=1mod(φ(M)),求得D =6 597。假定明文X=9 726,那么加密时密文C=9 7263 533mod (11 413)=5 7 61,在解密时明文Y=5 7616 597mod(11 413)=9 726。因而只需加密密钥E,解密密钥D和公共密钥M挑选正确,加密前的明文X宽和密后的明文Y必定是相同的。

2体系规划

网络信息加密解密体系包括2个首要部分,主机程序和客机程序。主机程序具有以下功用:密钥参数的挑选、对文件的加密解密、加解密文件的校验、修正用户暗码;而客机程序则只要一个加密模块和用户重置加密密钥E和公钥M。明显客机程序只能进行加密,所用的密钥都是由主机程序的密钥挑选模块给出的,而解密密钥D则只要主机程序用户个人知道。经过这种办法,在恣意一个核算机网络内部,某节点A上运转主机程序,而与该节点通讯的节点B上运转客机程序。假如B有重要的数据往A发送,则该节点就用A节 点所发布的加密密钥E和公钥M为参数对重要数据进行加密,然后再将加密后的数据发送到A,因为这些数据都经过特别的处理,不必再为数据的安全而忧虑。然后A用相应的D和M对数据进行解密,复原出相应的数据。当一个网络的许多高档用户之间需求频频地相互传递信息,而且还要求高档用户既能够对需求发送的数据加密,也能够对收到的经过加密的数据进行解密。这就要求在网络的高档用户的核算机上运转网络信息加密解密体系的主机程序。

  该体系的规划分为密钥挑选模块、文件加密模块、文件解密模块、数据验证模块、修正暗码模块、体系简介模块和退出体系模块等7大模块。

3程序的模块规划

3.1密钥挑选模块的规划

  挑选RSA暗码体系的密钥对首要是确认E,D,M。因为密钥对的挑选不能随意发生,且P,Q的位数越多,攻破该暗码体系所需时刻也越长,体系就越安全。但位数越多,速度也越慢。该模块能够让用户自己来挑选素数位数。

  为便利用户,该模块不需用户直接输入2个大的素数P、Q的值,而是输入他们的邻近似恣意数,然后由核算机依据特定的算法在邻近值邻近找。得到2个大素数后,也得到公钥M=P×Q,然后也得到M的欧拉数φ(M)=(P-1)×(Q-1)。

  大于P,Q并和φ(M)互素的数有无数个,所以仍旧选用由用户输入邻近值,体系在其邻近寻觅一个满意条件的整数E(其间用欧几里德算法判别E是否与φ(M)互素),得到加密密钥E之后,将进行寻觅密钥的最终一步:求出解密密钥D,这能够依据式ED=1 mo d(φ(M))求得。

  经过以上3个过程,核算机辅佐发生密钥对的作业完毕。随后,核算时机提示是否将新发生的参数值更新为体系默许的参数值。用户有两种挑选,更新和不更新。

3.2加密模块的规划

  文件在核算机里是以“0”、“1”的方式存储,必定的二进制比特流将标明必定巨细的十进制整数。例如: 二进制比特流“10101010”将标明十进制170,因而从文件的开端处按次序读取必定位数的二进制比特流,而且这必定位数二进制比特流标明的十进制数X(X有必要小于M)。经过RSA的加密运算得到密文C=XE(mod M)。C是一个十进制的数(0≤C≤M),然后将十进制的数C写到方针文件。

3.3解密模块的规划

  解密运算为X"=CD(mod M)。解密模块和加密模块原理根本相同,仅仅从文件里读取需求解密的数据时有必要与经过加密算法后写入方针文件时的数据相同。这一点是体系能 否正确运转的前提条件。例如:假如将数据1 819加密后得到2 867,在解密时,你从 文件中读出来的数有必要是2 867,不然经过解密算法后得到的十进制数X"与加密时从文件里读出的X不相同,然后导致数据丢掉。加密模块宽和密模块是体系的中心模块。

3.4数据验证模块规划

  数据验证模块是用户对自己自己核算机上的本地文件进行加密宽和密用的。假如多人一起运用一台核算机最好的办法便是用自己的加密密钥E和公钥M为参数对数据加密,然后用相应 的解密密钥D和公钥M对加密后的数据进行解密。再将加密前的源文件宽和密后的方针文件相比较。假如相同,则删去加密前的源文件宽和密后的方针文件,而只保存经过加密后的文件。这样其他用户就无法检查该文件。需求这些数据时,进入网络信息加密解密体系,输入适宜的解密密钥D和公共密钥M,将文件康复。

3.5修正用户暗码模块规划

  为了确保本体系的安全性,只要本软件的合法用户才干进入网络信息加密解密体系。在软件开端运转时要求用户输入用户暗码,假如用户3次输入不正确,将停止体系的正常运转。当用户输入暗码走漏后,能够经过修正用户暗码模块来处理。

  该模块也选用RSA算法规划,体系的合法用户有必要知道该模块正确的解密密钥、公钥和用户暗码,才干进入体系。不然体系将回绝进入。

  因为解密密钥、公钥和用户暗码能够随时更改,这就增加了不合法用户进入体系的难度,将体系的不安全系数降至最低,然后确保体系的安全。

4结语

  Java是新一代的网络编程言语,他有杰出的移植性、面向对象、安全性和交互性比较高,因 此,上述各个模块的规划悉数选用Java编写。

  网络传输信息加密解密体系经在实践网络环境 下测验标明:装置简略、人机界面杰出、保密性高、有用性强、可对任何类型的文件加密解 密。

参考文献

[1]陈 运.信息加密原理[M].成都:电子科技大学出版社,1990
[2]张 周.我国企业开端注重网络安全[J].核算机国际A9版,2000,( 3)
[3]张文政,孟庆志.通讯保密技能[J]. 核算机使用,1998,(6):25-28
[4] 王 勇.RSA揭露密匙暗码体系的密匙生成研讨[J].核算机使用研讨,1998,(3):34 -37

作者:
金 冉1,蒋 艳2
(1.浙江万里学院 核算机系浙江 宁波315100;
2.西坞中学浙江 奉化315505)

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/ziliao/beidong/185884.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部