公钥和私钥的解释 1、公钥和私钥之间的关系和特点是什么?
qiyuwang 2024-10-14 14:30 22 浏览 0 评论
一直以来对公钥和私钥都理解得不是很透彻,感觉到模棱两可,心里直打鼓。公钥怎么回事?私钥怎么回事?工作原理又是怎么的?今天在网上找了半天,通过查看大家对这个密钥对的理解,总算弄清楚了,把我的心得写出来给大家对密钥对有疑问的同志们看看。
对称加密
对称密钥加密,又称私钥加密,即信息的发送方和接收方用一个密钥去加密和解密数据。它的最大优势是加/解密速度快,适合于对大数据量进行加密,但密钥管理困难。
采用单钥密码系统的加密方法,同一个密钥可以同时用作信息的加密和解密,这种加密方法称为对称加密,也称为单密钥加密。需要对加密和解密使用相同密钥的加密算法。由于其速度,对称性加密通常在消息发送方需要加密大量数据时使用。对称性加密也称为密钥加密。所谓对称,就是采用这种加密方法的双方使用方式用同样的密钥进行加密和解密。密钥实际上是一种算法,通信发送方使用这种算法加密数据,接收方再以同样的算法解密数据。因此对称式加密本身不是安全的。
对于普通的对称密码学,加密运算与解密运算使用同样的密钥。通常,使用的对称加密算法比较简便高效,密钥简短,破译极其困难,由于系统的保密性主要取决于密钥的安全性,所以,在公开的计算机网络上安全地传送和保管密钥是一个严峻的问题。正是由于对称密码学中双方都使用相同的密钥,因此无法实现数据签名和不可否认性等功能。
常用的对称加密有:
DES、 IDEA、 RC2、 RC4、 SKIPJACK、 RC5、 AES 算法等采用单钥密码系统的加密方法,同一个密钥可以同时用作信息的加密和解密,这种加密方法称为对称加密,也称为单密钥加密。
非对称加密
1976 年,美国学者 Dime 和 Henman 为解决信息公开传送和密钥管理问题,提出一种新的密钥交换协议,允许在不安全的媒体上的通讯双方交换信息,安全地达成一致的密钥,这就是“公开密钥系统”。相对于“对称加密算法”这种方法也叫做“非对称加密算法”。与对称加密算法不同,非对称加密算法需要两个密钥:公开密钥( publickey)和私有密钥( privatekey)。公开密钥与私有密钥是一对,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密;如果用私有密钥对数据进行加密,那么只有用对应的公开密钥才能解密。因为加密和解密使用的是两个不同的密钥,所以这种算法叫作非对称加密算法。
非对称加密算法实现机密信息交换的基本过程是:甲方生成一对密钥并将其中的一把作为公用密钥向其它方公开;得到该公用密钥的乙方使用该密钥对机密信息进行加密后再发送给甲方;甲方再用自己保存的另一把专用密钥对加密后的信息进行解密。甲方只能用其专用密钥解密由其公用密钥加密后的任何信息。非对称加密算法的保密性比较好,它消除了最终用户交换密钥的需要,但加密和解密花费时间长、速度慢,它不适合于对文件加密而只适用于对少量数据进行加密。经典的非对称加密算法如 RSA 算法等安全性都相当高.非对称加密的典型应用是数字签名。
采用双钥密码系统的加密方法,在一个过程中使用两个密钥,一个用于加密,另一个用于解密,这种加密方法称为非对称加密,也称为公钥加密,因为其中一个密钥是公开的(另一个则需要保密)。
公钥与秘钥的来源
20 世纪 70 年代以来,一些学者提出了公开密钥体制,即运用单向函数的数学原理,以实现加、解密密钥的分离。加密密钥是公开的,解密密钥是保密的。这种新的密码体制,引起了密码学界的广泛注意和探讨不像普通的对称密码学中采用相同的密钥加密、解密数据,非对称密钥加密。技术采用一对匹配的密钥进行加密、解密,具有两个密钥,一个是公钥一个是私钥,它们具有这种性质:每把密钥执行一种对数据的单向处理,每把的功能恰恰与另一把相反,一把用于加密时,则另一把就用于解密。用公钥加密的文件只能用私钥解密,而私钥加密的文件只能用公钥解密。 公共密钥是由其主人加以公开的,而私人密钥必须保密存放。为发送一份保密报文,发送者必须使用接收者的公共密钥对数据进行加密,一旦加密,只有接收方用其私人密钥才能加以解密。
相反地,用户也能用自己私人密钥对数据加以处理。换句话说,密钥对的工作是可以任选方向的。这提供了"数字签名"的基础,如果要一个用户用自己的私人密钥对数据进行了处理,别人可以用他提供的公共密钥对数据加以处理。由于仅仅拥有者本人知道私人密钥,这种被处理过的报文就形成了一种电子签名----一种别人无法产生的文件。 数字证书中包含了公共密钥信息,从而确认了拥有密钥对的用户的身份。
简单的公共密钥例子可以用素数表示,将素数相乘的算法作为公钥,将所得的乘积分解成原来的素数的算法就是私钥,加密就是将想要传递的信息在编码时加入素数,编码之后传送给收信人,任何人收到此信息后,若没有此收信人所拥有的私钥,则解密的过程中(实为寻找素数的过程),将会因为找素数的过程(分解质因数)过久而无法解读信息。
公钥
公钥是与私钥算法一起使用的密钥对的非秘密一半。公钥通常用于加密会话密钥、验证数字签名,或加密可以用相应的私钥解密的数据。公钥和私钥是通过一种算法得到的一个密钥对(即一个公钥和一个私钥)其中的一个向外界公开,称为公钥;另一个自己保留,称为私钥。通过这种算法得到的密钥对能保证在世界范围内是唯一的。使用这个密钥对的时候,如果用其中一个密钥加密一段数据,必须用另一个密钥解密。比如用公钥加密数据就必须用私钥解密,如果用私钥加密也必须用公钥解密,否则解密将不会成功。
1976 年。当时在美国斯坦福大学的迪菲( Diffie)和赫尔曼(Hellman)两人提出了公开密钥密码的新思想(论文"New Direction in Cryptography"),不仅加密算法本身可以公开,甚至加密用的密钥也可以公开。但这并不意味着保密程度的降低。因为如果加密密钥和解密密钥不一样。而将解密密钥保密就可以。这就是著名的公钥密码体制。也称作非对称密码体制。不同于对称性的 密码学, 在于其加密钥匙只适用于单一用户。
钥匙的两部分
一把私有的钥匙,仅有用户才拥有。一把公开的钥匙,可公开发行配送,只要有要求即取得。每支钥匙产生一个被使用来改变属性的功能。私有的钥匙产生一个私有改变属性的功能,而公开的钥匙 产生一个 公开改变属性的功能。这些功能是反向相关的,例如,如果一个功能是用来加密消息,另外一个功能则被用来解密消息。不论此改变属性功能的次序为何皆不重要。公开的钥匙系统的优势是两个用户能安全的沟通而不需交换秘密钥匙。例如,假设一个送信者需要传送一个信息给一个收信者,而信息的秘密性是必要的, 送信者以收信者的公开的钥匙来加密,而仅有收信者的私有的钥匙能够对此信息解密。公开的钥匙密码学是非常适合于提供认证,完整和不能否认的服务, 所有的这些服务既是我们所知的数字签名。
RSA 公钥系统
RSA 公钥系统发明于新思想提出后一年在麻省理工学院,里维斯特(RonaldRivest)、沙米尔(Adi Shamir)和阿德勒曼(Len Adleman)提出第一个较完善的公钥密码体制——RSA 体制,由三位发明人的姓氏首字母命名。这是一种建立在大数因子分解基础上的算法。它是第一个成熟的、迄今为止理论上最成功的公钥密码体制。它的安全性是基于数论中的大整数因子分解。该问题是数论中的一个困难问题,至今没有有效的算法,(即大整数因子分解不能在多项式时间内完成)这使得该体制具有较高的保密性。并且得到了广泛应用。不为人知的是,早在 1970 年的秘密研究中,英国情报机构 GCHQ 的数学家 James H. Ellis 便已发明非对称钥匙密码学,而且Diffie-Hellman 与 RSA 都曾被 Malcolm J. Williamson 与 Clifford Cocks 分别发明于前。这两个最早的公钥系统提供优良的加密法基础,因而被大量使用。其他公钥系统还有 Cramer-Shoup、 Elgamal、以及椭圆曲线密码学等等。这些事件直到 1997 年历史文件解密的时候才为大众所知。
结语
一个有效、可信的 SSL 数字证书包括一个公共密钥和一个私用密钥。公共密钥用于加密信息,私用密钥用于解译加密的信息。因此,浏览器指向一个安全域时,SSL 将同步确认服务器和客户端,并创建一种加密方式和一个唯一的会话密钥。
如果您的网站使用 SSL 证书,您的客户就知道他们的交易安全可靠,并且充分信赖您的网站。数安时代有15年的技术沉淀,技术应用核心行业50多,技术应用业务领域300多处,SSL证书自适应128-256位加密,SHA256签名算法,秘钥长度高达2048-4096位,且一直致力于促进我国信息安全保护的进程。我国经过国际Webtrust标准认证的CA机构仅有3家,而数安时代就是其中之一,除了自主品牌GDCA,还有Symantec、Globalsign、GeoTrust等品牌,多种选择,一次对比,有需要可以联系客服咨询。
相关推荐
- 第二十六章 Bat文件(bat文件百科)
-
第二十六章Bat文件bat文件是dos下的批处理文件。批处理文件是无格式的文本文件,它包含一条或多条命令。它的文件扩展名为.bat或.cmd。在命令提示下输入批处理文件的名称,或者双击该批处理...
- 自媒体良器:音频文件批处理,FFmpeg一行搞定!果断收藏
-
引言FFMpeg是众多多媒体应用程序的核心,但该程序本身不具备一次转换多个文件的能力。但也拦不住,FFMpeg本身是命令行程序,可编写脚本,借助Bash轻松快速地构建自动化程序。...
- 批处理:创建和删除文件夹命令(批处理命令 删除文件夹)
-
上一期,我们学习了文件夹的查看命令:tree和dir,以及文件夹切换命令:cd,今天,我继续给大家讲解下批处理的目录(文件夹)操作命令:创建和删除。一.md:创建目录(文件夹)可以在当前文件夹下创建...
- 利用VBA创建新的工作簿(vba 创建工作簿)
-
【分享成果,随喜正能量】我告诫自己:你的话说得太多,你听别人倾诉得太多,你咖啡喝得太多,你在陌生的房间里坐的时间太长,你的睡眠质量太差,你醒着的时间太长,你平庸的事想得太多,你希望过多,你安慰自己太频...
- 实用小工具,注册表文件快速转换.bat文件
-
关于注册表注册表是Windows操作系统中的一个核心数据库,它用于存储系统和应用程序的设置信息。这个数据库文件控制着Windows操作系统的外观和如何响应外来事件的工作方式。注册表包含了各种参数,直接...
- 如何给自己的电脑做一个截图工具?现场教会你具体流程和步骤
-
做自媒体,经常要用到一些图片,有时候图片上有水印去不掉,这时候要是有一个能随意截图的工具该有多少呀!今天教授让大家自己设计一个截图工具。下面就是流程和步骤:1、在电脑页面的任意位置,点击鼠标右键,新建...
- Windows使用批处理文件更改目录下的文件名(含序号)
-
从网上下载的图片,默认的名字是由许多字母和数字组成的比较长的一个字符串,不便于人记忆,使用起来比较麻烦。如下图所示:本文的目的是写一个批处理文件,将该目录中的所有扩展名为jpeg的文件改名为日期加序号...
- 学习VB编程第35天,如何调用bat批处理
-
今天学习了刘金玉老师零基础VB教程的第43期,学习的主要内容是如何调用bat批处理登录。一、什么是批处理1.什么是命令提示符(cmd)?在Windows开始菜单运行(windows+r键也可调出)中输...
- 利用bat让文件在指定时间自动进行备份
-
在很多时候,我们需要备份电脑中的一些文件,特别是企业服务器的备份,可能是有一些文件每天都会有更新,或者定期更新,而文件又是相对比较重要的,需要我们定时去备份。可有时候文件比较大,备份时间比较长,或者在...
- BAT 批处理脚本教程(批处理脚本编写教程)
-
BAT批处理脚本教程第一章批处理基础第一节常用批处理内部命令简介批处理定义:顾名思义,批处理文件是将一系列命令按一定的顺序集合为一个可执行的文本文件,其扩展名为BAT或者CMD。这些命令统称批处...
- Windows系统bat批处理常用命令(一)
-
一、批处理中常用的命令:@命令:加在每个命令行的最前面,表示运行时不显示这一行的命令行。eg:@echooff//不显示后续命令行及当前命令行...
- 编写bat文件在windows上自动执行cmd命令
-
windows电脑上直接新建txt记事本文件,编写好要执行的命令后,将后缀修改成.bat,然后直接点击文件就可以执行里面的命令了#打开命令窗口startcmd#/k执行完命令不关...
- 不会C语言写bat脚本代码批量修改文件名,DeepSeek帮你解决!
-
哈喽大家好,我是小飞。今天给大家讲一下DeepSeek做了一个批量修改文件夹的bat脚本。·首先先让它这样修改一下,因为之前已经做过一个,然后它没有改,现在让它修改一下,把它修改一个很智能的BAT脚本...
- BAT批处理命令之ren/rename(与Excel合作批量修改文件名)
-
写在前面一鸽就是半年...
- 使用批处理文件——autoexec.bat(批处理more)
-
1、dblspace.sys磁盘压缩。 drvspace.sys、dblspace和drvspace是Microsoft公司推出的磁盘压缩工具,可以将磁盘的空间增加许多,但由于它依靠对文件进行压...
你 发表评论:
欢迎- 一周热门
- 最近发表
- 标签列表
-
- navicat无法连接mysql服务器 (65)
- 下横线怎么打 (71)
- flash插件怎么安装 (60)
- lol体验服怎么进 (66)
- ae插件怎么安装 (62)
- yum卸载 (75)
- .key文件 (63)
- cad一打开就致命错误是怎么回事 (61)
- rpm文件怎么安装 (66)
- linux取消挂载 (81)
- ie代理配置错误 (61)
- ajax error (67)
- centos7 重启网络 (67)
- centos6下载 (58)
- mysql 外网访问权限 (69)
- centos查看内核版本 (61)
- ps错误16 (66)
- nodejs读取json文件 (64)
- centos7 1810 (59)
- 加载com加载项时运行错误 (67)
- php打乱数组顺序 (68)
- cad安装失败怎么解决 (58)
- 因文件头错误而不能打开怎么解决 (68)
- js判断字符串为空 (62)
- centos查看端口 (64)