加密/解密--数字信封/数字签名/数字证书

2024-05-10 03:20

本文主要是介绍加密/解密--数字信封/数字签名/数字证书,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

what

加密

加密:加密就是对原来为明文的文件或数据按某种算法进行处理,使其成为一 段不可读的代码,通常称为 “密文”。从而达到保护数据不被非法窃取的目的。

解密

数据加密的逆向过程,将加密的数据转换为明文

加/解密工作机制

对称密钥算法(共享密钥算法)

---使用同一个密钥对数据进行加密和解密

这就意味着对称加密技术要通信双方需要事先共享相同的密钥,若攻击者得到私钥就能截获密文直接读取明文

用户A和用户B协商好对称密钥后,加解密过程如下:

① 用户A使用对称密钥将明文加密,并将密文发送给用户B。

② 用户B收到密文后,用对称密钥对密文进行解密,得到最初的明文。 

非对称密钥算法(公钥密钥算法)

----每个用户都要两个密钥:对外界所有人公开的公钥,只有自己知道的私钥

前者用于加密,后者用于解密

发送方以接收方的公钥 作为加密密钥,接收方使用自己的私钥作为解密密钥

① 用户A使用用户B的公钥对明文加密,并将密文发送给用户B。

② 用户B收到密文后,用自己的私钥对密文进行解密,得到最初的明文 

衍生技术

数字信封--双重加密保障

发送方A首先利用对称密钥加密要发送给接收方B的明文,再利用B的公钥加密对称密钥。被接收方公钥加密后的对称密钥被称为数字信封(这个信封里的内容是对称密钥加密过的明文)

----B收到A发来的信息,必须先用自己私钥解密数字信封,得到对称密钥,才能利用对称密钥解密收到的信息

① 用户A使用对称密钥对明文加密,生成密文。

② 用户A使用用户B的公钥加密对称密钥,生成数字信封。

③ 用户A将数字信封和密文信息一起发送给用户B 。

④ 用户B接收到用户A发送的加密信息后,使用自己的私钥打开数字信封,得到对 称密钥。

⑤ 用户B使用对称密钥对密文进行解密,得到最初的明文。

数字认签名---验证接收方明确数据没被篡改

发送方不仅通过非对称加密技术对明文加密,并且为了保证接收方能验证数据没被篡改(完整性)会将明文直接进行哈希技术得到摘要(不可逆性)。

接收方解密密文后,为验证内容完整性用相同的哈希算法来对解密得到的明文进行哈希计算生成摘要值。若B生成的摘要值与A发送的摘要值相同则证明内容没有被篡改。

① 用户A使用用户B的公钥对明文加密,生成密文。

② 用户A使用哈希算法对明文进行哈希计算,生成摘要信息。

③ 用户A使用自己的私钥对摘要信息进行加密,生成数字签名。

④ 用户A将密文和数字签名一起发送给用户B。

⑤ 用户B使用用户A的公钥对数字签名进行解密,得到摘要信息。

⑥ 用户B接收到用户A的加密信息后,使用自己的私钥对密文进行解密,得到最初 的明文。

⑦ 用户B使用与用户A相同的哈希算法对明文进行哈希计算,生成摘要信息。

⑧ 用户B将生成的摘要信息与从A收到的摘要信息进行比对。

• 如果一致,表示明文未经过篡改,则接受明文。

• 如果不一致,表示明文被篡改过,则丢弃明文。 

数字证书---验证公钥来源的可靠性

若攻击者直接将B存储的A的公钥更改为自己的公钥,这样攻击者发送伪造的信息给B,B能正常解密读取,但是在B看来这些信息都是A正常发送的。

为了确保公钥来源的可靠性, 公钥需要经过权威机构CA (Certificate Authority,证书颁发机构)认证后,才能被认为是可靠的

数字证书机构充当了第三方可信的中介,验证证书持有人的身份并签署证书,从而保证公钥的有效性。这样,其他用户可以通过验证证书的签名来确保公钥的真实性和完整性,从而建立起安全的通信。

PKI

PKI(Public Key Infrastructure,公钥基础设施)是一种通用性的安全基础设施,它利用公钥理论和技术来实现并提供信息安全服务。在通信过程中,通过PKI可以实现身份认证、信息保密、数据完整性校验和 不可否认性保障。

配置PKI的目的就是为指定的PKI实体向CA申请一个本地证书,并由PKI实体(终端)对本地证书的有效性进行验证。

 

