AES加密技术

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了AES加密技术相关的知识,希望对你有一定的参考价值。

什么是AES,有什么特点,加密过程和解密过程

参考技术A 关键字
蓝牙
流加密
分组加密
des
aes
1
引言随着机技术的迅速,网络中的信息安全问题越来...
vba、word和数据库的联合编程日期:2008-04-05
01:37:06
点击:15
好评:0
摘要
本文介绍了用vba作为开发语言,用access或foxpro作为数据...
wsdxs.cn/html/pc-theory
参考技术B 正是我的硕士论题
最重要的是,你要弄清楚AES主要有四个操作
轮密钥加,字节替换,行换变化,列混合。

其中字节替换最为复杂,查找表方式较常用,加密解密分别用两个不同的表。表大小为256*8bit。
参考技术C 对称加密系统 随着大型企业管理软件的发展,其应用越来越广泛,企业数据平台涉及局域网、广域网、Internet等,在各类系统中保存的企业关键数据量也越来越大,许多数据需要保存数十年以上,甚至是永久性保存。于是关键业务数据成了企业生存的命脉和宝贵的资源,数据安全性问题越来越突出。如何增强企业软件系统的安全性、保密性、真实性、完整性,成为每一位软件开发人员关注的焦点。
为了解决关键业务的数据安全问题,首先对数据系统进行全面、可靠、安全和多层次的备份是必不可少的,除此以外,各种安全产品,无论防火墙、防病毒、防黑客、防入侵等等,都或多或少地肩负着一些保护数据的责任。从保护数据的角度讲,对数据安全这个广义概念,可以细分为三部分:数据加密、数据传输安全和身份认证管理。
数据加密就是按照确定的密码算法将敏感的明文数据变换成难以识别的密文数据,通过使用不同的密钥,可用同一加密算法将同一明文加密成不同的密文。当需要时,可使用密钥将密文数据还原成明文数据,称为解密。这样就可以实现数据的保密性。数据加密被公认为是保护数据传输安全惟一实用的方法和保护存储数据安全的有效方法,它是数据保护在技术上最重要的防线。
数据传输安全是指数据在传输过程中必须要确保数据的安全性,完整性和不可篡改性。
身份认证的目的是确定系统和网络的访问者是否是合法用户。主要采用登录密码、代表用户身份的物品(如智能卡、IC卡等)或反映用户生理特征的标识鉴别访问者的身份。
数据加密
数据加密技术是最基本的安全技术,被誉为信息安全的核心,最初主要用于保证数据在存储和传输过程中的保密性。它通过变换和置换等各种方法将被保护信息置换成密文,然后再进行信息的存储或传输,即使加密信息在存储或者传输过程为非授权人员所获得,也可以保证这些信息不为其认知,从而达到保护信息的目的。该方法的保密性直接取决于所采用的密码算法和密钥长度。
根据密钥类型不同可以将现代密码技术分为两类:对称加密算法(私钥密码体系)和非对称加密算法(公钥密码体系)。在对称加密算法中,数据加密和解密采用的都是同一个密钥,因而其安全性依赖于所持有密钥的安全性。对称加密算法的主要优点是加密和解密速度快,加密强度高,且算法公开,但其最大的缺点是实现密钥的秘密分发困难,在大量用户的情况下密钥管理复杂,而且无法完成身份认证等功能,不便于应用在网络开放的环境中。目前最著名的对称加密算法有数据加密标准DES和欧洲数据加密标准IDEA等,目前加密强度最高的对称加密算法是高级加密标准AES。
对称加密算法、非对称加密算法和不可逆加密算法可以分别应用于数据加密、身份认证和数据安全传输。
对称加密算法
对称加密算法是应用较早的加密算法,技术成熟。在对称加密算法中,数据发信方将明文(原始数据)和加密密钥一起经过特殊加密算法处理后,使其变成复杂的加密密文发送出去。收信方收到密文后,若想解读原文,则需要使用加密用过的密钥及相同算法的逆算法对密文进行解密,才能使其恢复成可读明文。在对称加密算法中,使用的密钥只有一个,发收信双方都使用这个密钥对数据进行加密和解密,这就要求解密方事先必须知道加密密钥。对称加密算法的特点是算法公开、计算量小、加密速度快、加密效率高。不足之处是,交易双方都使用同样钥匙,安全性得不到保证。此外,每对用户每次使用对称加密算法时,都需要使用其他人不知道的惟一钥匙,这会使得发收信双方所拥有的钥匙数量成几何级数增长,密钥管理成为用户的负担。对称加密算法在分布式网络系统上使用较为困难,主要是因为密钥管理困难,使用成本较高。在计算机专网系统中广泛使用的对称加密算法有DES、IDEA和AES。
传统的DES由于只有56位的密钥,因此已经不适应当今分布式开放网络对数据加密安全性的要求。1997年RSA数据安全公司发起了一项“DES挑战赛”的活动,志愿者四次分别用四个月、41天、56个小时和22个小时破解了其用56位密钥DES算法加密的密文。即DES加密算法在计算机速度提升后的今天被认为是不安全的。
AES是美国联邦政府采用的商业及政府数据加密标准,预计将在未来几十年里代替DES在各个领域中得到广泛应用。AES提供128位密钥,因此,128位AES的加密强度是56位DES加密强度的1021倍还多。假设可以制造一部可以在1秒内破解DES密码的机器,那么使用这台机器破解一个128位AES密码需要大约149亿万年的时间。(更深一步比较而言,宇宙一般被认为存在了还不到200亿年)因此可以预计,美国国家标准局倡导的AES即将作为新标准取代DES。
不对称加密算法
不对称加密算法使用两把完全不同但又是完全匹配的一对钥匙—公钥和私钥。在使用不对称加密算法加密文件时,只有使用匹配的一对公钥和私钥,才能完成对明文的加密和解密过程。加密明文时采用公钥加密,解密密文时使用私钥才能完成,而且发信方(加密者)知道收信方的公钥,只有收信方(解密者)才是唯一知道自己私钥的人。不对称加密算法的基本原理是,如果发信方想发送只有收信方才能解读的加密信息,发信方必须首先知道收信方的公钥,然后利用收信方的公钥来加密原文;收信方收到加密密文后,使用自己的私钥才能解密密文。显然,采用不对称加密算法,收发信双方在通信之前,收信方必须将自己早已随机生成的公钥送给发信方,而自己保留私钥。由于不对称算法拥有两个密钥,因而特别适用于分布式系统中的数据加密。广泛应用的不对称加密算法有RSA算法和美国国家标准局提出的DSA。以不对称加密算法为基础的加密技术应用非常广泛。

