对称密钥密码体制、公钥密码体制

1   对称密钥密码体制

·加密密钥解密密钥都使用相同密钥的密码体制。

数据加密标准 DES

·DES 属于对称密钥密码体制,是一种分组密码

·在加密前,先对整个明文进行分组。每一个组长为 64 位。

·然后对每一个 64 位 二进制数据进行加密处理,产生一组 64 位密文数据。

·最后将各组密文串接起来,即得出整个的密文。

·使用的密钥为 64 位(实际密钥长度为 56 位,有 8 位用于奇偶校验)。 

DES 的保密性

·仅取决于对密钥的保密,其算法是公开的。

·严重问题:DES 密钥长度较短。

·现在已经设计出搜索 DES 密钥的专用芯片。56 位 DES 已不再认为是安全的了。

三重 DES

·使用两个 56 位的密钥。

·把一个 64 位明文用一个密钥加密,再用另一个密钥解密,然后再使用第一个密钥加密,即

高级加密标准 AES

·2002 年成为美国政府加密标准。现在是 ISO/IEC 18033-3 标准。

·高级加密标准 AES(Advanced Encryption Standard)是一种分组密码,分组长度为 128 位。

·有三种加密标准,其密钥分别为 128 位、192 位和 256 位。

·加密步骤复杂,运算速度比 3DES 快得多,安全性也大大加强。

2  公钥密码体制

·又称为公开密钥密码体制

·使用不同加密密钥解密密钥

·这种加密体制又称为非对称密钥密码体制

·公钥密码体制产生的主要原因:

        1. 对称密钥密码体制的密钥分配问题。

        2. 对数字签名的需求。

·典型:RSA 体制,一种基于数论中的大数分解问题的体制。

加密密钥与解密密钥

·加密密钥 PK(public key,即公钥):公开

·解密密钥 SK(secret key,即私钥或秘钥):需要保密

·加密算法 E 和解密算法 D :公开

·虽然私钥 SK 是由公钥 PK 决定的,但却不能根据 PK 计算出 SK

公钥算法的特点

(1) 密钥对产生器产生出接收者 B 的一对密钥:     

        加密密钥 PKB  和 解密密钥 SKB 。

        加密密钥 PKB 就是接收者 B 的公钥,向公众公开

        解密密钥 SKB 就是接收者 B 的私钥,对其他任何人都保密

(2) 发送者 A 用 B 的公钥 PKB 对明文 X 加密(E 运算),然后发送给 B。

     接收者 B 用自己的私钥 SKB 解密(D 运算),即可恢复出明文:

(3) 从已知的 PKB 实际上不可能推导出 SKB,即从 PKB 到 SKB 是“计算上不可能的”。

(4) 加密密钥是公开的,但不能用来解密,即:

(5) 加密和解密运算可以对调,即加密和解密是互逆的:

公开密钥与对称密钥的区别

·使用对称密钥:

        在通信信道上可以进行一对一双向保密通信

        这种保密通信仅限于持有此密钥的双方。

·使用公开密钥:

        在通信信道上可以是多对一单向保密通信

        例如:很多顾客都向同一个网站发送各自的信用卡信息。

需要注意

·任何加密方法的安全性取决于密钥的长度,以及攻破密文所需的计算量

·公钥加密算法的开销较大,不会使传统密码体制被弃用。

欢迎一起学习~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/473878.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++重新认知:智能指针

0/# 一、为什么要有智能指针 内存泄露是我们开发大型项目时最为头疼的问题,当我们将对象建立在堆上时,因为需要我们自己手动释放,因此避免不了忘记删除,或者删除时没有考虑清楚情况的问题,从而造成悬挂指针或者是野指针…

Sora技术报告——Video generation models as world simulators

文章目录 1. 视频生成模型,可以视为一个世界模拟器2. 技术内容2.1 将可视数据转换成patches2.2 视频压缩网络2.3 Spacetime Latent Patches2.4 Scaling transformers 用于视频生成2.5 可变的持续时间,分辨率,宽高比2.6 抽样的灵活性2.7 改进框…