这篇关于加密/解密--数字信封/数字签名/数字证书的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

从去中心化到智能化:Web3如何与AI共同塑造数字生态

在数字时代的演进中,Web3和人工智能(AI)正成为塑造未来互联网的两大核心力量。Web3的去中心化理念与AI的智能化技术,正相互交织,共同推动数字生态的变革。本文将探讨Web3与AI的融合如何改变数字世界,并展望这一新兴组合如何重塑我们的在线体验。 Web3的去中心化愿景 Web3代表了互联网的第三代发展,它基于去中心化的区块链技术,旨在创建一个开放、透明且用户主导的数字生态。不同于传统

usaco 1.2 Name That Number(数字字母转化)

巧妙的利用code[b[0]-'A'] 将字符ABC...Z转换为数字 需要注意的是重新开一个数组 c [ ] 存储字符串 应人为的在末尾附上 ‘ \ 0 ’ 详见代码: /*ID: who jayLANG: C++TASK: namenum*/#include<stdio.h>#include<string.h>int main(){FILE *fin = fopen (

Java 后端接口入参 - 联合前端VUE 使用AES完成入参出参加密解密

加密效果: 解密后的数据就是正常数据: 后端:使用的是spring-cloud框架,在gateway模块进行操作 <dependency><groupId>com.google.guava</groupId><artifactId>guava</artifactId><version>30.0-jre</version></dependency> 编写一个AES加密

AIGC6: 走进腾讯数字盛会

图中是一个程序员,去参加一个技术盛会。AI大潮下,五颜六色,各种不确定。 背景 AI对各行各业的冲击越来越大,身处职场的我也能清晰的感受到。 我所在的行业为全球客服外包行业。 业务模式为: 为国际跨境公司提供不同地区不同语言的客服外包解决方案,除了人力,还有软件系统。 软件系统主要是提供了客服跟客人的渠道沟通和工单管理,内部管理跟甲方的合同对接,绩效评估,BI数据透视。 客服跟客人

3.比 HTTP 更安全的 HTTPS(工作原理理解、非对称加密理解、证书理解)

所谓的协议 协议只是一种规则,你不按规则来就无法和目标方进行你的工作 协议说白了只是人定的规则,任何人都可以定协议 我们不需要太了解细节,这些制定和完善协议的人去做的,我们只需要知道协议的一个大概 HTTPS 协议 1、概述 HTTPS(Hypertext Transfer Protocol Secure)是一种安全的超文本传输协议,主要用于在客户端和服务器之间安全地传输数据

ja-netfilter的前世今生和非对称加密的欺骗原理

文章目录 ja-netfilter起源官网插件插件配置文件插件的综合应用更多用法 非对称加密欺骗原理非对称加密和数字证书激活过程和欺骗手段分析代码示例第一步:生成自签名证书脚本第二步:使用自签名证书对产品激活信息进行签名 样例数据样例激活码(注:用于代码演示,直接粘贴到JetBrains 家 IDE 中无法完成激活!不用试,肯定提示无效,无法激活!!)样例power.conf(配合ja-ne

NC 把数字翻译成字符串

系列文章目录 文章目录 系列文章目录前言 前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文章男女通用,看懂了就去分享给你的码吧。 描述 有一种将字母编码成数字的方式:‘a’->1, ‘b->2’, … , ‘z->26’。 现在给一串数字,返回有多少种可能的译码结果 import java.u

Linux加密框架设计与实现

本文转自网络文章,内容均为非盈利,版权归原作者所有。 转载此文章仅为个人收藏,分享知识,如有侵权,马上删除。 原文作者:原文作者是独孤九贱大佬 原文地址:http://bbs.chinaunix.net/thread-3627341-1-1.html

Android的登陆MD5加密

1:导入代码 public class MD5Util {private static final String TAG = "MD5Util";/**** MD5加码 生成32位md5码*/public static String string2MD5(String inStr) {Log.e(TAG, "string2MD5: -------------------------");Mess

34465A-61/2 数字万用表(六位半)

34465A-61/2 数字万用表(六位半) 文章目录 34465A-61/2 数字万用表(六位半)前言一、测DC/AC电压二、测DC/AC电流四、测电阻五、测电容六、测二极管七、保存截图流程 前言 1、6位半数字万用表通常具有200,000个计数器,可以显示最大为199999的数值。相比普通数字万用表,6位半万用表具有更高的测量分辨率和更高的测量准确度,适用于精度比较高的测