- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
浅析对称密码算法与非对称密码算法异同
浅析对称密码算法与非对称密码算法异同 摘 要:本文从对称密码算法与非对称密码算法的体制思想入手,从两种算法的工作原理、加密方案及各自优缺点等多个方面展开论述,进一步解析对称密码算法与非对称密码算法的异同。 关键词:对称;非对称;密码算法 中图分类号:TP212.9;TN918.82 根据加密算法与解密算法所使用的密钥是否相同,可将密码算法分为对称密码算法与非对称密码算法。接下来,就从体制思想,工作原理和加密方案等几个方面来简要地分析对称密码算法和非对称密码算法。 1 体制思想的异同 1.1 含义。所谓的对称密码算法(Symmetric Cipher),也叫传统密码算法,其含义就是加密密钥能够通过解密密钥推导出来,反之用解密密钥也可以推导出加密密钥。在大多数的对称密码算法中,加密密钥和解密密钥其实是一致的,就是同一个密钥。因此也将此算法称为单密钥算法或秘密密钥算法,此密码算法要求发送者和接收者在进行安全通信交互以前,先要商定一个安全保密的密钥,以便在通信过程中使用。 所谓的非对称密码算法(Asymmetric Cipher),也称为双密钥算法,是指一个加密算法的加密密钥和解密密钥是不相同的,是两把密钥,或者说不能通过其中一个密钥推导出另一个密钥。非对称密钥也常常称为公钥密码算法,因为它是用两个数学相关的密钥对信息进行编码,一个叫做公开密钥,一个叫做私有密钥,公开密钥主要用于对信息的加密,可随意发给期望同密钥持有者进行安全通信的人,私有密钥主要用于对信息的解密,属于密钥持有者,保存好私有密钥至关重要。 1.2 核心思想。对称密码算法的核心思想是加密和解密采用相同的密钥;非对称密码算法的核心思想是加密和解密采用不同的密钥。 1.3 密文安全性。对于对称密码算法而言,密文的安全性完全依赖于密钥的保密性,一旦密钥泄露,将毫无保密性而言;对于非对称密码算法而言,公钥是公开的,只有私钥是需要保密的,知道公钥和密码算法要推测出私钥在计算上是不可行的,只要私钥是安全的,那么加密就是可信的。 2 工作原理的异同 2.1 对称加密算法的工作原理。假设两个用户需要使用对称加密方法加密后交换数据,则用户最少需要2个密钥并交换使用,如果企业内用户有n个,则整个企业共需要n×(n-1)个密钥,密钥的生成和分发将成为企业信息部门的恶梦。对称加密算法的安全性取决于加密密钥的保存情况,但要求企业中每一个持有密钥的人都保守秘密是不可能的,他们通常会有意无意的把密钥泄漏出去――如果一个用户使用的密钥被入侵者所获得,入侵者便可以读取该用户密钥加密的所有文档,如果整个企业共用一个加密密钥,那整个企业文档的保密性便无从谈起。 2.2 非对称加密算法的工作原理。如果两个用户需要采用非对称加密算法加密数据,则两个用户之间的工作原理如下:首先用户A要向用户B发送交互信息,用户A和用户B同时都要产生一对用于加密和解密的公钥和私钥,用户A的私钥保密,公钥告诉B;用户B的私钥保密,公钥告诉A。当用户A要给用户B发送信息时,则需先使用用户B的公钥加密信息,然后将这个消息发给用户B,用户B收到这个消息后,用自己的私钥解密A发送过来的消息。而其他所有收到这个报文的人由于没有用户B的私钥而都无法解密。同理,如果用户B向用户A发送消息也需要先使用用户A的公钥加密发送,然后再由用户A用其私钥解密即可。 3 加密方案的异同 3.1 对称密钥加密方案。对称密钥的加密方案是概率多项式时间算法(Gen,Enc,Dec)的三元组:(1)密钥生成算法Gen的输入安全参数1n,输出密钥k;记为k←Gen(1n)(要强调Gen是一个随机算法)。不失一般性,假设任何由Gen(1n)输出的密钥k,都满足|k|≥n。(2)加密算法Enc将密钥k和明文消息m∈{0,1}*作为输入,并且输出一个密文c。因为Enc可能是随机化的,记为c←Enck(m)。(3)解密算法Dec将密钥k和密文c作为输入,输出一份消息m。假设Dec是确定性的,所以记为m:=Deck(c)。需要满足的是:对每个n、每个由Gen(1n)输出的密钥k,每个m∈{0,1}*,都满足Deck(Enck(m))=m。如果(Gen,Enc,Dec)满足:对每个由Gen(1n)输出的密钥k,算法Enck只对消息m∈{0,1}l(n)有定义,则假设(Gen,Enc,Dec)是一个消息长度为定长l(n)的对称密钥加密方案。 3.2 非对称密钥的加密方案 非对称密钥的加密方案是一个概率多项式时间算法(Gen,Enc,Dec)的元组。(1)生成密钥算法Gen用安全参数作为输入,输出一对密钥(pk,sk)。把pk称为公钥,把sk称为私钥。为了方便,假设pk和sk的各自长度至少为n,而且n可由pk和sk确定。
文档评论(0)