⑴ 数据加密的基本功能是什么
数据加密的基本功能是防止查看数据文件、防止数据被泄露、防止特权用户看私人数据。x0dx0a数据加密又称密码学,它是一门历史悠久的技术,指通过加密算法和加密密钥将明文转变为密文,而解密则是通过解密算法和解密密钥将密文恢复为明文。加密算法是公开的,而密钥则是不公开的。数据加密的术语有:明文,即原始的或未加密的数据。通过加密算法对其进行加密,加密算法的输入信息为明文和密钥;密文,明文加密后的格式,是加密算法的输出信息。加密算法是公开的,而密钥则是不公开的。密文,不应为无密钥的用户理解,用于数据的存储以及传输。x0dx0a传统加密方法有两种,替换和置换。上面的例子采用的就是替换的方法:使用密钥将明文中的每一个字符转换为密文中的一个字符。而置换仅将明文的字符按不同的顺序重新排列。单独使用这两种方法的任意一种都是不够安全的,但是将这两种方法结合起来就能提供相当高的安全程度。数据加密标准(DataEncryptionStandard,简称DES)就采用了这种结合算法,它由IBM制定,并在1977年成为美国官方加密标准。x0dx0a更多关于数据加密的基本功能是什么,进入:https://www.abcgonglue.com/ask/fe6b3a1615826173.html?zd查看更多内容
⑵ 数据加密是什么意思啊
同学你好,很高兴为您解答!
数据加密,是一门历史悠久的技术,指通过加密算法和加密密钥将明文转变为密文,而解密则是通过解密算法和解密密钥将密文恢复为明文。
它的核心是密码学。数据加密目前仍是计算机系统对信息进行保护的一种最可靠的办法。它利用密码技术对信息进行加密,实现信息隐蔽,从而起到保护信息的安全的作用。
希望我的回答能帮助您解决问题,如您满意,请采纳为最佳答案哟。
再次感谢您的提问,更多财会问题欢迎提交给高顿企业知道。
高顿祝您生活愉快!
⑶ 明文,密钥,和密文是什么意思
明文、密钥和密文的意思分别是:
1、明文:
明文,是指没有加密的文字(或者字符串),一般人都能看懂的意思,属于密码学术语。在通信系统中它可能是比特流,如文本、位图、数字化的语音或者数字化的视频图像等。
2、密钥:
密钥是一种参数,它是在明文转换为密文或将密文转换为明文的算法中输入的参数。密钥分为对称密钥与非对称密钥。
3、密文:
密文是加了密的的文字,明文是加密之前的文字。加密这个词有时指密文,但通常用来指加密的方法。对明文施加某种伪装或变换后的输出。也可理解为不可直接理解的字符或比特集。但可通过算法还原的被打乱的消息,与明文相对。
(3)加密用于表示信息的数据扩展阅读:
信息发送者用公开密钥去加密,而信息接收者则用私用密钥去解密。公钥机制灵活,但加密和解密速度却比对称密钥加密慢得多。
所以在实际的应用中,人们通常将两者结合在一起使用,例如,对称密钥加密系统用于存储大量数据信息,而公开密钥加密系统则用于加密密钥。
对于普通的对称密码学,加密运算与解密运算使用同样的密钥。通常,使用的对称加密算法比较简便高效,密钥简短,破译极其困难,由于系统的保密性主要取决于密钥的安全性。
所以,在公开的计算机网络上安全地传送和保管密钥是一个严峻的问题。正是由于对称密码学中双方都使用相同的密钥,因此无法实现数据签名和不可否认性等功能。
⑷ 电子政务考题:信息加密是指隐藏数据的
信息加密是指隐藏数据的信息。
通常而言,现阶段最为有效的信息加密方式,就是对原始数字信息(明文)按照一定的一定方式(算法)换算成其余有规律的数字信息(密文),然后在按照一定的方式对加密信息进行读取的过程。
(1)明文:即原始的信息数据;
(2)密文:经过加密后的信息数据;
(3)加密方式:要加密传输中的数据流,一般采用链路加密、节点加密和端到端加密三种方式;
(4)加(解)密算法:是指密文和明文之间实现置换或转换 的规则和步骤,DES 算法、RSA 算法和 IDEA 算法是目前信息数据 通信中最为常用的三种加密算法;
(5)密钥:是指信息数据加密(由明文变密文)和解密(由 密文变明文)过程中使用的可变参数,它直接影响信息数据加密 和解密的结果。
一般信息加密技术及在计算机网络安全中的应用
随着计算机技术和互联网技术使用的普遍性增加,为了进一步促进互联网技术的发展,加密技术就显得尤为重要。现阶段的互联网加密技术种类繁多,但是可以将其粗略的分为对称加密技术和非对称加密技术。
信息加密相关技术
在人们使用电子设备时,接触最为频繁的信息加密技术就是密码算法。密码算法也称密码,本质是应用于加密操作的数学函数。
早期应用的密码多是受限制算法类型,受限制算法在很长一段时间内发挥了有效作用,但是结合当前信息加密需要来看,受限制算法显然已经无法达到要求;
在大规模用户组织使用受限制算法时,密码的保密性难以得到保障,如果某一用户不慎泄露密码,其他用户就要及时更换算法类型,否则便会有信息泄露的风险,由此也可以认识到受限制算法的局限性。
当然,目前按互联网信息加密技术已经稳妥的解决了这种问题,现代密码的使用需要借助密钥解密,用户群体的密钥在广阔无际的密钥空间中任意变换,这极大加强了信息加密的安全属性。
⑸ 数据加密技术有哪些
加密技术通常分为两大类:“对称式”和“非对称式”。
对称式加密就是加密和解密使用同一个密钥,通常称之为“Session Key ”这种加密技术目前被广泛采用,如美国政府所采用的DES加密标准就是一种典型的“对称式”加密法,它的Session Key长度为56Bits。
非对称式加密就是加密和解密所使用的不是同一个密钥,通常有两个密钥,称为“公钥”和“私钥”,它们两个必需配对使用,否则不能打开加密文件。这里的“公钥”是指可以对外公布的,“私钥”则不能,只能由持有人一个人知道。它的优越性就在这里,因为对称式的加密方法如果是在网络上传输加密文件就很难把密钥告诉对方,不管用什么方法都有可能被别窃听到。而非对称式的加密方法有两个密钥,且其中的“公钥”是可以公开的,也就不怕别人知道,收件人解密时只要用自己的私钥即可以,这样就很好地避免了密钥的传输安全性问题。
一般的数据加密可以在通信的三个层次来实现:链路加密、节点加密和端到端加密。(3)
链路加密
对于在两个网络节点间的某一次通信链路,链路加密能为网上传输的数据提供安全证。对于链路加密(又称在线加密),所有消息在被传输之前进行加密,在每一个节点对接收到消息进行解密,然后先使用下一个链路的密钥对消息进行加密,再进行传输。在到达目的地之前,一条消息可能要经过许多通信链路的传输。
由于在每一个中间传输节点消息均被解密后重新进行加密,因此,包括路由信息在内的链路上的所有数据均以密文形式出现。这样,链路加密就掩盖了被传输消息的源点与终点。由于填充技术的使用以及填充字符在不需要传输数据的情况下就可以进行加密,这使得消息的频率和长度特性得以掩盖,从而可以防止对通信业务进行分析。
尽管链路加密在计算机网络环境中使用得相当普遍,但它并非没有问题。链路加密通常用在点对点的同步或异步线路上,它要求先对在链路两端的加密设备进行同步,然后使用一种链模式对链路上传输的数据进行加密。这就给网络的性能和可管理性带来了副作用。
在线路/信号经常不通的海外或卫星网络中,链路上的加密设备需要频繁地进行同步,带来的后果是数据丢失或重传。另一方面,即使仅一小部分数据需要进行加密,也会使得所有传输数据被加密。
在一个网络节点,链路加密仅在通信链路上提供安全性,消息以明文形式存在,因此所有节点在物理上必须是安全的,否则就会泄漏明文内容。然而保证每一个节点的安全性需要较高的费用,为每一个节点提供加密硬件设备和一个安全的物理环境所需要的费用由以下几部分组成:保护节点物理安全的雇员开销,为确保安全策略和程序的正确执行而进行审计时的费用,以及为防止安全性被破坏时带来损失而参加保险的费用。
在传统的加密算法中,用于解密消息的密钥与用于加密的密钥是相同的,该密钥必须被秘密保存,并按一定规则进行变化。这样,密钥分配在链路加密系统中就成了一个问题,因为每一个节点必须存储与其相连接的所有链路的加密密钥,这就需要对密钥进行物理传送或者建立专用网络设施。而网络节点地理分布的广阔性使得这一过程变得复杂,同时增加了密钥连续分配时的费用。
节点加密
尽管节点加密能给网络数据提供较高的安全性,但它在操作方式上与链路加密是类似的:两者均在通信链路上为传输的消息提供安全性;都在中间节点先对消息进行解密,然后进行加密。因为要对所有传输的数据进行加密,所以加密过程对用户是透明的。
然而,与链路加密不同,节点加密不允许消息在网络节点以明文形式存在,它先把收到的消息进行解密,然后采用另一个不同的密钥进行加密,这一过程是在节点上的一个安全模块中进行。
节点加密要求报头和路由信息以明文形式传输,以便中间节点能得到如何处理消息的信息。因此这种方法对于防止攻击者分析通信业务是脆弱的。
端到端加密
端到端加密允许数据在从源点到终点的传输过程中始终以密文形式存在。采用端到端加密,消息在被传输时到达终点之前不进行解密,因为消息在整个传输过程中均受到保护,所以即使有节点被损坏也不会使消息泄露。
端到端加密系统的价格便宜些,并且与链路加密和节点加密相比更可靠,更容易设计、实现和维护。端到端加密还避免了其它加密系统所固有的同步问题,因为每个报文包均是独立被加密的,所以一个报文包所发生的传输错误不会影响后续的报文包。此外,从用户对安全需求的直觉上讲,端到端加密更自然些。单个用户可能会选用这种加密方法,以便不影响网络上的其他用户,此方法只需要源和目的节点是保密的即可。
端到端加密系统通常不允许对消息的目的地址进行加密,这是因为每一个消息所经过的节点都要用此地址来确定如何传输消息。由于这种加密方法不能掩盖被传输消息的源点与终点,因此它对于防止攻击者分析通信业务是脆弱的。
⑹ 数据加密的基本信息
和防火墙配合使用的数据加密技术,是为提高信息系统和数据的安全性和保密性,防止秘密数据被外部破译而采用的主要技术手段之一。在技术上分别从软件和硬件两方面采取措施。按照作用的不同,数据加密技术可分为数据传输加密技术、数据存储加密技术、数据完整性的鉴别技术和密钥管理技术。
数据传输加密技术的目的是对传输中的数据流加密,通常有线路加密与端—端加密两种。线路加密侧重在线路上而不考虑信源与信宿,是对保密信息通过各线路采用不同的加密密钥提供安全保护。端—端加密指信息由发送端自动加密,并且由TCP/IP进行数据包封装,然后作为不可阅读和不可识别的数据穿过互联网,当这些信息到达目的地,将被自动重组、解密,而成为可读的数据。
数据存储加密技术的目的是防止在存储环节上的数据失密,数据存储加密技术可分为密文存储和存取控制两种。前者一般是通过加密算法转换、附加密码、加密模块等方法实现;后者则是对用户资格、权限加以审查和限制,防止非法用户存取数据或合法用户越权存取数据。
数据完整性鉴别技术的目的是对介入信息传送、存取和处理的人的身份和相关数据内容进行验证,一般包括口令、密钥、身份、数据等项的鉴别。系统通过对比验证对象输入的特征值是否符合预先设定的参数,实现对数据的安全保护。
密钥管理技术包括密钥的产生、分配、保存、更换和销毁等各个环节上的保密措施。 数据加密的术语有 :
明文,即原始的或未加密的数据。通过加密算法对其进行加密,加密算法的输入信息为明文和密钥;
密文,明文加密后的格式,是加密算法的输出信息。加密算法是公开的,而密钥则是不公开的。密文不应为无密钥的用户理解,用于数据的存储以及传输;
密钥,是由数字、字母或特殊符号组成的字符串,用它控制数据加密、解密的过程;
加密,把明文转换为密文的过程;
加密算法,加密所采用的变换方法;
解密,对密文实施与加密相逆的变换,从而获得明文的过程;
解密算法,解密所采用的变换方法。
加密技术是一种防止信息泄露的技术。它的核心技术是密码学,密码学是研究密码系统或通信安全的一门学科,它又分为密码编码学和密码分析学。
任何一个加密系统都是由明文、密文、算法和密钥组成。发送方通过加密设备或加密算法,用加密密钥将数据加密后发送出去。接收方在收到密文后,用解密密钥将密文解密,恢复为明文。在传输过程中,即使密文被非法分子偷窃获取,得到的也只是无法识别的密文,从而起到数据保密的作用。
例:明文为字符串:
AS KINGFISHERS CATCH FIRE
(为简便起见,假定所处理的数据字符仅为大写字母和空格符)。假定密钥为字符串:
ELIOT
加密算法为:
1) 将明文划分成多个密钥字符串长度大小的块(空格符以+表示)
AS+KI NGFIS HERS+ CATCH +FIRE
2) 用0~26范围的整数取代明文的每个字符,空格符=00,A=01,...,Z=26:
3) 与步骤2一样对密钥的每个字符进行取代:
0512091520
4) 对明文的每个块,将其每个字符用对应的整数编码与密钥中相应位置的字符的整数编码的和模27后的值(整数编码)取代:
举例:第一个整数编码为 (01+05)%27=06
5) 将步骤4的结果中的整数编码再用其等价字符替换:
FDIZB SSOXL MQ+GT HMBRA ERRFY
如果给出密钥,该例的解密过程很简单。问题是对于一个恶意攻击者来说,在不知道密钥的情况下,利用相匹配的明文和密文获得密钥究竟有多困难?对于上面的简单例子,答案是相当容易的,不是一般的容易,但是,复杂的加密模式同样很容易设计出。理想的情况是采用的加密模式使得攻击者为了破解所付出的代价应远远超过其所获得的利益。实际上,该目的适用于所有的安全性措施。这种加密模式的可接受的最终目标是:即使是该模式的发明者也无法通过相匹配的明文和密文获得密钥,从而也无法破解密文。 传统加密方法有两种,替换和置换。上面的例子采用的就是替换的方法:使用密钥将明文中的每一个字符转换为密文中的一个字符。而置换仅将明文的字符按不同的顺序重新排列。单独使用这两种方法的任意一种都是不够安全的,但是将这两种方法结合起来就能提供相当高的安全程度。数据加密标准(Data Encryption Standard,简称DES)就采用了这种结合算法,它由IBM制定,并在1977年成为美国官方加密标准。
DES的工作原理为:将明文分割成许多64位大小的块,每个块用64位密钥进行加密,实际上,密钥由56位数据位和8位奇偶校验位组成,因此只有56个可能的密码而不是64个。每块先用初始置换方法进行加密,再连续进行16次复杂的替换,最后再对其施用初始置换的逆。第i步的替换并不是直接利用原始的密钥K,而是由K与i计算出的密钥Ki。
DES具有这样的特性,其解密算法与加密算法相同,除了密钥Ki的施加顺序相反以外。 多年来,许多人都认为DES并不是真的很安全。事实上,即使不采用智能的方法,随着快速、高度并行的处理器的出现,强制破解DES也是可能的。公开密钥加密方法使得DES以及类似的传统加密技术过时了。公开密钥加密方法中,加密算法和加密密钥都是公开的,任何人都可将明文转换成密文。但是相应的解密密钥是保密的(公开密钥方法包括两个密钥,分别用于加密和解密),而且无法从加密密钥推导出,因此,即使是加密者若未被授权也无法执行相应的解密。
公开密钥加密思想最初是由Diffie和Hellman提出的,最着名的是Rivest、Shamir以及Adleman提出的,通常称为RSA(以三个发明者的首位字母命名)的方法,该方法基于下面的两个事实:
1) 已有确定一个数是不是质数的快速算法;
2) 尚未找到确定一个合数的质因子的快速算法。
RSA方法的工作原理如下:
1) 任意选取两个不同的大质数p和q,计算乘积r=p*q;
2) 任意选取一个大整数e,e与(p-1)*(q-1)互质,整数e用做加密密钥。注意:e的选取是很容易的,例如,所有大于p和q的质数都可用。
3) 确定解密密钥d:
(d * e) molo(p - 1)*(q - 1) = 1
根据e、p和q可以容易地计算出d。
4) 公开整数r和e,但是不公开d;
5) 将明文P (假设P是一个小于r的整数)加密为密文C,计算方法为:
C = P^e molo r
6) 将密文C解密为明文P,计算方法为:
P = C^d molo r
然而只根据r和e(不是p和q)要计算出d是不可能的。因此,任何人都可对明文进行加密,但只有授权用户(知道d)才可对密文解密。
下面举一简单的例子对上述过程进行说明,显然我们只能选取很小的数字。
例:选取p=3, q=5,则r=15,(p-1)*(q-1)=8。选取e=11(大于p和q的质数),通过(d*11)molo(8) = 1。
计算出d =3。
假定明文为整数13。则密文C为
C = P^e molo r
= 13^11 molo 15
= 1,792,160,394,037 molo 15
= 7
复原明文P为:
P = C^d molo r
= 7^3 molo 15
= 343 molo 15
= 13
因为e和d互逆,公开密钥加密方法也允许采用这样的方式对加密信息进行签名,以便接收方能确定签名不是伪造的。假设A和B希望通过公开密钥加密方法进行数据传输,A和B分别公开加密算法和相应的密钥,但不公开解密算法和相应的密钥。A和B的加密算法分别是ECA和ECB,解密算法分别是DCA和DCB,ECA和DCA互逆,ECB和DCB互逆。若A要向B发送明文P,不是简单地发送ECB(P),而是先对P施以其解密算法DCA,再用加密算法ECB对结果加密后发送出去。
密文C为:
C = ECB(DCA(P))
B收到C后,先后施以其解密算法DCB和加密算法ECA,得到明文P:
ECA(DCB(C))
= ECA(DCB(ECB(DCA(P))))
= ECA(DCA(P)) /*DCB和ECB相互抵消*/
= P /*DCB和ECB相互抵消*/
这样B就确定报文确实是从A发出的,因为只有当加密过程利用了DCA算法,用ECA才能获得P,只有A才知道DCA算法,没
有人,即使是B也不能伪造A的签名。 前言
随着信息化的高速发展,人们对信息安全的需求接踵而至,人才竞争、市场竞争、金融危机、敌特机构等都给企事业单位的发展带来巨大风险,内部窃密、黑客攻击、无意识泄密等窃密手段成为了人与人之间、企业与企业之间、国与国之间的安全隐患。
市场的需求、人的安全意识、环境的诸多因素促使着我国的信息安全高速发展,信息安全经历了从传统的单一防护如防火墙到信息安全整体解决方案、从传统的老三样防火墙、入侵检测、杀毒软件到多元化的信息安全防护、从传统的外部网络防护到内网安全、主机安全等。
传统数据加密技术分析
信息安全传统的老三样(防火墙、入侵检测、防病毒)成为了企事业单位网络建设的基础架构,已经远远不能满足用户的安全需求,新型的安全防护手段逐步成为了信息安全发展的主力军。例如主机监控、文档加密等技术。
在新型安全产品的队列中,主机监控主要采用外围围追堵截的技术方案,虽然对信息安全有一定的提高,但是因为产品自身依赖于操作系统,对数据自身没有有效的安全防护,所以存在着诸多安全漏洞,例如:最基础的手段拆拔硬盘、winpe光盘引导、USB引导等方式即可将数据盗走,而且不留任何痕迹;此技术更多的可以理解为企业资产管理软件,单一的产品无法满足用户对信息安全的要求。
文档加密是现今信息安全防护的主力军,采用透明加解密技术,对数据进行强制加密,不改变用户原有的使用习惯;此技术对数据自身加密,不管是脱离操作系统,还是非法脱离安全环境,用户数据自身都是安全的,对环境的依赖性比较小。市面上的文档加密主要的技术分为磁盘加密、应用层加密、驱动级加密等几种技术,应用层加密因为对应用程序的依赖性比较强,存在诸多兼容性和二次开发的问题,逐步被各信息安全厂商所淘汰。
当今主流的两大数据加密技术
我们所能常见到的主要就是磁盘加密和驱动级解密技术:
全盘加密技术是主要是对磁盘进行全盘加密,并且采用主机监控、防水墙等其他防护手段进行整体防护,磁盘加密主要为用户提供一个安全的运行环境,数据自身未进行加密,操作系统一旦启动完毕,数据自身在硬盘上以明文形式存在,主要靠防水墙的围追堵截等方式进行保护。磁盘加密技术的主要弊端是对磁盘进行加密的时间周期较长,造成项目的实施周期也较长,用户一般无法忍耐;磁盘加密技术是对磁盘进行全盘加密,一旦操作系统出现问题。需要对数据进行恢复也是一件让用户比较头痛的事情,正常一块500G的硬盘解密一次所需时间需要3-4个小时;市面上的主要做法是对系统盘不做加密防护,而是采用外围技术进行安全访问控制,大家知道操作系统的版本不断升级,微软自身的安全机制越来越高,人们对系统的控制力度越来越低,尤其黑客技术层层攀高,一旦防护体系被打破,所有一切将暴露无疑。另外,磁盘加密技术是对全盘的信息进行安全管控,其中包括系统文件,对系统的效率性能将大大影响。
驱动级技术是信息加密的主流技术,采用进程+后缀的方式进行安全防护,用户可以根据企事业单位的实际情况灵活配置,对重要的数据进行强制加密,大大提高了系统的运行效率。驱动级加密技术与磁盘加密技术的最大区别就是驱动级技术会对用户的数据自身进行保护,驱动级加密采用透明加解密技术,用户感觉不到系统的存在,不改变用户的原有操作,数据一旦脱离安全环境,用户将无法使用,有效提高了数据的安全性;另外驱动级加密技术比磁盘加密技术管理可以更加细粒度,有效实现数据的全生命周期管理,可以控制文件的使用时间、次数、复制、截屏、录像等操作,并且可以对文件的内部进行细粒度的授权管理和数据的外出访问控制,做到数据的全方位管理。驱动级加密技术在给用户的数据带来安全的同时,也给用户的使用便利性带来一定的问题,驱动级加密采用进程加密技术,对同类文件进行全部加密,无法有效区别个人文件与企业文件数据的分类管理,个人电脑与企业办公的并行运行等问题。
⑺ 密钥和密码有什么区别
一、主体不同
1、密钥:是一种参数,它是在明文转换为密文或将密文转换为明文的算法中输入的参数。
2、密码:是一种用来混淆的技术,使用者希望将正常的(可识别的)信息转变为无法识别的信息。
二、特点不同
1、密钥:信息的发送方和接收方使用同一个密钥去加密和解密数据。优势是加/解密速度快,适合于对大数据量进行加密,但密钥管理困难。
2、密码:密码除了用于信息加密外,也用于数据信息签名和安全认证。密码的应用也不再只局限于为军事、外交斗争服务,广泛应用在社会和经济活动中。
三、优势不同
1、密钥:使用的对称加密算法比较简便高效,密钥简短,破译极其困难,由于系统的保密性主要取决于密钥的安全性。
2、密码:密码是隐蔽了真实内容的符号序列。就是把用公开的、标准的信息编码表示的信息通过一种变换手段,将其变为除通信双方以外其他人所不能读懂的信息编码。
⑻ 数据加密
数据加密技术是指将一个信息或称明文,经过加密钥匙及加密函数转换,变成无意义的密文,而接收方则将此密文经过解密函数、解密钥匙还原成明文。加密技术广泛用于网络数据的安全领域。
数据加密技术要求只有在指定的用户或网络下,才能解除密码而获得原来的数据,这就需要给数据发送方和接受方以一些特殊的信息用于加解密,这就是所谓的密钥。其密钥的值是从大量的随机数中选取的。按加密算法分为专用密钥和公开密钥两种。
1)专用密钥,又称为对称密钥或单密钥,加密和解密时使用同一个密钥,即同一个算法。如DES和MIT的Kerberos算法。专用密钥是最简单方式,通信双方必须交换彼此密钥,当需给对方发信息时,用自己的加密密钥进行加密,而在接收方收到数据后,用对方所给的密钥进行解密。当一个文本要加密传送时,该文本用密钥加密构成密文,密文在信道上传送,收到密文后用同一个密钥将密文解出来,形成普通文体供阅读。由于对称密钥运算量小、速度快、安全强度高,因而目前仍广泛被采用。
2)公开密钥,又称非对称密钥,加密和解密时使用不同的密钥,即不同的算法,虽然两者之间存在一定的关系,但不可能轻易地从一个推导出另一个。有一把公用的加密密钥,有多把解密密钥,如RSA算法。公开密钥由于两个密钥(加密密钥和解密密钥)各不相同,因而可以将一个密钥公开,而将另一个密钥保密,同样可以起到加密的作用。在这种编码过程中,一个密码用来加密消息,而另一个密码用来解密消息。在两个密钥中有一种关系,通常是数学关系。公钥和私钥都是一组十分长的、数字上相关的素数(是另一个大数字的因数)。有一个密钥不足以翻译出消息,因为用一个密钥加密的消息只能用另一个密钥才能解密。每个用户可以得到唯一的一对密钥,一个是公开的,另一个是保密的。公共密钥保存在公共区域,可在用户中传递,甚至可印在报纸上面。而私钥必须存放在安全保密的地方。任何人都可以有你的公钥,但是只有你一个人能有你的私钥。它的工作过程是:“你要我听你的吗?除非你用我的公钥加密该消息,我就可以听你的,因为我知道没有别人在偷听。只有我的私钥(其他人没有)才能解密该消息,所以我知道没有人能读到这个消息。我不必担心大家都有我的公钥,因为它不能用来解密该消息。”公开密钥的加密机制虽提供了良好的保密性,但难以鉴别发送者,即任何得到公开密钥的人都可以生成和发送报文。数字签名机制提供了一种鉴别方法,以解决伪造、抵赖、冒充和篡改等问题。
⑼ 密码算法的密码学
(1) 发送者和接收者
假设发送者想发送消息给接收者,且想安全地发送信息:她想确信偷听者不能阅读发送的消息。
(2) 消息和加密
消息被称为明文。用某种方法伪装消息以隐藏它的内容的过程称为加密,加了密的消息称为密文,而把密文转变为明文的过程称为解密。
明文用M(消息)或P(明文)表示,它可能是比特流(文本文件、位图、数字化的语音流或数字化的视频图像)。至于涉及到计算机,P是简单的二进制数据。明文可被传送或存储,无论在哪种情况,M指待加密的消息。
密文用C表示,它也是二进制数据,有时和M一样大,有时稍大(通过压缩和加密的结合,C有可能比P小些。然而,单单加密通常达不到这一点)。加密函数E作用于M得到密文C,用数学表示为:
E(M)=C.
相反地,解密函数D作用于C产生M
D(C)=M.
先加密后再解密消息,原始的明文将恢复出来,下面的等式必须成立:
D(E(M))=M
(3) 鉴别、完整性和抗抵赖
除了提供机密性外,密码学通常有其它的作用:.
(a) 鉴别
消息的接收者应该能够确认消息的来源;入侵者不可能伪装成他人。
(b) 完整性检验
消息的接收者应该能够验证在传送过程中消息没有被修改;入侵者不可能用假消息代替合法消息。
(c) 抗抵赖
发送者事后不可能虚假地否认他发送的消息。
(4) 算法和密钥
密码算法也叫密码,是用于加密和解密的数学函数。(通常情况下,有两个相关的函数:一个用作加密,另一个用作解密)
如果算法的保密性是基于保持算法的秘密,这种算法称为受限制的算法。受限制的算法具有历史意义,但按现在的标准,它们的保密性已远远不够。大的或经常变换的用户组织不能使用它们,因为每有一个用户离开这个组织,其它的用户就必须改换另外不同的算法。如果有人无意暴露了这个秘密,所有人都必须改变他们的算法。
但是,受限制的密码算法不可能进行质量控制或标准化。每个用户组织必须有他们自己的唯一算法。这样的组织不可能采用流行的硬件或软件产品。但窃听者却可以买到这些流行产品并学习算法,于是用户不得不自己编写算法并予以实现,如果这个组织中没有好的密码学家,那么他们就无法知道他们是否拥有安全的算法。
尽管有这些主要缺陷,受限制的算法对低密级的应用来说还是很流行的,用户或者没有认识到或者不在乎他们系统中内在的问题。
现代密码学用密钥解决了这个问题,密钥用K表示。K可以是很多数值里的任意值。密钥K的可能值的范围叫做密钥空间。加密和解密运算都使用这个密钥(即运算都依赖于密钥,并用K作为下标表示),这样,加/解密函数现在变成:
EK(M)=C
DK(C)=M.
这些函数具有下面的特性:
DK(EK(M))=M.
有些算法使用不同的加密密钥和解密密钥,也就是说加密密钥K1与相应的解密密钥K2不同,在这种情况下:
EK1(M)=C
DK2(C)=M
DK2 (EK1(M))=M
所有这些算法的安全性都基于密钥的安全性;而不是基于算法的细节的安全性。这就意味着算法可以公开,也可以被分析,可以大量生产使用算法的产品,即使偷听者知道你的算法也没有关系;如果他不知道你使用的具体密钥,他就不可能阅读你的消息。
密码系统由算法、以及所有可能的明文、密文和密钥组成的。
基于密钥的算法通常有两类:对称算法和公开密钥算法。下面将分别介绍: 对称算法有时又叫传统密码算法,就是加密密钥能够从解密密钥中推算出来,反过来也成立。在大多数对称算法中,加/解密密钥是相同的。这些算法也叫秘密密钥算法或单密钥算法,它要求发送者和接收者在安全通信之前,商定一个密钥。对称算法的安全性依赖于密钥,泄漏密钥就意味着任何人都能对消息进行加/解密。只要通信需要保密,密钥就必须保密。
对称算法的加密和解密表示为:
EK(M)=C
DK(C)=M
对称算法可分为两类。一次只对明文中的单个比特(有时对字节)运算的算法称为序列算法或序列密码。另一类算法是对明文的一组比特亚行运算,这些比特组称为分组,相应的算法称为分组算法或分组密码。现代计算机密码算法的典型分组长度为64比特——这个长度大到足以防止分析破译,但又小到足以方便使用(在计算机出现前,算法普遍地每次只对明文的一个字符运算,可认为是序列密码对字符序列的运算)。 公开密钥算法(也叫非对称算法)是这样设计的:用作加密的密钥不同于用作解密的密钥,而且解密密钥不能根据加密密钥计算出来(至少在合理假定的长时间内)。之所以叫做公开密钥算法,是因为加密密钥能够公开,即陌生者能用加密密钥加密信息,但只有用相应的解密密钥才能解密信息。在这些系统中,加密密钥叫做公开密钥(简称公钥),解密密钥叫做私人密钥(简称私钥)。私人密钥有时也叫秘密密钥。为了避免与对称算法混淆,此处不用秘密密钥这个名字。
用公开密钥K加密表示为
EK(M)=C.
虽然公开密钥和私人密钥是不同的,但用相应的私人密钥解密可表示为:
DK(C)=M
有时消息用私人密钥加密而用公开密钥解密,这用于数字签名(后面将详细介绍),尽管可能产生混淆,但这些运算可分别表示为:
EK(M)=C
DK(C)=M
当前的公开密码算法的速度,比起对称密码算法,要慢的多,这使得公开密码算法在大数据量的加密中应用有限。 单向散列函数 H(M) 作用于一个任意长度的消息 M,它返回一个固定长度的散列值 h,其中 h 的长度为 m 。
输入为任意长度且输出为固定长度的函数有很多种,但单向散列函数还有使其单向的其它特性:
(1) 给定 M ,很容易计算 h ;
(2) 给定 h ,根据 H(M) = h 计算 M 很难 ;
(3) 给定 M ,要找到另一个消息 M‘ 并满足 H(M) = H(M’) 很难。
在许多应用中,仅有单向性是不够的,还需要称之为“抗碰撞”的条件:
要找出两个随机的消息 M 和 M‘,使 H(M) = H(M’) 满足很难。
由于散列函数的这些特性,由于公开密码算法的计算速度往往很慢,所以,在一些密码协议中,它可以作为一个消息 M 的摘要,代替原始消息 M,让发送者为 H(M) 签名而不是对 M 签名 。
如 SHA 散列算法用于数字签名协议 DSA中。 提到数字签名就离不开公开密码系统和散列技术。
有几种公钥算法能用作数字签名。在一些算法中,例如RSA,公钥或者私钥都可用作加密。用你的私钥加密文件,你就拥有安全的数字签名。在其它情况下,如DSA,算法便区分开来了??数字签名算法不能用于加密。这种思想首先由Diffie和Hellman提出 。
基本协议是简单的 :
(1) A 用她的私钥对文件加密,从而对文件签名。
(2) A 将签名的文件传给B。
(3) B用A的公钥解密文件,从而验证签名。
这个协议中,只需要证明A的公钥的确是她的。如果B不能完成第(3)步,那么他知道签名是无效的。
这个协议也满足以下特征:
(1) 签名是可信的。当B用A的公钥验证信息时,他知道是由A签名的。
(2) 签名是不可伪造的。只有A知道她的私钥。
(3) 签名是不可重用的。签名是文件的函数,并且不可能转换成另外的文件。
(4) 被签名的文件是不可改变的。如果文件有任何改变,文件就不可能用A的公钥验证。
(5) 签名是不可抵赖的。B不用A的帮助就能验证A的签名。 加密技术是对信息进行编码和解码的技术,编码是把原来可读信息(又称明文)译成代码形式(又称密文),其逆过程就是解码(解密)。加密技术的要点是加密算法,加密算法可以分为对称加密、不对称加密和不可逆加密三类算法。
对称加密算法 对称加密算法是应用较早的加密算法,技术成熟。在对称加密算法中,数据发信方将明文(原始数据)和加密密钥一起经过特殊加密算法处理后,使其变成复杂的加密密文发送出去。收信方收到密文后,若想解读原文,则需要使用加密用过的密钥及相同算法的逆算法对密文进行解密,才能使其恢复成可读明文。在对称加密算法中,使用的密钥只有一个,发收信双方都使用这个密钥对数据进行加密和解密,这就要求解密方事先必须知道加密密钥。对称加密算法的特点是算法公开、计算量小、加密速度快、加密效率高。不足之处是,交易双方都使用同样钥匙,安全性得不到保证。此外,每对用户每次使用对称加密算法时,都需要使用其他人不知道的惟一钥匙,这会使得发收信双方所拥有的钥匙数量成几何级数增长,密钥管理成为用户的负担。对称加密算法在分布式网络系统上使用较为困难,主要是因为密钥管理困难,使用成本较高。在计算机专网系统中广泛使用的对称加密算法有DES和IDEA等。美国国家标准局倡导的AES即将作为新标准取代DES。
不对称加密算法 不对称加密算法使用两把完全不同但又是完全匹配的一对钥匙—公钥和私钥。在使用不对称加密算法加密文件时,只有使用匹配的一对公钥和私钥,才能完成对明文的加密和解密过程。加密明文时采用公钥加密,解密密文时使用私钥才能完成,而且发信方(加密者)知道收信方的公钥,只有收信方(解密者)才是唯一知道自己私钥的人。不对称加密算法的基本原理是,如果发信方想发送只有收信方才能解读的加密信息,发信方必须首先知道收信方的公钥,然后利用收信方的公钥来加密原文;收信方收到加密密文后,使用自己的私钥才能解密密文。显然,采用不对称加密算法,收发信双方在通信之前,收信方必须将自己早已随机生成的公钥送给发信方,而自己保留私钥。由于不对称算法拥有两个密钥,因而特别适用于分布式系统中的数据加密。广泛应用的不对称加密算法有RSA算法和美国国家标准局提出的DSA。以不对称加密算法为基础的加密技术应用非常广泛。
不可逆加密算法 的特征是加密过程中不需要使用密钥,输入明文后由系统直接经过加密算法处理成密文,这种加密后的数据是无法被解密的,只有重新输入明文,并再次经过同样不可逆的加密算法处理,得到相同的加密密文并被系统重新识别后,才能真正解密。显然,在这类加密过程中,加密是自己,解密还得是自己,而所谓解密,实际上就是重新加一次密,所应用的“密码”也就是输入的明文。不可逆加密算法不存在密钥保管和分发问题,非常适合在分布式网络系统上使用,但因加密计算复杂,工作量相当繁重,通常只在数据量有限的情形下使用,如广泛应用在计算机系统中的口令加密,利用的就是不可逆加密算法。近年来,随着计算机系统性能的不断提高,不可逆加密的应用领域正在逐渐增大。在计算机网络中应用较多不可逆加密算法的有RSA公司发明的MD5算法和由美国国家标准局建议的不可逆加密标准SHS(Secure Hash Standard:安全杂乱信息标准)等。