0
点赞
收藏
分享

微信扫一扫

公钥加密算法

一ke大白菜 2022-04-21 阅读 60
经验分享

3 公钥加密算法

加密工具使用

  1.   运行RSA-Tool,点击Start按钮,滑动鼠标生成一个随机数。点击Generate生成一对大质数p、q及N=p×q。

  2. 自己选定一个可用的整数e(可使用默认的10001,也可以使用其他的)。点击Calc.D生成d。

    3 将公钥(N,e)发送给小伙伴,小伙伴利用该公钥进行消息加密并发回密文。利用私钥对小伙伴发来的密文进行解密。(可打开两个窗口进行操作,注意按钮不可点击时需要点generate或encript激活test和decript按钮)

 

RSA算法的数学原理

1 调试运行RSA.cpp,选择两个不同的素数。

2根据生成的d和e验证公式d×e ≡ 1 (mod (p-1)(q-1))

3 验证密钥是否有效(加密解密的计算过程和结果是否正确)

17*71=697 17^3=4913

利用RSA-Tool加密消息

  1. 运行RSA-Tool,点击Start按钮,滑动鼠标生成一个随机数。
  2. 点击Generate生成一对大质数p、q及N=p×q。
  3. 自己选定一个可用的整数e。
  4. 点击Calc.D生成d。
  5. 至此创建了一对公钥和私钥。
  6. 将公钥(N,e)发送给小伙伴,小伙伴利用该公钥进行消息加密并发回密文。
  7. 利用私钥对小伙伴发来的密文进行解密。

注:加密时仅需要e和N,解密时仅需要d和N。

利用RSA算法实现对称密钥的安全分配

  1. 小A同学准备一些文字,选择一个密钥利用DES-Tool对文字进行加密得到密文1。

    miwenyi:9152378DB43D33D6

    2 小B同学运行RSA-Tool,生成公钥和私钥,将公钥发送给小A同学,私钥自己留存。

    gong:7B8842C3703D1E283E70E56D64CC0D0477339D6CBA560B65F8E74F27A1C51E51/10001 si:CD710F9778522C954143004BAE16AC8D1F21F56F54285A756AFE4DB0C0CA7B1

    3 小A同学利用小B同学的公钥对加密信件时使用的对称密钥进行加密,得到密文2。将密文1和密文2一同发送给小B同学。

    miwen2: 694DFB1C7ACB8F1B0C2C1853331A72B0D7902778114A74F4786AB0A60643219E miwen1:9152378DB43D33D6

    4 小B同学首先用自己的私钥解密密文2,接着利用解密密文2得到的对称密钥在DES-Tool中解密密文1,得到原始文字内容。

利用RSA算法生成数字签名

1. 小A同学运行Hash-Tool,生成某文件的MD5值。

2C7460AF9C442DCFDC491DB2ADC3B482

2 小A同学利用RSA Tool对生成的MD5值进行私钥加密(反向使用RSA算法,Generate生成密钥后将D和E交换位置,再用test进行加密)。

11949D81C1FB5C1DA92E3A418ACC4A10A022887D6DBE5FA4D9067D1BC8480D12

3小A同学将公钥、文件和加密后的MD5一起发送给小B同学,由小B同学验证数字签名的正确性(软件中先激活test按钮,再填写公钥进行解密)。

举报

相关推荐

0 条评论