vlambda博客
学习文章列表

科普:对称加密和非对称加密技术

宇宙弦(纯音乐) 进度条 00:00 / 01:20

        互联网高速发展的时代,数据泄露事件层出不穷,人们对数据安全的重视程度越来越高,很多公司都选择用数据加密软件保障数据传输安全,目前主流的数据加密算法,可分为对称算法、非对称算法、哈希算法以及混合算法。


什么是对称加密技术


        对称加密采用了对称密码编码技术,它的特点是数据加密和解密使用相同的密钥加密,这种方法在密码学中叫做对称加密算法,对称加密算法使用起来简单快捷,密钥较短,且破译困难,除了数据加密标准(DES),另一个对称密钥加密系统是国际数据加密算法(IDEA),它比DES的加密性好,而且对计算机功能要求也没有那么高。


    对称加密算法在信息传递过程中存在的问题

01

02

密钥的数目难以管理。因为对于每一个合作者都需要使用不同的密钥,很难适应开放社会中大量的信息交流

03

对称加密算法一般不能提供信息完整性的鉴别。它无法验证发送者和接受者的身份

04

对称密钥的管理和分发工作是一件具有潜在危险的和繁琐的过程。对称加密是基于共同保守秘密来实现的,采用对称加密技术的贸易双方必须保证采用的是相同的密钥,保证彼此密钥的交换是安全可靠的,同时还要设定防止密钥泄密和更改密钥的程序

        假设两个用户需要使用对称加密方法加密然后交换数据,则用户最少需要2个密钥并交换使用,如果企业内用户有n个,则整个企业共需要n×(n-1) 个密钥,密钥的生成和分发将成为企业信息部门的噩梦。


什么是非对称加密技术


         非对称加密算法的特点是文件加密和解密使用不同的密钥加密。非对称加密算法需要两个密钥:公开密钥(publickey:简称公钥)和私有密钥(privatekey:简称私钥)。公钥与私钥是一对,如果用公钥对数据进行加密,只有用对应的私钥才能解密。因为加密和解密使用的是两个不同的密钥,所以这种算法叫作非对称加密算法。

        非对称加密算法实现机密信息交换的基本过程是:甲方生成一对密钥并将公钥公开,需要向甲方发送信息的其他角色(乙方)使用该密钥(甲方的公钥)对机密信息进行加密后再发送给甲方;甲方再用自己私钥对加密后的信息进行解密。甲方想要回复乙方时正好相反,使用乙方的公钥对数据进行加密,同理,乙方使用自己的私钥来进行解密。

       另一方面,甲方可以使用自己的私钥对机密信息进行签名后再发送给乙方;乙方再用甲方的公钥对甲方发送回来的数据进行验签。甲方只能用其私钥解密由其公钥加密后的任何信息。非对称加密算法的保密性比较好,它消除了最终用户交换密钥的需要。

        非对称密码体制的特点:算法强度复杂、安全性依赖于算法与密钥,但是由于其算法复杂,而使得加密解密速度没有对称加密解密的速度快。对称密码体制中只有一种密钥,并且是非公开的,如果要解密就得让对方知道密钥。所以保证其安全性就是保证密钥的安全,而非对称密钥体制有两种密钥,其中一个是公开的,这样就可以不需要像对称密码那样传输对方的密钥,安全性就大了很多。


简述RSA算法

        RSA算法属于非对称加密算法的一种,加密算法流程如下:

科普:对称加密和非对称加密技术

        RSA算法的安全性,是基于目前的条件下,在空间和时间上,无法对它进行有效破解。根据上述算法流程,RSA算法用到a、b、n、m、e、d六个数字。其中公钥(n,e)是公开的,其余的4个数字是保密的。其中密钥d是算法的核心。


 e*d ≡ 1 (mod m)

 其中e是公开的,那就需要知道m,才能算出d。

 φ(n)=(a-1)(b-1)=m

根据公式,要计算出m,必须知道a和b。n=ab。只有将n因数分解,才能算出a和b


        目前对于大数的因数分解,除了暴力破解,没有更好的途径。以现有的计算资源和能力,目前能被破解的最长RSA密钥就是768位,所以只要保证RSA密钥是1024位及以上,即可保证算法的安全性。

        在RSA算法中,公钥(n,e) 只能加密小于n的整数。对于大于n的整数,可以采用两种方法。一是把长信息分割成若干段短消息,每段分别加密;另一种是先选择一种对称性加密算法加密信息,再用RSA公钥加密对称性加密算法的密钥。

总结

区别

对称加密算法


非对称加密算法


特性

双方使用的同一个密钥,既可以加密又可以解密

一对密钥由公钥和私钥组成(可以使用很多对密钥)。私钥解密公钥加密数据,公钥解密私钥加密数据

优点

速度快,对称性加密通常在消息发送方需要加密大量数据时使用,算法公开、计算量小、加密速度快、加密效率高

安全性高,私钥只能由一方保管,不能外泄。公钥可以交给任何请求方。

缺点

1.需要双方数据传送前协商密钥,存在密钥泄露风险;
2.因为密钥的唯一性,如果存在很多的双方通信,则使得收、发双方所拥有的钥匙数量巨大,密钥管理成为双方的负担

速度较慢

算法种类

DES、AES

RSA、ECC、DSA等

        针对两种算法的特点,目前常用的解决办法是将对称加密的密钥使用非对称加密的公钥进行加密,然后发送出去,接收方使用私钥进行解密得到对称加密的密钥,然后双方可以使用对称加密来进行沟通,充分利用非对称加密安全性和对称加密算法速度快的特点。


科普:对称加密和非对称加密技术

余麒

中交金服

投稿邮箱:[email protected]

审核:赵越