Linux之一张图让你搞懂DES与RSA混合加密技术(十三)

2024-05-07 22:38

本文主要是介绍Linux之一张图让你搞懂DES与RSA混合加密技术(十三),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Linux之一张图让你搞懂DES与RSA混合加密技术 

1.RSA加解密原理
第1步:ipB先给A发送B公钥,ipA用B公钥加密A公钥发送给ipB,ipB拿到后,用B私钥去取里面内容,ipB拿到A公钥。 
第2步:双方通信前,先把自己公钥发给对方!用对方公钥直接加密后发送,接收方用自己的私钥去解密。2.RSA和DES混合加密技术阐述
<1>.对称加密(DES)是加密和解密秘钥相同
<2>.非对称加密(RSA)是公钥加密,私钥解密
<3>.例子:用户A发送数据给用户B.首先用户A先用DES把要发送的数据加密,接收到用户B的RSA公钥后,使用用户B的RSA公钥对DES秘钥加密;
然后将加密数据(DES加密)和加密的DES秘钥(由RSA加密)通过网络发给用户B。此时用户B用自己的RSA私钥把加密的DES秘钥解密,然后使用解密后的DES秘钥来解密发送过来的数据,就得到了用户A发送过来的明文数据。3.基础问题
问题一、
PKI,CA和数字证书的关系是什么?
答:CA(CA是第三方权威的证书颁发机构)是PKI的核心执行机构,是PKI的主要组成部分。数字证书是由CA颁发的,所以三者是从属关系,既数字证书从属于CA从属于PKI.数字证书--->CA(Certificate Authority:证书颁发机构)---->PKI(Publick Key Infrastructure:公钥基础设施)问题二、什么是CSR ? 什么是公钥和私钥?
答:CSR是Cerificate Signing Request的英文缩写,即证书请求文件。我们想要证明
我们的网站是可信的,数据传输是加密的,我们就需要由第三方CA机构颁发的证书来证明,
比如Symantec,GeoTrust等等。而想要申请这样的证书,我们的第一步就是需要生成我们自己的CSR文件。 CSR需要由申请人提供域名、公司名称、部门、省份、城市、国家借助相关工具生成,
申请人使用工具同时会生成证书请求文件(CSR)和私钥文件,其中的证书请求文件就是CSR文件,
这两个文件是相互匹配的,我们将CSR文件提交给CA申请证书,经过CA身份对申请者身份进行审核后,
颁发证书公钥,申请人收到证书文件后,将证书公钥文件配合私钥文件转化成服务器对应的格式的文件
部署在HTTP服务器上面,这样我们的网站就可信了。**********************************************************************************
一、公钥加密  假设一下,我找了两个数字,一个是1,一个是2。我喜欢2这个数字,就保留起来,不告诉你们
(私钥),然后我告诉大家,1是我的公钥。我有一个文件,不能让别人看,我就用1加密了。别人找到了这个文件,但是他不知道2就是解密的私钥啊,所
以他解不开,只有我可以用 数字2,就是我的私钥,来解密。这样我就可以保护数据了。我的好朋友x用我的公钥1加密了字符a,加密后成了b,放在网上。别人偷到了这个文件,但是别人解不开,因
为别人不知道2就是我的私钥, 只有我才能解密,解密后就得到a。这样,我们就可以传送加密的数据了。二、私钥签名 如果我用私钥加密一段数据(当然只有我可以用私钥加密,因为只有我知道2是我的私钥),结果所
有的人都看到我的内容了,因为他们都知 道我的公钥是1,那么这种加密有什么用处呢?但是我的好朋友x说有人冒充我给他发信。怎么办呢?我把我要发的信,内容是c,用我的私钥2,加密,加密后
的内容是d,发给x,再告诉他 解密看是不是c。他用我的公钥1解密,发现果然是c。 这个时候,他会想到,能够
用我的公钥解密的数据,必然是用我的私钥加的密。只有我知道我得私钥,因此他就可以确认确实是我发的东西。这样我们就能确认发送方身份了。这个过程叫做数字签名。当然具体的过程要稍微复杂一些。用私钥来加密数
据,用途就是数字签名。总结:公钥和私钥是成对的,它们互相解密。
公钥加密,私钥解密。
私钥数字签名,公钥验证。

