加密和认证

  首先我们需要区分加密和认证这两个基本概念。

  加密是将数据资料加密,使得非法用户即使取得加密 过的资料,也无法获取正确的资料内容,所以数据加密可以保护数据,防止监听攻击。其重点在于数据的安全性。身份认证是用来判断某个身份的真实性,确认身份 后,系统才可以依不同的身份给予不同的权限。其重点在于用户的真实性。两者的侧重点是不同的。

  公钥和私钥

  其次我们还要了解公钥和私钥的概念和作用。

  在现代密码体制中加密和解密是采用不同的密钥(公开密钥),也就是非对称密钥密码系统,每个通信方均需要两个密钥,即公钥和私钥,这两把密钥可以互为加解密。公钥是公开的,不需要保密,而私钥是由个人自己持有,并且必须妥善保管和注意保密。

  公钥私钥的原则:

  1. 一个公钥对应一个私钥。
  2. 密钥对中,让大家都知道的是公钥,不告诉大家,只有自己知道的,是私钥。
  3. 如果用其中一个密钥加密数据,则只有对应的那个密钥才可以解密。
  4. 如果用其中一个密钥可以进行解密数据,则该数据必然是对应的那个密钥进行的加密。

  非对称密钥密码的主要应用就是公钥加密和公钥认证,而公钥加密的过程和公钥认证的过程是不一样的,下面我就详细讲解一下两者的区别。

  基于公开密钥的加密过程

  比如有两个用户Alice和Bob,Alice想把一段明文通过双钥加密的技术发送给Bob,Bob有一对公钥和私钥,那么加密解密的过程如下:

  1. Bob将他的公开密钥传送给Alice。
  2. Alice用Bob的公开密钥加密她的消息,然后传送给Bob。
  3. Bob用他的私人密钥解密Alice的消息。

  上面的过程可以用下图表示,Alice使用Bob的公钥进行加密,Bob用自己的私钥进行解密。

   基于公开密钥的认证过程

  身份认证和加密就不同了,主要用户鉴别用户的真伪。这里我们只要能够鉴别一个用户的私钥是正确的,就可以鉴别这个用户的真伪。

   还是Alice和Bob这两个用户,Alice想让Bob知道自己是真实的Alice,而不是假冒的,因此Alice只要使用公钥密码学对文件签名发送 给Bob,Bob使用Alice的公钥对文件进行解密,如果可以解密成功,则证明Alice的私钥是正确的,因而就完成了对Alice的身份鉴别。整个身 份认证的过程如下:

  1. Alice用她的私人密钥对文件加密,从而对文件签名。
  2. Alice将签名的文件传送给Bob。
  3. Bob用Alice的公钥解密文件,从而验证签名。

  上面的过程可以用下图表示,Alice使用自己的私钥加密,Bob用Alice的公钥进行解密。

  总结

  好了,上面就详细讲述了加密、认证、公钥、私钥这四个概念,明白这些概念后,你就应该对“网站的安全登录认证设计”一文所讲述的概念有了更清晰的了解了。

