• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >Java > Java 加密解密基础分类及模式归纳整理

Java 加密解密基础分类及模式归纳整理

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-28

通过本文主要向大家介绍了java零基础教程,java基础培训,java零基础入门书籍,学java要基础吗,java基础教程等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

Java  加密解密基础:

密码学是研究编制密码和破译密码的技术科学。研究密码变化的客观规律,应用于编制密码以保守通信秘密的,称为编码学;应用于破译密码以获取通信情报的,称为破译学,总称密码学。

密码学常用术语

明文: 待加密数据。

密文: 明文经过加密后数据。

加密: 将明文转换为密文的过程。

加密算法: 将明文转换为密文的转换算法。

加密密钥: 通过加密算法进行加密操作的密钥。

解密: 将密文转换为铭文的过程。

解密算法: 将密文转换为明文的转换算法。

解密密钥: 通过解密短发进行解密操作的密钥。

密码学分类

1.按时间分

a.古典密码:以字符为基本加密单元。

b.现代密码:以信息块为基本加密单元。

2按保密内容的算法划分

a.受限制算法:算法的保密性基于保持算法的秘密。

b.基于密钥算法:算法的保密性基于对密钥的保密。

3.按密钥体制划分

a.对称密码体制:也叫单钥或私钥密码体制,加密过程与解密过程使用同一套密钥。对应的算法就是对称加密算法,例如DES,AES。

b.非对称密码体制:也叫双钥或公钥密码体制,加密过程与解密过程使用不同的密钥。对应的算法就是非对称加密算法,例如RSA。

4.按明文处理方式划分

a.流密码:也称为序列密码,加密时每次加密一位或者一个字节的明文。例如RC4算法。

b.分组密码:加密时将明文分成固定长度的组,用同一个密钥和算法对每一组进行加密输出也是固定长度的明文。当最后一组大小不满足指定的分组大小时,

有两种处理模式:

无填充模式,直接对剩余数据进行加密,此组加密后大小与剩余数据有关;

有填充模式,对于不满足指定长度分组的进行数据填充;如果恰巧最后一组数据与指定分组大小相同,那么直接添加一个指定

大小的分组;填充的最后一个字节记录了填充的字节数。

分组密码工作模式简介

1.电子密码本模--ECB

将明文的各个分组独立的使用相同的密钥进行加密,这种方式加密时各分组的加密独立进行互不干涉,因而可并行进行。同样因为各分组独立加密的缘故,相同的明文分组加密之后具有相同的密文。该模式容易暴露明文分组的统计规律和结构特征。不能防范替换攻击。

其实照实现来看,ECB的过程只是把明文进行分组,然后分别加密,最后串在一起的过程。当消息长度超过一个分组时,不建议使用该模式。在每个分组中增加随机位(如128位分组中96位为有效明文,32位的随机数)则可稍微提高其安全性,但这样无疑造成了加密过程中数据的扩张。

优点:

1.简单;

2.有利于并行计算;

3.误差不会被传送;

缺点:

1.不能隐藏明文的模式;

2.可能对明文进行主动攻击;

2.密码分组链接模--CBC

需要一个初始化向量IV,第一组明文与初始化向量进行异或运算后再加密,以后的每组明文都与前一组的密文进行异或运算后再加密。IV 不需要保密,它可以明文形式与密文一起传送。

优点:

1.不容易主动攻击,安全性好于ECB,适合传输长度长的报文,是SSL、IPSec的标准。

缺点:

1.不利于并行计算;

2.误差传递;

3.需要初始化向量IV

3.密文反馈模式--CFB

需要一个初始化向量IV ,加密后与第一个分组明文进行异或运算产生第一组密文,然后对第一组密文加密后再与第二组明文进行异或运算缠身第二组密文,一次类推,直到加密完毕。

优点:

1.隐藏了明文模式;

2.分组密码转化为流模式;

3.可以及时加密传送小于分组的数据;

缺点:

1.不利于并行计算;

2.误差传送:一个明文单元损坏影响多个单元;

3.唯一的IV;

4. 输出反馈模式--OFB

需要一个初始化向量IV ,加密后得到第一次加密数据,此加密数据与第一个分组明文进行异或运算产生第一组密文,然后对第一次加密数据进行第二次加密,得到第二次加密数据,第二次加密数据再与第二组明文进行异或运算产生第二组密文,一次类推,直到加密完毕。

优点:

1.隐藏了明文模式;

2.分组密码转化为流模式;

3.可以及时加密传送小于分组的数据;

缺点:

1.不利于并行计算;

2.对明文的主动攻击是可能的;

3.误差传送:一个明文单元损坏影响多个单元;

5.计数器模式--CTR

使用计数器,计数器初始值加密后与第一组明文进行异或运算产生第一组密文,
计数器增加,然后,加密后与下一组明文进行异或运算产生下一组密文,以此类推,直到加密完毕

优点:

1.可并行计算;

2.安全性至少与CBC 模式一样好;

3.加密与解仅涉及密码算法的加密;

缺点:

1.没有错误传播,不易确保数据完整性;

分组密码填充方式简介

PKCS5 :填充字符串由一个值为5的字节序列组成,每个字节填充该字节序列的长度。明确定义Block的大小是8位

PKCS7 :填充字符串由一个值为7的字节序列组成,每个字节填充该字节序列的长度。对于块的大小是不确定的,可以在1-255之间

ISO10126:填充字符串由一个字节序列组成,此字节序列的最后一个字节填充字节序列的长度,其余字节填充随机数据。

希望本篇文章对您有所帮助

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • Java 加密解密基础分类及模式归纳整理
  • java基础中异常及包归纳整理
  • Java 加密解密基础分类及模式归纳整理
  • java基础中异常及包归纳整理

相关文章

  • 2017-05-28java数组、泛型、集合在多态中的使用及对比
  • 2017-05-28java中四种操作xml方式的比较
  • 2017-05-28完美解决gson将Integer默认转换成Double的问题
  • 2017-05-28微信开发--自定义菜单查询返码乱码的解决方法
  • 2017-05-28Java定时器问题实例解析
  • 2017-07-23详述SpringMVC框架中拦截器Interceptor的使用方法
  • 2017-05-28Java HelloWorld原理分析_动力节点Java学院整理
  • 2017-05-28java实现上传和下载工具类
  • 2017-05-28Spring Boot的Profile配置详解
  • 2017-05-28java中匿名内部类详解

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • Java数据结构之图(动力节点Java学院整理)
    • java SpringMVC学习使用详解
    • SpringBoot集成mybatis实例
    • Spring Boot下的Job定时任务
    • 详解redis与spring的整合(使用缓存)
    • 详解利用Spring加载Properties配置文件
    • 详解Spring MVC自动为对象注入枚举类型
    • 通过一个命令轻松切换Java的版本
    • SWT(JFace)小制作 BugTracker
    • Java变量和对象的作用域

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有