这篇关于Linux之一张图让你搞懂DES与RSA混合加密技术(十三)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/968593

相关文章

linux ssh如何实现增加访问端口

《linuxssh如何实现增加访问端口》Linux中SSH默认使用22端口,为了增强安全性或满足特定需求,可以通过修改SSH配置来增加或更改SSH访问端口,具体步骤包括修改SSH配置文件、增加或修改... 目录1. 修改 SSH 配置文件2. 增加或修改端口3. 保存并退出编辑器4. 更新防火墙规则使用uf

Linux join命令的使用及说明

《Linuxjoin命令的使用及说明》`join`命令用于在Linux中按字段将两个文件进行连接,类似于SQL的JOIN,它需要两个文件按用于匹配的字段排序,并且第一个文件的换行符必须是LF,`jo... 目录一. 基本语法二. 数据准备三. 指定文件的连接key四.-a输出指定文件的所有行五.-o指定输出

Linux jq命令的使用解读

《Linuxjq命令的使用解读》jq是一个强大的命令行工具,用于处理JSON数据,它可以用来查看、过滤、修改、格式化JSON数据,通过使用各种选项和过滤器,可以实现复杂的JSON处理任务... 目录一. 简介二. 选项2.1.2.2-c2.3-r2.4-R三. 字段提取3.1 普通字段3.2 数组字段四.

Linux kill正在执行的后台任务 kill进程组使用详解

《Linuxkill正在执行的后台任务kill进程组使用详解》文章介绍了两个脚本的功能和区别,以及执行这些脚本时遇到的进程管理问题,通过查看进程树、使用`kill`命令和`lsof`命令,分析了子... 目录零. 用到的命令一. 待执行的脚本二. 执行含子进程的脚本,并kill2.1 进程查看2.2 遇到的

一篇文章彻底搞懂macOS如何决定java环境

《一篇文章彻底搞懂macOS如何决定java环境》MacOS作为一个功能强大的操作系统,为开发者提供了丰富的开发工具和框架,下面:本文主要介绍macOS如何决定java环境的相关资料,文中通过代码... 目录方法一:使用 which命令方法二:使用 Java_home工具(Apple 官方推荐)那问题来了,

Linux云服务器手动配置DNS的方法步骤

《Linux云服务器手动配置DNS的方法步骤》在Linux云服务器上手动配置DNS(域名系统)是确保服务器能够正常解析域名的重要步骤,以下是详细的配置方法,包括系统文件的修改和常见问题的解决方案,需要... 目录1. 为什么需要手动配置 DNS?2. 手动配置 DNS 的方法方法 1:修改 /etc/res

Linux创建服务使用systemctl管理详解

《Linux创建服务使用systemctl管理详解》文章指导在Linux中创建systemd服务,设置文件权限为所有者读写、其他只读,重新加载配置,启动服务并检查状态,确保服务正常运行,关键步骤包括权... 目录创建服务 /usr/lib/systemd/system/设置服务文件权限:所有者读写js,其他

Linux下利用select实现串口数据读取过程

《Linux下利用select实现串口数据读取过程》文章介绍Linux中使用select、poll或epoll实现串口数据读取,通过I/O多路复用机制在数据到达时触发读取,避免持续轮询,示例代码展示设... 目录示例代码(使用select实现)代码解释总结在 linux 系统里,我们可以借助 select、

Linux挂载linux/Windows共享目录实现方式

《Linux挂载linux/Windows共享目录实现方式》:本文主要介绍Linux挂载linux/Windows共享目录实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录文件共享协议linux环境作为服务端(NFS)在服务器端安装 NFS创建要共享的目录修改 NFS 配

linux系统中java的cacerts的优先级详解

《linux系统中java的cacerts的优先级详解》文章讲解了Java信任库(cacerts)的优先级与管理方式,指出JDK自带的cacerts默认优先级更高,系统级cacerts需手动同步或显式... 目录Java 默认使用哪个?如何检查当前使用的信任库?简要了解Java的信任库总结了解 Java 信