关键词:数据加密;通信系统;加密解密模块
前言
多媒体时代,网络安全备受关注。倘若数据在网络传输过程中被第三方截取或篡改,不仅会侵害用户利益,甚至影响国家安全。这恰恰体现了加密网络传输数据的重要性,该技术功能比较多样,除了加密和解密数据之外,还具备数字签名、认证、鉴别等多重功能,为网络数据传输奠定了良好基础,使其完整性与机密性兼备。现如今,基于数据加密的通信系统在各行各业应用极为广泛。本文优选IDEA和RSA算法,对新型加密系统进行设计。
1.数据加密技术
众所周知,数据加密技术的核心是加密算法,参照加密和解密密钥相同与否及加解密过程推导等内容,以对称和非对称密钥加密体制,对数据加密技术进行区分。数据加密技术主要被用来保护网络传输信息,始终保持传输过程安全,具体实施过程中成本花费比较小,安全防护效果极好。
1.1对称密钥加密体制
对称密钥加密体制,别名单密钥加密体制,这一过程中,信息加解密过程中应用到的密钥相同,已知某个密钥,可对另一个密钥进行推导,实施过程简单,通信双方仅对各自密钥进行交换,便可进行加解密操作,该算法具备速度方面的优势,通常情况下,软件实现速度为每秒数兆或数十兆不等。对称密钥在使用过程中也存在诸多限制:分配过程公开;无法对密钥泄露情况进行自动检测;倘若网络中各用户使用的密钥不同,用户量越大,密钥数越多;对称密钥加密体制也难以进行消息确认。
1.2非对称密钥加密体制
该体制即公钥加密体制。无法依托公钥对私钥进行推导,明文加密和解密分别通过公钥密钥和私钥密钥实现。公开密钥加密体制具备诸多优势。比如,加密密钥始终保持公开状态,用户之间无需进行私钥传递;数字签名实现及实施方法简单,交易过程中,无论是身份,还是数据,都比较严密;公钥加密专业性强,研究难度大,计算过程复杂,与对称加密系统相比,速度比较迟缓[1]。
2.网络通信模型设计
选择TCP/IP协议作为网络通信协议,对会话应用层数据加密进行研究,如图1所示,为二者之间的通信模型。数据形成初期,执行加密工作,有助于提升数据传输过程中的安全性,而且使加密过程中的复杂流程有所简化。开展加密设计初期,应全面了解网络通信系统整体结构,以此为依托,对网络加密系统进行设计,确保其适用性。
3.数据加密的网络通信系统设计
3.1新系统通信模型概述
C/S通信模型以Internet为基础,以网络通信系统应用层为载体,实施数据加密、数字签名、认证等一系列运算工作,文件发送过程中,优选三重IDEA算法对明文进行加密,该算法从属于外部CBC模式,该过程中的数字簽名通过单向散列函数SHA-1实现,使用RSA算法加密三重IDEA相关秘钥信息,生成密文。接受方通过分析密文,分别依托RAS算法和三重IDEA算法,求解三个秘钥和明文,进行二次认证。该背景下,客户端和服务器端始终保持正常通信,并未被中断[2]。
3.2设计加密解密模块
该系统选用的是混合加密体制,应用原理为依托对称密码算法优势,提高大批量数据加密解密速度及效率。对称密码算法无论是加密速度,还是加密强度,都极具优势。而明文密钥可采用公钥密码算法进行加密,该算法加密速度慢,强度高,密钥管理简便,极具传递优势,有效弥补了对称密码算法中的不足。同步使用对称密码算法和公钥密码算法,有助于数据快速传输,而且安全性和准确性都非常高。
(1)外部CBC模式三重IDEA算法加密解密明文
IDEA算法在分组密码算法中适用性强,优势明显。已知这一算法密钥长度为128bit,无论是抗差值分析,还是相位分析性,都比较好。该过程中不包含DES下的弱密钥,无论是软件,还是硬件实现,都非常简便。
以IDEA算法为基础,选择三重加密方式,充分发挥三个密钥作用,对同一个明文分组进行多次加密。该种加密算法不会对数据搜索产生任何干扰,但该过程中应注重三个密钥的独立性。该研究中,分别以K1、K2、K3对三个密钥进行假设,明文和密文分别用P和C指代,EK和DK各指用密钥对K加密和解密。
加密算法为,解密算法为。
加密算法主要通过外部CBC模式实现,其作为密码分组链接,本质为一种密码模式。值得注意的是密码模式不会对算法安全性产生干扰。CBC模式背景下,加密明文之前,需要对其及之前的密文进行计算。完成首个分组明文加密工作之后,反馈寄存器会进行结果保留,加密下一明文分组之前,其会与对方进行异或,或者将其应用到后续密文输入中,而反馈寄存器仍旧会对计算结果进行保存,以此类推,不断循环,直至明文结束。
当明文分组不相同时,CBC模式可对相同的明文分组进行加密,使之转换为不同的密文分组。换言之,当二者初次出现不同之处时,会对任意两则消息进行同等结果加密。第一个分组对随机数据进行加密,以规避该类情况的发生。该随机数据分组即初始化向量。其价值在于加密同等明文消息,使其以不同的密文消息形式存在。完成加密工作之后,窃听者无法通过分组重放的方式对系统进行攻击,也增加了密码本制造难度。如图2所示,外部CBC模式三重加密过程。
外部CBC模式下三重加密实现难度较小。该过程中涉及到的三个密钥产生源为系统随机函数,其相互独立,互不关联,任一明文分组的加密解密过程都是通过IDEA算法实现的,在加密强度方面极具优势。这一过程中,向量的产生比较随机,无需对其进行保密,将其与密文同步传送即可。 (2)RSA算法加密密钥
大数分解难度越大,RSA算法安全性越高,通过如下过程得出密钥:任意选择p、q两大素数;将其作为已知条件,对模数进行计算,即n=p×q;得出欧拉函数Φ(n)=(p-1)(q-1);正整数d与欧拉函数互素,满足gcd(d,Φ(n))=1;计算e,d×e=1mod(Φ(n)),该式中,e和n处于公开状态,p,q,d则恰恰相反,处于保密状态,公开加密密钥和秘密解密密钥分别为e和d。加密密文和解密密文分别为C=Memod n和M=Cdmod n。
与此同时,选用Lehmann测试方法对p进行测试,判定其为素数与否。选定随机数a,a
4.客户端与服务器端通信模型
C/S作为一种结构网络模型,具备开放性特征,实现方式为客户机将请求发送至服务器,服务器在第一时间处理该请求,并执行与这一请求相关的任务,继而在客户机上进行结果反馈。该过程中,客户机与服务器之间的通信呈现非对称特点。一个服务程序通常在众所周知的地址监听客户的服务请求。事实上,服务进程一直处于休眠状态,直到一个客户对这个服务地址提出连接请求。该背景下,服务程序被“唤醒”,为客户提供服务,并对客户请求作适当反应。如图3所示,客户机/服务机模型,该请求/响应过程非常清晰[3]。
以MFC基础类库为背景,依托CSocket类对两个新类进行派生,实现网络编程。用CSocket类对服务器和客户端通信程序进行编制,基于软件诉求考量,在一个类中对服务器端和客户端进行集成,双方建立连接后为对等关系,能够相互收发数据。程序创建流程为:借助VC++6.0对应用程序框架进行创建;分别对CClient和CListen类进行创建。在本次网络模块中,CClient类非常重要,主要职责为接收和发送数据,而CListen类则负责对端口监听连接请求进行创建。CClient类中重载了成员函数OnSend()OnReceive()等,其中,OnReceive()函数不仅能够解决网络延时问题,而且能够对客户端和服务器端进行整合。网络通信依托CClient类和CListen类对象实现。
5.结语
综上所述,网络通信系统安全性一直以来都备受关注,将数据加密技术应用到该过程中非常必要。基于数据加密的通信系统设计是一项专业性很强的工作,实施过程复杂。相关专业人员应在熟练掌握数据加密技术的前提下,进行网络通信模型设计,继而对新系统通信模型具备清晰的认识,依托外部CBC模式三重IDEA算法加密解密明文,采用RSA算法加密密钥,对客户端与服务器端通信模型予以构建,达到良好的数据加密通信系统设计效果,增强网络数据传输过程中的安全性。近年,随着网络通信系统的发展,加密系统发展速度也越来越快,其为网络系统提供了安全保障。专业人员要结合通信系统数据加密要求,对其进行灵活使用,营造安全的数据通信即网络环境。
参考文献:
[1]郑光熙,李婉萌.基于COM口通信数据加密系统设计与实现[J].岭南师范学院学报,2016,(3):170-176.
[2]支立朝.基于数据加密的网络通信系统的设计及应用[J].中国科技博览,2013,(16):75-75.
[3]陈大胜.基于三重IDEA数据加密的网络通信系统的设计与应用[J].数字化用户,2013,(23):40-42.