- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
非对称算法rsa
RSA加解密:公钥加密,私钥解密
导入RSA
/*
// prototype: WORD saLoadRsaPubKey(INWORD wKeyIndex, INWORD wRsaBits, IN
BYTE *pbModulus, IN DWORD dwPubExp);
// parameters:
// wKeyIndex: 密钥索引
// wRsaBits: Rsa位数
//512,640,960,1024,1048,1096,1120,1152,1280,1408,1440,1480,1520,
// 1904,1976,1984,2048.
// pbModulus:公钥模数
// dwPubExp:公钥指数
// return value:
// ERR_SUCCESS:
// 其他值:错误码
// remarks: 导入RSA公钥
// 本函数需支持如下的RSA位数:
// 512,640,960,1024,1048,1096,1120,1152,1280,1408,1440,1480,1520,
// 1904,1976,1984,2048.
*/
RAS 加密
/*
// prototype: WORD saRsaEncrypt(IN WORD wRsaBits, IN BYTE *pbModulus, IN
DWORD dwPubExp, IN BYTE *pbData,
// IN WORD wDataLen, OUT BYTE *pbOut, OUT WORD *pwOutLen, IN BYTE
bPaddingMode);
// parameters:
// wRsaBits: RSA位数.
// pbModulus: RSA公钥模数.
// dwPubExp: RSA公钥指数.
// pbData: 原文.
// wDataLen: 原文长度. :注:需要和公钥模数字节一样,数值不能比模数大
// pbOut: 密文, 函数成功返回时,密文长度等于RSA模长.
// pwOutLen: 输出数据长度.
// bPaddingMode: 填充模式.
// RSA_PADDING_MODE_RAW: RAW模式,不带填充;
// RSA_PADDING_MODE_PKCS_V15: 按照PKCS#1 V1.5规范填充;
// return value:
// ERR_SUCCESS: 成功
// 其它值: 错误码
// remarks: RSA公钥加密.
*/
RAS 解密
/*
// prototype: WORD saRsaDecrypt(INWORD wRsaBits, INBYTE *pbP, INBYTE *pbQ, INBYTE
*pbDP, IN BYTE *pbDQ, IN BYTE *pbQinv,
// IN BYTE *pbData, IN WORD wDataLen, OUT BYTE *pbOut, OUT WORD *pwOutLen, IN BYTE
bPaddingMode);
// parameters:
// wRsaBits: RSA位数.
// pbP: RSA私钥P;
// pbQ: RSA私钥Q;
// pbDP: RSA私钥DP;
// pbDQ: RSA私钥DQ;
// pbQinv: RSA私钥Qinv;
// pbData: 待解密的数据内容.
// wDataLen: 数据长度,该值必须等于RSA密钥中模数的长度.
// pbOut: 解密结果.
// pwOutLen: 返回解密结果的长度.
// bPaddingMode: 填充模式.
// RSA_PADDING_MODE_RAW: RAW模式,不带填充;
// RSA_PADDING_MODE_PKCS_V15: 按照PKCS#1 V1.5规范填充;
// return value:
// ERR_SUCCESS: 成功
// 其它值: 错误码
// remarks: RSA私钥解密. 密钥及数据中, 都是高字节在前,低字节在后.
*/
非对称算法-数字签名算法-RSA
就是只有信息的发送者才能产生的别人无法伪造的一段数字串,这段数字
串同时也是对信息的发送者发送信息真实性的一个有效证明。一般是非对
称密钥加密技术与数字摘要技术的结合应用。
RSA,这个巨NB算法的实现方式,使其既可以用于签名也可以用于加密
(密钥交换)。除了将公钥与密钥的地位交换一下之外,其它步骤几乎是完
全一样的。发送方用自己的私钥对消息的摘要值进行 “加
文档评论(0)