gpt4 book ai didi

java - 获取 RSA 密码的 block 大小

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:43:32 25 4
gpt4 key购买 nike

我已经使用 RSA 算法创建了一个 Cipher,但是当我想要使用 block 大小时我遇到了问题。 Cipher 使用以下代码段声明:

        encrypt=Cipher.getInstance("RSA");
encrypt.init(Cipher.ENCRYPT_MODE,myPublicKey);

当我尝试使用 encrypt.getBlockSize() 获取 block 大小时,我得到“0”,根据 Javadoc,这是所使用的算法不是 block 密码时的答案,RSA 算法不是这种情况。

在 Debug模式下,如果我深入研究Cipher,我可以在“spi”成员中看到一个缓冲区存在,而且它的大小似乎与实际 block 大小相对应。

有人知道为什么 getBlockSize() 返回“0”而不是 spi 的缓冲区大小吗?

最佳答案

RSA 不被视为分组密码。 block 密码是对称的,使用相同的 key 进行加密和解密。与 AES 不同,无论 key 大小如何, block 大小都是固定的,RSA 加密或签名操作的输出将根据 key 大小而变化。

如果你想知道RSA密文的大小,examine the modulus要使用的 key 。

关于java - 获取 RSA 密码的 block 大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37119569/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com