给定一个私钥,是否可以推导出它的公钥?

2024-01-21

根据我通过阅读各种材料所了解的一点点,公钥-私钥对是非对称加密的基础,也是选择 2 个素数(大致是您的私钥)并将它们相乘(大致是您的公钥)的基础。在我看来,如果您知道私钥,就可以生成公钥。这是正确的还是我弄错了什么?

让我更困惑的是,不可能将 RSA 密钥序列化为 XMLonly私钥(使用.NET 类 RSACryptoServiceProvider)。不知道这个限制是有意还是无意!


在大多数非对称加密系统实现中,唯一可以保证的事实是您无法从公钥中找到私钥。相反,在大多数情况下,从私钥中找到公钥是微不足道的。

例如,在 RSA 中,您可以使用以下命令从私钥创建公钥:

openssl rsa -in private.pem -pubout -out public.pem

令人误解的是术语:“私钥”指的是两个不同的概念,无论您是在谈论理论,还是在谈论实际实现:

  • The 理论的私钥是情侣(d, n)与 具有完美的对称(数学)关系(e, n)。如果您比较它们,则无法从其中一个计算出另一个。
  • The 实际的私钥(例如在 openssl 实现中),指的是包含以下内容的文件(d, n)还有几个用于解码速度目的的重要中间值。除此之外,理论上公钥的“未知”部分e通常按照约定固定为共同值(即0x10001默认情况下,在 openssl 中,尽管可以更改,但强烈建议仅坚持非常具体的价值观 https://security.stackexchange.com/questions/2335/should-rsa-public-exponent-be-only-in-3-5-17-257-or-65537-due-to-security-c)。所以推导出公钥(e, n)由于不止一个原因,从私钥中获取数据是微不足道的。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

给定一个私钥,是否可以推导出它的公钥? 的相关文章

  • 获取控制器视图上的列表数据

    我有一个视图 其中我在循环中渲染了部分视图 有一个列表 部分视图与列表中的每个项目绑定 输入值后 我没有在控制器上获取列表的值 这是我的观点 table class table width 100 border 0 thead tr sty
  • openssl_decrypt 标签值

    我在网站中使用 openssl encrypt decrypt 方法 但在使用 tag 选项时遇到了一些问题 openssl encrypt data method key options iv tag openssl decrypt da
  • URL 中的点 (.) 字符错误

    当我点击编辑具有此 url 的用户时遇到问题ASP NET MVC 3项目 http domain com 8089 User EditUser username surname IDUser e11a621p df11 4687 9903
  • 如何使用 Watin IE 处理 Windows 安全警报对话框

    我正在尝试使用 WatIN IE 实现网站自动化 由于该网站在几次请求后禁止该IP 因此 当IP被禁止时 我设置一个bool ipbanned true 在这种情况下 我想更改IP SetProxy 方法成功更改了 IP 地址和端口 但在下
  • 如何从 DataGridView 数据单元格获取按键、按键事件

    我需要在单元格编辑期间接收按键事件DataGridView控制 从我在网上查到的DataGridView旨在传递所有关键事件DataGridView到单元格编辑控件 您无法轻松获取这些事件 我找到了这个一段代码 http www codep
  • 数据结构的优化存储以实现快速查找和持久化

    Scenario 我有以下方法 public void AddItemSecurity int itemId int userIds public int GetValidItemIds int userId 最初我正在考虑表单上的存储 i
  • 在 Visual Studio 2012 Express 上通过 Nuget 的 NUnit.Runners 不起作用

    我正在尝试使用 NuGet 管理器在 Visual Studio 2012 Express 中设置简单的 NUnit 项目 从 PROJECT gt Manage NuGet Packages 我安装了 NUnit 框架 并想要添加 NUn
  • .NET:SqlDataReader.Close 或 .Dispose 导致超时过期异常

    当尝试在 SqlDataReader 上调用 Close 或 Dispose 时 我收到超时过期异常 如果您有到 SQL Server 的 DbConnection 您可以使用以下命令自行重现它 String CRLF r n String
  • Parallel.ForEach - 优雅取消

    关于等待任务完成和线程同步的主题 我目前有一个迭代 我已将其包含在 Parallel ForEach 中 在下面的示例中 我在评论中提出了一些关于如何最好地处理循环的优雅终止的问题 NET 4 0 private void myFuncti
  • Ajax 函数在重定向后不保存滚动位置

    正如标题所述 我编写了一个 ajax 函数 该函数应该滚动到用户在重定向之前所在的位置 我写了一个alert对于测试场景 它确实触发了 但滚动不断回到顶部 我在这里做错了什么 JavaScript ajax type GET url Adm
  • Silverlight 4 PLINQ

    我有一个非常简单的问题 是否可以将 PLINQ 与 Silverlight 4 一起使用 因为它似乎不存在于最常引用的程序集中 它不受支持 但您可以在这里投票 http dotnet uservoice com forums 4325 si
  • 使用 2 个不同的哈希函数是检查文件完整性的好方法吗?

    我有一个网站 用户可以上传他们的文件 它们存储在服务器上 其元数据记录在数据库中 我正在实施一些简单的完整性检查 即 该文件的内容现在逐字节与上传时是否相同 示例 对于内容userfile jpg MD5 哈希为39f9031a154dc7
  • 立即检测客户端与服务器套接字的断开连接

    如何检测客户端已与服务器断开连接 我的代码中有以下代码AcceptCallBack method static Socket handler null public static void AcceptCallback IAsyncResu
  • 当客户端连接到“localhost”上的服务时,为什么 System.Net.ServicePoint.ConnectionLimit 使用“7FFFFFFF”(Int32.MaxValue/2147483647)?

    为什么使用 System Net ServicePoint ConnectionLimit 7FFFFFFF Int32 MaxValue 2147483647 当客户端连接到服务时 本地主机 而如果服务在远程计算机上运行 它决定使用 2
  • 命名空间“System.Runtime”中不存在类型或命名空间名称“Caching”

    我知道通常有一个简单的解决方案 即在添加引用中引用 dll 但我已经添加了引用 并且 system runtime caching 出现在我的引用列表中 但错误仍然显示 该错误在运行时显示在浏览器中 因此可以编译 我已删除并重新添加了引用
  • 使用AOP技术拦截ADO.Net

    我有相当大的代码库 使用各种不同的 ADO 技术 即一些 EF 在某些情况下直接使用 ADO Net 我想知道是否有任何方法可以全局拦截任何 ADO Net 调用 以便我可以开始审核信息 例如执行的确切 SQL 语句 花费的时间 返回的结果
  • 使用 TCP 套接字在本地代理视频

    我一直对向媒体浏览器添加对视频播客的支持非常感兴趣 我希望用户能够浏览可用的视频播客并从互联网上流式传输它们 这真的很容易 因为媒体播放器等将愉快地播放存在于云中的文件 问题是我想在本地缓存这些文件 因此同一集的后续观看将不涉及流式传输 而
  • 线程独占数据:如何存储和访问?

    NET 中是否有可能将对象实例绑定到线程的当前执行上下文 这样在代码的任何部分我都可以做类似的事情CurrentThread MyObjectData DoOperation 并确保我访问特定于线程的数据 谢谢 你可以看一下线程静态属性 h
  • 带有嵌入 Flash 视频的 PDF 示例?

    有谁知道我在哪里可以查看嵌入 Flash 视频的 PDF 示例 我知道问这个问题很愚蠢 因为你会认为任何面向技术的用户都应该能够使用谷歌找到一个 但我真的找不到 我的另一个问题是 使用 C 中的 API 将 Flash 视频嵌入 PDF 文
  • 更改实体的可访问性

    我想建立一个内部实体 我已将实体 其标量属性和导航属性更改为内部 当我尝试构建它时出现此错误 错误 6036 EntityType 文件 具有 内部 可访问性 EntitySet 文件 具有具有 公共 可访问性的 get 属性 Entity

随机推荐

  • Celery任务无法通过channel_layer.send调用Channels消费者

    我一直在为一个相当简单的应用程序设置一个网络套接字 我编写了一个 JsonWebsocketConsumer 以及一些 celery 任务 以便执行一些长时间运行的任务 数据库访问 一切正常 没有错误 但我的消费者从未接到电话 有任何想法吗
  • 替换指定位置的部分字符串

    我想用javascript中的另一个字符串替换指定位置 开始 结束 的字符串的一部分 这是一个例子 Hello world this is a question 我想用 friends 替换该字符串中从 5 开始到 10 结束的部分 输出将
  • 在哪里实现缓存 - 类库或 Windows 服务

    我有一个 Windows 服务 它使用计时器定期调用类库 在工作线程上 该类库具有所有必需的应用程序功能 而 Windows 服务只不过是一个简单的托管环境 作为其执行的一部分 库需要调用数据库并获取一堆记录 这些记录不会经常更改 想想几周
  • 应用程序终止后无法保存我的首选项

    您好 我正在尝试在我的 Android 应用程序上实现一个设置页面 我定义了一个 xml Preference 文件 在其中实现了 CheckBoxPreference 和 EditTextPreference 运行应用程序时 所有设置都可
  • 如何在Python中获取表单字段名称和值?

    我在用 python 开发的网页中遇到问题 我的表单中有几个字段 复选框 文本区域等 每个字段都有一些唯一的名称 我可以保存已知字段的值 i e field name fl textarea field value form getvalu
  • 在 Three.js 中将带有孔的 SVG 路径转换为挤压形状

    我有一个由 4 个多边形组成的形状 2 个无孔多边形和 2 个有孔多边形 这只是一个例子 实际上 可能存在由 50 个多边形组成的形状 其中 20 个是非孔多边形 30 个是孔多边形 在 SVG 路径中 可以通过组合 moveto s 和
  • FreeMarker编码混乱

    当我使用 FreeMarker 读取 UTF 8 编码模板时 特殊字符在浏览器中正确呈现 尽管freeMarkerConfig getDefaultEncoding 返回 Cp1252 如果我设置freeMarkerConfig setDe
  • 删除mongoDB中数组字段大小小于3的文档

    我有一个名为的 mongoDB 集合col有类似这样的文档 intField 123 strField hi arrField 1 2 3 intField 12 strField hello arrField 1 2 3 4 intFie
  • 实现自重置 XMLHttpRequest 对象

    我正在尝试使用 XMLHttpResponse 对象实现彗星风格的长轮询连接 这个想法是保持与服务器的开放连接 该服务器在可用时发送数据 伪造推送 XHR 对象完成后 我需要生成一个新对象来等待任何新数据 下面是一段代码 概述了一个有效的解
  • 如何自动调整移动网站的图像大小?

    我尝试了谷歌搜索 但仍然无法弄清楚如何根据各种移动设备的宽度调整图像的大小 这是我的尝试 CSS img test width 100 height auto HTML
  • 确定两个未排序的数组是否相同?

    给定两个unsorted arrays A and B具有不同的元素 确定是否A and B可以重新排列 使它们相同 我的策略如下 首先 使用确定性选择算法O N 是时候找到Max of A and Max of B 如果他们没有相同的Ma
  • 读取由空格分隔的单词,并且字符串值在批处理脚本中也包含空格

    我需要从批处理脚本读取注册表的默认值 某些项目的名称包含一些空格 另外我想在批处理文件中执行 for 循环一次两次 rem echo OFF setlocal ENABLEEXTENSIONS set KEY NAME HKEY CURRE
  • 如何在 Play 之外使用 Anorm?

    在 Scala 之外如何使用 Anorm 在玩的 Anorm 文档中 它简单地使用了类似的内容 DB withConnection implicit c gt val result Boolean SQL Select 1 execute
  • clang-query:检查函数参数类型的模板参数名称

    我有一个大项目 以及大量以下形式的 C 类成员函数 Return CClass MemberFunction Arg1 arg1 std weak ptr
  • 应用程序崩溃但没有 TestFlight 崩溃报告

    我有一位用户 使用 iPhone 5 报告说 我的应用程序在屏幕变黑 启动画面为黑色 后大约 15 秒后崩溃 用户下载了 TestFlight 版本 其中我在应用程序委托中包含了检查点 但我没有得到这些检查点被交叉的证据 而且我从未收到崩溃
  • 我可以用C++中的成员变量地址获取对象的引用吗?

    如果我只有该对象的成员变量的地址 是否可以获得对该对象的引用 struct example int var int main example exampleObject int point exampleObject var can i g
  • 让查询与参数和“like”一起使用

    我见过很多关于在 Sql 查询和 like 中使用参数的问题 但我已经尝试了所有我见过的编码方法 但仍然无法让我的查询给出结果 如果我在查询本身中输入一个值 它就会正常运行 当我运行列出的第一个查询时 出现错误 必须声明标量变量 Searc
  • QML 可以看到我的 Q_GADGET 但看不到 Q_OBJECT

    为什么我的可以Q GADGET在 QML JS 中可以完美阅读 但不是我的Q OBJECT 在 Ubuntu 14 04 上运行 Qt 5 8 0 我正在尝试返回一个列表 QVariantMap 的对象到 QML 我现在保持简单 没有指针等
  • 如果 body 有此类,则将此内容放入 #mydiv,否则将其他内容放入 #mydiv

    JS初学者在这里 我需要一个脚本帮助 根据页面正文标记是否具有 home 类来将不同的内容放置在 div 中 我正在尝试使用 hasClass html 来实现此目的 看起来应该非常简单 但我无法弄清楚 缺乏正确的语法知识 声明不正确 我不
  • 给定一个私钥,是否可以推导出它的公钥?

    根据我通过阅读各种材料所了解的一点点 公钥 私钥对是非对称加密的基础 也是选择 2 个素数 大致是您的私钥 并将它们相乘 大致是您的公钥 的基础 在我看来 如果您知道私钥 就可以生成公钥 这是正确的还是我弄错了什么 让我更困惑的是 不可能将