首页 > 其他分享 >关于“公钥加密私钥解密,私钥加签公钥验签”的一些理解

关于“公钥加密私钥解密,私钥加签公钥验签”的一些理解

时间:2024-01-24 16:33:06浏览次数:29  
标签:公钥 私钥 公钥验 解密 签名 验签 加密

看了网上的很多资料,发现有些点没有说到,也比较复杂,这里根据个人的理解,简单描述,方便记忆。   先理解 公/私 钥(yue)的意思: 私钥,即 私人 的钥匙,是唯一的,所以可以用来证明来源是特定的人 公钥,即 公用 的钥匙,我可以将它给很多人(公众)。所以既然那么多人都知道,所以公钥并不能证明来源一定是特定的人   在理解 加密、签名 的作用:   加密:用于防止信息外泄(泄露给不相关的人)   签名:用于确认身份(可以类比下信用卡上的签名)   ----> 到底谁 创建、拥有、使用 公/私 钥(yue)(这里很多人会混淆,而且网上很少有人说明,但很重要)? <----   以 加签/验签 为例:   1. A 想 使用 我的服务,为了安全,我不希望 A 以外的人可以使用这些服务     创建:       此时,我会要求 A 创建 一对 公私钥,私钥他自行保留(用于证明他自己的身份),公钥给我(用于验签--验证签名)     拥有:       此时 我拥有 A 的公钥A 拥有自己的私钥     使用:       A 请求 我的服务 时,使用私钥签名(具体如何签名,自行百度吧,这方面的内容真的很多)
      我 收到请求后,用 A 给我的公钥 验签,验签通过即证明的确是A发送的请求,验证不通过当然是拒绝访问        2. 那如果 A 调用我的服务之后,需要我返回请求结果,但又要保证一定是我返回的请求结果呢?     创建:       此时,我 创建 一对 公私钥,私钥自行保留(用于证明我的身份),公钥给 A(用于验签--验证签名)     拥有:       此时 我拥有 自己的私钥A 拥有我的公钥     使用:       我的返回结果 时,使用私钥签名
      A 收到请求结果后,用 我给A 的公钥 验签,验签通过即证明的确是我返回的结果,验证不通过当然是拒绝访问   加密/解密签名保证了信息的来源可靠性,加密可以保证数据的安全性(个人理解,在网络上传播消息,是可以通过各种手段拦截的,所以需要对数据进行加密) 如果 A 要 和 B 进行通讯:    在发送消息时:使用 对方的公钥 进行加密;因为使用对方的公钥加密,就只要对方的私钥可以解密,也就是说不会有第三方可以解密内容。      在接收信息时:使用 自己的私钥 进行解密;   为什么不使用私钥加密?   因为使用私钥加密之后,拥有公钥的人都可以进行解密,那岂不是泄露了 A 和 B 之间的消息了?     感觉明白上面的问题,基本上都理解了。

标签:公钥,私钥,公钥验,解密,签名,验签,加密
From: https://www.cnblogs.com/mr-wuxiansheng/p/17984988

相关文章

  • MPC 是下一代私钥安全的7大原因
    PrimiHub一款由密码学专家团队打造的开源隐私计算平台,专注于分享数据安全、密码学、联邦学习、同态加密等隐私计算领域的技术和内容。多重签名钱包与单一密钥钱包相比,因其提升了资产安全性,如今已成为机构管理加密货币的标准做法。然而,最近在多方计算(MPC)领域的密码学突破正引领......
  • linux生成ssh的一对公钥和私钥
    1.首先进入.SSH目录中Linux中,每个用户的根目录下都有一个.ssh目录,保存了ssh相关的key和一些记录文件。例如:cd~/ll-a 2. 使用ssh-keygen生成keyssh-keygen可以生成ssh协议所需要的公钥和私钥,例如:ssh-keygen-trsa然后回提示让你输入一些文件名啥的,别管那些,一路按E......
  • 一键在线获取APP公钥、包名、签名及备案信息方法介绍
    ​目录一键在线获取APP公钥、包名、签名及备案信息方法介绍摘要引言一键获取APP包信息操作步骤​编辑解析报告总结致谢关键词参考资料声明 摘要本文介绍了一款在线APP解析工具,可以一键获取APP的公钥、包名、签名等基础信息,同时提供了详细的操作步骤和使用示例,帮......
  • Flutter开发之安卓打包,和获取签名相关信息,公钥值相关操作
    我们Flutter开发中,难免有些小朋友因需求要获取打包签名的一些相关信息,下面我们来讲一下怎么获取一生成签名文件我们打包安卓APK包需要先生成签名文件,需运行以下指令,生成签名文件keytool-genkey-v-keystoreGMT\_keystore.keystore-aliasGMT\_keystore-keyalgRSA-keysi......
  • App备案与iOS云管理式证书 ,公钥及证书SHA-1指纹的获取方法
    iOS备案查看信息iOS平台BundleID公钥证书SHA-1指纹IOS平台服务器域名获取BundleID:或者https://developer.apple.com/account/resources/identifiers/list获取公钥与签名SHA1值:https://developer.apple.com/account/resources/certificates/list......
  • 使用 openssl 从cer公钥证书中导出公钥pem
    使用openssl从cer公钥证书中导出公钥pem ---------- "der公钥证书"转"base64公钥证书"opensslx509-informder-inz11.cer-outz11.pem从"DER公钥证书"中导出"公钥"opensslx509-informder-inz11.cer-pubkey-noout>zpublickey.pem从"......
  • 同时为github和gitee配置公钥
    同时为github和gitee配置公钥1.下载githttps://git-scm.com/download/win2.配置公钥参考https://help.gitee.com/base/account/SSH公钥设置通过命令ssh-keygen生成SSHKey:ssh-keygen-ted25519-C"[email protected]"输入秘钥文件名,其他回车id_rsa_githubid......
  • App备案与iOS云管理式证书 ,公钥及证书SHA-1指纹的获取方法
    ​引言在iOS应用程序开发过程中,进行App备案并获取公钥及证书SHA-1指纹是至关重要的步骤。本文将介绍如何通过appuploader工具获取iOS云管理式证书DistributionManaged公钥及证书SHA-1指纹,帮助开发者更好地理解和应用该过程。正文iOS应用程序的备案和证书SHA-1指纹获取是确......
  • windows中vscode通过ssh连接linux 保存公钥 运行c程序
    1、首先,vscode下载以下几个扩展,c/c++、remotedevelopment 2、下载完成后编写自己的linux连接配置文件 配置文件包括host、hostname、user和port,以下是我的配置,编辑完成保存,然后直接新建连接即可 3、新建的连接每次重连都需要输入密码,通过ssh公钥来解决首先,打开windo......
  • 验证私钥与公钥证书是否匹配
    客户通过生成的CSR,申请了公钥证书,可以使用以下命令来验证私钥、公钥证书、CSR文件是否匹配,如果打印的哈希值是一致的,则证明匹配,否则就是不匹配。最好不要用网上的在线验证,因为私钥万一泄漏了,那可就是重大安全问题了,一定要在自己手里保护好。打印私钥opensslpkey-inprivateKey.......