shuszhao 发表于 2018-2-6 13:23:11

RSA算法特点及应用简述

<div style='margin: 0px 0px 10px; padding: 0px; text-align: justify; color: rgb(100, 100, 100); text-transform: none; text-indent: 0px; letter-spacing: normal; font-family: myFont, "Microsoft YaHei"; font-size: 16px; font-style: normal; font-weight: normal; word-spacing: 0px; white-space: normal; word-wrap: break-word; box-sizing: border-box; orphans: 2; widows: 2; background-color: rgb(255, 255, 255); font-variant-ligatures: normal; font-variant-caps: normal; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial;' align="justify" .="MsoNormal"><span style="margin: 0px; padding: 0px; word-wrap: break-word; box-sizing: border-box;" .="mso-spacerun:'yes';font-family:微软雅黑;font-size:12.0000pt;mso-font-kerning:1.0000pt;">加密算法分为对称算法和非对称算法两种,RSA属于应用最为广泛的非对称加密算法。其基本安全原理<span style="margin: 0px; padding: 0px; word-wrap: break-word; box-sizing: border-box;" .="font-family: 微软雅黑; color: rgb(51, 51, 51); letter-spacing: 0pt; font-size: 12pt; background: rgb(255, 255, 255);">是建立在大素数因子<span style="margin: 0px; padding: 0px; word-wrap: break-word; box-sizing: border-box;" .="font-family: 微软雅黑; color: rgb(51, 51, 51); letter-spacing: 0pt; font-size: 12pt; background: rgb(255, 255, 255);">很难<span style="margin: 0px; padding: 0px; word-wrap: break-word; box-sizing: border-box;" .="font-family: 微软雅黑; color: rgb(51, 51, 51); letter-spacing: 0pt; font-size: 12pt; background: rgb(255, 255, 255);">分解的<span style="margin: 0px; padding: 0px; word-wrap: break-word; box-sizing: border-box;" .="font-family: 微软雅黑; color: rgb(51, 51, 51); letter-spacing: 0pt; font-size: 12pt; background: rgb(255, 255, 255);">基础<span style="margin: 0px; padding: 0px; word-wrap: break-word; box-sizing: border-box;" .="font-family: 微软雅黑; color: rgb(51, 51, 51); letter-spacing: 0pt; font-size: 12pt; background: rgb(255, 255, 255);">上,属于分组密码体制。简单的说:知道两个质数,求出它们的乘积,很容易;但知道一个整数,分解成两个质数就很复杂了。<span style="margin: 0px; padding: 0px; word-wrap: break-word; box-sizing: border-box;" .="font-family: 微软雅黑; color: rgb(51, 51, 51); letter-spacing: 0pt; font-size: 12pt; background: rgb(255, 255, 255);"><div style='margin: 0px 0px 10px; padding: 0px; text-align: justify; color: rgb(100, 100, 100); text-transform: none; text-indent: 0px; letter-spacing: normal; font-family: myFont, "Microsoft YaHei"; font-size: 16px; font-style: normal; font-weight: normal; word-spacing: 0px; white-space: normal; word-wrap: break-word; box-sizing: border-box; orphans: 2; widows: 2; background-color: rgb(255, 255, 255); font-variant-ligatures: normal; font-variant-caps: normal; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial;' align="justify" .="MsoNormal"><span style="margin: 0px; padding: 0px; word-wrap: break-word; box-sizing: border-box;" .="font-family: 微软雅黑; color: rgb(51, 51, 51); letter-spacing: 0pt; font-size: 12pt; background: rgb(255, 255, 255);">RSA是非对称加密算法,加密与解密的密钥不同,<span style="margin: 0px; padding: 0px; word-wrap: break-word; box-sizing: border-box;" .="font-family: 微软雅黑; color: rgb(51, 51, 51); letter-spacing: 0pt; font-size: 12pt; background: rgb(255, 255, 255);">有别于<span style="margin: 0px; padding: 0px; word-wrap: break-word; box-sizing: border-box;" .="font-family: 微软雅黑; color: rgb(51, 51, 51); letter-spacing: 0pt; font-size: 12pt; background: rgb(255, 255, 255);">DES<span style="margin: 0px; padding: 0px; word-wrap: break-word; box-sizing: border-box;" .="font-family: 微软雅黑; color: rgb(51, 51, 51); letter-spacing: 0pt; font-size: 12pt; background: rgb(255, 255, 255);">这类对称<span style="margin: 0px; padding: 0px; word-wrap: break-word; box-sizing: border-box;" .="font-family: 微软雅黑; color: rgb(51, 51, 51); letter-spacing: 0pt; font-size: 12pt; background: rgb(255, 255, 255);">算法。RSA主要缺点是产生密钥受到素数产生技术的限制;密钥分组长度较长,运算速度较低。<span style="margin: 0px; padding: 0px; word-wrap: break-word; box-sizing: border-box;" .="font-family: 微软雅黑; color: rgb(51, 51, 51); letter-spacing: 0pt; font-size: 12pt; background: rgb(255, 255, 255);"><div style='margin: 0px 0px 10px; padding: 0px; text-align: justify; color: rgb(100, 100, 100); text-transform: none; text-indent: 0px; letter-spacing: normal; font-family: myFont, "Microsoft YaHei"; font-size: 16px; font-style: normal; font-weight: normal; word-spacing: 0px; white-space: normal; word-wrap: break-word; box-sizing: border-box; orphans: 2; widows: 2; background-color: rgb(255, 255, 255); font-variant-ligatures: normal; font-variant-caps: normal; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial;' align="justify" .="MsoNormal"><span style="margin: 0px; padding: 0px; word-wrap: break-word; box-sizing: border-box;" .="font-family: 微软雅黑; color: rgb(51, 51, 51); letter-spacing: 0pt; font-size: 12pt; background: rgb(255, 255, 255);">RSA算法也分为两种模式,<span style="margin: 0px; padding: 0px; word-wrap: break-word; box-sizing: border-box;" .="mso-spacerun:'yes';font-family:微软雅黑;font-size:12.0000pt;mso-font-kerning:1.0000pt;">ND<span style="margin: 0px; padding: 0px; word-wrap: break-word; box-sizing: border-box;" .="mso-spacerun:'yes';font-family:微软雅黑;font-size:12.0000pt;mso-font-kerning:1.0000pt;">E<span style="margin: 0px; padding: 0px; word-wrap: break-word; box-sizing: border-box;" .="mso-spacerun:'yes';font-family:微软雅黑;font-size:12.0000pt;mso-font-kerning:1.0000pt;">模式<span style="margin: 0px; padding: 0px; word-wrap: break-word; box-sizing: border-box;" .="mso-spacerun:'yes';font-family:微软雅黑;font-size:12.0000pt;mso-font-kerning:1.0000pt;">和<span style="margin: 0px; padding: 0px; word-wrap: break-word; box-sizing: border-box;" .="mso-spacerun:'yes';font-family:微软雅黑;font-size:12.0000pt;mso-font-kerning:1.0000pt;">CRT模式<span style="margin: 0px; padding: 0px; word-wrap: break-word; box-sizing: border-box;" .="mso-spacerun:'yes';font-family:微软雅黑;font-size:12.0000pt;mso-font-kerning:1.0000pt;"><div style='margin: 0px 0px 10px; padding: 0px; text-align: justify; color: rgb(100, 100, 100); text-transform: none; text-indent: 0px; letter-spacing: normal; font-family: myFont, "Microsoft YaHei"; font-size: 16px; font-style: normal; font-weight: normal; word-spacing: 0px; white-space: normal; word-wrap: break-word; box-sizing: border-box; orphans: 2; widows: 2; background-color: rgb(255, 255, 255); font-variant-ligatures: normal; font-variant-caps: normal; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial;' align="justify" .="MsoNormal"><span style="margin: 0px; padding: 0px; word-wrap: break-word; box-sizing: border-box;" .="mso-spacerun:'yes';font-family:微软雅黑;font-size:12.0000pt;mso-font-kerning:1.0000pt;">1、通常使用公钥的运算,速度是比较快的。因为E我们一般选取的都比较小,无论是0x010001还是0x03。<span style="margin: 0px; padding: 0px; word-wrap: break-word; box-sizing: border-box;" .="mso-spacerun:'yes';font-family:微软雅黑;font-size:12.0000pt;mso-font-kerning:1.0000pt;">
<span style="margin: 0px; padding: 0px; word-wrap: break-word; box-sizing: border-box;" .="mso-spacerun:'yes';font-family:微软雅黑;font-size:12.0000pt;mso-font-kerning:1.0000pt;">    2、通常私钥的运算是比较慢的,因为私钥中的D比较大,长度和模长相同,比如1024bit。为了提高私钥运算的速度,才有了CRT模式,所以在加密芯片里,我们都采用CRT模式来做私钥的运算。即便如此,私钥的运算速度还是比公钥的计算要慢一些。<span style="margin: 0px; padding: 0px; word-wrap: break-word; box-sizing: border-box;" .="mso-spacerun:'yes';font-family:微软雅黑;font-size:12.0000pt;mso-font-kerning:1.0000pt;"><div style='margin: 0px 0px 10px; padding: 0px; text-align: justify; color: rgb(100, 100, 100); text-transform: none; text-indent: 0px; letter-spacing: normal; font-family: myFont, "Microsoft YaHei"; font-size: 16px; font-style: normal; font-weight: normal; word-spacing: 0px; white-space: normal; word-wrap: break-word; box-sizing: border-box; orphans: 2; widows: 2; background-color: rgb(255, 255, 255); font-variant-ligatures: normal; font-variant-caps: normal; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial;' align="justify" .="MsoNormal"><span style="margin: 0px; padding: 0px; word-wrap: break-word; box-sizing: border-box;" .="mso-spacerun:'yes';font-family:微软雅黑;font-size:12.0000pt;mso-font-kerning:1.0000pt;">RSA应用模式一般有私钥签名和公钥验签。简易的流程图可以参考下图:<span style="margin: 0px; padding: 0px; word-wrap: break-word; box-sizing: border-box;" .="mso-spacerun:'yes';font-family:微软雅黑;font-size:12.0000pt;mso-font-kerning:1.0000pt;"><div style='margin: 0px 0px 10px; padding: 0px; text-align: justify; color: rgb(100, 100, 100); text-transform: none; text-indent: 0px; letter-spacing: normal; font-family: myFont, "Microsoft YaHei"; font-size: 16px; font-style: normal; font-weight: normal; word-spacing: 0px; white-space: normal; word-wrap: break-word; box-sizing: border-box; orphans: 2; widows: 2; background-color: rgb(255, 255, 255); font-variant-ligatures: normal; font-variant-caps: normal; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial;' align="justify" .="MsoNormal">https://www.mianbaoban.cn/data/attachment/album/201802/06/102336s10khooandvdorar.pnghttps://www.mianbaoban.cn/data/attachment/album/201802/06/102341xt6j0jnz3zfx22nj.png<div style='margin: 0px 0px 10px; padding: 0px; text-align: justify; color: rgb(100, 100, 100); text-transform: none; text-indent: 0px; letter-spacing: normal; font-family: myFont, "Microsoft YaHei"; font-size: 16px; font-style: normal; font-weight: normal; word-spacing: 0px; white-space: normal; word-wrap: break-word; box-sizing: border-box; orphans: 2; widows: 2; background-color: rgb(255, 255, 255); font-variant-ligatures: normal; font-variant-caps: normal; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial;' align="justify" .="MsoNormal"><span style="margin: 0px; padding: 0px; word-wrap: break-word; box-sizing: border-box;" .="mso-spacerun:'yes';font-family:微软雅黑;font-size:12.0000pt;mso-font-kerning:1.0000pt;">LKT系列等加密芯片支持RSA1024、RSA2048和国际上通用的对称和非对称算法,开发的技术人员不要错过。

wpc 发表于 2018-2-11 10:02:00

h09721 发表于 2018-2-14 11:38:23

h09721 发表于 2018-2-28 08:49:49

tiny2010 发表于 2020-4-7 08:52:02

tiny2010 发表于 2020-8-21 08:41:55

至芯陈老师 发表于 2020-8-25 17:32:24

页: [1]
查看完整版本: RSA算法特点及应用简述