公钥与私钥,有那么杂乱吗51CTO博客 - 凯时娱乐

公钥与私钥,有那么杂乱吗51CTO博客

2019年02月28日09时09分39秒 | 作者: 旭炎 | 标签: 公钥,私钥,运用 | 浏览: 318

     公钥与私钥,在运用公钥暗码学加密与签名时,真的就很难挑选吗?

    这篇文章是第二版,因为榜首版不幸地……闲话少说,言归正传。     常常听到有人说,在运用公钥暗码学加密与签名时,必定要知道是运用公钥仍是运用私钥,不然简单闹笑话。可是,关于一个学过一点暗码学的人来说,真的就那么难吗?下面就来评论一下这个问题。     暗码学中要运用Key,而在公钥暗码学中,有两个Key,一个公钥PK(Public Key),一个私钥SK(Secret Key),其间公钥PK揭露,任何人都能够查到,而私钥SK保密,理论上只应该有你一个人知道。这一点是与分组暗码算法(DES,AES)不同的(DES的完成能够看我曾经的一篇博文),因为在分组暗码算法中,只要一个KEY,且是在通讯两边同享的,而且需求保密。下面以公钥暗码算法RSA为例(RSA的小数状况完成也能够看我的另一篇文章),来讲一讲在公钥暗码学,加密与签名时,key的挑选问题。     首先要说一说通讯,通讯天然要触及通讯两边,当然,你也能够自己和自己通讯(假定你这时还加密签名的话,你这是闲得……)。暗码学的大师给了通讯两边两个好听的姓名A(lice),B(ob)。下面约好一下PK(A),PK(B)别离代表Alice和Bob的公钥,是彻底揭露的,任何人都能够查到;SK(A)为Alice的私钥,只要Alice自己知道,SK(B)为Bob的私钥,只要Bob一个人知道。下面从Bob的视点来评论。     加密:     加密,为什么要加密?因为通讯的两边运用的是揭露的信道,而信道上是可能有窃听者的,假定运用明文传输音讯,即不加密,那么窃听者就能够知道音讯的内容了,假定你传输的是什么**音讯的话,你就悲惨剧了。所认为避免音讯被不应该知道的人知道,传输时要加密。     在公钥暗码学中,一个音讯M,在key1的操控下,通过暗码算法,得到密文C,是为加密;而密文C,在另一个Key2的操控下,通过暗码算法,能够得到对应的明文M,是为解密。其间一个是公钥PK,一个是私钥SK,这是与分组暗码不同的。下面来说Bob要传输音讯给Alice,该运用那个Key。这儿运用枚举,这个方法很好用。总共用四个key。(你不会还想用其他人的key吧。。。)     1)运用PK(B)吗(自己的公钥)?这个,来剖析剖析。运用PK(B)加密的音讯,只能运用关于的SK(B)来解密,而SK(B)只要你自己知道,Alice不知道,窃听者也不知道。运用这个Key的作用最好,别的人都不能知道音讯的内容,窃听者也拿它没方法,可是,通讯的另一方Alice也不知道音讯的内容了,这样的通讯就没有意义了。所以,否定掉。     2)运用SK(B)吗(自己的私钥)?咱们来看看,运用SK(B)加密的音讯,要运用PK(B)来加密。而PK(B)是揭露的,Alice知道,恩,Alice能够解密音讯了,这个能够吧!这个真的能够吗?正是因为PK(B)是揭露的,Alice知道,窃听者也知道,所以Alice能解密,窃听者也能解密,所以根本就没有保密性。和明文传输没多大的差别了。这个一个悲惨剧的挑选。Pass掉。     3)运用SK(A)吗(对方的私钥)?SK(A)是Alice的私钥,只要Alice知道,Bob不知道,这个不可。假定Alice将私钥悄悄通知了你,这样你就能够运用了吧。原理和结局同2中的剖析。相同……     4)运用PK(A)吗(对方的公钥)?排除法通知咱们,只要这个能够选了,那就选它吧。原理什么的就不必讲了吧,咱们也没兴趣的。不可,老夫子教训咱们,知其然必知其所以然。咱们要知道原理。好吧,讲一讲。运用PK(A)加密的音讯,要运用SK(A)来解密,而SK(A)对方是知道的,所以音讯是能够解密的;而又因为SK(A)只要Alice知道,别的人包含窃听者是不知道的,所以音讯的保密性是能够确保的。满足要求。恩,总算弄懂了。     讲了这么多,口都渴了,喝口水了再来讲。。。。。。下面将签名。     签名:     签名,现实生活中,咱们能够运用自己的笔迹来签名的。而电子世界呢?签名,这个是公钥暗码学供给的而分组暗码是无法与他比的特性。签名,为什么要签名?举个比如,假定你发送一条音讯给银行,从你的账号中转1亿出去(反正是举比如,说这么大的数额也没什么联系),银行执行了这条音讯,转了账,过后,你跟银行说,你没有转过账,要让银行补偿,假定银行拿不出依据,那银行就悲惨剧了、破产了,而银行是能够拿出依据的,依据就在那条音讯中,因为你对它签名了,而签名在法律上是有用的依据的。好吧。那么,Bob要对音讯签名,他该运用哪个key?枚举法再次闪亮上台……     1)运用PK(A)吗(对方的公钥)?假定能够的话,因为PK(A)是揭露的,那么任何都是能够假造你的签名的,你的银行卡就爆了。。。     2)运用SK(A)吗(对方是私钥)?相同这个你是不知道的。就是对方通知了你,仍是有问题的,因为这个和你的另一个key不匹配,签名是不能验证的,这个问题相同出现在1中。所以,不当。。。     3)运用PK(B)吗(自己的公钥)?相同有问题,榜首,原理同1,由所以揭露的,任何人都能够假造,银行卡再次爆掉了;第二,原理同2,要验证,就需求运用你的另一个key,即你的私钥,而这个只要你自己知道,所以签名无法验证。这又是一个失利的比如。。。     4)私钥SK(B)吗(自己的私钥)?仍是说说原理吧。签名要运用仅有能确认是你的东西来签名,比如笔迹。因为SK(B)只要你自己知道,所以满足要求的;其次,运用SK(B)签名的东西,是能够用PK(B)验证的,因为它是揭露的。所以也满足要求。Jackpot!     写了这么多,总算写完了。因为昨日的失误,今日算是从头敲了一遍,我还认为只要几百字呢,没想到竟有2k多的字。不过上面的都是废话,下面来总结一下,接下来的这句才是要点。     在公钥暗码学中,加密运用对方的公钥,签名运用自己的私钥。     废话完了,昨日写的是洗洗睡了,今日就写个,喝水去了!  
版权声明
本文来源于网络,版权归原作者所有,其内容与观点不代表凯时娱乐立场。转载文章仅为传播更有价值的信息,如采编人员采编有误或者版权原因,请与我们联系,我们核实后立即修改或删除。

猜您喜欢的文章