如何结合对称加密和非对称加密?

2024-02-27

在谈论非对称加密时,人们经常说,由于某些原因,您不应该对整个消息进行非对称加密,例如性能考虑。

通常建议的工作流程是:

  • 创建对称加密的随机密钥
  • 使用此随机密钥加密消息
  • 使用非对称加密对随机密钥进行加密
  • 将加密消息和加密密钥发送给接收者

到目前为止,一切都很好。

只是两个问题:

  1. 如何组合发送加密消息和加密密钥?有一个标准吗?或者我完全可以自由地知道如何做到这一点? (如果有的话,我更喜欢一个标准)。
  2. 关于如何创建随机密钥有任何最佳实践吗?更具体地说:OpenSSL 中是否有应该用于此目的的特定函数?

  1. 这在评论中得到了回答。我最好建议检查 OpenPGP - 它在某种程度上更容易理解,CMS 具有巨大的 ASN.1 结构过载。
  2. 随机密钥应该是完全随机的字节字符串,从良好的随机源生成。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何结合对称加密和非对称加密? 的相关文章

  • AES_encrypt/AES_decrypt 仅返回消息的一部分[重复]

    这个问题在这里已经有答案了 我不知道为什么下面的代码会返回 Hello native Th 而不是 Hello native This is from jni load n 有人可以提示一下吗 include helloJNI h incl
  • MVC中如何对数据进行加密和解密?

    In my MVC应用我想要encrypt and decrypt数据从视图到控制器的数据传输 如何执行此操作MVC 4 using Razor 您不需要加密从控制器到视图的数据 因为视图渲染发生在控制器正在操作的同一台计算机中 如果您想加
  • TripleDES 密钥大小 - .NET 与 Wikipedia

    根据维基百科 http en wikipedia org wiki Triple DES TripleDES 支持 56 112 和 168 位密钥长度 但 System Cryptography TripleDESCryptoServic
  • Java + OpenPGP 有什么推荐吗?

    我想开发一个小型 OpenPGP 客户端 并且正在寻找 OpenPGP 的 Java 库 对于这种方法有任何 开源 建议吗 Cryptix org http www cryptix org 似乎不再活着了 我找到了充气城堡 http www
  • 将大数字转换为字母(然后再转换回来)

    是否有一个术语来描述将大数字存储为字母的想法 例如 假设我有 相对较小的 数字 138201162401719 并且我想将字符数缩小到尽可能少的字符数 我知道这无助于节省磁盘空间 英文字母表中有 26 个字母 但我将它们算作 25 个 因为
  • 使用种子值生成 AES 密钥

    如何生成具有种子值的 AES 密钥 以便每当我生成具有相同种子值的密钥时 我都能够获得相同的 AES 密钥 我想为我的 Blackberry Pearl 8100 设备生成此密钥 我无法使用 AESKey keyData 生成 AES 密钥
  • 对 Java 安全性和 BouncyCastle API 感到茫然和困惑

    我一直在尝试理解 Java 的 BouncyCastle 加密 API 不幸的是 我发现 Java 密码学总体上被服务提供者接口和术语所掩盖 以至于我无法理解任何东西的实际作用 我已经尝试反复阅读必要的文档 但它仍然难以理解 引入了许多远远
  • Ruby 的 OpenSSL::Random 种子是否足够?

    我对 Ruby 知之甚少 所以如果答案很明显 请原谅我 我注意到在http www ruby doc org stdlib 1 9 3 libdoc securerandom rdoc SecureRandom html http www
  • 如何使用 python 标准库 zipfile 检查 zip 文件是否已加密?

    我正在使用 python 的标准库 zipfile 来测试存档 zf zipfile ZipFile archive name if zf testzip None checksum OK True 我收到这个运行时异常 File pack
  • RabbitMq 和“致命错误:握手失败 -handshake_decode_error”

    我正在使用 Windows Server 2012 Erlang 19 2 和 RabbitMq 3 6 6 我在使用 TLS 配置端点之间的连接时遇到问题 我已经尝试了所有关于 SO 的答案 以及所有 RabbitMq 文档here ht
  • Java - 使用数组中的值的replace()方法正在更改数组值?

    我正在做类似的事情 public static String list a b c d It gives me a NullPointeException if I didn t use static public String encry
  • 从 php 中的 PKCS7 签名中提取证书

    我需要从 pkcs7 签名文件中提取用户证书 我可以使用以下命令通过命令行来完成此操作 openssl pkcs7 in somesign pks7 inform PEM print certs 这将为我提供整个证书链 我可以处理生成的文件
  • Windows 上的 Openssl 错误 0x02001005 和 0x2006D002?

    我正在尝试使用 openssl 将 cer 证书转换为 p12 证书 这是我正在使用的命令 C OpenSSL Win32 bin gt openssl x509 inform der in developer identity cer o
  • SSH IdentitiesOnly=yes 转发我的所有密钥

    我一生都无法弄清楚为什么我的 SSH 配置转发了错误的密钥 我有两把钥匙 我们会打电话给他们home rsa and work rsa 我做了以下事情 eval ssh agent ssh add K ssh home rsa ssh ad
  • 使用 PHP 的 openssl_pkcs7_sign 签署 pdf 时出错

    我正在使用 TCPDF 生成 pdf 文档并对其进行签名 TCPDF 本身只是调用 PHP 的openssl pkcs7 sign函数 在我看来 它正在调用 C 的PKCS7 sign函数基于源代码 https github com php
  • Android - 在sqlite数据库中存储敏感数据

    我需要将敏感数据存储在 Android 应用程序的 sqlite 数据库中 我如何确定这些数据非常安全 我知道我可以使用密钥加密数据 但是我将该密钥存储在哪里 我也不想要求用户填写密钥 我只是希望它能够自行工作 因为我害怕逆向工程 所以我也
  • Delphi AES 库 (Rijndael) 使用 KAT Vectors 进行测试

    对于这两个库 Delphi 加密概要 v 5 2 http code google com p delphidec TurboPower 密码箱 v 2 07 http lockbox seanbdurkin id au tiki list
  • C++ OpenSSL 导出私钥

    到目前为止 我成功地使用了 SSL 但遇到了令人困惑的障碍 我生成了 RSA 密钥对 之前使用 PEM write bio RSAPrivateKey 来导出它们 然而 手册页声称该格式已经过时 实际上它看起来与通常的 PEM 格式不同 相
  • PyCrypto:仅使用文件中的公钥解密(无私钥+公钥)

    大家好 我正在尝试使用 RSA 公钥和私钥以及加密 解密PyCrypto我遇到了一个对我来说似乎有点奇怪的问题 它现在的工作方式可能很有意义 但我对 RSA 非对称加密了解不多 这就是它让我困惑的原因 这是我遇到的无法解密只有公钥的东西 事
  • 使用 openssl 检查服务器安全协议

    我有一个框架应用程序 它根据使用方式连接到不同的服务器 对于 https 连接 使用 openssl 我的问题是 我需要知道我连接的服务器是否使用 SSL 还是 TLS 以便我可以创建正确的 SSL 上下文 目前 如果我使用错误的上下文尝试

