加密技术在网络安全传输中的应用

2021-07-17 07:41王红娟
通信电源技术 2021年6期
关键词:加密算法密钥椭圆

王红娟

(河南农业职业学院,河南 郑州 451450)

0 引 言

计算机网络的飞速发展将人类带入了信息时代。透明的网络传输使人们的工作更方便、高效,但同时也带来了许多信息安全问题。随着计算机网络的迅速发展,如何保证网络信息的安全传输已成为亟待解决的问题,而如何保证网络信息的安全传输又是一个重要课题。通过分析计算机网络安全与密码技术,认为密码技术是信息安全技术中的一项基本技术[1]。

1 加密算法

1.1 对称加密算法

对称加密算法的加密秘钥和解密相似,键值为单键。采用组对称数据进行64位加密。它的键长度是56位(第八位是奇偶性的)。按键数可以是任意数量的56位,并且可以随时更改。DES加密过程如图1所示,在DES加密过程中,极少有弱密钥容易被破解,而且可以轻松避免。保密依赖于关键词。1998年7月,EFF使用了一台价值250 000美元的计算机,这台计算机可以在56 h里解码56位密匙。尽管DES加密算法已被破译,但它仍在使用,如对聊天信息进行加密。因为破译密钥很费时,所以只要经常更换密钥,就可以保证信息传输的安全性和完整性[2]。

图1 DES加密过程

1.2 公钥加密算法

公钥加密也称为非对称加密算法。加密的密钥与解密的密钥不同,很难从一个密钥派生出另一个密钥。迪菲和赫尔曼在1976年提出了密码学划时代的发展方向,数学理论开始影响着网络安全的密码技术。公钥加密过程如图2所示。

图2 公钥加密过程

1.3 数字签名

电子签字指的是数字签字,它和数字签字一样有效。如图3所示。数字签名始于1976年,签署电子文件之后即不可否认。相对于公开密钥加密算法,它可以保证网络的不可抵赖性,这就需要每一个用户都能方便地生成自己的签名,并方便地验证谁的签名是正确的,因此必须对发送方密钥进行保护[3]。对数字签名进行仲裁需要可信的第三方,教务处也是如此,毕业证书由学校与用人单位签字盖章后生效。RSA、ECC以及ELGmal等是常用的数字签名算法[4]。

图3 数字签字过程

2 椭圆曲线

椭圆曲线的一组参数分别描述了有限域、基点P以及n阶椭圆曲线。为了让ECDLP能够抵抗所有的已知攻击,应该选择相应参数,同时在安全和实现性的基础上还有其他的限制[5]。一般而言,参数组是由一组用户共享的,在某些应用程序中可以为每个用户单独设置参数组。无论是质域还是二进制域T,这些参数都一样,它们没有什么不同[6]。

为了防止对特殊类型椭圆曲线的攻击,本文随机选择满足可分量大的E(Fq)椭圆曲线。这保证了椭圆曲线可以随机生成,用户不会通过构造具有潜在弱点的曲线来窃取私钥,但有时随机生成这样的线条要花费很长时间,使用NIST提供的安全椭圆曲线参数。此外,椭圆曲线密码系统还采用了大量的乘法、大数取模、模乘、模加、模逆以及模幂等基本运算。大数模的乘法属于整型域运算,大数模的乘法、加法、模幂属于有限域运算,而点加和点乘属于椭圆曲线的点加群上的运算。

根据上文方法,取适当椭圆曲线域参数,设椭圆曲线的域参数T=(P.a.b.G.n.h),点G(x,y)是在椭圆曲线上Ep(a,b)上选一点,G的阶为n(n为一个大素数)。在(1,n-1)间随机确定一个整数Ks,计算Kp=KsG,且Kp为椭圆曲线Ep(a,b)上的一点,由此就确定了密钥对(Ks,Kp)。其中,Ks为私钥,Kp为公匙。换而言之,椭圆曲线是一种思想,将这种思想应用于密码系统需定义密算法。椭圆曲线密码体制基于曲线上点群离散对数问题,在基础有限上离散对数问题的公匙密码体制中,Gamal和DSA算法是一种成熟的基于有限对数问题的公钥密码体制算法。通过分析ELGamal、DSA算法及椭圆曲线理论,将ELGamal与DSA移植到椭圆曲线上,得到了一个基于ELGamal与DSA算法的加密解密方案[7]。