数据公钥加密和认证中的私钥公钥相关推荐

  1. java 证书公钥 私钥_ssl - 在Java Key中导入私钥/公钥证书对

    这个问题在这里已有答案: 如何在Java密钥库中导入现有的x509证书和私钥以在SSL中使用?                                     10个答案 我使用以下步骤创建一 ...

  2. php把数据生成mxl,php如何生成加密公钥以及加密私钥的代码案例分享

    这篇文章主要介绍了php 生成加密公钥加密私钥实例详解的相关资料,需要的朋友可以参考下 php 生成加密公钥加密私钥实例详解 生成公钥私钥 win下必须要openssl.cof支持 liunx一般已自 ...

  3. ssl中的证书/私钥/公钥

    文章目录 公钥/私钥/证书 pfx pkcs12 pkcs8 pem ASN.1 公钥/私钥/证书 证书certificate中包括含了数字签名和公钥, 客户端可以通过CA来验证数字签名. 公钥/私钥 ...

  4. 数字证书、数字签名的实现使用以及keytool工具生成私钥公钥

    数字证书.数字签名的实现使用以及keytool工具生成私钥公钥 数字签名 数字证书 数字签名的实现 keytool工具 基本命令 生成私钥公钥 导出公钥 数字签名 数字签名(又称公钥数字签名)是只有信 ...

  5. Https中公私钥加密算法和其使用的RSA算法分析

    学习Https原理的过程中,对公钥证书和私钥证书交换的过程.公钥算法.公钥证书.RSA算法进行了的学习.下面主要是对公钥加密和RSA算法的分析.分析过程并没有覆盖https的方方面面,只是自己的一个笔 ...

  6. 华为hcie认证中SSL基本介绍华为hcie必看

    华为hcie认证中SSL基本介绍华为hcie必看,SSL 全称为Secure Sockets Layer,安全套接层.是一种提供保证私密性的安全协议.SSL能使客户端与服务器之间的通信不被截取及窃听, ...

  7. python实现RSA算法,对数据进行加密认证

    RSA算法 RSA 一.数学原理 二.实现代码 1 生成素数 2 生成秘钥 3 对数据进行加密.解密 总结 RSA RSA是一种非对称加密体制,由公钥和私钥组成,数学原理是实数域的模余法.在使用私钥对 ...

  8. 思科sp ccie 认证中必看网络安全之垃圾邮件过滤技术

    思科sp ccie 认证中必看网络安全之垃圾邮件过滤技术,电子邮件是-种用电子手段提供信息交换的通信方式,是互联网应用最多的服务.通过网络的电子邮件系统,用户可以以非常低廉的价格.非常快速的方式,与世 ...

  9. 数据中心新认证出现,UPTIME面临挑战

    如今,数据中心认证不再只有UPTIME推出的认证,随着UL首次推出的标准亮相以及Switch的Tier 5标准,旨在更容易地证明数据中心的灵活性和可靠性. 在IT时代飞速发展的今天,客户对数据中心的可 ...

最新文章

  1. 3.2.3节:特权级
  2. 【转】关于Ubuntu的sources.list 的总结
  3. python最长回文子串leetcode_Python版LeetCode5. 最长回文子串
  4. SQL Server 查询处理中的各个阶段(SQL执行顺序)
  5. SAP Spartacus travis ci-scripts 下面 e2e-cypress.sh 的实现分析
  6. Java判断Class变量是什么类型
  7. 【论文】Awesome Relation Extraction Paper(关系抽取)(PART III)
  8. Oracle 恢复删除的表
  9. 解决在iOS复制失败问题 iOS/Android通用
  10. windows10虚拟机下载
  11. 肿瘤基因组学数据库终结者:cBioPortal---转载
  12. debian 10的安装DVD
  13. 鲤鱼鱼竿豆荚 - 建议做出正确的选择
  14. SCP批量拷贝指定文件
  15. STL 源码分析之string(一)基础篇
  16. Java 8除不尽的数
  17. 霍尔效应传感器的典型应用场合解析
  18. windows xp 算号原理
  19. arduino ssd1306屏幕打印信息(已测可用)
  20. [附源码]Java计算机毕业设计SSM道路桥梁工程知识文库系统

热门文章

  1. 前沿科技山雨欲来,四大领域存创新机会
  2. G20国家科技竞争力大盘点,中国科研创新表现突出,人工智能变道超车
  3. 大脑神经细胞也有老熟人
  4. 什么?拼命栽培员工,让他强大到足以离开
  5. 《小账本》开发日志 第三天
  6. Centos7 下nginx nginx-1.13.4 安装
  7. NEO共识节点推荐搭建步骤
  8. Form 去掉使用格式掩码带来的多余字符
  9. Linux追加文件内容并在内容前加上该文件名(awk, FILENAME功能妙用)
  10. List(JDK1.7)(1)