标题：数据加密技术
数据加密技术
数据加密技术要求只有在指定的用户或网络下，才能解除密码而获得原来的数据，这就需要给数据发送方和接受方以一些特殊的信息用于加解密，这就是所谓的密钥。其密钥的值是从大量的随机数中选取的。按加密算法分为专用密钥和公开密钥两种。
分类
专用密钥专用密钥，又称为对称密钥或单密钥，加密和解密时使用同一个密钥，即同一个算法。如DES和MIT的Kerberos算法。单密钥是最简单方式，通信双方必须交换彼此密钥，当需给对方发信息时，用自己的加密密钥进行加密，而在接收方收到数据后，用对方所给的密钥进行解密。当一个文本要加密传送时，该文本用密钥加密构成密文，密文在信道上传送，收到密文后用同一个密钥将密文解出来，形成普通文体供阅读。在对称密钥中，密钥的管理极为重要，一旦密钥丢失，密文将无密可保。这种方式在与多方通信时因为需要保存很多密钥而变得很复杂，而且密钥本身的安全就是一个问题。
对称密钥对称密钥是最古老的，一般说“密电码”采用的就是对称密钥。由于对称密钥运算量小、速度快、安全强度高，因而目前仍广泛被采用。
DES是一种数据分组的加密算法，它将数据分成长度为64位的数据块，其中8位用作奇偶校验，剩余的56位作为密码的长度。第一步将原文进行置换，得到64位的杂乱无章的数据组；第二步将其分成均等两段；第三步用加密函数进行变换，并在给定的密钥参数条件下，进行多次迭代而得到加密密文。
公开密钥公开密钥，又称非对称密钥，加密和解密时使用不同的密钥，即不同的算法，虽然两者之间存在一定的关系，但不可能轻易地从一个推导出另一个。有一把公用的加密密钥，有多把解密密钥，如RSA算法。
非对称密钥由于两个密钥（加密密钥和解密密钥）各不相同，因而可以将一个密钥公开，而将另一个密钥保密，同样可以起到加密的作用。
在这种编码过程中，一个密码用来加密消息，而另一个密码用来解密消息。在两个密钥中有一种关系，通常是数学关系。公钥和私钥都是一组十分长的、数字上相关的素数（是另一个大数字的因数）。有一个密钥不足以翻译出消息，因为用一个密钥加密的消息只能用另一个密钥才能解密。每个用户可以得到唯一的一对密钥，一个是公开的，另一个是保密的。公共密钥保存在公共区域，可在用户中传递，甚至可印在报纸上面。而私钥必须存放在安全保密的地方。任何人都可以有你的公钥，但是只有你一个人能有你的私钥。它的工作过程是：“你要我听你的吗？除非你用我的公钥加密该消息，我就可以听你的，因为我知道没有别人在偷听。只有我的私钥（其他人没有）才能解密该消息，所以我知道没有人能读到这个消息。我不必担心大家都有我的公钥，因为它不能用来解密该消息。”
公开密钥的加密机制虽提供了良好的保密性，但难以鉴别发送者，即任何得到公开密钥的人都可以生成和发送报文。数字签名机制提供了一种鉴别方法，以解决伪造、抵赖、冒充和篡改等问题。
非对称加密技术数字签名一般采用非对称加密技术（如RSA），通过对整个明文进行某种变换，得到一个值，作为核实签名。接收者使用发送者的公开密钥对签名进行解密运算，如其结果为明文，则签名有效，证明对方的身份是真实的。当然，签名也可以采用多种方式，例如，将签名附在明文之后。数字签名普遍用于银行、电子贸易等。
数字签名不同于手写签字：数字签名随文本的变化而变化，手写签字反映某个人个性特征，是不变的；数字签名与文本信息是不可分割的，而手写签字是附加在文本之后的，与文本信息是分离的。
值得注意的是，能否切实有效地发挥加密机制的作用，关键的问题在于密钥的管理，包括密钥的生存、分发、安装、保管、使用以及作废全过程。
加密的三种技术
概述在常规密码中，收信方和发信方使用相同的密钥，即加密密钥和解密密钥是相同或等价的。比较著名的常规密码算法有：美国的DES及其各种变形，比如Triple DES、GDES、New DES和DES的前身Lucifer；欧洲的IDEA；日本的FEAL?N、LOKI?91、Skipjack、RC4、RC5以及以代换密码和转轮密码为代表的古典密码等。在众多的常规密码中影响最大的是DES密码。
常规密码的优点是有很强的保密强度，且经受住时间的检验和攻击，但其密钥必须通过安全的途径传送。因此，其密钥管理成为系统安全的重要因素。
在公钥密码中，收信方和发信方使用的密钥互不相同，而且几乎不可能从加密密钥推导解密密钥。比较著名的公钥密码算法有：RSA、背包密码、McEliece密码、Diffe?Hellman、Rabin、Ong?Fiat?Shamir、零知识证明的算法、椭圆曲线、EIGamal算法等等。最有影响的公钥密码算法是RSA，它能抵抗到目前为止已知的所有密码攻击。
公钥密码的优点是可以适应网络的开放性要求，且密钥管理问题也较为简单，尤其可方便的实现数字签名和验证。但其算法复杂，加密数据的速率较低。尽管如此，随着现代电子技术和密码技术的发展，公钥密码算法将是一种很有前途的网络安全加密体制。
当然在实际应用中人们通常将常规密码和公钥密码结合在一起使用，比如：利用DES或者IDEA来加密信息，而采用RSA来传递会话密钥。如果按照每次加密所处理的比特来分类，可以将加密算法分为序列密码和分组密码。前者每次只加密一个比特而后者则先将信息序列分组，每次处理一个组。
密码技术是网络安全最有效的技术之一。一个加密网络，不但可以防止非授权用户的搭线窃听和入网，而且也是对付恶意软件的有效方法之一。
一般的数据加密可以在通信的三个层次来实现：链路加密、节点加密和端到端加密。
链路加密对于在两个网络节点间的某一次通信链路，链路加密能为网上传输的数据提供安全保证。对于链路加密（又称在线加密），所有消息在被传输之前进行加密，在每一个节点对接收到的消息进行解密，然后先使用下一个链路的密钥对消息进行加密，再进行传输。在到达目的地之前，一条消息可能要经过许多通信链路的传输。
由于在每一个中间传输节点消息均被解密后重新进行加密，因此，包括路由信息在内的链路上的所有数据均以密文形式出现。这样，链路加密就掩盖了被传输消息的源点与终点。由于填充技术的使用以及填充字符在不需要传输数据的情况下就可以进行加密，这使得消息的频率和长度特性得以掩盖，从而可以防止对通信业务进行分析。
尽管链路加密在计算机网络环境中使用得相当普遍，但它并非没有问题。链路加密通常用在点对点的同步或异步线路上，它要求先对在链路两端的加密设备进行同步，然后使用一种链模式对链路上传输的数据进行加密。这就给网络的性能和可管理性带来了副作用。
在线路/信号经常不通的海外或卫星网络中，链路上的加密设备需要频繁地进行同步，带来的后果是数据丢失或重传。另一方面，即使仅一小部分数据需要进行加密，也会使得所有传输数据被加密。
在一个网络节点，链路加密仅在通信链路上提供安全性，消息以明文形式存在，因此所有节点在物理上必须是安全的，否则就会泄漏明文内容。然而保证每一个节点的安全性需要较高的费用，为每一个节点提供加密硬件设备和一个安全的物理环境所需要的费用由以下几部分组成：保护节点物理安全的雇员开销，为确保安全策略和程序的正确执行而进行审计时的费用，以及为防止安全性被破坏时带来损失而参加保险的费用。
在传统的加密算法中，用于解密消息的密钥与用于加密的密钥是相同的，该密钥必须被秘密保存，并按一定规则进行变化。这样，密钥分配在链路加密系统中就成了一个问题，因为每一个节点必须存储与其相连接的所有链路的加密密钥，这就需要对密钥进行物理传送或者建立专用网络设施。而网络节点地理分布的广阔性使得这一过程变得复杂,同时增加了密钥连续分配时的费用。
节点加密尽管节点加密能给网络数据提供较高的安全性，但它在操作方式上与链路加密是类似的：两者均在通信链路上为传输的消息提供安全性；都在中间节点先对消息进行解密，然后进行加密。因为要对所有传输的数据进行加密，所以加密过程对用户是透明的。
然而，与链路加密不同，节点加密不允许消息在网络节点以明文形式存在，它先把收到的消息进行解密，然后采用另一个不同的密钥进行加密，这一过程是在节点上的一个安全模块中进行。
节点加密要求报头和路由信息以明文形式传输，以便中间节点能得到如何处理消息的信息。因此这种方法对于防止攻击者分析通信业务是脆弱的。
端到端加密端到端加密允许数据在从源点到终点的传输过程中始终以密文形式存在。采用端到端加密（又称脱线加密或包加密），消息在被传输时到达终点之前不进行解密，因为消息在整个传输过程中均受到保护，所以即使有节点被损坏也不会使消息泄露。
端到端加密系统的价格便宜些，并且与链路加密和节点加密相比更可靠，更容易设计、实现和维护。端到端加密还避免了其它加密系统所固有的同步问题，因为每个报文包均是独立被加密的，所以一个报文包所发生的传输错误不会影响后续的报文包。此外，从用户对安全需求的直觉上讲，端到端加密更自然些。单个用户可能会选用这种加密方法，以便不影响网络上的其他用户，此方法只需要源和目的节点是保密的即可。
端到端加密系统通常不允许对消息的目的地址进行加密，这是因为每一个消息所经过的节点都要用此地址来确定如何传输消息。由于这种加密方法不能掩盖被传输消息的源点与终点，因此它对于防止攻击者分析通信业务是脆弱的。
数据加密技术相关算法
数据加密技术要求只有在指定的用户或网络下，才能解除密码而获得原来的数据，这就需要给数据发送方和接受方以一些特殊的信息用于加解密，这就是所谓的密钥。其密钥的值是从大量的随机数中选取的。按加密算法分为专用密钥和公开密钥两种。
专用密钥，又称为对称密钥或单密钥，加密和解密时使用同一个密钥，即同一个算法。如DES和MIT的Kerberos算法。单密钥是最简单方式，通信双方必须交换彼此密钥，当需给对方发信息时，用自己的加密密钥进行加密，而在接收方收到数据后，用对方所给的密钥进行解密。当一个文本要加密传送时，该文本用密钥加密构成密文，密文在信道上传送，收到密文后用同一个密钥将密文解出来，形成普通文体供阅读。在对称密钥中，密钥的管理极为重要，一旦密钥丢失，密文将无密可保。这种方式在与多方通信时因为需要保存很多密钥而变得很复杂，而且密钥本身的安全就是一个问题。
对称密钥是最古老的，一般说“密电码”采用的就是对称密钥。由于对称密钥运算量小、速度快、安全强度高，因而目前仍广泛被采用。
DES是一种数据分组的加密算法，它将数据分成长度为64位的数据块，其中8位用作奇偶校验，剩余的56位作为密码的长度。第一步将原文进行置换，得到64位的杂乱无章的数据组；第二步将其分成均等两段；第三步用加密函数进行变换，并在给定的密钥参数条件下，进行多次迭代而得到加密密文。
公开密钥，又称非对称密钥，加密和解密时使用不同的密钥，即不同的算法，虽然两者之间存在一定的关系，但不可能轻易地从一个推导出另一个。有一把公用的加密密钥，有多把解密密钥，如RSA算法。
非对称密钥由于两个密钥（加密密钥和解密密钥）各不相同，因而可以将一个密钥公开，而将另一个密钥保密，同样可以起到加密的作用。
在这种编码过程中，一个密码用来加密消息，而另一个密码用来解密消息。在两个密钥中有一种关系，通常是数学关系。公钥和私钥都是一组十分长的、数字上相关的素数（是另一个大数字的因数）。有一个密钥不足以翻译出消息，因为用一个密钥加密的消息只能用另一个密钥才能解密。每个用户可以得到唯一的一对密钥，一个是公开的，另一个是保密的。公共密钥保存在公共区域，可在用户中传递，甚至可印在报纸上面。而私钥必须存放在安全保密的地方。任何人都可以有你的公钥，但是只有你一个人能有你的私钥。它的工作过程是：“你要我听你的吗？除非你用我的公钥加密该消息，我就可以听你的，因为我知道没有别人在偷听。只有我的私钥（其他人没有）才能解密该消息，所以我知道没有人能读到这个消息。我不必担心大家都有我的公钥，因为它不能用来解密该消息。”
公开密钥的加密机制虽提供了良好的保密性，但难以鉴别发送者，即任何得到公开密钥的人都可以生成和发送报文。数字签名机制提供了一种鉴别方法，以解决伪造、抵赖、冒充和篡改等问题。
数字签名一般采用非对称加密技术（如RSA），通过对整个明文进行某种变换，得到一个值，作为核实签名。接收者使用发送者的公开密钥对签名进行解密运算，如其结果为明文，则签名有效，证明对方的身份是真实的。当然，签名也可以采用多种方式，例如，将签名附在明文之后。数字签名普遍用于银行、电子贸易等。
数字签名不同于手写签字：数字签名随文本的变化而变化，手写签字反映某个人个性特征，是不变的；数字签名与文本信息是不可分割的，而手写签字是附加在文本之后的，与文本信息是分离的。
值得注意的是，能否切实有效地发挥加密机制的作用，关键的问题在于密钥的管理，包括密钥的生存、分发、安装、保管、使用以及作废全过程。
数据加密技术研究进展
第60届Intel ISEF英特尔国际科学与工程大奖赛将于2009年5月10日到15日在美国内华达州雷诺市举行。自2000年开始，中国科学技术协会在英特尔（中国）有限公司的赞助下，组织中国学生参加一年一度在美国举行的英特尔国际科学与工程大奖赛（Intel ISEF）总决赛。在过去的9年里，共计208名中国大陆学生参与了137个项目的竞赛并赢得了142个奖项，其中包括2004 年获得的一项Intel ISEF顶级奖项 “英特尔基金会青少年科学精英奖”。在2008年的大赛上，来自北京，上海，广东，福建，四川，吉林，辽宁，云南，天津和山西的23名少年英才，带着17个项目参与角逐，最终取得了14个奖项，包括一个工程学科的特等奖和一等奖。英特尔于2007、2008年两次邀请了中国教育部代表团观摩Intel ISEF，并参加教育家论坛，与全球教育家共同探讨科学教育和青少年创新人才培养的问题。以下是往届中国获奖参赛项目介绍：
在信息技术飞速发展的今天，数据加密越来越受到重视。当下，加密技术已经十分成熟，然而大部分加密算法要靠复杂的数学方法保证加密的强度。受到玩具魔方的启发后，我研发出一种用魔方变换提供加密强度的算法——魔方流密码算法。该算法的不同之处在于：算法的主体是一个包含很多数据的虚拟魔方，通过魔方变换改变其中的数据，在每轮变换结束后，会得到全新的数据，即为当前加（解）密运算的密钥。
对该算法的进一步实验发现：主密钥长度不影响执行速度；密钥流的伪随机性良好；密钥生成过程有很好的混乱和扩散。而且，算法的C语言实现程序资源占用很少，速度较快。算法的多项指标都达到了实际应用的标准。