3 MD5算法

MD5(Message Digest Algorithm 5)由麻省理工学院Rivest教授对MD4加以改良而设计形成。其功能是在使用数字签名软件对私有密钥进行签名之前,将大量信息压缩成安全格式(任意长度的字节将被转换成一定长度的大整数)。因为Rivest最初设计的主要思想是基于32位处理器的系统结构,所以MD5中的所有动作都是基于32位的。MD5在MD4的基础上增加了“安全-袋子”的概念。虽然MD5比MD4慢一点,但是更安全。MD5处理512位分组的输入信息,每组分成16个32位子分组。

算法的输出由4个32位分组组成,通过对4个32位分组进行串联可以得到128位散列值。对于MD5算法,首先需要对信息进行填写,使字节长度对512求余的结果等于448。因此,信息的字节长度将扩展到n×512+448,即(n×64+56) bit,n是正整数。填写方法如下,在信息后填一个1、无数个0,直到满足上述条件才可停止用零填充信息。然后,在该结果后面附加以64位二进制表示的填充前信息长度。经过这两个处理步骤,当前信息字节长度为n×512+448+64=(n+1)×512,长度为512的整数倍,以此满足后面处理中对信息长度的要求。

在MD5中有4个32位的整型参数,分别为a=0x01234567、b=0x89abcdef、c=0xfedcba98以及d=0x76543210。在设定4个连结变数时,算法便开始执行四轮运算。循环的次数是信息中512位信息分组的数目。将上面4个链接变量复制到另外4个变量中,主循环有4轮(MD4只有3轮),每轮循环都很相似。第一轮进行16次操作,每次操作对a、b、c以及d中的其中3个作一次非线性函数运算,然后将所得结果加上第四个变量,再将所得结果向右环移一个不定的数,并加上a、b、c以及d中的一个[8]。

4 分组密码连接方式

分组密码是将消息作为数据块进行处理(加密或解密)。一般来说,当大多数消息(如一条消息)长度大于分组密码长度时,长消息被分成一组连续的消息,每组密码每次处理一个。在分组密码算法的基础上设计了多种不同的运算方法。此操作模式提供了一些理想的密文分组功能,如增加分组密码算法的不确定性(随机性)、将明文消息添加到任意长度(因此密文的长度不必与相应的明文长度相关)、错误传播控制以及密钥流生成密码流等[9]。常用的模式有电码本模式(Electronic Codebook Book,ECB)、密码分组链接模式(Cipher Block Chaining,CBC)、计算器模式(Counter,CTR)、密码反馈模式(Cipher FeedBack,CFB)以及输出反馈模式(Output Feed Back,OFB)。CBC操作模式是一种通用的数据加密分组密码算法,在该模式下,以n位形式输出一系列数据。区块链是相互连接的,因此每个区块不能仅仅依赖于相应的原始区块,还必须依赖于先前的区块[10]。

5 结 论

本文结合当前先进的加密技术设计了一套网络文件加密系统,为网络文件的安全传输提供了基本模式和应用基础。由于越来越多地关注网络文件的安全传输,可考虑将系统嵌入到Windows操作系统。基于Windows系统,可用Java等语言或适当的方法编写代码,使系统具有跨平台性,便于实际应用和系统移植。此外,系统认证、完整性检查、加密以及信任信息系统技术结合现代防火墙过滤技术和VPN通信环境构建一个网络安全体系,具有对计算机网络中信息的加密、监视以及检测等功能。此外,添加文件下载模块,以便向用户提供可直接下载的加密文件,使系统人性化,便于推广。

猜你喜欢
加密算法密钥椭圆
加密文档排序中保序加密算法的最优化选取
幻中邂逅之金色密钥
幻中邂逅之金色密钥
例谈椭圆的定义及其应用
巧用点在椭圆内解题
基于整数矩阵乘法的图像加密算法
Android密钥库简析
教育云平台的敏感信息保护技术研究
椭圆的三类切点弦的包络
极限思想在椭圆问题中的应用