甲方发送信息给乙方

甲方用哈希算法对明文进行计算,得到信息摘要
甲方用自己的私钥对信息摘要进行加密,得到数字签名,并将数字签名放到明文后边

甲方随机产生一个对称密钥

甲方用对称密钥对明文和数字签名进行加密,得到密文

甲方查看乙方的证书,得到乙方的公钥

甲方用乙方的公钥对 对称密钥 进行加密

甲方将密文和加密的对称密钥发送给乙方

乙方从甲方接收到信息

乙方查看甲方的证书,得到甲方的公钥

乙方私钥对 对称密钥 进行解密,得到对称密钥

乙方用对称密钥对密文进行解密,得到明文和数字签名

乙方用甲方的公钥对数字签名进行解密,得到数字摘要

乙方用同样的哈希算法对明文进行计算,得到信息摘要

乙方比较计算得到的信息摘要和解密得到的数字摘要是否一致
如果一致,说明信息没有被修改过,内容可信。

非对称密钥计算量大,适用于对摘要进行加密
对称密钥计算快,适用于对数据量较大的正文进行加密

可以使用OpenSSL生成证书,提取公钥私钥,并对数据进行加密。

数字散列函数(哈希)具有四个非常好的特征:1 结果长度固定   2 输入的微小变化在输出端会极大放大   3 反向(从结果推导输入)困难   4 结果无法预知猜测

哈希摘要、证书、对称密钥、公私密钥应用场景梳理相关推荐

  1. 基于对称加密的密钥分配和Kerberos认证

    基于对称加密的密钥分配和Kerberos认证 对于对称加密,加密双方必须共享同一密钥,而且必须保护密钥不被他人读取.此外,常常需要频繁地改变密钥来减少某个攻击者可能知道密钥带来的数据泄露.因此,任何密 ...

  2. linux远程登录 密钥,使用密钥认证机制远程登录Linux

    密钥认证机制 创建存放key的文件 1)创建目录 /root/.ssh 并设置权限 [root@localhost ~]# mkdir /root/.ssh mkdir 命令用来创建目录,以后会详细介 ...

  3. jarsigner 找不到XXX的证书链。xxx必须引用包含私有密钥和相应的公共密钥证书链的有效密钥库密钥条目

    jarsigner -verbose -keystore name.keystore -signedjar sign.apk unsign.apk  keyAlias 使用jarsigner签名时可能 ...

  4. php的rsa密匙长度,PHP解决RSA公私密钥换行处理

    在RSA加密处理时,经常遇到RSA密钥为一行,但是在Linux下,需要换行处理,否则,无法进行加密处理.换行,只能按照指定的规则换行,否则无法加密,下面介绍下标准处理方法: public functi ...

  5. android证书别名,android – 了解密钥库,证书和别名

    Creates a new keystore entry, which has the same private key and certificate chain as the original e ...

  6. 常用的安全算法-数字摘要、对称加密、非对称加密详解

    本文仅介绍摘要算法.对称加密算法.非对称加密算法的使用场景和使用方法. 1.数字摘要 说明:数字摘要是将任意长度的消息变成固定长度的短消息,它类似于一个自变量是消息的函数,也就是Hash函数.数字摘要 ...

  7. 用Win10秘钥激活Windows 10:更改产品密钥与密钥重置

    密钥管理是Windows 10中的一个重要功能,它允许用户管理他们的产品密钥并在需要时激活Windows 10.以下是关于如何创建和使用Win10密钥管理器以及为什么需要密钥管理的详细指南. 一.首先 ...

  8. windows上RSA(openssl密钥生成)密钥生成和使用

    一,下载安装windows平台openssl密钥生成工具,执行安装目录bin下的"openssl.exe",执行后弹出命令窗口如下 运行 二,生成私钥 输入"genrsa ...

  9. 调用cryptography密码学API接口计算SHA256/SHA1哈希摘要

    正文标题:如何调用Python 3自带的SHA256/SHA1摘要函数 方法一:使用hashlib 官方文档: https://docs.python.org/3/library/hashlib.ht ...

  10. 安智市场apk 签名问题 : 找不到xxx.jks的证书链。meimei.jks必须引用包含私有密钥和相应的公共密钥证书链的有效密钥库密钥条目。

    " 先点击下载签名验证 APK下载我们提供的签名验证 APK, 然后自己动手签名并上传 注意:上传的两个文件包的签名一定要一致 示例命令: jarsigner -verbose -keyst ...

最新文章

  1. keras网络变为pytorch网络的一些参考
  2. linux内核杂记(5)-进程终结
  3. 目标检测--Spatial pyramid pooling in deep convolutional networks for visual recognition(PAMI, 2015)
  4. 打开闪光灯_用手机拍照这么久,你居然还不知道闪光灯怎么用
  5. c语言和plc编程,PLC编程C语言.ppt
  6. AWStats日志分析部署
  7. UITableView的复用过程
  8. 计算机科学技术学习引论
  9. mysql2008无法启动_SQL Sever2008r2 数据库服务各种无法启动的解决办法
  10. 性能碾压Notepad++的文本编辑器UltraEdit,程序员必备
  11. Grafana——》重置默认的登录密码
  12. SpringBoot 之 @Transaction注解的类级别和方法级别的区别
  13. 计算机键盘上除在哪里,backspace键在哪里
  14. 打鱼晒网C语言程序,C语言打鱼还是晒网问题
  15. 多硬盘分区管理fdisk-张丹
  16. 1647:迷路(矩阵快速幂+矩阵点的拆分)
  17. MySQL - binlog 图文详解
  18. 聊天室程序python_Python聊天室程序(基础版)_python
  19. 同花顺趋势启动,低位启动 趋势指导指标源码
  20. 用python把Excel表中不同货币的资金换算成人民币

热门文章

  1. d7100 远程控制拍照(无线,有线,手机,电脑,路由器)
  2. HTML和jquery实现播放功能
  3. 微信公众号开发(一)配置服务器
  4. vue JsBarcode的使用
  5. QT界面 全屏显示 自适应显示 多屏显示
  6. 单片机消抖c语言程序,单片机中按键消抖程序
  7. 【FPGA】按键消抖
  8. 软件测试工程师年终总结模版,软件测试工程师岗位工作总结汇报报告范文模板...
  9. 代码审查工具 FindBugs
  10. 分享一份适合写进简历的软件测试项目