当前位置:首页 > 工作计划 > 非对称加密技术_非对称加密技术的教学探讨
 

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

发布时间:2019-06-21 04:06:32 影响了:

  一、问题的提出  非对称加密技术是电子商务安全的基础,是电子商务安全课程的教学重点。笔者查阅许多电子商务安全教材、网络安全教材,发现这些教材过于注重理论,涉及具体操作较少,内容不够通俗易懂。笔者认为,学生掌握非对称加密技术,需要学习以下四个方面:图形直观认识、
  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@21cn.com,并导出公钥。
  第二,导入老师的公钥“laoshi公钥.asc”。
  第三,新建Word文档,录入文本“我是××号学生,完成PGP作业”→复制文本→打开PGPmail中的“加签并签名”图标→选择剪贴板→选择接收人laoshi@21cn.com→输入自己的密码→确定。
  第四,将结果粘贴到文本中提交上来、同时还要提交学生的公钥。
  老师导入自己的私钥,选择PGPmail中的“解密/效验”图标,输入自己的密码解密文本,实现对接收者身份的验证;若导入学生的公钥,则显示签名者的信息,实现对发送者身份的验证。
  通过PGP的实际应用,利用两个密钥实现对发送方和接收方身份的认证问题,让学生掌握非对称加密技术。
  通过图形、实操、算法分析、实际应用由浅入深,由理论到实践不断深化学习非对称加密技术。
  (作者单位:广东省高级技工学校)

猜你想看
相关文章

Copyright © 2008 - 2022 版权所有 职场范文网

工业和信息化部 备案号:沪ICP备18009755号-3