Java加密系列之(一)加密基础

密码的常用术语


明文:待加密信息

密文:经过加密后的明文


加密:明文转为密文的过程

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

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


解密:将密文转为明文的过程

解密算法:密文转为明文的算法

解密密钥:通过解密算法进行解密操作用的密钥


密码分析:截获密文者试图通过分析截获的密文从而推断出原来的明文或密钥的过程

主动攻击:攻击者非法入侵密码系统,采用伪造、修改、删除等手段向系统注入假消息进行欺骗(对密文具有破坏作用)

被动攻击:对一个保密系统采取截获密文并对其进行分析和攻击(对密文没有破坏作用)

密码体制:由明文空间、密文空间、密钥空间、加密算法和解密算法五部分构成


密码协议:也称安全协议,指以密码学为基础的消息交换的通信协议,目的是在网络环境中提供安全的服务

密码系统:指用于加密、解密的系统


柯克霍夫原则:数据的安全基于秘钥而不是算法 的保密。即系统的安全取决于密钥,对密钥保密,对算法公开。这是现代密码学设计的基本原则


密码的分类


按密码体制


对称加密(单钥密码、私钥密码) 指加密密钥与解密密钥相同

非对称加密(双钥密码、公钥密码) 指加密密钥与解密密钥不同,密钥分公钥、私钥


按明文处理方法


分组密码:指加密时将明文分为固定长度的组,用同一秘钥和算法对每一块加密,输出也是固定长度的密文。多用于网络加密

流密码:也称序列密码。指加密时每次加密一位或者一个字节明文


散列函数:不是用来完成数据的加解密,是用来验证数据的完整性。

特点:长度不受限制、哈希值容易计算、散列运算过程不可逆

相关算法:消息摘要算法MD5等、SHA——安全散列算法、MAC——消息认证码算法


数字签名:主要是针对以数字的形式存储的消息进行的处理


OSI安全体系

OSI(Open System Interconnection)开放式通信系统

网络通信

7.应用层

6.表示层

5.会话层

4.传输层

3.网络层

2.数据链路层

1.物理层


安全机制

加密机制

数字签名机制

访问控制机制

数据完整性机制

认证机制

业务流填充机制

路由控制机制

公正机制


安全服务

认证(鉴别)

访问控制服务

数据保密性服务

数据完整性服务

抗否认性服务


TCP/IP安全体系

7.应用层

4.应用层 6.表示层应用层安全

5.会话层

3.传输层 4.传输层 传输层安全

2.网络层 3.网络层 网络层安全

1.网络接口层 2.数据链路层网络接口层安全

1.物理层


安全服务 安全机制

认证(鉴别服务)认证机制

数字签名机制

访问控制服务 访问控制机制

路由控制机制

数据保密性服务 加密机制

业务流填充机制

数据完整性服务 数据完整性机制

抗否认性服务 公正机制


Java安全组成

JCA(Java Cryptography Architecture) Java加密体系结构提供基本的加密框架,比如消息摘要、数字签名

JCE(Java Cryptography Extension) Java加密扩展包在JCA的基础上做了扩展,比如DES、AES、RSA算法通过JCE提供

JSSE(Java Secure Socket Extension) Java安全套接字扩展包提供基于SSL的加密功能,主要用于网络传输

JAAS(Java Authentication and Authentication Service)Java鉴别与安全服务 基于Java平台的身份验证功能,如权限




郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。