非对称加密 订阅
对称加密算法在加密和解密时使用的是同一个秘钥;而非对称加密算法需要两个密钥来进行加密和解密,这两个密钥是公开密钥(public key,简称公钥)和私有密钥(private key,简称私钥)。 展开全文
对称加密算法在加密和解密时使用的是同一个秘钥;而非对称加密算法需要两个密钥来进行加密和解密,这两个密钥是公开密钥(public key,简称公钥)和私有密钥(private key,简称私钥)。
信息
密    钥
公钥、私钥
外文名
Asymmetric encryption
中文名
非对称加密
典型算法
RSA算法
非对称加密定义
1976年,美国学者Dime和Henman为解决信息公开传送和密钥管理问题,提出一种新的密钥交换协议,允许在不安全的媒体上的通讯双方交换信息,安全地达成一致的密钥,这就是“公开密钥系统”。与对称加密算法不同,非对称加密算法需要两个密钥:公开密钥(publickey)和私有密钥(privatekey)。公开密钥与私有密钥是一对,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密;如果用私有密钥对数据进行加密,那么只有用对应的公开密钥才能解密。因为加密和解密使用的是两个不同的密钥,所以这种算法叫作非对称加密算法。数据的加密和解密过程是通过密码体制和密钥来控制的。密码体制的安全性依赖于密钥的安全性,现代密码学不追求加密算法的保密性,而是追求加密算法的完备,即:使攻击者在不知道密钥的情况下,没有办法从算法找到突破口。根据加解密算法所使用的密钥是否相同,或能否由加(解)密密钥简单地求得解(加)密密钥。密码体制可分为对称密码体制和非对称密码体制。非对称密码体制也叫公钥加密技术,该技术是针对私钥密码体制(对称加密算法)的缺陷被提出来的。与对称密码体制不同,公钥加密系统中,加密和解密是相对独立的,加密和解密会使用两把不同的密钥,加密密钥(公开密钥)向公众公开,谁都可以使用,解密密钥(秘密密钥)只有解密人自己知道,非法使用者根据公开的加密密钥无法推算出解密密钥,这样就大大加强了信息保护的力度。公钥密码体制不仅解决了密钥分配的问题,它还为签名和认证提供了手段。非对称密码算法有很多,其中比较典型的是RSA算法,它的数学原理是大素数的分解。 [1] 
收起全文
精华内容
参与话题
问答
  • 非对称加密

    2019-03-12 14:18:49
    非对称加密算法是一种密钥的保密方法。 非对称加密算法需要两个密钥:公开密钥(publickey)和私有密钥(privatekey)。公开密钥与私有密钥是一对,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密;...

    对称加密算法是一种密钥的保密方法。

    非对称加密算法需要两个密钥:公开密钥(publickey)和私有密钥(privatekey)。公开密钥与私有密钥是一对,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密;如果用私有密钥对数据进行加密,那么只有用对应的公开密钥才能解密。因为加密和解密使用的是两个不同的密钥,所以这种算法叫作非对称加密算法。 非对称加密算法实现机密信息交换的基本过程是:甲方生成一对密钥并将其中的一把作为公用密钥向其它方公开;得到该公用密钥的乙方使用该密钥对机密信息进行加密后再发送给甲方;甲方再用自己保存的另一把专用密钥对加密后的信息进行解密。

    另一方面,甲方可以使用乙方的公钥对机密信息进行签名后再发送给乙方;甲方再用自己的私钥对乙方发送回来的数据进行验签。

    甲方只能用其专用密钥解密由其公用密钥加密后的任何信息。 非对称加密算法的保密性比较好,它消除了最终用户交换密钥的需要。

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

    以上是百度百科的官方的介绍的,嘻嘻,抄袭一下,转载自写出处,嘻嘻,九零后皮一下

    言归正传我还是贴代码吧,

     

     

    <?php 

        /**
         * Mr.z
         * 设置非对称加密的文件
         * 2019年3月12日11:35:52
         */

        class Password{

            //获取自己的私钥
            public function setupPrivKey()
            {
                $privKey = file_get_contents('pri.key');
                return $privKey;
            }


            //获取对方的公钥
            public function setupPubKey()
            {
                $pubKey = file_get_contents('pub.key');
                return $pubKey;
            }


            //计算加密的数据
            public function encryptionMethod($content = ''){

                $encrypt_data = '';
                openssl_public_encrypt($content, $encrypt_data,$this->setupPubKey());
                $encrypt_data = base64_encode($encrypt_data);
                return  $encrypt_data;
            }


            //计算解密的数据
            public function decryptionMethod($content = ''){
                $encrypted = $content;
                $encrypted = base64_decode($content);
                $result = openssl_private_decrypt($encrypted, $decrypted, $this->setupPrivKey());
                if ($result) {
                    return $decrypted;
                }
                return null;
            }

        }


        $obj= new Password();

        $mima =  $obj->encryptionMethod('这里是一个甲方的对付的的接口');

        print_r($mima);

        echo "<br>";

        $result =  $obj->decryptionMethod($mima);

        print_r($result);

     

    这就是一个简单的非对称加密,有人说你这个加密的过程也太草率啦,没关系啦,自己补充嘛,比如加盐加密等,不准有MD5哦,因为它太短啦,不好,嘻嘻

    同样  :

            一   。我们开始走流程,第一步我们肯定要明白pri.key    pub.key    这两个文件的内容哦   , 你可以在网上的在线编译这两个文件的哦,比如我就用    http://web.chacuo.net/netrsakeypair   这个网址生成的公钥与私钥

           二   。我们可能公钥与私钥是干什么的,有什么用,自行网上看应用场景

           三   。我们用于公钥和私钥是不都是给自己用的,我们

                           date(甲方重要机密数据)               -----(乙方提供的公钥加密)----- >>              乙方获取数据使用自己的私钥解密 

                           date(乙方重要机密数据)               -----(甲方提供的公钥加密)----- >>              甲方获取数据使用自己的私钥解密 

       这个要明白自己公司的公钥是给比别人用的,私钥是给自己的解密用的(要求别人使用自己的加密的方法加密数据 ,自己才能    解密哦)

          四   。结束啦,最后强调一下 

                   非对称加密:比较对称加密而言,无需拥有同一组密钥,非对称加密是一种“信息公开的密钥交换协议”。非对称加密需要公开密钥和私有密钥两组密钥,公开密钥和私有密钥是配对起来的,

                 

    展开全文
  • 对称加密非对称加密不可逆加密算法 根据密钥类型不同可以将现代密码技术分为两类:对称加密算法(私钥密码体系)和非对称加密算法(公钥密码体系)。 1对称加密算法 原理 对称加密算法中,数据加密和解密采用的都是...

    对称加密 非对称加密 不可逆加密算法

    根据密钥类型不同可以将现代密码技术分为两类:对称加密算法(私钥密码体系)和非对称加密算法(公钥密码体系)。

    1 对称加密算法

    原理

    对称加密算法中,数据加密和解密采用的都是同一个密钥,因而其安全性依赖于所持有密钥的安全性。

    优点

    加密和解密速度快,加密强度高,且算法公开.

    缺点

    实现密钥的秘密分发困难,在大量用户的情况下密钥管理复杂,而且无法完成身份认证等功能,不便于应用在网络开放的环境中。

    特点

    算法公开、计算量小、加密速度快、加密效率高。

    著名算法

    目前最著名的对称加密算法有数据加密标准DES,但传统的DES由于只有56位的密钥,因此已经不适应当今分布式开放网络对数据加密安全性的要求。欧洲数据加密标准IDEA等,目前加密强度最高的对称加密算法是高级加密标准AES,AES提供128位密钥,128位AES的加密强度是56位DES加密强度的1021倍还多。。

    过程

    对称加密算法过程是将数据发信方将明文(原始数据)和加密密钥一起经过特殊加密算法处理后,使其变成复杂的加密密文发送出去。收信方收到密文后,若想解读原文,则需要使用加密用过的密钥及相同算法的逆算法对密文进行解密,才能使其恢复成可读明文。在对称加密算法中,使用的密钥只有一个,发收信双方都使用这个密钥对数据进行加密和解密,这就要求解密方事先必须知道加密密钥。

    不足之处是,交易双方都使用同样钥匙,安全性得不到保证。假设两个用户需要使用对称加密方法加密然后交换数据,则用户最少需要2个密钥并交换使用,如果企业内用户有n个,则整个企业共需要n×(n-1) 个密钥。

     

    2 非对称加密算法

    原理

    非对称加密算法使用两把完全不同但又是完全匹配的一对钥匙(即一把公开密钥或加密密钥和专用密钥或解密密钥)—公钥和私钥。在使用不对称加密算法加密文件时,只有使用匹配的一对公钥和私钥,才能完成对明文的加密和解密过程。加密明文时采用公钥加密,解密密文时使用私钥才能完成,而且发信方(加密者)知道收信方的公钥,只有收信方(解密者)才是唯一知道自己私钥的人。非对称加密算法的基本原理是,如果发信方想发送只有收信方才能解读的加密信息,发信方必须首先知道收信方的公钥,然后利用收信方的公钥来加密原文;收信方收到加密密文后,使用自己的私钥才能解密密文。

    优点

    非对称加密算法的保密性比较好,它消除了最终用户交换密钥的需要。

    加密和解密花费时间长、速度慢,它不适合于对文件加密而只适用于对少量数据进行加密。

     

    著名算法

     

    广泛应用的非对称加密算法有RSA算法和美国国家标准局提出的DSA。

     

    3 不可逆加密算法

    原理

         不可逆加密算法的特征是加密过程中不需要使用密钥,输入明文后由系统直接经过加密算法处理成密文,这种加密后的数据是无法被解密的,只有重新输入明文,并再次经过同样不可逆的加密算法处理,得到相同的加密密文并被系统重新识别后,才能真正解密。显然,在这类加密过程中,加密是自己,解密还得是自己,而所谓解密,实际上就是重新加一次密,所应用的“密码”也就是输入的明文。

    优点

    不可逆加密算法不存在密钥保管和分发问题,非常适合在分布式网络系统上使用。

    因加密计算复杂,工作量相当繁重,通常只在数据量有限的情形下使用,如广泛应用在计算机系统中的口令加密,利用的就是不可逆加密算法。近年来,随着计算机系统性能的不断提高,不可逆加密的应用领域正在逐渐增大。

    著名算法

    在计算机网络中应用较多不可逆加密算法的有RSA公司发明的MD5算法和由美国国家标准局建议的不可逆加密标准SHS(Secure Hash Standard:安全杂乱信息标准)等。

     

    注:

    对称加密算法、非对称加密算法和不可逆加密算法可以分别应用于数据加密、身份认证和数据安全传输。

    展开全文
  • 非对称加密算法需要两个密钥来进行加密和解密,这两个密钥是公开密钥(public key,简称公钥)和私有密钥(private key,简称私钥)。 二、特点 对称加密算法的特点是算法公开、计算量小...

    一、概念

    • 对称加密:
      采用单钥密码系统的加密方法,同一个密钥可以同时用作信息的加密和解密,这种加密方法称为对称加密,也称为单密钥加密。
    • 非对称加密:
      对称加密算法在加密和解密时使用的是同一个秘钥;而非对称加密算法需要两个密钥来进行加密和解密,这两个密钥是公开密钥(public key,简称公钥)和私有密钥(private key,简称私钥)。

    二、特点

    • 对称加密算法的特点是算法公开、计算量小、加密速度快、加密效率高。
    • 非对称密码体制的特点:算法强度复杂、安全性依赖于算法与密钥但是由于其算法复杂,而使得加密解密速度没有对称加密解密的速度快。

    三、不同之处

    非对称加密和对称加密在加密和解密过程、加密解密速度、传输的安全性上都有所不同,具体介绍如下:

    1、加密和解密过程不同

    • 对称加密过程和解密过程使用的同一个密钥,加密过程相当于用原文+密钥可以传输出密文,同时解密过程用密文-密钥可以推导出原文。
    • 非对称加密采用了两个密钥,一般使用公钥进行加密,使用私钥进行解密。

    2、加密解密速度不同

    • 对称加密解密的速度比较快,适合数据比较长时的使用。
    • 非对称加密和解密花费的时间长、速度相对较慢,只适合对少量数据的使用。

    3、传输的安全性不同

    • 对称加密的过程中无法确保密钥被安全传递,密文在传输过程中是可能被第三方截获的,如果密码本也被第三方截获,则传输的密码信息将被第三方破获,安全性相对较低。
    • 非对称加密算法中私钥是基于不同的算法生成不同的随机数,私钥通过一定的加密算法推导出公钥,但私钥到公钥的推导过程是单向的,也就是说公钥无法反推导出私钥。所以安全性较高。
    展开全文
  • 对称加密: 加密(encryption)与解密(decryption)用的是同样的密钥(secret key...现实中通常的做法是将对称加密的密钥进行非对称加密,然后传送给需要它的人。 非对称加密: 它使用了一对密钥,公钥(public ke...

    对称加密:

    加密(encryption)与解密(decryption)用的是同样的密钥(secret key)

    对称加密的一大缺点是密钥的管理与分配,换句话说,如何把密钥发送到需要解密你的消息的人的手里是一个问题。在发送密钥的过程中,密钥有很大的风险会被黑客们拦截。现实中通常的做法是将对称加密的密钥进行非对称加密,然后传送给需要它的人。

    非对称加密:

    它使用了一对密钥,公钥(public key)和私钥(private key)。私钥只能由一方安全保管,不能外泄,而公钥则可以发给任何请求它的人。非对称加密使用这对密钥中的一个进行加密,而解密则需要另一个密钥。

    比如,你向银行请求公钥,银行将公钥发给你,你使用公钥对消息加密,那么只有私钥的持有人–银行才能对你的消息解密。与对称加密不同的是,银行不需要将私钥通过网络发送出去,因此安全性大大提高。

    目前最常用的非对称加密算法是RSA算法,是Rivest, Shamir, 和Adleman于1978年发明。

    虽然非对称加密很安全,但是和对称加密比起来,它非常的慢,所以我们还是要用对称加密来传送消息,但对称加密所使用的密钥我们可以通过非对称加密的方式发送出去。为了解释这个过程(https),请看下面的例子:

    https加密过程

    (1) Alice需要在银行的网站做一笔交易,她的浏览器首先生成了一 个随机数作为对称密钥。
    (2) Alice的浏览器向银行的网站请求公钥。
    (3) 银行将公钥发送给Alice。
    (4) Alice的浏览器使用银行的公钥将自己的对称密钥加密。
    (5) Alice的浏览器将加密后的对称密钥发送给银行。
    (6) 银行使用私钥解密得到Alice浏览器的对称密钥。
    (7) Alice与银行可以使用对称密钥来对沟通的内容进行加密与解密了。

    总结

    1.对称加密加密与解密使用的是同样的密钥,所以速度快,但由于需要将密钥在网络传输,所以安全性不高。
    2.非对称加密使用了一对密钥,公钥与私钥,所以安全性高,但加密与解密速度慢。
    3.解决的办法是将对称加密的密钥使用非对称加密的公钥进行加密,然后发送出去,接收方使用私钥进行解密得到对称加密的密钥,然后双方可以使用对称加密来进行沟通,例如:https。

    展开全文
  • 对称加密和非对称加密的区别

    万次阅读 多人点赞 2018-08-13 17:53:37
    非对称加密:与对称加密算法不同,非对称加密算法需要两个密钥:公开密钥(publickey)和私有密钥(privatekey)。 对称加密算法: 密钥较短,破译困难,除了数据加密标准(DES),另一个对称密钥加密系统是国际数据...
  • 对称加密与非对称加密

    千次阅读 2015-09-06 21:43:39
    什么是加密?加密分为算法和秘钥两部分。算法是不变的,秘钥是变化的,看下面的例子。 秘钥:abcedfgh->12345678。 算法:明文中每一位都换成秘钥表中的另一个位。... 什么是非对称加密,如下图:
  • Java加密技术(四)——非对称加密算法RSA 非对称加密算法——RSA 基本概念 非对称加密算法是一种密钥的保密方法。 非对称加密算法需要两个密钥:公开密钥(publickey)和私有密钥(privatekey)。公开密钥与私有...
  • 对称加密算法与非对称加密算法的区别 对称加密算法 对称加密算法是应用较早的加密算法,技术成熟。在对称加密算法中,数据发信方将明文(原始数据)和加密密钥一起经过特殊加密算法处理后,使其变成复杂的加密密文...
  • 本程序实现了一个AES对称加密类和一个RSA非对称加密类,既可单独使用AES或RSA加密数据,也可结合使用,本程序给的示例是结合使用的,即用RSA加密AES的密钥,然后用AES的密钥进行数据加密,是一种更安全的技术.

空空如也

1 2 3 4 5 ... 20
收藏数 13,132
精华内容 5,252
关键字:

非对称加密