开发者社区 问答 正文

RSA解密错误问题,怎么解决

RSA解密错误问题,怎么解决

展开
收起
知与谁同 2018-07-20 13:34:21 2995 分享 版权
1 条回答
写回答
取消 提交回答
  • RSA解密错误,可能是数据填充方面的问题。

    RSA是一种块加密的算法,所以对于明文需要将他们分成固定的块长度,考虑到输入的数据长度的问题,所以加解密的填充有好几种:

    1无填充,就是直接对明文进行加密

    2 PKCS1。将数据长度分成密钥长度-11byte,比如密钥是1024bit,那么长度就是1024/8-11=117bytes,具体的格式:先填0,2,然后随机生成其他的byte,后面才是真正的数据

    3 PKCS1_OAEP将数据长度分成密钥长度-41byte,比如密钥是1024bit,那么长度就是1024/8-41=77bytes,先填0,随机或者是固定的测试向量加20个bytes,然后加20个数字签名的数据,最后才是数据

    4 SSLV23,将数据长度分成密钥长度-11byte,比如密钥是1024bit,那么长度就是1024/8-11=117bytes,具体的格式:先填0,2,填入8个3,填入一个'\0',最后才是真正的数据。
    2019-07-17 22:56:37
    赞同 展开评论
问答地址: