zoukankan      html  css  js  c++  java
  • RSA 加密长度计算公式

    The length of data that can be encrypted using RSA is determined primarily by the size of the key you're using. You appear to be using OAEP, so the maximum length is:

    keyLength - 2 - 2 * hashLength
    

    Where keyLength is the length of the RSA modulus in bytes. You're using a 1024 bit key so:

    keyLength = 1024 / 8 = 128
    

    And since you're using OAEP with SHA-1

    hashLength = 20
    

    So the maximum you can encrypt is:

    128 - 2 - 2 * 20 = 86
    

    Which is exactly what your example shows.

    To encrypt more data, you could use a larger RSA key, but RSA really shouldn't be used for encrypting large amounts of data, so is usually used as part of a hybrid cryptosystem where RSA is instead used to encrypt a randomly generated key for a symmetric algorithm like AES, and then the symmetric algorithm is used to encrypt the actual data so avoiding the length limits associated with RSA.

  • 相关阅读:
    小D课堂
    小D课堂
    小D课堂
    小D课堂
    小D课堂
    小D课堂
    小D课堂
    小D课堂
    小D课堂
    小D课堂
  • 原文地址:https://www.cnblogs.com/seer/p/4048194.html
Copyright © 2011-2022 走看看