rsa相关内容
我想使用 RSA_PKCS_V21(使用 PolarSSL 库)加密一些明文.问题是我需要在执行算法之前知道密文的大小(用于动态内存分配目的).我知道 RSA 密钥大小和明文长度. 我也想知道输入明文长度的限制. 有什么想法吗? 解决方案 只需检查 RSA PKCS#1 v2.1 标准,第 7.2 章: RSAES-PKCS1-V1_5-ENCRYPT ((n, e), M)
..
通常,用户将拥有 PEM 编码的 RSA 私钥.Crypto++ 要求这些密钥为 DER 格式才能加载.我一直在要求人们事先使用 openssl 手动将他们的 PEM 文件转换为 DER,如下所示: openssl pkcs8 -in in_file.pem -out out_file.der -topk8 -nocrypt -outform der 这很好,但有些人不明白如何做,也不想这样做
..
我正在做一个简单的程序来使用 Java 中的 RSA 算法进行加密/解密.我创建一个密码对象如下: //创建一个Cipher对象密码 rsaCipher = Cipher.getInstance("RSA/ECB/NoPadding"); 我通过调用 encrypt 函数进行加密: String cipher=encrypt(textByte, pair, rsaCipher);System
..
这是个例外 线程“主"java.security.NoSuchAlgorithmException 中的异常:RSA 签名不可用在 java.security.Signature.getInstance(Signature.java:229)在 MailClient.main(MailClient.java:52) 这是我的代码 import java.io.*;导入java.net.*
..
我正在编写一个程序,它接受来自控制台的输入 - zip 文件的名称、要制作的 zip 文件的名称,其中包含从第一个 zip 生成的(de/en)加密文件和一个包含公钥.解密时出现异常: 线程“main"中的异常 java.security.spec.InvalidKeySpecException: java.security.InvalidKeyException: IOException :
..
我们能否将多个公钥与单个私钥关联以进行 RSA 公钥加密? 解决方案 在实践中,就安全性而言,不,从数学上讲,是的.如果你有一个私钥 (N, D),那么等式 1 = E*D (mod Phi(N)) 的代数解就有无数个.但是,如果您将两个这样的解决方案 (E, N) 和 (E', N) 都满足等式公开,那么您将破坏私钥的保密性. 然而,给定一种常用的非对称方案,您可以轻松创建这样的方
..
我得到了一个 Base64 编码的加密字符串,它是在 Java 中使用 Bouncy Castle 加密的.下面的示例 Java 代码段: Cipher cipher = Cipher.getInstance("RSA/ECB/PKCS1Padding");cipher.init(Cipher.ENCRYPT_MODE, key.getPublic());byte[] encryptedText
..
我对 RSA 的了解是,Alice 可以创建一个公钥和一个私钥组合,然后将公钥发送给 Bob.然后 Bob 可以使用公钥加密某些东西,Alice 将使用公钥和私钥组合来解密它. 但是,Alice 如何加密要发送给 Bob 的东西?Bob 将如何解密它?我问是因为我很好奇当我登录我的银行网站时,我的银行如何向我发送我的在线报表等数据.我的浏览器如何解密这些信息?我没有私钥. 解决方案
..
我想知道是否可以恢复我之前转换为字节数组的 RSA 公钥. byte[] keyBytes = publicKey.getEncoded(); 感谢您的帮助. 解决方案 PublicKey publicKey =KeyFactory.getInstance("RSA").generatePublic(new X509EncodedKeySpec(bytes)); 有关详细信息请参阅本
..
我在 Crypto++ 中创建了 DER 编码的 RSA 密钥对以及密码.它们是 Base64Encoded 字符串.我首先将数据从 Base64 解码为字节数组,但我不确定如何将它们加载到 RSACryptoServiceProvider. static void Main(){字符串 pbkeystr = "mypublickey";字符串 pvkeystr = "我的私钥";字符串 cip
..
我有一个导出的 RSAParameters 私钥,我想将它导入另一台机器.我可以将 new 密钥保存到本地计算机或用户容器中,但我无法尝试导入 现有 密钥. 下面的代码将生成一个新的密钥对,我知道我可以直接在容器中生成一个新密钥 - 但我希望能够生成一个密钥并将同一个密钥导入到少数不同的计算机中. 如何获取 RSAParameters 或 XML 字符串(任一)并将其导入本地用户(或机
..
使用 C# 我无法导入指数为 {1, 0, 0, 0, 15} 的公共 RSA 密钥:有一个例外: System.Security.Cryptography.CryptographicException 被捕获H结果=-2146893819消息=错误数据.源=mscorlib堆栈跟踪:在 System.Security.Cryptography.CryptographicException.Th
..
我有一个 java.security.interfaces.RSAPrivateKey 和对应的 java.security.interfaces.RSAPublicKey 包含(仅)模数、私有指数和公共指数. 如果我对 RSA 的理解正确,应该可以恢复 java.security.interfaces.RSAPrivateCrtKey 的数字(用于 CRT 密钥). 如果是这样,我该
..
P 和 Q 的值与 .Net RSAParameters 的模量值不匹配.根据 RSA 算法和 MSDN 文档,它应该是:P * Q = Modulus 我生成了一个 512 位 RSA 密钥对并通过调用将其导出为 XML: RSACryptoServiceProvider rsa = new RSACryptoServiceProvider(512);rsa.ToXmlString(tr
..
首先,我仅出于学术目的编写以下代码.我之所以这么说是因为我没有把它放在生产环境中,因此我“绕过"了一些我需要做的开销,我只需要能够使用加密/解密字符串下面的代码.有几次我能够做到这一点,但由于某种原因,我开始收到“CryptographicException Bad Data"并且不确定是什么导致了问题. 私有字符串 RSAEncrypt(字符串值){byte[] encryptedData
..
加密时,RSACryptoServiceProvider(或 .NET 提供的任何其他 RSA 加密器)是否可以使用 SHA256 而不是 SHA1? SHA1 似乎是硬编码的,无法更改.例如,RSACryptoServiceProvider.SignatureAlgorithm 被硬编码为返回“http://www.w3.org/2000/09/xmldsig#rsa-sha1".
..
据我了解,RSA 密钥通常是基于(强)随机生成器生成的. 相反,我想根据密码创建它们. 或者更确切地说是在其哈希上,例如 sha512(sha512(password+salt)+password+pepper) 这需要在客户端用 JavaScript 完成. 有人知道怎么做吗?是否有一个简单的 JavaScript 库可以根据给定的输入确定性地创建 RSA 密钥对?
..
我知道我可能得到的主要答案是你为什么要这么做?! 不幸的是,尽管我提出了抗议,但我还是不得不这样做,尽管我知道这毫无意义. 我有用 .Net 编写的函数,可以使用私钥解密,使用公钥加密.我还进行了 RSA 签名和验证,并且对我认为这一切是如何工作的有一个合理的理解. 我现在收到一个使用私钥进行 RSA 加密的值,我应该通过使用公钥解密来导出可用值. 我似乎无法弄清楚如何做到
..
我需要在 C# 中加密数据才能将其传递给 Java.Java 代码属于第 3 方,但我已获得相关来源,因此我决定由于 Java 使用 Bouncy Castle 库,我将使用 C# 端口. 解密工作正常.但是,只有当我使用私钥而不是公钥进行加密时,解密才有效.使用公钥时,解密失败,unknown block type. 显然 RsaEncryptWithPrivate 内部的加密在加密
..
我想知道 RSA 签名对于数据是否是唯一的. 假设我有一个“hello"字符串.计算 RSA 签名的方法是首先获取 sha1 摘要(我知道,这些是 unqiue 数据),然后添加一个带有 OID 和填充方案的标头,并做一些数学调整来给出签名. 现在假设 padding 相同,openSSL 或 Bouncy Castle 生成的签名是否相同? 如果是,我唯一担心的是,找回“文本"
..