问题标签 [encryption-asymmetric]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
performance - pki 与对称加密的性能差异是什么?
我们希望对我们的项目进行一些严格的安全要求,并且我们需要进行大量高性能的加密。
我认为我知道 PKI 比对称加密要慢得多且复杂得多,但我找不到支持我感觉的数字。
ruby - 从 Ruby 打开 RSA 私钥
我想我知道如何创建自定义加密的 RSA 密钥,但是如何读取像 ssh-keygen 那样加密的密钥呢?
我知道我可以这样做:
但是后来 OpenSSL 要求我输入密码......我怎样才能将它作为参数传递给 OpenSSL?
而且,我怎样才能创建一个与 ssh-keygen 生成的兼容的?
我做这样的事情来创建私人加密密钥:
此外,由 OpenSSL::PKey::RSA.new(1024) 生成的密钥(未加密)在我尝试无密码登录时不起作用(即,我将公钥复制到服务器并使用私钥登录)。
此外,当我通过 OpenSSL 打开一个 ssh-keygen 文件然后检查其内容时,它似乎在密钥的开头和结尾有其他字符。这是正常的吗?
我不太了解其中的一些安全知识,但我正在努力学习。我做错了什么?
keystore - 信任库和密钥库定义
密钥库和信任库有什么区别?
java - 任何关于java中公钥加密的教程?
我已经能够找到关于对称加密和散列的信息,但是我在查找关于 java 的任何类型的公钥加密的大量信息时遇到了很多麻烦。我想做的是制作一个非常简单的概念证明程序,它接受一个字符串(或者我想是一个文件),用公钥对其进行加密,然后用私钥对其进行解密。
任何教程链接或示例将不胜感激。我只想制作一些东西来演示如何在 Java 中使用公钥加密。
security - 好的,所以我已经加密了我的数据现在我在哪里隐藏密钥?
我有一个包含敏感信息的数据库。我可以对读写操作中的数据进行加密/解密。问题是我需要将密钥存储在应用程序中。如果有人入侵了他们可以访问数据库的方式,那么他们还可以获取应用程序(java)对其进行反编译并提取密钥。
这似乎充其量只是一个减速带。还有哪些其他解决方案可用?
encryption - 使用多个密钥进行加密/解密
是否可以加密数据,以便可以使用多个不同的密钥对其进行解密?
例子:
我已经使用密钥 1 加密了数据,但我希望能够使用密钥 2、3 和 4 进行解密。
这可能吗?
.net - 给定一个私钥,是否可以推导出它的公钥?
从我通过阅读各种材料了解到的任何一点点来看,公私钥对是非对称加密的基础,也是选择 2 个素数(大致是您的私钥)并将它们相乘(大致是您的公钥)的基础。在我看来,如果您知道私钥,则可以生成公钥。这是正确的还是我弄错了什么?
让我更困惑的是,仅使用私钥(使用 .NET 类 RSACryptoServiceProvider)无法将 RSA 密钥序列化为 XML 。不确定此限制是否是故意的!
xml - X509证书加密/解密
我刚刚开始学习 XML 安全性。我们有 VS-2005 和 ASP.Net 2.0。我想将 XML 发送到外部 URL,并且需要对其进行加密。我正在做 MSDN 文章ms229744和ms229943正在做的事情,但是在执行 DecryptDocument() 方法时,我不断收到“无法检索解密密钥”。我正在使用我们的 SSL 网络证书,我目前使用 X509Certificate 对 XML 进行数字签名,它工作正常。
我还要求其他人从不同的商店尝试这个,他们得到了同样的错误。X509 解密方法是否存在记录在案的问题?在下面的测试代码中,我将 XML 发布到另一个试图解密 XML 的网页。我不明白的是,如果 DecryptDocument() 方法甚至不检查是否嵌入了公钥,它是如何工作的。这是问题吗?如果是这样,我如何检查以确保它嵌入在 XML 中?任何帮助表示赞赏。谢谢!
J.P
ssl - 对称加密密钥与非对称密钥 - ssl
我正在开发一个使用 ssl (openssl) 在客户端和服务器之间建立安全通信通道的客户端服务器应用程序。我相信我现在有两种选择可以在客户端和服务器之间进行安全数据传输。一种选择是继续在客户端和服务器之间建立的安全 ssl 通道上进行数据传输,即使由于使用非对称密钥,加密/解密过程会很慢。另一种选择是在 ssl 通道上传输对称密钥,并在对称密钥交付给客户端后关闭 ssl 通道。此后的通信将使用对称密钥在常规 TCP 通道上进行,我相信这将比使用非对称密钥快得多。这种方法有什么缺点吗?对称密钥方法显而易见的一件事是密钥管理过程,我正在考虑通过根本不将密钥存储在客户端上来处理它。对称密钥将在启动时通过 SSL 通道传递给客户端。密钥根本不会存储在客户端中。有什么想法吗?
cryptography - 是否应该为此任务使用加密消息语法 (CMS)?
我的任务是在桌面应用程序和移动设备之间传输小的二进制消息(1 或 2 kb 长)。消息应该非对称加密(例如 RSA)。据我所知,应该使用混合密码系统来完成此类任务:
- 生成随机对称密钥
- 使用对称密钥加密纯文本(例如使用 AES)
- 用公钥加密对称密钥
- 传输密文和加密的对称密钥
我不想发明一种自己的格式来存储密文和加密的对称密钥。所以我偶然发现了 CMS 标准(加密消息语法)。乍一看,它看起来完全符合我的需要。如果我正确理解标准,它会嵌入密文和加密的对称密钥以及有关所用算法的信息。
谁能说是否应该使用 CMS 标准来完成概述的任务?OpenSSL 的 CMS 支持是否足以满足我的需求?
干杯,基督徒