我对DES AES RSA的认识
1、DES(Data Encryption Standard)算法:数据加密标准。是替换和置换细致而复杂的结合体,替换和置换一个接着一个,共循环16次。算法首先将明文分块,每块64位。密钥也是64位,但实际上它可以使任意56位的数字(多余的8位通常作为校验位,但不影响加密)。
替换提供了混乱性,置换提供了扩散性。
混乱性:当明文中的字符变化时,截取者不能预知密文会有何变化。
扩散性:将明文中单一字母包含的信息散布到整个输出中的特性。
DES算法加密过程如下图:

2、AES加密算法(Advanced Encryption Standard):高级加密标准。分块大小为128位,像DES一样,也使用重复的循环,对于128、192和256位点的密钥分别会有10、12和14次循环。
AES典型:Rijndael算法:Rijndael是一种快速算法,主要使用的时候替换、置换、移位、加以及特殊的或运算。在Rijndael中,循环称为“轮”;

a、字节替换:这一步使用和DES相似的替换结构,根据一张替换表来替换128位分块中的每个字节,这一步是直接的混乱操作。
b、行移位:一个置换步骤。对于128和192位的分块,第n行循环左移(n-1)个字节;对于256位的分块,第2行移位1个字节,第三行和第四行分别移位3和4个字节。这是一个直接的混乱操作。
c、列移位:该步骤包括左移、与自身的异或运算。这些步骤提供了混乱性和扩散性。
d、加上子密钥:密钥的一部分与循环结果进行特殊或运算,这一部分对于此次循环式唯一的。这步操作提供了混乱性并合并了密钥。
3、RSA(Rivest-Shamir-Adelman)加密算法:是一种公开密钥体制,使用两个密钥d和e,分别用于解密和加密。
P=E(D(P))=D(E(P))

我对DES AES RSA的认识的更多相关文章
- 加密算法(DES,AES,RSA,MD5,SHA1,Base64)比较和项目应用(转载)
加密技术通常分为两大类:"对称式"和"非对称式". 对称性加密算法:对称式加密就是加密和解密使用同一个密钥.信息接收双方都需事先知道密匙和加解密算法且其密匙是相 ...
- 加密算法(DES,AES,RSA,MD5,SHA1,Base64)比较和项目应用
加密技术通常分为两大类:"对称式"和"非对称式". 对称性加密算法:对称式加密就是加密和解密使用同一个密钥.信息接收双方都需事先知道密匙和加解密算法且其密匙是相 ...
- [转]加密算法(DES,AES,RSA,MD5,SHA1,Base64)比较和项目应用
原文链接:http://www.cnblogs.com/sochishun/p/7028056.html 加密技术通常分为两大类:"对称式"和"非对称式". 对 ...
- 实验源码,DES,AES,RSA,椭圆曲线
https://pan.baidu.com/s/1CPA-bnLmcJR_AFsNImhUjQ
- C#加密解密(DES,AES,Base64,md5,SHA256,RSA,RC4)
一:异或^简单加解密(数字类型) 1:原理: 异或用于比较两个二进制数的相应位,在执行按位"异或"运算时,如果两个二进制数的相应位都为1或者都为0,则返回0;如果两个二进制数的相应 ...
- 加解密 3DES AES RSA 简介 示例 MD
Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...
- Atitit.加密算法 des aes 各个语言不同的原理与解决方案java php c#
Atitit.加密算法 des aes 各个语言不同的原理与解决方案java php c# 1. 加密算法的参数::算法/模式/填充 1 2. 标准加密api使用流程1 2.1. Md5——16bi ...
- 我的Android进阶之旅------>Android采用AES+RSA的加密机制对http请求进行加密
前言 未加密的抓包截图 加密之后的抓包截图 基本需求及概念 AES算法 AES基本原理及算法流程 AES算法流程 RSA算法 RSA算法基本原理及流程 RSA算法实现流程 AES与RSA相结合数据加密 ...
- Java和C/C++进行DES/AES密文传输(借鉴)
Java和C/C++进行DES/AES密文传输 声明:对于新手来说很难解决的一个问题,终于在非常煎熬之后找到这篇文章,所以借鉴过来.原文地址http://blog.sina.com.cn/s/blog ...
随机推荐
- 使用INDY解决BASE64回车换行问题
使用INDY解决BASE64回车换行问题 使用DELPHI EncodeStream(),对流数据进行BASE64编译以后,每隔75个字符,就会添加回车换行符(#$D#$A),这会造成许多问题. 网上 ...
- Nginx配置信息损毁又无备份时如何恢复
worker_processes *; 本文介绍在Nginx配置信息出现问题后,在没有备份的情况下,如何利用Nginx进程的虚拟内存恢复配置信息. 问题背景 假设 /etc/nginx/site-av ...
- Make R-CNN论文学习
在论文是在Faster R-CNN的基础上的改进 ,实现的效果有: 目标检测:能够在输入图像中绘制出目标的边界框,预测目标位置 目标分类:判别出该划定边界的目标的类别是什么,如人.车.猫和狗等类别 像 ...
- linux修改配置文件解决mysql中文乱码和指定数据库存储引擎
如题,mysql数据库的中文显示乱码: 先看下原来数据库里的字符编码: mysql> show variables like '%character_set%'; +-------------- ...
- web手工项目04-测试报告的核心内容-HTTP请求和响应-fiddler工具进行抓包
回顾 登录功能测试(需求分析(输入分析,处理分析,输出分析),数据构造,编写用例) 测试点设计思路--扩展(相关业务,特殊角度-分支,异常,逆向) 流程图元素与画法(开始/结束,路径,数据,判定,步骤 ...
- python 对xls写入信息
只能新创建xls # coding=utf-8import xlwt writebook = xlwt.Workbook() #打开excel test= writebo ...
- 微信支付相关,如何获取API证书
参考腾讯官方文档: http://kf.qq.com/faq/161222NneAJf161222U7fARv.html?pass_ticket=4K97qCCjgTaO4WwN1x%2BCdKEqL ...
- (转)Flink简介
1. Flink的引入 这几年大数据的飞速发展,出现了很多热门的开源社区,其中著名的有 Hadoop.Storm,以及后来的 Spark,他们都有着各自专注的应用场景.Spark 掀开了内存计算的先河 ...
- Linux 教程学习笔记
目录 一.Linux 系统启动过程 1.分为 5 个阶段 3.shell.操作系统.内核的关系 二.Linux 系统目录结构 三.Linux 文件基本属性 1.Linux文件属性 3.更改文件属性: ...
- linux网卡出现问题:Job for network.service failed because the control process exited with error code问题
[转自]:https://blog.csdn.net/dongfei2033/article/details/81124465 今天在centOS 7下更改完静态ip后发现network服务重启不了, ...