浅析AES加密技术及其应用

AES最一种常见的对称加密算法,对称加密算法也就是加密和解密用相同的密钥。加密流程如下:
浅析AES加密技术及其应用

明文P:没有经过加密的数据。

密钥K:用来加密明文的密码,在对称加密算法中,加密与解密的密钥是相同的。密钥为接收方与发送方协商产生,但不可以直接在网络上传输,否则会导致密钥泄漏,通常是通过非对称加密算法加密密钥,然后再通过网络传输给对方,或者直接面对面商量密钥。密钥是绝对不可以泄漏的,否则会被攻击者还原密文,窃取机密数据。

AES加密函数
设AES加密函数为E,则 C = E(K, P),其中P为明文,K为密钥,C为密文。也就是说,把明文P和密钥K作为加密函数的参数输入,则加密函数E会输出密文C。

密文C
经加密函数处理后的数据

AES解密函数
设AES解密函数为D,则 P = D(K, C),其中C为密文,K为密钥,P为明文。也就是说,把密文C和密钥K作为解密函数的参数输入,则解密函数会输出明文P。

AES的应用
语言:java
jdk版本:1.7
算法:AES
密钥长度:32 ,也就是AES-256
AES为分组密码,分组密码也就是把明文分成一组一组的,每组长度相等,每次加密一组数据,直到加密完整个明文。在AES标准规范中,密钥的长度可以使用128位、192位、256位。(每个字节8位)

加密模式:ECB
电码本模式,这种模式是将整个明文分成若干段相同的小段,然后对每一小段进行加密。

填充模式:PKCS7Padding
在分组加密算法中,我们首先要将原文进行分组,然后每个分组进行加密,然后组装密文。
假设我们现在的数据长度是24字节,BlockSize是8字节,那么很容易分成3组,一组8字节;
因为加密算法的需求,明文字节必须按照block进行填充对齐,才能方便进行加密运算。

加密结果编码方式:Base64

环境准备
JAVA实现“AES/ECB/PKCS7Padding”对称加解密,尤其是 AES256的加解密需要注意两点:
1、技术出口限制,国内的JDK 默认不支持;
2、PKCS7Padding JAVA默认不支持PKCS7Padding填充模式,需借助第三方提供者。

JAVA代码:
浅析AES加密技术及其应用
浅析AES加密技术及其应用

输出结果:
浅析AES加密技术及其应用

相关推荐

详解DES/3DES/AES 三种对称加密算法在 Java 中的实现

对称密码算法是当今应用范围最广,使用频率最高的加密算法。它不仅应用于软件行业,在硬件行业同样流行。各种基础设施凡是涉及到安全需求,都会优先考虑对称加密算法。对称密码算法的加密密钥和解密密钥相同,对于大 ...

对称/非对称加密算法在HTTPS协议中的应用

HTTPS其实是有两部分组成:HTTP + SSL / TLS,也就是在HTTP上又加了一层处理加密信息的模块。服务端和客户端的信息传输都会通过TLS进行加密,所以传输的数据都是加密后的数据。 1、客户端发起HTTPS请求 用户在浏览器 ...

应用于图像加密上的AES加密算法

随着互联网的发展,数字图像通信成为了信息传输的重要途径。与此同时,数字图像通信的安全引起了人们的广泛重视。将AES算法和混沌序列相结合来实现数字图像加密的方法,既保证了加密的安全性,也缩短了加密的时间。 ...

浅析加密算法在Web安全登录认证中的应用

对于Web应用程序,安全登录是很重要的。但是目前大多数 Web 系统在发送登录密码时是发送的明文,很容易被入侵者监听到密码。如果在登录系统中加入安全登录机制,则可以在Web 服务器上实现安全登录。 要实现安全登录 ...

微信扫一扫,分享到朋友圈

浅析AES加密技术及其应用