非对称加密技术
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
非对称加密技术
一、问题的提出
非对称加密技术是电子商务安全的基础,是电子商务安全课程的教学重点。笔者查阅许多电子商务安全教材、网络安全教材,发现这些教材过于注重理论,涉及具体操作较少,内容不够通俗易懂。笔者认为,学生掌握非对称加密技术,需要学习以下四个方面:图形直观认识、
RSA File演示软件直观操作、RSA算法直接计算、PGP的实际应用。
二、非对称加密图形直观认识
非对称密码体制也叫公钥加密技术,该技术就是针对私钥密码体制的缺陷提出来的。在公钥加密系统中,加密和解密会使用两把不同的密钥,加密密钥向公众公开,解密密钥只有解密人自己知道,非法使用者根据公开的加密密钥无法推算出解密密钥,顾其可称为公钥密码体制。非对称密码体制的加密模型如图所示。
非对称加密的优势:一方面解决了大规模网络应用中密钥的分发和管理问题。如采用对称加密进行网络通信,N个用户需要使用N/2个密钥,而采用对称加密体制,N个用户只需要N对密钥。另一方面实现网络中的数字签名。对称加密技术由于其自身的局限性,无法提供网络中的数字签名。公钥加密技术由于存在
一对公钥和私钥,私钥可以表征惟一性和私有性,而且经私钥加密的数据只能用与之对应的公钥来验证,其他人无法仿冒。
三、RSA File演示软件直观操作
利用一款RSA File演示软件可向学生直观展示非对称加密解密过程。其步骤如下:
第一,点击图标,生成密钥对,公钥保存为,私钥保存为。
第二,新建文本,输入内容“RSA演示”。
第三,点击加密图标,装载公钥,然后载入明文文件,点击加密文件按钮,生成密文“”。若将密文扩展名改为TXT,打开将全是乱码。
第四,点击解密图标,装载私钥,然后载入密文文件,点击解密文件按钮,生成明文“”。
第五,对比“”和“”文本内容一致。
通过RSA File演示软件操作,学生对密钥对的生成,加密解密操作基本掌握,但对于用公钥加密,用私钥解密这一现象还是不明白,此时还需通过RSA算法来进一步解释。
四、RSA算法直接计算
RSA算法基于一个分简单的数论事实:将两个大素数相乘分容易,但想要对其乘积进行因式分解却极其困难,因此可以将乘积公开作为加密密钥。
加密算法
选取两个大素数p和q,并计算乘积N。
任意选取一个大整数e,e与ф=*互质,整数e用作加密密钥。
确定解密密钥d,由d*e=1 mod*),根据e,p和q可以容易地计算出d;
若用整数X表示明文,整数Y表示密文,则加解密运算为:加密:Y = Xe mod N
解密:X = Yd mod N
注意,其中d和N也互素。e和N是公开密钥,d是秘密密钥。两个素数p和q保密。
2、相关数学背景知识
素数:素数是一大于1,且只能被1和这个数本身整除的整数。素数是无限的。例如,2,3,5,7……等。
两个数互为素数:指的是它们除了1之外没有共同的因子。也可以说这两个数的最大公因子是1。例如:4和
9、13和27等。
模变换:两个数相模,如A模N运算,它给出了A的余数,余数是从0到N-1的某个整数,这种运算称为模运算。
3、算法的具体实现
为了方便计算,我们选取素数p=3和q=11,则N=pq
=3*11=33。
ф==2*10=20。
从[0,ф-1]中,即[0,19]之间任意选取加密密钥e =3,且e和ф互素。
求解密密钥d。将公式ed=1modф转换成形式ed=k*ф+1,即3d=k*20+1,将0,1,2,3…依次代入k,求出d。
取k=0,得d=1/3;不满足d为整数;
取k=1,得d=7;满足d为整数条件;
取k=2时,得d=41/3,不满足d为整数;
取k=3时,得d=61/3,不满足d为整数条件;
取k=4时,得d=81/3=27,满足d为整数条件;
……
若明文X=15,N=33,e=3,d=7,
加密:Y=Xe mod N=153 mod33=9
解密:X=Yd mod N =97 mod33=15
也可取d=27,通过电脑附件中的计算器计算如下:
解密:X=Yd mod N=927 mod33=58149737003040059690390169 mod33=15
通过手工计算RSA加密算法,让学生更直观更深层理解非对称加密原理。
RSA的安全来源于N足够大,我们测试中使用的N是非常小的,根本不能保障安全性,当前小于1024位的N已经被证明是不安全的,最好使用2048位的。通过一款“攻击RSA算法-分解n-
求素数因子”软件可以快速实现因式分解,为获得足够大的N及D 、E,我们可以通过RSAKit、RSATool之类的工具测试。
RSA简捷,但计算速度比较慢,通常加密中并不是直接使用RSA来对所有的信息进行加密,最常见的情况是随机产生一个对称加密的密钥,然后使用对称加密算法对信息加密,之后用RSA对刚才的加密密钥进行加密。
五、PGP的实际应用
PGP是美国PGP公司开发的基于RSA公开密钥体制的邮件加密软件,在电子商务事务中得到广泛的应用。付费的PGP个人版软件可实现邮件加密解密,这里采用免费的汉化版实现对文件的加密解密、签名及验证签名。具体操作如下:
第一,启动PGP Key,创建学生密钥对xues@,并导出公钥。
第二,导入老师的公钥“laoshi公钥、asc”。
第三,新建Word文档,录入文本“我是××号学生,完成PGP作业”→复制文本→打开PGPmail中的“加签并签名”图标→选择剪贴板→选择接收人laoshi@→输入自己的密码→确定。
第四,将结果粘贴到文本中提交上来、同时还要提交学生的公钥。
老师导入自己的私钥,选择PGPmail中的“解密/效验”图标,输入自己的密码解密文本,实现对接收者身份的验证;若导入学生的公钥,则显示签名者的信息,实现对发送者身份的验证。