IOS AES加密

参考技术A AES加密有四种工作模式:ECB、CBC、CFB和OFB,其中IOS支持ECB(kCCOptionPKCS7Padding 对应Java中的kCCOptionPKCS5Padding)和CBC(kCCOptionECBMode)

AES是开发中常用的加密算法之一。然而由于前后端开发使用的语言不统一,导致经常出现前端加密而后端不能解密的情况出现。然而无论什么语言系统,AES的算法总是相同的, 因此导致结果不一致的原因在于 加密设置的参数不一致 。于是先来看看在两个平台使用AES加密时需要统一的几个参数。

参考: https://welkinx.com/2016/07/30/10/

ios中使用AES128位 ECB模式加密 结果转换16进制

https://tieba.baidu.com/p/4581819586

与服务器通讯的时候,除了确定密钥外,加密模式和填充方式也要确定。第一个例子中,就是使用了kCCOptionPKCS7Padding加密模式,并且有IV(初始向量),而第二个例子中使用了ECB(没有补码方式)。

此外也要注意转码后的密文是转成16进制,还是base64编码。

参考链接:
http://blog.51cto.com/ciphertext/1420338
https://welkinx.com/2016/07/30/10/
https://tieba.baidu.com/p/4581819586

以上是关于AES加密技术的主要内容,如果未能解决你的问题,请参考以下文章

技术分享使用AES加密技术保障数据安全

Java对称与非对称加密解密,AES与RSA

非对称技术栈实现AES加密解密

aes算法填充方式

电信路由器加密方式aes是啥意思

iOS DES,AES加密