【Linux】Framebuffer 应用

# 前置知识 LCD 操作原理 在 Linux 系统中通过 Framebuffer 驱动程序来控制 LCD。 Frame 是帧的意思, buffer 是缓冲的意思,这意味着 Framebuffer 就是一块内存,里面保存着一帧图像。 Framebuffer 中保存着一帧图像的每一个像素颜色值&…

4核8G服务器支持多少人同时在线访问?

腾讯云4核8G服务器支持多少人在线访问?支持25人同时访问。实际上程序效率不同支持人数在线人数不同,公网带宽也是影响4核8G服务器并发数的一大因素,假设公网带宽太小,流量直接卡在入口,4核8G配置的CPU内存也会造成计算…

Unity类银河恶魔城学习记录7-7 P73 Setting sword type源代码

Alex教程每一P的教程原代码加上我自己的理解初步理解写的注释,可供学习Alex教程的人参考 此代码仅为较上一P有所改变的代码 【Unity教程】从0编程制作类银河恶魔城游戏_哔哩哔哩_bilibili Sword_Skill_Controller.cs using System.Collections; using System.Col…

基于SringBoot+Vue的大学生社团管理系统

末尾获取源码作者介绍:大家好,我是墨韵,本人4年开发经验,专注定制项目开发 更多项目:CSDN主页YAML墨韵 学如逆水行舟,不进则退。学习如赶路,不能慢一步。 目录 一、项目简介 1.1 研究背景 1.…

C语言之日历问题

一、代码展示 #include<stdio.h> int leapyear(int year)//判断是不是闰年函数 {if (year % 4 0 && year % 100 ! 0 || year % 400 0)return 1;elsereturn 0; } int days(int year, int month, int* day)//判断一个月有几天 {if (month ! 2)return day[month…

如何在JavaScript中使用大于和小于运算符

在你的 JavaScript 程序中&#xff0c;你经常需要比较两个值&#xff0c;以确定一个是否大于另一个或小于另一个。这就是大于和小于运算符派上用场的地方。 在本文中&#xff0c;我们将通过代码示例更详细地介绍如何使用这些运算符。 &#xff08;本文内容参考&#xff1a;ja…

Acwing---875. 快速幂

快速幂 1.题目2.基本思想3.代码实现 1.题目 给定 n n n 组 a i ai ai, b i bi bi, p i pi pi&#xff0c;对于每组数据&#xff0c;求出 abii m o d mod mod pi 的值。 输入格式 第一行包含整数 n n n。 接下来 n n n 行&#xff0c;每行包含三个整数 a i ai ai, b i …

Leetcode-102. 二叉树的层序遍历

今天的情人节和树过了...... 题目&#xff1a; 给你二叉树的根节点 root &#xff0c;返回其节点值的 层序遍历 。 &#xff08;即逐层地&#xff0c;从左到右访问所有节点&#xff09;。 示例 1&#xff1a; 输入&#xff1a;root [3,9,20,null,null,15,7] 输出&#xff1a;[…

【机器学习笔记】 9 集成学习

集成学习方法概述 Bagging 从训练集中进行子抽样组成每个基模型所需要的子训练集&#xff0c;对所有基模型预测的结果进行综合产生最终的预测结果&#xff1a; 假设一个班级每个人的成绩都不太好&#xff0c;每个人单独做的考卷分数都不高&#xff0c;但每个人都把自己会做的…

Atmel ATSHA204应用总结

1 ACES软件安装 Atmel Crypto Evaluation Studio (ACES) https://www.microchip.com/DevelopmentTools/ProductDetails/PartNO/Atmel%20Crypto%20%20Studio%20(ACES) 2 基本概念 ACES CE&#xff1a;Atmel Crypto Evalution Studio Configuration Environment&#xff08;基于加…