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的认识的更多相关文章

  1. 加密算法(DES,AES,RSA,MD5,SHA1,Base64)比较和项目应用(转载)

    加密技术通常分为两大类:"对称式"和"非对称式". 对称性加密算法:对称式加密就是加密和解密使用同一个密钥.信息接收双方都需事先知道密匙和加解密算法且其密匙是相 ...

  2. 加密算法(DES,AES,RSA,MD5,SHA1,Base64)比较和项目应用

    加密技术通常分为两大类:"对称式"和"非对称式". 对称性加密算法:对称式加密就是加密和解密使用同一个密钥.信息接收双方都需事先知道密匙和加解密算法且其密匙是相 ...

  3. [转]加密算法(DES,AES,RSA,MD5,SHA1,Base64)比较和项目应用

    原文链接:http://www.cnblogs.com/sochishun/p/7028056.html 加密技术通常分为两大类:"对称式"和"非对称式". 对 ...

  4. 实验源码,DES,AES,RSA,椭圆曲线

    https://pan.baidu.com/s/1CPA-bnLmcJR_AFsNImhUjQ

  5. C#加密解密(DES,AES,Base64,md5,SHA256,RSA,RC4)

    一:异或^简单加解密(数字类型) 1:原理: 异或用于比较两个二进制数的相应位,在执行按位"异或"运算时,如果两个二进制数的相应位都为1或者都为0,则返回0;如果两个二进制数的相应 ...

  6. 加解密 3DES AES RSA 简介 示例 MD

    Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...

  7. Atitit.加密算法 des  aes 各个语言不同的原理与解决方案java php c#

    Atitit.加密算法 des  aes 各个语言不同的原理与解决方案java php c# 1. 加密算法的参数::算法/模式/填充 1 2. 标准加密api使用流程1 2.1. Md5——16bi ...

  8. 我的Android进阶之旅------>Android采用AES+RSA的加密机制对http请求进行加密

    前言 未加密的抓包截图 加密之后的抓包截图 基本需求及概念 AES算法 AES基本原理及算法流程 AES算法流程 RSA算法 RSA算法基本原理及流程 RSA算法实现流程 AES与RSA相结合数据加密 ...

  9. Java和C/C++进行DES/AES密文传输(借鉴)

    Java和C/C++进行DES/AES密文传输 声明:对于新手来说很难解决的一个问题,终于在非常煎熬之后找到这篇文章,所以借鉴过来.原文地址http://blog.sina.com.cn/s/blog ...

随机推荐

  1. linux查看文件的编码格式的方法 set fileencoding

    查看文件编码在Linux中查看文件编码可以通过以下几种方式:1.在Vim中 可以直接查看文件编码:set fileencoding即可显示文件编码格式.如果你只是想查看其它编码格式的文件或者想解决 用 ...

  2. Xgboost建模

    xgboost参数 选择较高的学习速率(learning rate).一般情况下,学习速率的值为0.1.但是,对于不同的问题,理想的学习速率有时候会在0.05到0.3之间波动.选择对应于此学习速率的理 ...

  3. g 定时任务

    Package cron implements a cron spec parser and job runner. cron - GoDochttps://godoc.org/github.com/ ...

  4. 在主机上如何构建openwrt的编译环境?

    答: 请参考官方文档

  5. Docs-.NET-C#-指南-语言参考-预处理器指令:#warning(C# 参考)

    ylbtech-Docs-.NET-C#-指南-语言参考-预处理器指令:#warning(C# 参考) 1.返回顶部 1. #warning(C# 参考) 2015/07/20 #warning 允许 ...

  6. 39 Flutter仿京东商城项目 收货地址列表、增加 修改收货地址布局、弹出省市区选择器

    加群452892873 下载对应39课文件,运行方法,建好项目,直接替换lib目录 pubspec.yaml city_pickers: ^ AddressAdd.dart import 'packa ...

  7. starUML建模C++【逆向工程】

    1.下载starUML 2.打开starUML,选择default approach 3.添加 Profile,把C++添加进去 4.在右侧的工程上点右键—[C++]—-[Reverse Engine ...

  8. dts reader

    package com.aliyun.dts.connect; import com.alibaba.fastjson.JSONObject; import com.aliyun.drc.client ...

  9. 浅谈service、DAO层引入(转)

    转自 http://www.4u4v.net/mvc-simple-enough-on-the-introduction-of-service-dao-layer.html MVC是web开发中常见的 ...

  10. MySQL中创建存储过程示例

    在这个示例中需要用到一张名为test_table的表,我们使用show create table test_table查看表的创建过程: CREATE TABLE `test_table` ( `id ...