随机推荐

  • 为什么mysql无法创建新用户?

    mysql gt select user host from mysql user user host root 127 0 0 1 root 1 debian sys maint localhost developer localhost
  • 使用 QT 读取 Linux/Ubuntu 上的电池状态

    我目前正在使用 qt 开发一个应用程序 目标是运行 ubuntu 14 04 的平板电脑 由于设备上的电池指示器很差 并且应用程序将长时间全屏运行 因此我想在应用程序内显示电池指示器 搜索发现主要是旧结果或对 windows android
  • 找不到元素“context:annotation-config”的声明

    每当我写作时 春天
  • Highcharts,使 y 轴从零开始

    我想这对某些人来说应该是理所当然的 但我在那些可怕的自动生成的文档中找不到它 您应该在图表对象中添加 yAxis 属性min 0这是一个类似的问题 如何设置 Highcharts 图表最大 y 轴值 https stackoverflow
  • 让Git在分支之间保留不同的section内容

    我正在开发一个用户脚本 我的雇主要求我开始通过 Git 进行管理 现在 我有一个稳定文件和一个测试版文件 以便组织中的每个人都可以安装稳定代码 但如果愿意 可以选择帮助测试测试版添加内容 该文件的某些部分应保持不同 内容和更改不应在分支之间
  • 使用 pandoc ruby​​ 将 HTML 和内联 Mathjax 数学转换为 LaTeX

    我正在构建一个Rails应用程序 并且正在寻找一种方法将带有html和内联MathJax数学 TeX 的数据库条目转换为LaTeX以创建pdf 我发现了和我类似的问题 使用 pandoc 将 html mathjax 转换为 Markdow
  • 这个==- JavaScript 运算符是什么?

    当我发现时 我跌跌撞撞地尝试不同的条件 or 在 JS 控制台中 您可以编写 var a 那么以下是正确的 a 但这是错误的 a 然而 如果你说 a or a 那么这是什么俏皮的东西 操作员 他们不是不同的运营商 Writing a 被解析
  • 使用 XAMPP 包在本地显示 php 站点时出现问题。站点在远程服务器上运行良好

    我在 stackoverflow com 上发表的第一篇文章 一个很棒的网站 我希望我的帖子能为他人的利益做出贡献 情况 我受委托翻新一处really小型 现有 php 驱动的网站 于是 我开始搭建我的环境 Dreamweaver 已安装
  • Selenium 使用 Firefox 配置文件

    我尝试在 Windows 10 系统上使用 Selenium Webdriver 和 Python 来实现浏览器操作的一些自动化 但我有这个问题 Selenium 启动的 Firefox 窗口没有 看到 我已经登录 并且目标站点将我发送到登
  • R 闪亮销毁观察事件

    我是 R Shiny 的新手 我正在尝试创建一个带有一些动态生成的按钮的应用程序 每个按钮都有一个与之关联的observeEvent 我想添加一个重置按钮来删除所有observeEvents 我浏览了一些链接 发现 destroy 函数可以
  • ASP.NET MVC3 中的 HtmlHelper 使用 Action 作为模板:Razor 语法?

    首先我要说的是 也许有更好的方法可以做到这一点 而 Razor 正在为我们指明道路 无论如何 我有一个 HTML 帮助器 它充当某种重复器 但在任意次数的重复之后 它会插入一个备用模板 最明显的用途 在 x 个单元格之后开始新行的表格 助手
  • HTML、jQuery:将一个元素的宽度绑定到另一个元素

    我想将第一个元素 foo 的宽度绑定到第二个元素 bar 的宽度 我希望当元素 bar 的宽度更改时 元素 foo 的宽度自动更改 我知道我可以将元素 foo 的宽度设置为元素 bar 的宽度 正如我们在下面的代码中看到的那样 但这是一次性
  • Visual Basic 2008 中的集合初始化语法?

    我试图确定 Visual Basic 2008 如果重要的话 是 Express 版本 中是否有一种方法可以像 JavaScript 或 Python 那样进行内联集合初始化 Dim oMapping As Dictionary Of In
  • 检测和存储 Web 应用程序客户端所在时区的最佳方法是什么?

    我有一个多时区 Web 应用程序 它将所有 UTC 日期时间值存储在数据库中 当服务器上发生操作时 我可以轻松地将时间转换为 UTC 但是 当客户端输入时间或时间跨度时 检测和存储它的最佳方法是什么 我目前正在做以下事情 获取 Date g
  • 程序执行期间Apache-Spark出现超时异常

    我正在 MAC 中运行 Bash 脚本 该脚本多次调用用Scala语言编写的spark方法 我目前正在尝试使用 for 循环调用此 Spark 方法 100 000 次 在运行少量迭代 大约 3000 次迭代 后 代码退出并出现以下异常 o
  • 在 Jenkins 上构建多项目 Gradle

    我有一个在 Mercurial 存储库中托管的 Gradle 多项目 我想以这样的方式设置我的 Jenkins 如果我只将更改提交到 1 个子项目 那么只有该子项目将被构建并发布到我的 Nexus 存储库 有人可以给我提示吗 或者说这完全有
  • Spring MVC(或 Spring Boot)。针对安全相关异常的自定义 JSON 响应,例如 401 Unauthorized 或 403 Forbidden)

    我正在开发 REST 服务 它使用 JSON 并且必须返回一些预定义的 JSON 对象 以防出现问题 默认的 Spring 响应如下所示 timestamp 1512578593776 status 403 error Forbidden
  • 如何从java实例化在scala中定义的嵌套泛型类?

    我试图从 Java 实例化一个嵌套通用 Scala 类并遇到此编译错误 有人可以帮忙吗 谢谢 外部 scala class Outer class Inner A sctest java public class sctest public
  • HTML 标签表到文本字段 - JasperReport

    我有一个使用 html 标记语言或样式的参数输入到文本字段 但是当我放置标签时 它根本不显示 Jaspersoft 支持的 thid 标签 b b u u i i font font
  • 如何结合对称加密和非对称加密?

    在谈论非对称加密时 人们经常说 由于某些原因 您不应该对整个消息进行非对称加密 例如性能考虑 通常建议的工作流程是 创建对称加密的随机密钥 使用此随机密钥加密消息 使用非对称加密对随机密钥进行加密 将加密消息和加密密钥发送给接收者 到目前为