标题：密钥管理
主要表现
密钥管理包括，从密钥的产生到密钥的销毁的各个方面。主要表现于管理体制、管理协议和密钥的产  密钥管理生、分配、更换和注入等。对于军用计算机网络系统，由于用户机动性强，隶属关系和协同作战指挥等方式复杂，因此，对密钥管理提出了更高的要求。
流程
（1）密钥生成密钥长度应该足够长。一般来说，密钥长度越大，对应的密钥空间就越大，攻击者使用穷举猜测密码的难度就越大。
选择好密钥，避免弱密钥。由自动处理设备生成的随机的比特串是好密钥，选择密钥时，应该避免选择一个弱密钥。
对公钥密码体制来说，密钥生成更加困难，因为密钥必须满足某些数学特征。
密钥生成可以通过在线或离线的交互协商方式实现，如密码协议等。（2）密钥分发采用对称加密算法进行保密通信，需要共享同一密钥。通常是系统中的一个成员先选择一个秘密密钥，然后将它传送另一个成员或别的成员。X9.17标准描述了两种密钥：密钥加密密钥和数据密钥。密钥加密密钥加密其它需要分发的密钥；而数据密钥只对信息流进行加密。密钥加密密钥一般通过手工分发。为增强保密性，也可以将密钥分成许多不同的部分然后用不同的信道发送出去。（3）验证密钥密钥附着一些检错和纠错位来传输，当密钥在传输中发生错误时，能很容易地被检查出来，并且如果需要，密钥可被重传。
接收端也可以验证接收的密钥是否正确。发送方用密钥加密一个常量，然后把密文的前2-4字节与密钥一起发送。在接收端，做同样的工作，如果接收端解密后的常数能与发端常数匹配，则传输无错。（4）更新密钥当密钥需要频繁的改变时，频繁进行新的密钥分发的确是困难的事，一种更容易的解决办法是从旧的密钥中产生新的密钥，有时称为密钥更新。可以使用单向函数进行更新密钥。如果双方共享同一密钥，并用同一个单向函数进行操作，就会得到相同的结果。（5）密钥存储密钥可以存储在脑子、磁条卡、智能卡中。也可以把密钥平分成两部分，一半存入终端一半存入ROM密钥。还可采用类似于密钥加密密钥的方法对难以记忆的密钥进行加密保存。（6）备份密钥密钥的备份可以采用密钥托管、秘密分割、秘密共享等方式。
最简单的方法，是使用密钥托管中心。密钥托管要求所有用户将自己的密钥交给密钥托管中心，由密钥托管中心备份保管密钥（如锁在某个地方的保险柜里或用主密钥对它们进行加密保存），一旦用户的密钥丢失（如用户遗忘了密钥或用户意外死亡），按照一定的规章制度，可从密钥托管中心索取该用户的密钥。另一个备份方案是用智能卡作为临时密钥托管。如Alice把密钥存入智能卡，当Alice不在时就把它交给Bob，Bob可以利用该卡进行Alice的工作，当Alice回来后，Bob交还该卡，由于密钥存放在卡中，所以Bob不知道密钥是什么。
秘密分割把秘密分割成许多碎片，每一片本身并不代表什么，但把这些碎片放到一块，秘密就会重现出来。
一个更好的方法是采用一种秘密共享协议。将密钥K分成n块，每部分叫做它的“影子”，知道任意m个或更多的块就能够计算出密钥K，知道任意m-1个或更少的块都不能够计算出密钥K，这叫做（m,n）门限（阈值）方案。目前，人们基于拉格朗日内插多项式法、射影几何、线性代数、孙子定理等提出了许多秘密共享方案。
拉格朗日插值多项式方案是一种易于理解的秘密共享(m,n)门限方案。
秘密共享解决了两个问题：一是若密钥偶然或有意地被暴露，整个系统就易受攻击；二是若密钥丢失或损坏，系统中的所有信息就不能用了。（7）密钥有效期加密密钥不能无限期使用，有以下有几个原因：密钥使用时间越长，它泄露的机会就越大；如果密钥已泄露，那么密钥使用越久，损失就越大；密钥使用越久，人们花费精力破译它的诱惑力就越大枣甚至采用穷举攻击法；对用同一密钥加密的多个密文进行密码分析一般比较容易。
不同密钥应有不同有效期。
数据密钥的有效期主要依赖数据的价值和给定时间里加密数据的数量。价值与数据传送率越大所用的密钥更换越频繁。
密钥加密密钥无需频繁更换，因为它们只是偶尔地用作密钥交换。在某些应用中，密钥加密密钥仅一月或一年更换一次。
用来加密保存数据文件的加密密钥不能经常地变换。通常是每个文件用唯一的密钥加密，然后再用密钥加密密钥把所有密钥加密，密钥加密密钥要么被记忆下来，要么保存在一个安全地点。当然，丢失该密钥意味着丢失所有的文件加密密钥。
公开密钥密码应用中的私钥的有效期是根据应用的不同而变化的。用作数字签名和身份识别的私钥必须持续数年（甚至终身），用作抛掷硬币协议的私钥在协议完成之后就应该立即销毁。即使期望密钥的安全性持续终身，两年更换一次密钥也是要考虑的。旧密钥仍需保密，以防用户需要验证从前的签名。但是新密钥将用作新文件签名，以减少密码分析者所能攻击的签名文件数目。（8）销毁密钥如果密钥必须替换，旧钥就必须销毁，密钥必须物理地销毁。（9）密钥管理公开密钥密码使得密钥较易管理。无论网络上有多少人，每个人只有一个公开密钥。
使用一个公钥/私钥密钥对是不够的。任何好的公钥密码的实现需要把加密密钥和数字签名密钥分开。但单独一对加密和签名密钥还是不够的。象身份证一样，私钥证明了一种关系，而人不止有一种关系。如Alice分别可以以私人名义、公司的副总裁等名义给某个文件签名。
密钥管理系统
各商业银行的金融IC卡联合试点中，各级银行对密钥的安全控制和管理，是应用系统安全的关键。
《RT-KMS密钥管理系统》遵循《中国金融集成电路（IC）卡规范（v 1.0）》和《银行IC卡联合试点技术方案》，方便各成员银行自主
发卡，实现读卡机具共享，完成异地跨行交易。安全机制在全国银行IC卡联合试点中，各级银行利用密钥管理系统来实现密钥的安全管理。密钥管理系统采用3DES加密算法，运用中国人民
银行总行、人民银行地区分行（商业银行总行）、成员银行三级管理体制，安全共享公共主密钥的，实现卡片互通、机具共享。
整个安全体系结构主要包括三类密钥：全国通用的人总行消费/取现主密钥GMPK、发卡银行的消费/取现主密钥MPK和发卡银行的其他
主密钥。根据密钥的用途，系统采用不同的处理策略。设计原则密钥管理系统采用3DES加密算法，运用中国人民银行总行、人行地区分行（商业银行总行）和成员银行三级管理体制，实现公共主
密钥的安全共享；
在充分保证密钥安全性的基础上，支持IC卡联合试点密钥的生成、注入、导出、备份、恢复、更新、服务等功能，实现密钥的安全
管理；
密钥受到严格的权限控制，不同机构或人员对不同密钥的读、写、更新、使用等操作具有不同的权限；
用户可根据实际使用的需要，选择密钥管理系统不同的配置和不同功能；
密钥服务一般以硬件加密机的形式提供，也可采用密钥卡的形式；
密钥存储以密钥卡或硬件加密机的形式，而密钥备份可以采用密钥卡或密码信封的形式。
密钥管理技术
密钥管理技术的分类1、对称密钥管理。对称加密是基于共同保守秘密来实现的。采用对称加密技术的贸易双方必须要保证采用的是相同的密钥，要保证彼此密钥的交换是安全可靠的，同时还要设定防止密钥泄密和更改密钥的程序。这样，对称密钥的管理和分发工作将变成一件潜在危险的和繁琐的过程。通过公开密钥加密技术实现对称密钥的管理使相应的管理变得简单和更加安全，同时还解决了纯对称密钥模式中存在的可靠性问题和鉴别问题。 　贸易方可以为每次交换的信息（如每次的EDI交换）生成唯一一把对称密钥并用公开密钥对该密钥进行加密，然后再将加密后的密钥和用该密钥加密的信息（如EDI交换）一起发送给相应的贸易方。由于对每次信息交换都对应生成了唯一一把密钥，因此各贸易方就不再需要对密钥进行维护和担心密钥的泄露或过期。这种方式的另一优点是，即使泄露了一把密钥也只将影响一笔交易，而不会影响到贸易双方之间所有的交易关系。这种方式还提供了贸易伙伴间发布对称密钥的一种安全途径。 　
2、公开密钥管理/数字证书。贸易伙伴间可以使用数字证书（公开密钥证书）来交换公开密钥。国际电信联盟（ITU）制定的标准X.509，对数字证书进行了定义该标准等同于国际标准化组织（ISO）与国际电工委员会（IEC）联合发布的ISO/IEC 9594-8：195标准。数字证书通常包含有唯一标识证书所有者（即贸易方）的名称、唯一标识证书发布者的名称、证书所有者的公开密钥、证书发布者的数字签名、证书的有效期及证书的序列号等。证书发布者一般称为证书管理机构（CA），它是贸易各方都信赖的机构。数字证书能够起到标识贸易方的作用，是目前电子商务广泛采用的技术之一。 　
3、密钥管理相关的标准规范。目前国际有关的标准化机构都着手制定关于密钥管理的技术标准规范。ISO与IEC下属的信息技术委员会（JTC1）已起草了关于密钥管理的国际标准规范。该规范主要由三部分组成：一是密钥管理框架；二是采用对称技术的机制；三是采用非对称技术的机制。该规范现已进入到国际标准草案表决阶段，并将很快成为正式的国际标准。数字签名数字签名是公开密钥加密技术的另一类应用。它的主要方式是：报文的发送方从报文文本中生成一个128位的散列值（或报文摘要）。发送方用自己的专用密钥对这个散列值进行加密来形成发送方的数字签名。然后，这个数字签名将作为报文的附件和报文一起发送给报文的接收方。报文的接收方首先从接收到的原始报文中计算出128位的散列值（或报文摘要），接着再用发送方的公开密钥来对报文附加的数字签名进行解密。如果两个散列值相同，那么接收方就能确认该数字签名是发送方的。通过数字签名能够实现对原始报文的鉴别和不可抵赖性。 　
ISO/IEC JTC1已在起草有关的国际标准规范。该标准的初步题目是“信息技术安全技术带附件的数字签名方案”，它由概述和基于身份的机制两部分构成。
加密算法介绍
密码学简介 据记载，公元前400年，古希腊人发明了置换密码。1881年世界上的第一个电话保密专利出现。在第二次世界大战期间，德国军方启用“恩尼格玛”密码机，密码学在战争中起着非常重要的作用。
随着信息化和数字化社会的发展，人们对信息安全和保密的重要性认识不断提高，于是在1997年，美国国家标准局公布实施了“美国数据加密标准（DES）”，民间力量开始全面介入密码学的研究和应用中，采用的加密算法有DES、RSA、SHA等。随着对加密强度需求的不断提高，近期又出现了AES、ECC等。
使用密码学可以达到以下目的：
保密性：防止用户的标识或数据被读取。
数据完整性：防止数据被更改。
身份验证：确保数据发自特定的一方。
二. 加密算法介绍根据密钥类型不同将现代密码技术分为两类：对称加密算法（秘密钥匙加密）和非对称加密算法（公开密钥加密）。
对称钥匙加密系统是加密和解密均采用同一把秘密钥匙，而且通信双方都必须获得这把钥匙，并保持钥匙的秘密。
非对称密钥加密系统采用的加密钥匙（公钥）和解密钥匙（私钥）是不同的。
对称加密算法
在对称加密算法中，只有一个密钥用来加密和解密信息，即加密和解密采用相同的密钥。常用的算法包括：DES（Data Encryption Standard）：数据加密标准，速度较快，适用于加密大量数据的场合。
3DES（Triple DES）：是基于DES，对一块数据用三个不同的密钥进行三次加密，强度更高。
AES（Advanced Encryption Standard）：高级加密标准，是下一代的加密算法标准，速度快，安全级别高；
2000年10月，NIST（美国国家标准和技术协会）宣布通过从15种侯选算法中选出的一项新的密匙加密标准。Rijndael被选中成为将来的AES。Rijndael是在 1999 年下半年，由研究员Joan Daemen 和 Vincent Rijmen 创建的。AES 正日益成为加密各种形式的电子数据的实际标准。
美国标准与技术研究院 (NIST) 于 2002 年 5 月 26 日制定了新的高级加密标准 (AES) 规范。
算法原理 AES 算法基于排列和置换运算。排列是对数据重新进行安排，置换是将一个数据单元替换为另一个。AES 使用几种不同的方法来执行排列和置换运算。
AES 是一个迭代的、对称密钥分组的密码，它可以使用128、192 和 256 位密钥，并且用 128 位（16字节）分组加密和解密数据。与公共密钥密码使用密钥对不同，对称密钥密码使用相同的密钥加密和解密数据。通过分组密码返回的加密数据的位数与输入数据相同。迭代加密使用一个循环结构，在该循环中重复置换和替换输入数据。
AES与3DES的比较
算法名称算法类型密钥长度速度解密时间（建设机器每秒尝试255个密钥）资源消耗AES对称block密码128、192、256位高1490000亿年低3DES对称feistel密码112位或168位低46亿年中
非对称算法
常见的非对称加密算法如下：
RSA：由 RSA 公司发明，是一个支持变长密钥的公共密钥算法，需要加密的文件块的长度也是可变的；
DSA（Digital Signature Algorithm）：数字签名算法，是一种标准的 DSS（数字签名标准）；
ECC（Elliptic Curves Cryptography）：椭圆曲线密码编码学。
在1976年，由于对称加密算法已经不能满足需要，Diffie 和Hellman发表了一篇叫《密码学新动向》的文章，介绍了公匙加密的概念，由Rivet、Shamir、Adelman提出了RSA算法。
随着分解大整数方法的进步及完善、计算机速度的提高以及计算机网络的发展，为了保障数据的安全，RSA的密钥需要不断增加，但是，密钥长度的增加导致了其加解密的速度大为降低，硬件实现也变得越来越难以忍受，这对使用RSA的应用带来了很重的负担，因此需要一种新的算法来代替RSA。
1985年N.Koblitz和Miller提出将椭圆曲线用于密码算法，根据是有限域上的椭圆曲线上的点群中的离散对数问题ECDLP。ECDLP是比因子分解问题更难的问题，它是指数级的难度。
原理——椭圆曲线上的难题 椭圆曲线上离散对数问题ECDLP定义如下：给定素数p和椭圆曲线E，对Q=kP，在已知P，Q 的情况下求出小于p的正整数k。可以证明由k和P计算Q比较容易，而由Q和P计算k则比较困难。
将椭圆曲线中的加法运算与离散对数中的模乘运算相对应，将椭圆曲线中的乘法运算与离散对数中的模幂运算相对应，我们就可以建立基于椭圆曲线的对应的密码体制。
例如，对应Diffie-Hellman公钥系统，我们可以通过如下方式在椭圆曲线上予以实现：在E上选取生成元P，要求由P产生的群元素足够多，通信双方A和B分别选取a和b，a和b 予以保密，但将aP和bP公开，A和B间通信用的密钥为abP，这是第三者无法得知的。
对应ELGamal密码系统可以采用如下的方式在椭圆曲线上予以实现：
将明文m嵌入到E上Pm点，选一点B∈E，每一用户都选一整数a，0<a<N，N为阶数已知，a保密，aB公开。欲向A送m，可送去下面一对数偶：[kB，Pm+k(aAB)]，k是随机产生的整数。A可以从kB求得k(aAB)。通过：Pm+k(aAB)- k(aAB)=Pm恢复Pm。同样对应DSA，考虑如下等式：
K=kG [其中 K，G为Ep(a,b)上的点，k为小于n（n是点G的阶）的整数]
不难发现，给定k和G，根据加法法则，计算K很容易；但给定K和G，求k就相对困难了。
这就是椭圆曲线加密算法采用的难题。我们把点G称为基点（base point），k（k<n，n为基点G的阶）称为私有密钥（privte key），K称为公开密钥（public key)。
ECC与RSA的比较 ECC和RSA相比，在许多方面都有对绝对的优势，主要体现在以下方面：
抗攻击性强。相同的密钥长度，其抗攻击性要强很多倍。
计算量小，处理速度快。ECC总的速度比RSA、DSA要快得多。
存储空间占用小。ECC的密钥尺寸和系统参数与RSA、DSA相比要小得多，意味着它所占的存贮空间要小得多。这对于加密算法在IC卡上的应用具有特别重要的意义。
带宽要求低。当对长消息进行加解密时，三类密码系统有相同的带宽要求，但应用于短消息时ECC带宽要求却低得多。带宽要求低使ECC在无线网络领域具有广泛的应用前景。
ECC的这些特点使它必将取代RSA，成为通用的公钥加密算法。比如SET协议的制定者已把它作为下一代SET协议中缺省的公钥密码算法。
下面两张表示是RSA和ECC的安全性和速度的比较。
攻破时间(MIPS年)RSA/DSA（密钥长度）ECC密钥长度RSA/ECC密钥长度比105121065：1107681326：11010241607：110204821010：1102100060035：1RSA和ECC安全模长得比较
功能Security Builder 1.2BSAFE 3.0163位ECC(ms)1,023位RSA(ms)密钥对生成3.84,708.3签名2.1(ECNRA)228.43.0(ECDSA)认证9.9(ECNRA)12.710.7(ECDSA)Diffie—Hellman密钥交换7.31,654.0RSA和ECC速度比较
散列算法
散列算法也叫哈希算法，英文是Hash ,就是把任意长度的输入（又叫做预映射， pre-image），通过散列算法，变换成固定长度的输出，该输出就是散列值。这种转换是一种压缩映射，也就是，散列值的空间通常远小于输入的空间，不同的输入可能会散列成相同的输出，而不可能从散列值来唯一的确定输入值。简单的说就是一种将任意长度的消息压缩到某一固定长度的消息摘要的函数。 
HASH主要用于信息安全领域中加密算法，它把一些不同长度的信息转化成杂乱的128位的编码,这些编码值叫做HASH值. 也可以说，hash就是找到一种数据内容和数据存放地址之间的映射关系散列是信息的提炼，通常其长度要比信息小得多，且为一个固定长度。加密性强的散列一定是不可逆的，这就意味着通过散列结果，无法推出任何部分的原始信息。任何输入信息的变化，哪怕仅一位，都将导致散列结果的明显变化，这称之为雪崩效应。散列还应该是防冲突的，即找不出具有相同散列结果的两条信息。具有这些特性的散列结果就可以用于验证信息是否被修改。
单向散列函数一般用于产生消息摘要，密钥加密等，常见的有：
MD5（Message Digest Algorithm 5）：是RSA数据安全公司开发的一种单向散列算法。 
SHA（Secure Hash Algorithm）：可以对任意长度的数据运算生成一个160位的数值；
在1993年，安全散列算法（SHA）由美国国家标准和技术协会(NIST)提出，并作为联邦信息处理标准（FIPS PUB 180）公布；1995年又发布了一个修订版FIPS PUB 180-1，通常称之为SHA-1。SHA-1是基于MD4算法的，并且它的设计在很大程度上是模仿MD4的。现在已成为公认的最安全的散列算法之一，并被广泛使用。
原理 SHA-1是一种数据加密算法，该算法的思想是接收一段明文，然后以一种不可逆的方式将它转换成一段（通常更小）密文，也可以简单的理解为取一串输入码（称为预映射或信息），并把它们转化为长度较短、位数固定的输出序列即散列值（也称为信息摘要或信息认证代码）的过程。
单向散列函数的安全性在于其产生散列值的操作过程具有较强的单向性。如果在输入序列中嵌入密码，那么任何人在不知道密码的情况下都不能产生正确的散列值，从而保证了其安全性。SHA将输入流按照每块512位（64个字节）进行分块，并产生20个字节的被称为信息认证代码或信息摘要的输出。
该算法输入报文的最大长度不超过264位，产生的输出是一个160位的报文摘要。输入是按512 位的分组进行处理的。SHA-1是不可逆的、防冲突，并具有良好的雪崩效应。
通过散列算法可实现数字签名实现，数字签名的原理是将要传送的明文通过一种函数运算（Hash）转换成报文摘要（不同的明文对应不同的报文摘要），报文摘要加密后与明文一起传送给接受方，接受方将接受的明文产生新的报文摘要与发送方的发来报文摘要解密比较，比较结果一致表示明文未被改动，如果不一致表示明文已被篡改。
MAC (信息认证代码)就是一个散列结果，其中部分输入信息是密码，只有知道这个密码的参与者才能再次计算和验证MAC码的合法性。MAC的产生参见下图。
输入信息密码散列函数信息认证代码SHA-1与MD5的比较 因为二者均由MD4导出，SHA-1和MD5彼此很相似。相应的，他们的强度和其他特性也是相似，但还有以下几点不同：
对强行供给的安全性：最显著和最重要的区别是SHA-1摘要比MD5摘要长32 位。使用强行技术，产生任何一个报文使其摘要等于给定报摘要的难度对MD5是2数量级的操作，而对SHA-1则是2数量级的操作。这样，SHA-1对强行攻击有更大的强度。
对密码分析的安全性：由于MD5的设计，易受密码分析的攻击，SHA-1显得不易受这样的攻击。
速度：在相同的硬件上，SHA-1的运行速度比MD5慢。
对称与非对称算法比较
以上综述了两种加密方法的原理，总体来说主要有下面几个方面的不同：
一、 在管理方面：公钥密码算法只需要较少的资源就可以实现目的，在密钥的分配上，两者之间相差一个指数级别（一个是n一个是n）。所以私钥密码算法不适应广域网的使用，而且更重要的一点是它不支持数字签名。
二、 在安全方面：由于公钥密码算法基于未解决的数学难题，在破解上几乎不可能。对于私钥密码算法，到了AES虽说从理论来说是不可能破解的，但从计算机的发展角度来看。公钥更具有优越性。
三、 从速度上来看：AES的软件实现速度已经达到了每秒数兆或数十兆比特。是公钥的100倍，如果用硬件来实现的话这个比值将扩大到1000倍。
加密算法的选择 前面的章节已经介绍了对称解密算法和非对称加密算法，有很多人疑惑：那我们在实际使用的过程中究竟该使用哪一种比较好呢？
我们应该根据自己的使用特点来确定，由于非对称加密算法的运行速度比对称加密算法的速度慢很多，当我们需要加密大量的数据时，建议采用对称加密算法，提高加解密速度。
对称加密算法不能实现签名，因此签名只能非对称算法。
由于对称加密算法的密钥管理是一个复杂的过程，密钥的管理直接决定着他的安全性，因此当数据量很小时，我们可以考虑采用非对称加密算法。
在实际的操作过程中，我们通常采用的方式是：采用非对称加密算法管理对称算法的密钥，然后用对称加密算法加密数据，这样我们就集成了两类加密算法的优点，既实现了加密速度快的优点，又实现了安全方便管理密钥的优点。
如果在选定了加密算法后，那采用多少位的密钥呢？一般来说，密钥越长，运行的速度就越慢，应该根据的我们实际需要的安全级别来选择，一般来说，RSA建议采用1024位的数字，ECC建议采用160位，AES采用128为即可。
密码学在现代的应用， 随着密码学商业应用的普及，公钥密码学受到前所未有的重视。除传统的密码应用系统外，PKI系统以公钥密码技术为主，提供加密、签名、认证、密钥管理、分配等功能。
保密通信：保密通信是密码学产生的动因。使用公私钥密码体制进行保密通信时，信息接收者只有知道对应的密钥才可以解密该信息。
数字签名：数字签名技术可以代替传统的手写签名，而且从安全的角度考虑，数字签名具有很好的防伪造功能。在政府机关、军事领域、商业领域有广泛的应用环境。
秘密共享：秘密共享技术是指将一个秘密信息利用密码技术分拆成n个称为共享因子的信息，分发给n个成员，只有k(k≤n)个合法成员的共享因子才可以恢复该秘密信息，其中任何一个或m(m≤k)个成员合作都不知道该秘密信息。利用秘密共享技术可以控制任何需要多个人共同控制的秘密信息、命令等。
认证功能：在公开的信道上进行敏感信息的传输，采用签名技术实现对消息的真实性、完整性进行验证，通过验证公钥证书实现对通信主体的身份验证。
密钥管理：密钥是保密系统中更为脆弱而重要的环节，公钥密码体制是解决密钥管理工作的有力工具；利用公钥密码体制进行密钥协商和产生，保密通信双方不需要事先共享秘密信息；利用公钥密码体制进行密钥分发、保护、密钥托管、密钥恢复等。
基于公钥密码体制可以实现以上通用功能以外，还可以设计实现以下的系统：安全电子商务系统、电子现金系统、电子选举系统、电子招投标系统、电子彩票系统等。
公钥密码体制的产生是密码学由传统的政府、军事等应用领域走向商用、民用的基础，同时互联网、电子商务的发展为密码学的发展开辟了更为广阔的前景。
加密算法的未来 随着计算方法的改进，计算机运行速度的加快，网络的发展，越来越多的算法被破解。
在2004年国际密码学会议(Crypto’2004)上，来自中国山东大学的王小云教授做的破译MD5、HAVAL-128、MD4和RIPEMD算法的报告，令在场的国际顶尖密码学专家都为之震惊，意味着这些算法将从应用中淘汰。随后，SHA-1也被宣告被破解。
历史上有三次对DES有影响的攻击实验。1997年，利用当时各国 7万台计算机，历时96天破解了DES的密钥。1998年，电子边境基金会（EFF）用25万美元制造的专用计算机，用56小时破解了DES的密钥。1999年，EFF用22小时15分完成了破解工作。因此。曾经有过卓越贡献的DES也不能满足我们日益增长的需求了。
最近，一组研究人员成功的把一个512位的整数分解因子，宣告了RSA的破解。
我们说数据的安全是相对的，可以说在一定时期一定条件下是安全的，随着硬件和网络的发展，或者是另一个王小云的出现，目前的常用加密算法都有可能在短时间内被破解，那时我们不得不使用更长的密钥或更加先进的算法，才能保证数据的安全，因此加密算法依然需要不断发展和完善，提供更高的加密安全强度和运算速度。
纵观这两种算法一个从DES到3DES再到AES，一个从RSA到ECC。其发展角度无不是从密钥的简单性，成本的低廉性，管理的简易性，算法的复杂性，保密的安全性以及计算的快速性这几个方面去考虑。因此，未来算法的发展也必定是从这几个角度出发的，而且在实际操作中往往把这两种算法结合起来，也需将来一种集两种算法优点于一身的新型算法将会出现，到那个时候，电子商务的实现必将更加的快捷和安全。