【问题标题】:maximum size of string for encrypt in Openssl RSAOpenssl RSA中加密字符串的最大大小
【发布时间】:2017-12-13 15:01:25
【问题描述】:

函数 RSA_public_encrypt 要求保存加密文本的变量的长度应为 RSA_size(*rsa) 字节。 现在,我需要知道要加密的文本有多大,因为如果我加密一个小字符串(例如“asdasd”),没有问题,但如果我尝试使用更大的字符串,它的一部分就是加密.

【问题讨论】:

    标签: c openssl rsa


    【解决方案1】:

    假设您说的是@987654321@,文档中的表述非常清楚:

    对于基于 PKCS #1 v1.5 的填充模式,flen 必须小于 RSA_size(rsa) - 11,对于 RSA_PKCS1_OAEP_PADDING 必须小于 RSA_size(rsa) - 41,对于 RSA_NO_PADDING 必须小于 RSA_size(rsa)。

    请记住,这些是块加密,在一般情况下,您需要将输入拆分为块,并一次将一个块提供给加密函数。

    【讨论】:

    • 非常感谢。只是另一个问题。 RSA_size() 值取决于什么?如果我在 RSA_generate_key(1024, 17, NULL, NULL) 之后调用它;它总是返回 128。为什么?
    • @giozh: 1024 是以位为单位的模数长度; 1024/8 = 128 是模数的字节长度。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-06-26
    • 2014-10-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-20
    • 2014-02-21
    相关资源
    最近更新 更多