公钥加密如何工作[重复]

2023-11-23

我对 RSA 的理解是,Alice 可以创建公钥和私钥组合,然后将公钥发送给 Bob。然后鲍勃可以使用公钥加密某些内容,而爱丽丝将使用公钥和私钥组合来解密它。

但是,Alice 如何加密要发送给 Bob 的内容?鲍勃将如何解密它?我之所以这么问,是因为我很好奇当我登录银行网站时,银行如何向我发送在线报表等数据。我的浏览器如何解密该信息?我没有私钥。


基本上,程序是:

  1. 客户端连接到服务器并请求服务器的证书。该证书包含公钥和有关服务器身份的信息。
  2. 假设客户端对服务器的身份感到满意,它会生成一个随机数P并使用服务器的公钥对其进行加密。
  3. 只有服务器可以解密P(使用它的私钥 - 不与任何人共享)因此当客户端将加密的随机数发送到服务器时,服务器将其解密。
  4. 客户端和服务器端都使用P生成用于对称加密算法的对称密钥,因为只有客户端和服务器知道该值,所以安全P用于生成密钥。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

公钥加密如何工作[重复] 的相关文章

  • java.lang.IllegalArgumentException:字符串 curve25519 不是 OID bouncycastle 1.52

    我正在尝试使用曲线 25519 的 java bouncy castle 1 52 实现生成密钥对 这给了我 java lang IllegalArgumentException 字符串 curve25519 不是 OID 这是我的代码 p
  • 如何使用salsa20计数器随机数?

    我不确定我是否做对了 消息计数器可以用作 代替随机数 我的意思是这样的消息 标头 2 字节 计数器 8字节 正文 n 字节加密 HMAC SHA1 计数器 1 63位 0 可以吗 我知道我不应该两次使用相同的密钥和相同的随机数 当新的连接启
  • 好的斯坦福 Javascript 加密库 (SJCL) 示例? (JS密码学)[关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在寻找一种在 Javascript 中进行客户端加密的方法 保持http www matasano
  • Java 中所有 UTF-8 字符的维吉尼亚密码

    我有一个简单的函数 用于通过 Java 中的 Vigen re 加密字符串 我省略了解密 因为这只是计算新值的行中的 而不是 但此功能仅适用于普通字母 A Z 如何更改该函数以使其支持小写字母以及大写字母和所有其他 UTF 8 字符 pub
  • 将公钥添加到 ~/.ssh/authorized_keys 不会自动登录

    我将公共 SSH 密钥添加到授权密钥 file ssh localhost应该让我登录而不询问密码 我这样做并尝试输入ssh localhost 但它仍然要求我输入密码 我还需要进行其他设置才能使其正常工作吗 我已按照更改权限的说明进行操作
  • RandomNumberGenerator 与 RNGCryptoServiceProvider

    根据 MSDN 文档随机数生成器 http msdn microsoft com en us library system security cryptography randomnumbergenerator 28v VS 71 29 a
  • 使用 Android 实现 Bouncy Castle 密码算法

    我如何使用 Bouncy Castle 提供程序来实现 Serpent 和 Twofish 等算法 因为 Sun 的提供程序根本不实现这些 我知道当多个提供商可以实现相同的算法时 您可以从排名最高的提供商 即 Sun 提供商 获得实现 如果
  • 如何在Python中使用x和y坐标验证ES384 JWT签名

    我有一个 JWT 如下 Authorization Bearer eyJhbGciOiJFUzM4NCIsInR5cCI6IkpXVCIsImtpZCI6IjQ0ODIzZjNkLTBiMDEtNGE2Yy1hODBlLWI5ZDNlOGE
  • gitosis 要求输入密码

    我已经按照以下说明设置了 gitosis 服务器here http scie nti st 2007 11 14 hosting git repositories the easy and secure way 它对于初始用户来说效果很好
  • 许可证密钥模式检测? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 这不是真实情况 请忽略您可能认为适用的法律问题 因为它们并不适用 假设我有一组 200 个已知的有效许可证密钥 用于假设的软件许可算法
  • 在节点上生成 AES 密钥

    我正在处理一个使用自定义协议来加密通信的遗留应用程序 随机 AES 密钥在旧版 Java 应用程序中生成 如下所示 keygen KeyGenerator getInstance AES keygen init 128 keygen gen
  • 无需动态分配的RSA实现

    典型的 RSA 实现包含一个多精度整数库 典型的多精度整数库使用动态分配将大整数表示为大小合适的机器字数组 我预计当使用多精度整数仅使用 RSA 2048 来加密或解密已知长度的消息 通常是对称加密密钥 时 可能会遇到数学整数的限制 并且它
  • 将 webcrypto 密钥导出为 PEM 格式

    我正在将 WebCrypto 与 RSASSA PKCS1 v1 5 结合使用 https github com diafygi webcrypto examples rsassa pkcs1 v1 5 sign https github
  • 获取证书链

    我正在 Java 中使用 X509 证书 给定一个证书 是否可以在签名层次结构中找到所有其他证书 直到找到根证书 我有一个证书文件 带有 cer扩展名 我想提取父签名证书 我想继续查找该证书的父证书 直到获得最终的自签名根证书 我已经检查了
  • 使用 System.Security.Cryptography 将 Win32 Crypto API 调用转换为 C#

    我接到一项任务 要删除我们产品的一个 dll 并将其替换为纯 C 的 dll 旧的 DLL 是 NET 2 0 托管 C C CLI 它包装了对 Win32 本机加密 API 的调用 新的 DLL 应公开具有相同名称和方法的新对象 但应使用
  • 将公钥从其他地方导入到 CngKey?

    我正在寻找一种跨平台的方式来共享 ECDSA 签名的公钥 从性能角度来看 我对 CngKey 和标准 NET 加密库感到非常高兴 但后来我无法弄清楚 33 或 65 字节公钥 使用 secp256r1 P256 如何变成 104 字节由 M
  • PHP服务器端IAB验证openssl_verify总是返回0

    我使用以下函数 服务器端 php 来验证 IAB v3 事务 我从 Android 应用程序传递过来 Override protected void onActivityResult int requestCode int resultCo
  • 我可以在本地使用 RSA 密钥测试身份验证吗?

    有没有办法在本地检查您是否为 RSA 密钥提供了正确的密码 最近 我在将一些提交推送到 github 时遇到了麻烦 因为推送提示输入密码 然后身份验证失败 我验证了 github 具有正确的公钥id rsa文件在我的 ssh目录 并且我验证
  • Android 中的 RSA 加密

    我正在编写一个在 Android 中使用 RSA 的程序 我有以下问题 我正在获取 RSA 密钥 KeyPair kp kpg genKeyPair publicKey kp getPublic privateKey kp getPriva
  • RSACryptoServiceProvider 使用自己的公钥和私钥进行加密和解密

    据我所知 对于非对称加密 您可以使用公钥加密明文并使用私钥解密 所以我尝试了以下方法 static void Main string args RSACryptoServiceProvider rsa new RSACryptoServic

随机推荐

  • 使用 tidyverse;在组内计算值变化之后和之前的值,为每个唯一的转变生成新变量

    我正在寻找一个整洁宇宙 解决方案可以计算唯一值的出现次数TF在团体内 id在数据数据中tbl When TF我想从那一点开始向前和向后计算变化 这个计数应该存储在一个新变量中PM 以便PM 每个独特的转变都包含正负TF 这个问题类似于我之前
  • Apache POI 3.7 OutOfMemoryError:将大量行写入 xlsx 文件时出现 Java 堆空间

    我需要在 xlsx 文件中写入超过 65000 行的结果集 所以 我尝试使用 Apache POI 3 7 我收到 OutOfMemoryError Java 堆空间 除了增加 JVM 内存之外 我该如何解决这个问题 这似乎并不能解决问题
  • 具有一定确定性的 member/2 代码

    我如何编码最后具有确定性的member 2 元素 目前我正在使用 member X X member X Y member X Y 当我查询以下内容时 member X 1 2 X 1 X 2 No 解释器在返回 2 后继续搜索 因为 还剩
  • 从jsp el中的对象获取布尔属性

    我在 jsp 页面上下文中有以下对象的实例 Class User private boolean isAdmin public boolean isAdmin return isAdmin 如何从 EL 查询 isAdmin 属性 这似乎不
  • Python:如何获得两个连续分布的卷积?

    设 X Y 为 2 个随机变量 概率密度函数为 pdf 1 和 pdf 2 Z X Y 然后通过pdf1和pdf2的卷积给出Z的概率密度函数 由于我们无法处理连续分布 因此我们对连续分布进行描述并对其进行处理 为了找到均匀分布和正态分布的卷
  • 如何在 Laravel 中设置本地时区

    有没有办法在 Laravel 中设置本地时区 In 配置 应用程序 php timezone gt UTC 应该添加什么以便上面的时区值使用本地时区 经过一番研究 偶然发现了以下 PHP 处理方式 userTimezone Auth use
  • 指针向量的迭代器未正确取消引用

    这是我的问题 我有一个std vector
  • malloc() 如何导致 SIGSEGV?

    我的程序中有一个奇怪的错误 在我看来 malloc 导致了 SIGSEGV 据我的理解 这没有任何意义 我正在使用一个名为 simclist 的库来动态列表 这是稍后引用的结构体 typedef struct int msgid int s
  • C# 数据库交互简介

    到目前为止 在我的编程生涯 两年 中 我还没有太多的数据库经验 但我现在工作的公司在他们的产品中广泛使用数据库 我感觉落后了 所以我想知道如何最好地开始学习 C 的数据库交互 我读过有关 LINQ to SQL 和 ADO net 的内容
  • 无法加载文件或程序集“System.Web.Mvc”或其依赖项之一

    我在 Windows 2008 Server 上安装了这个新的 MVC 应用程序 当我运行本地主机时收到以下消息 我已经检查了 Bin 文件夹 并且可以确认 Systems Web MVC 在那里 文件的版本是2 0 50217 0 在 w
  • 将构面标签更改为 ggplot2 中的数学公式

    我想知道如何改变facet数学公式的标签ggplot2 d lt ggplot diamonds aes carat price fill density xlim 0 2 stat binhex na rm TRUE opts aspec
  • 未捕获的类型错误:$(...)[index].hide/show 不是函数

    我正在为我的网站创建 jQuery 搜索脚本 但出现以下错误 Uncaught TypeError index hide is not a function search js 9 Uncaught TypeError index show
  • 来自内容脚本的桌面通知

    我试图从内容脚本显示一个简单的桌面通知代码 但它似乎不起作用 我已在 maifest json 文件中添加了权限 从内容脚本中显示它们是否有限制 您无法直接通过内容脚本显示通知 但是你can通过背景页面向他们展示 Your 清单 js应该看
  • 允许 GridView 与 SliverAppBar 重叠

    我正在尝试从早期的材料设计规范中重现以下示例 开放用于动画演示 到目前为止 我已经能够产生滚动效果 但内容的重叠仍然缺失 我不知道如何正确地做到这一点 import package flutter material dart class H
  • ASP.NET MVC 默认路由可通过区域路由访问

    到目前为止 为简洁起见 我在 global asax 中注册了一条路由 如下所示 routes Add new LowercaseRoute action id new MvcRouteHandler Defaults new RouteV
  • 相当于 IE8、IE7 及更早版本浏览器的 div 显示内联块

    这是关于跨浏览器兼容性的一个相当普遍的问题 在设计的各个阶段 我目前正在研究实现我想要的布局和风格 不诉诸使用图像 的唯一方法是使用display inline blockCSS 样式选项 然而 IE8 和其他旧版浏览器不支持这一点 这导致
  • 一个 ViewModel,多个视图

    我很难让多个视图针对 1 个视图模型工作 我读过了多视图支持的命名约定并没有从中得到太多 并且在这个过程中尝试了无数的事情 举一个简单的例子 假设我有一个位于 ShellViewModel 中的 People ViewModel 它基本上包
  • 在 Silverlight 3 中获取运行时程序集

    我目前正在编写一个框架 dll 其中有一个 AssemblyHelper 该帮助程序存储运行时和用户添加的程序集以轻松实例化新对象 该框架的 NET 部分使用 AppDomain MyDomain AppDomain CurrentDoma
  • windows.h 和 MFC

    为什么我不能将 windows h 包含在 afx MFC 项目中 通常 MFC 应用程序代码包括afx h or afxwin h 后者包括前者 前两行windows h are ifndef WINDOWS define WINDOWS
  • 公钥加密如何工作[重复]

    这个问题在这里已经有答案了 我对 RSA 的理解是 Alice 可以创建公钥和私钥组合 然后将公钥发送给 Bob 然后鲍勃可以使用公钥加密某些内容 而爱丽丝将使用公钥和私钥组合来解密它 但是 Alice 如何加密要发送给 Bob 的内容 鲍