信息加密技术是电子商务的核心.在一次网购活动中,消费者通常要将卡号和口令提供给商家,申请购物,消费者带有卡号和口令的订单在传送到商家的过程中,保证消费者敏感信息的保密性的任务要由密码技术来完成;同时在支付时还要对交易双方的身份进行认证,这要用到数字签名和认证技术.
密码技术的发展
大致分为三个阶段:
- 古代加密方法
古代的行帮暗语和一些文字猜谜游戏,实际上就是对信息的加密.通过原始的约定,把需要表达的信息限定在一定范围内流通,属于较原始的古代加密方法. - 古典密码
古典密码的加密方法主要有文字置换,使用手工或机械变换的方式实现.
古典密码的代表密码算法主要有:单表代替密码,多表代替密码,转轮密码. - 近现代密码学
密码学与数据库技术,计算机网络,计算机软硬件知识联系紧密.
现代密码体制要求密码算法是可以公开评估的,整个密码系统的安全性不取决于对密码算法的保密,决定整个密码体制安全性的因素是密钥的保密性.
密码技术的基本知识
密码学
密码学主要是研究通信安全保密的学科,它包括两个分支,它们相互对立又相互促进:
- 密码编码学
密码编码学主要研究对信息进行变换,以保护信息在信道的传递过程中不被窃取,解读和利用的方法. - 密码分析学
密码分析学主要研究如何分析和破译密码.
密码系统
一个密码系统由明文(Message)空间,密文(Cipher)空间,密码方案(E(X)加密,D(X)解密)和密钥(Key)空间组成.
密码体制的分类
- 根据密码的发展历史:古典密码和近现代密码
- 根据加密算法和解密算法所使用的密钥是否相同:对称密钥密码体制(单钥/秘密密钥密码体制),非对称密钥密码体制(双钥/公开密钥密码体制)
对称密钥密码体制:一个密码系统的加密密钥和解密密钥相同,或者虽然不相同,但由其中的任意一个密钥可以很容易地推导出另外一个.如:A5,SEAL,DES,IDEA,RC5,AES
非对称密钥密码体制:每个用户都有一对选定的密钥,公钥和私钥.如:RAS,ElGamal,椭圆曲线密码等 - 根据密码算法对明文信息的加密方式:流密码和分组密码
流密码:逐位地加密明文消息字符,如A5,SEAL
分组密码:将明文消息分组,逐组进行加密,如:DES,IDES,RC5,AES - 按照加密变换是否可逆:单向函数密码和双向变换密码
单向函数:一类特殊的密码体制,其性质是可以容易地把明文转换为密码,但再把密文转换成原来的明文却是困难的.典型的单向函数有:MD4,MD5,SHA-1等.
密码分析
一个密码系统的实际安全性牵涉到两方面因素:
- 所使用的密码算法的保密强度
- 密码算法以外不安全的因素
常见的密码攻击分类
- 唯密文攻击
分析者有一个或一些密文 - 已知明文攻击
分析者有一些明文及对应的密文 - 选择明文攻击
分析者选择一些对攻击有利的特定明文,并产生对应的密文 - 选择密文攻击
分析者选择一些对攻击有利的特定密文,并得到对应的明文
四类攻击类型的强度按序递增.
对称密码体制
理论基础
这种体制只要知道加(解)密算法,就可以反推解(加)密算法.
优点:具有很高的保密强度,可以达到经受国家级破译力量的分析和攻击.
缺点:密钥必须通过安全可靠的途径传递,密钥管理成为影响系统安全的关键性因素,使它难以满足系统的开放性要求.
对称密码体制的分类
按照对明文数据的加密方式不同,可以分为:
- 流密码(系列密码)Stream Cipher
密钥流(序列密码)由种子密钥通过密钥流生成器得到的 - 分组密码Block Cipher
加密和解密密钥相同,分组密码的安全性主要依赖于密钥,而不依赖对加密算法和解密算法的保密.因此,分组密码的加密和解密算法可以公开.
流密码
流密码体制的密钥流和明文流相互独立,我们称之为同步流密码,传输时某一个符号的传输错误不会影响到后面的符号的解密.
密钥流与明文流不相互独立,称自同步(异步)流密码.有错误传播现象.

分组密码
概要
广泛应用于数据的保密传输,加密存储等.分组密码的安全性依赖于密钥,而不依赖于对加密算法和解密算法的保密.因此,分组密码的加解密算法可以公开.典型代表是DES和AES算法.
一般情况下对密码算法有以下要求:
- 分组长度m足够大
- 密钥空间足够大
- 密码变换必须足够复杂
基本指导原则
实际设计中,分组密码设计的基本指导原则采用香农建议的扩散和混乱.
- 扩散
作用是一方面将每一位明文的影响尽可能迅速地扩散到较多的密文位中去,另一方面使每一位密钥的影响也尽可能迅速地扩展到较多的密文位中去,以便隐藏明文的统计特性.
目的是使密文中的任一比特都要尽可能与明文,密钥相关联. - 混乱
指密文和明文之间的统计特性的关系尽可能地复杂化.
AES加密原理
密钥长度有128,192,256比特位三种,其密钥长度分别为N = 4,6,8个字(双字).数据处理单元是字节.加密算法每一轮由4步操作构成:
- 字节代换运算
- 行移位变换
- 列混合变换
- 轮密钥的混合变换
AES取代DES的原因
- DES密钥长度为68比特,小的密钥空间对像穷举密钥这样的攻击显得太小了.相比AES明显提高了加密的安全性,对于不同机密级别的信息,可采用不同长度的密钥,执行灵活性更高.
- 在DES中,存在弱密钥和半弱密钥.对初始密钥的选取有一定的限制.AES由于密钥扩展函数的特点,所产生的轮密钥随机性很强,对初始密钥的选取没有特别的限制.
- DES加密算法存在互补对称性,会使得在选择明文攻击下所需的工作量减半.而AES的均衡对称结构既可以提高执行的灵活度,又可防止差分分析方法的攻击.
- AES算法的实现更简单.
非对称密码体制
产生背景
使用对称密码体制进行秘密通信,任意两个用户之间都会使用一个密钥.这样,如果一个网络中有n个用户,他们之间如果两两进行秘密通信的话,那么这个网络中共需要n(n-1)/2个密钥.其中,每个用户都需要保存n-1个密钥,这样大的密钥量给密钥分配,管理和使用带来很大的不便.而且,对称密码体制不能很好的解决身份认证和数字签名等问题.
理论基础
公钥和私钥都既可以做加密密钥,也可做解密密钥.公钥密码体制中每个用户都分别拥有两个密钥:公钥和私钥,并且攻击者想要由公钥得到私钥在计算上是不可行的.

用户A使用用户B的公钥对明文M进行加密得到密文C
用户B收到密文后使用自己的私钥对C进行解密得到明文M
网友评论