所谓
数据加密(Data Encryption)技术是指将一个信息(或称明文,plain text)经过加
密钥匙(Encryption key)及加密函数转换,变成无意义的密文(cipher text),而接收方则将此密文经过解密函数、解密钥匙(Decryption key)还原成明文。加密技术是
网络安全技术的基石。
简介
密码技术是通信双方按约定的法则进行信息特殊变换的一种保密技术。根据特定的法 则,变明文(Plaintext)为密文(Ciphertext)。从明文变成密文的过程称为加密(Encryption); 由密文恢复出原明文的过程,称为解密(Decryption)。密码在早期仅对文字或数码进行加、 解密,随着通信技术的发展,对语音、图像、数据等都可实施加、解密变换。密码学是由密码编码学和密码分析学组成的,其中密码编码学主要研究对信息进行编码以实现信息隐蔽,而密码分析学主要研究通过密文获取对应的明文信息。密码学研究密码理论、密码算 法、密码协议、密码技术和密码应用等。 随着密码学的不断成熟,大量密码产品应用于国计民生中,如USB Key、PIN EntryDevice、 RFID 卡、银行卡等。广义上讲,包含密码功能的应用产品也是密码产品,如各种物联网产 品,它们的结构与计算机类似,也包括运算、控制、存储、输入输出等部分。密码芯片是密码产品安全性的关键,它通常是由系统控制模块、密码服务模块、存储器控制模块、功 能辅助模块、通信模块等关键部件构成的。
数据加密技术要求只有在指定的用户或网络下,才能解除密码而获得原来的数据,这就需要给数据发送方和接受方以一些特殊的信息用于加解密,这就是所谓的
密钥。其
密钥的值是从大量的随机数中选取的。按
加密算法分为专用
密钥和
公开密钥两种。
分类
专用密钥
专用
密钥,又称为
对称密钥或单密钥,加密和解密时使用同一个密钥,即同一个
算法。如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来传递会话
密钥。如果按照每次加密所处理的比特来分类,可以将
加密算法分为
序列密码和
分组密码。前者每次只加密一个比特而后者则先将信息序列分组,每次处理一个组。
密码技术是
网络安全最有效的技术之一。一个加密网络,不但可以防止非授权用户的搭线窃听和入网,而且也是对付
恶意软件的有效方法之一。
一般的数据加密可以在通信的三个层次来实现:
链路加密、
节点加密和
端到端加密。
链路加密
对于在两个
网络节点间的某一次
通信链路,
链路加密能为网上传输的数据提供安全保证。对于
链路加密(又称
在线加密),所有消息在被传输之前进行加密,在每一个节点对接收到的消息进行解密,然后先使用下一个链路的
密钥对消息进行加密,再进行传输。在到达目的地之前,一条消息可能要经过许多
通信链路的传输。
由于在每一个中间传输
节点消息均被解密后重新进行加密,因此,包括
路由信息在内的链路上的所有数据均以密文形式出现。这样,
链路加密就掩盖了被传输消息的源点与终点。由于填充技术的使用以及填充字符在不需要传输数据的
情况下就可以进行加密,这使得消息的频率和长度特性得以掩盖,从而可以防止对通信业务进行分析。
尽管
链路加密在
计算机网络环境中使用得相当普遍,但它并非没有问题。
链路加密通常用在
点对点的同步或异步线路上,它要求先对在链路两端的加密设备进行同步,然后使用一种链模式对链路上传输的数据进行加密。这就给网络的性能和可管理性带来了副作用。
在线路/信号经常不通的海外或卫星网络中,链路上的加密设备需要频繁地进行同步,带来的后果是数据丢失或重传。另一方面,即使仅一小部分数据需要进行加密,也会使得所有传输数据被加密。
在一个
网络节点,
链路加密仅在
通信链路上提供
安全性,消息以明文形式存在,因此所有节点在物理上必须是安全的,否则就会泄漏明文内容。然而保证每一个
节点的
安全性需要较高的费用,为每一个节点提供加密硬件设备和一个安全的
物理环境所需要的费用由以下几部分组成:保护节点
物理安全的雇员开销,为确保安全策略和程序的正确执行而进行审计时的费用,以及为防止安全性被破坏时带来损失而参加保险的费用。
在传统的
加密算法中,用于解密消息的
密钥与用于加密的密钥是相同的,该密钥必须被秘密保存,并按一定
规则进行变化。这样,
密钥分配在
链路加密系统中就成了一个问题,因为每一个
节点必须存储与其相连接的所有链路的加密密钥,这就需要对密钥进行物理传送或者建立
专用网络设施。而
网络节点地理分布的广阔性使得这一过程变得复杂,同时增加了
密钥连续分配时的费用。
节点加密
尽管
节点加密能给
网络数据提供较高的
安全性,但它在操作方式上与
链路加密是类似的:两者均在
通信链路上为传输的消息提供安全性;都在中间节点先对消息进行解密,然后进行加密。因为要对所有传输的数据进行加密,所以加密过程对用户是透明的。
然而,与
链路加密不同,
节点加密不允许消息在
网络节点以明文形式存在,它先把收到的消息进行解密,然后采用另一个不同的
密钥进行加密,这一过程是在节点上的一个安全模块中进行。
节点加密要求报头和路由信息以明文形式传输,以便中间节点能得到如何处理消息的信息。因此这种方法对于防止攻击者分析通信业务是脆弱的。
端到端加密
端到端加密允许数据在从源点到终点的传输过程中始终以密文形式存在。采用端到端加密(又称脱线加密或包加密),消息在被传输时到达终点之前不进行解密,因为消息在整个传输过程中均受到保护,所以即使有
节点被损坏也不会使消息泄露。
端到端加密系统的价格便宜些,并且与
链路加密和
节点加密相比更可靠,更容易设计、实现和维护。
端到端加密还避免了其它加密系统所固有的同步问题,因为每个
报文包均是独立被加密的,所以一个报文包所发生的传输错误不会影响后续的报文包。此外,从用户对安全需求的直觉上讲,
端到端加密更自然些。单个用户可能会选用这种加密方法,以便不影响网络上的其他用户,此方法只需要源和
目的节点是保密的即可。
端到端加密系统通常不允许对消息的目的
地址进行加密,这是因为每一个消息所经过的节点都要用此地址来确定如何传输消息。由于这种加密方法不能掩盖被传输消息的源点与终点,因此它对于防止攻击者分析通信业务是脆弱的。
研究进展
第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语言实现程序资源占用很少,速度较快。
算法的多项指标都达到了实际应用的标准。