zoukankan      html  css  js  c++  java
  • RSA——长度问题

    1、密钥长度

    RSA密钥对包含公钥(模数、公钥指数),私钥(模数、私钥指数)

    RSA密钥长度指的是模数的位数,如2048位RSA密钥指的是模数为2048比特的RSA密钥对,常规选值为:1024、2048、4096等。

    2、明文长度

    一次RSA加密对明文长度是有限制,实际上,RSA算法本身要求加密内容也就是明文长度m必须0<m<n(模数)

    如果要加密一个长度大于模数的明文块,就需要对明文进行分块以满足要求。

    对长度小于模数的明文进行加密,则需要进行填充,一般使用的padding标准有NoPadding、OAEPPadding、PKCS1Padding等

    3、密文长度

    密文长度就是对给定符合条件的明文加密出来的结果位长,这个是可以确定的,加密后的密文长度跟密钥长度是相同的,也就是模数的长度

    加密:

    RSA算法也是一个块加密算法( block cipher algorithm),总是在一个固定长度的块上进行操作。一次RSA加密能处理的明文长度是受RSA填充模式限制的,但是RSA每次加密的块长度就是key length。

    由于有填充,对同样的数据,用同样的密钥进行RSA加密, 每次的输出都会不一样, 但是这些加密的结果都能正确的解密。

  • 相关阅读:
    一个简单的php站点配置
    nginx基本配置
    redis命令大全
    while()
    遍历字符串
    带空格的字符串逆转(简洁版)
    Java Swing 介绍
    java键盘输入
    做一个完整的Java Web项目需要掌握的技能
    biu
  • 原文地址:https://www.cnblogs.com/caidi/p/14794952.html
Copyright © 2011-2022 走看看