非对称加密技术非对称加密技术的教学探讨

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

非对称加密技术非对称加密技术的教学探讨

一、问题的提出非对称加密技术是电子商务安全的基础,是电子商务安全课程的教学重点。笔者查阅许多电子商务安全教材、网络安全教材,发现这些教材过于注重理论,涉及具体操作较少,内容不够通俗易懂。笔者认为,学生掌握非对称加密技术,需要学习以下四个方面:图形直观认识、

RSA File演示软件直观操作、RSA算法直接计算、PGP的实际应用。

二、非对称加密图形直观认识

非对称密码体制也叫公钥加密技术,该技术就是针对私钥密码体制的缺陷提出来的。在公钥加密系统中,加密和解密会使用两把不同的密钥,加密密钥(公开密钥)向公众公开,解密密钥(秘密密钥)只有解密人自己知道,非法使用者根据公开的加密密钥无法推算出解密密钥,顾其可称为公钥密码体制。非对称密码体制的加密模型如图所示。

非对称加密的优势:一方面解决了大规模网络应用中密钥的分发和管理问题。如采用对称加密进行网络通信,N个用户需要使用N (N-1)/2个密钥,而采用对称加密体制,N个用户只需要N对密钥。

另一方面实现网络中的数字签名。对称加密技术由于其自身的局限性,无法提供网络中的数字签名。公钥加密技术由于存在一对公钥和私钥,私钥可以表征惟一性和私有性,而且经私钥加密的数据只能用与之对应的公钥来验证,其他人无法仿冒。

三、RSA File演示软件直观操作

利用一款RSA File演示软件可向学生直观展示非对称加密解密过程。其步骤如下:

第一,点击图标,生成密钥对,公钥保存为1.puk,私钥保存

为2.prk。

第二,新建RSA.txt文本,输入内容“RSA演示”。

第三,点击加密图标,装载公钥1.puk,然后载入明文文件RSA.txt,点击加密文件按钮,生成密文“RSA.txt.enc”。若将密文扩展名改为TXT,打开将全是乱码。

第四,点击解密图标,装载私钥2.prk,然后载入密文文件RSA.txt.enc,点击解密文件按钮,生成明文“RSA.dec.txt”。

第五,对比“RSA.txt”和“RSA.dec.txt”文本内容一致。

通过RSA File演示软件操作,学生对密钥对的生成,加密解密操作基本掌握,但对于用公钥加密,用私钥解密这一现象还是不明白,此时还需通过RSA算法来进一步解释。

四、RSA算法直接计算

RSA算法基于一个十分简单的数论事实:将两个大素数相乘十分容易,但想要对其乘积进行因式分解却极其困难,因此可以将乘积公开作为加密密钥。

1.RSA加密算法

(1)选取两个大素数p和q,并计算乘积N(N=pq)。

(2)任意选取一个大整数e,e与ф(N)=(p-1)*(q-1)互质,整数e用作加密密钥。

(3)确定解密密钥d,由d*e=1 mod((p-1)*(q-1)),根据e,p和q可以容易地计算出d;

(4)若用整数X表示明文,整数Y表示密文(X,Y均小于N),则加解密运算为:

加密:Y = Xe mod N

解密:X = Yd mod N

注意,其中d和N也互素。e和N是公开密钥,d是秘密密钥。两个素数p和q保密。

2.相关数学背景知识

(1)素数:素数是一大于1,且只能被1和这个数本身整除的整数。素数是无限的。例如,2,3,5,7……等。

(2)两个数互为素数:指的是它们除了1之外没有共同的因子。也可以说这两个数的最大公因子是1。例如:4和9、13和27等。

(3)模变换:两个数相模,如A模N运算,它给出了A的余数,余数是从0到N-1的某个整数,这种运算称为模运算。

3.算法的具体实现

(1)为了方便计算,我们选取素数p=3和q=11,则N=pq

=3*11=33。

(2)ф(N)=(p-1)(q-1)=2*10=20。

(3)从[0,ф(N)-1]中,即[0,19]之间任意选取加密密钥e = 3,且e和ф(N)互素。

(4)求解密密钥d。将公式ed=1modф(N)转换成形式ed=k*ф(N)+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 mod 33=9

解密:X=Yd mod N = 97 mod 33= 15

也可取d=27,通过电脑附件中的计算器计算如下:

解密:X=Yd mod N=927 mod 33= 58149737003040059690390169 mod 33=15

通过手工计算RSA加密算法,让学生更直观更深层理解非对称加密原理。

RSA的安全N足够大,我们测试中使用的N是非常小的,根本不能保障安全性,当前小于1024位的N已经被证明是不安全的,最好使用2048位的。通过一款“攻击RSA算法-分解n-求素数因子”软件可以快速实现因式分解,为获得足够大的N及D 、E,我们可以通过RSAKit、RSATool之类的工具测试。

RSA简捷,但计算速度比较慢,通常加密中并不是直接使用RSA 来对所有的信息进行加密,最常见的情况是随机产生一个对称加密的密钥,然后使用对称加密算法对信息加密,之后用RSA对刚才的加密密钥进行加密。

五、PGP的实际应用

PGP是美国PGP公司开发的基于RSA公开密钥体制的邮件加密软件,在电子商务事务中得到广泛的应用。付费的PGP个人版软件可实现邮件加密解密,这里采用的PGP8.1汉化版实现对文件的加密解密、签名及验证签名。具体操作如下:

第一,启动PGP Key,创建学生密钥对xues@21.,并导出公钥。

第二,导入老师的公钥“laoshi公钥.asc”。

第三,新建Word文档,录入文本“我是××号学生,完成PGP 作业”→复制文本→打开PGPmail中的“加签并签名”图标→选择剪贴板→选择接收人laoshi@21.→输入自己的密码→确定。

第四,将结果粘贴到文本中提交上来、同时还要提交学生的公钥。

相关文档
最新文档