非对称加密实验.docx
《非对称加密实验.docx》由会员分享,可在线阅读,更多相关《非对称加密实验.docx(13页珍藏版)》请在冰豆网上搜索。
![非对称加密实验.docx](https://file1.bdocx.com/fileroot1/2022-11/28/ec1498d0-292c-4aad-bdd8-d24ebf42f68e/ec1498d0-292c-4aad-bdd8-d24ebf42f68e1.gif)
非对称加密实验
非对称加密实验
【实验环境】
ISES客户端
MicrosoftCLRDebugger2005或其它调试器
【实验步骤】
一、RSA
(一)加解密计算
(1)打开实验实施,默认的选择即为RSA标签,显示RSA实验界面。
(2)选择明文格式,输入要加密的明文信息。
(3)选择密钥长度,此处以512比特为例,点击“生成密钥对”按钮,生成密钥对和参数。
(4)选择“标准方法”标签,在标签下查看生成的密钥对和参数,如图1.1.71所示。
图1.1.71
(5)标准方法加解密
标准方法可选择公钥加密/私钥解密形式和公钥加密/私钥解密形式进行加解密,此处以公钥加密/私钥解密形式进行加解密,公钥加密/私钥解密可参照完成;注意在一次加解密过程中不要重新生成密钥对。
点击“公钥加密”按钮使用生成的公钥对明文进行加密,密文以十六进制显示在密文文本框中;清除明文文本框中的内容,点击“私钥解密”按钮对密文进行解密,明文默认以文本形式显示在明文文本框中,如图1.1.72所示;可选择以16进制查看明文。
图1.1.72
(6)选择“中国剩余定理方法”标签,在标签下查看生成的密钥对和参数,如图1.1.73所示。
图1.1.73
(7)中国剩余定理方法加解密
点击“加密”按钮使用生成的公钥对明文进行加密,密文以十六进制显示在密文文本框中;清除明文文本框中的内容,点击“解密”按钮对密文进行解密,明文默认以文本形式显示在明文文本框中,如图1.1.74所示。
可选择以十六进制查看明文。
图1.1.74
(二)RSA密钥计算
(1)点击“扩展实验”框中的“RSA计算”按钮,进入RSA计算窗体。
(2)输入报文信息,点击“计算MD5值”生成报文信息的信息摘要,如图1.1.75所示。
图1.1.75
(3)选择p、q值,计算n、φ(n)、e和d并输入相应的文本框中,点击“检验”按钮对计算的各个参数值进行检验,如图1.1.76所示。
图1.1.76
(4)检验无误后,根据上述计算得到的RSA私钥,计算报文MD5值即报文摘要的前8位的签名值,并输入相应的文本框;点击“生成签名并检验”按钮,检验签名输入是否正确并自动生成消息摘要前8位的签名值并显示,如图1.1.77所示。
图1.1.77
(5)点击“验证”按钮,对输入的签名值进行验证,并给出相应的提示,如图1.1.78所示。
图1.1.78
(三)扩展实验
(1)点击“扩展实验”框中的“RSA扩展实验”按钮,进入RSA扩展实验窗体。
(2)生成大素数p和q。
①使用实验系统所提供的大素数,并点击素数文本框的右边的素性测试按钮,确保p,q均为素数,如图1.1.79所示。
图1.1.79
②输入2个大素数,并分别测试其素性,如图1.1.710所示。
图1.1.710
③点击“生成p,q”按钮,进入大素数生成界面;输入要生成的素数(十进制)位数范围,点击“随机生成”,即可得到2个满足要求的大素数;如图1.1.711所示。
图1.1.711
(3)计算n=pq。
在正确设置了大素数p和q之后(也进行了素性测试),点击该文本框右边的“计算”即可,如图1.1.712所示。
图1.1.712
(4)计算
。
在正确设置了n之后,点击该文本框右边的“计算”即可,如图1.1.713所示。
图1.1.713
(5)生成密钥。
点击“选取公钥”按钮,即可生成RSA密码算法的公钥和私钥,如图1.1.714所示。
图1.1.714
(6)在主窗口中,点击“加密”,即进入RSA加密窗口;在明文文本框中输入一个小于n的(十进制)正整数,点击“加密”,即得到相应的密文;如图1.1.715所示。
图1.1.715
(7)在主窗口中,点击“解密”,即进入RSA解密窗口;在密文文本框中输入一个小于n的(十进制)正整数,点击“解密”,即得到相应的明文;如图1.1.716所示。
图1.1.716
(四)算法跟踪
点击“算法跟踪”框下的“RSA密钥生成”/“RSA加密”按钮,进入调试器,选择对应的算法函数对RSA密钥生成算法/RSA加密算法进行算法跟踪;跟踪完成后会自动返回实验界面显示计算结果;切换回调试器,停止调试,关闭调试器,不保存工程。
具体步骤可参照古典密码实验中实验步骤二。
二、ElGamal
(一)加解密计算
(1)选择“ElGamal”标签,进入ElGamal实验界面。
(2)选择明文形式,输入明文信息。
(3)参数生成
点击“生成g和P”按钮,生成ElGamal参数p和g,如图1.1.717所示。
图1.1.717
(4)密钥生成
点击“生成密钥”按钮,生成密钥Y和X,如图1.1.718所示。
图1.1.718
(5)加密
点击“加密”按钮,使用公开密钥Y对明文加密,密文以十六进制形式显示在密文文本框中,如图1.1.719所示。
图1.1.719
(6)解密
清除明文文本框中的内容,点击“解密”按钮对密文进行解密,明文默认以十六进制形式显示在明文文本框中,如图1.1.720所示;可选择以文本形式查看明文。
图1.1.720
(二)扩展实验
(1)在扩展实验中点击“ELGAMAL扩展实验”按钮,进入ELGAMAL扩展实验窗体。
(2)在主窗口中,在文本框“群阶q”中输入一个大素数(此处不超过10位十进制),在文本框“生成元g”中输入一个小于q的正整数,并点击“生成元测试”按钮,如图1.1.721所示。
图1.1.721
(3)生成ELGAMAL密码的公钥密码和私钥密码。
在文本框“私钥x”中输入一个正整数,作为私钥密码,点击“确定”按钮,得到ELGAMAL密码的公钥密码和私钥密码,如图1.1.722所示。
图1.1.722
(4)在主窗口中,点击“加密”,即进入ELGAMAL密码的加密窗口;首先在随机数k文本框中输入一个q的正整数,并点击其右边的“确定”按钮;然后在明文M文本框中输入一个小于q的(十进制)正整数,点击“加密”,即得到相应的密文;如图1.1.723所示。
图1.1.723
(5)在主窗口中,点击“解密”,即进入ELGAMAL解密窗口;系统自动将加密窗口中的密文填入了解密窗口中的相应文本框中,点击“解密”按钮,即得到解密后的明文;如图1.1.724所示。
图1.1.724
(三)算法跟踪
点击“算法跟踪”框下的“ElGamal参数生成”/“ElGamal密钥生成”/“ElGamal加密”按钮,进入调试器,选择对应的算法函数对ElGamal参数生成过程、ElGamal密钥生成算法和ElGamal加密算法进行算法跟踪;跟踪完成后会自动返回实验界面显示计算结果;切换回调试器,停止调试,关闭调试器,不保存工程。
具体步骤可参照古典密码实验中实验步骤二。
三、ECC
(一)扩展实验
(1)在扩展实验中点击“ECC扩展实验”按钮,进入ECC扩展实验窗体。
(2)确定合适的椭圆曲线,获取该曲线的基础解点集。
首先,在主窗口的椭圆曲线组合框内的相应文本框中,输入素数p,以及椭圆曲线的2个系数a和b;然后,点击“测试曲线”,得到该椭圆曲线的基础解点集,如图1.1.725所示。
图1.1.725
(3)确定生成元G。
可以用椭圆曲线的序号,也可以用解点的坐标值来确定生成元G(具体值可以参考椭圆曲线中的基础解点集列表框)。
在相应的文本框中输入一个合法的序号值,或者输入一个解点的坐标值;然后,点击“生成元测试”按钮,得到ECC密码的阿贝尔群,如图1.1.726所示。
图1.1.726
(4)生成ECC的公钥和私钥。
在文本框私钥中输入一个小于生成元阶数的正整数,然后点击“确定”按钮,计算数ECC密码的私钥,如图1.1.727所示。
图1.1.727
(5)在主窗口中,点击“加密”,即进入ECC密码的加密窗口;首先在随机数k文本框中输入一个n的正整数;然后在明文M文本框中输入一个小于n的正整数,点击“加密”,即得到相应的密文;如图1.1.728所示。
图1.1.728
(6)点击“发送密文”激活解密动作。
(7)在主窗口中,点击“解密”,即进入ECC解密窗口;系统自动将加密窗口中的密文填入了解密窗口中的相应文本框中,点击“解密”按钮,即得到解密后的明文;如图1.1.729所示。
图1.1.729