精华内容
参与话题
问答
  • 公钥与私钥,HTTPS详解

    千次阅读 2018-06-05 19:47:32
    1.公钥与私钥原理1)鲍勃有两把钥匙,一把是公钥,另一把是私钥2)鲍勃把公钥送给他的朋友们----帕蒂、道格、苏珊----每人一把。3)苏珊要给鲍勃写一封保密的信。她写完后用鲍勃的公钥加密,就可以达到保密的效果。4)...

    1.公钥与私钥原理
    1)鲍勃有两把钥匙,一把是公钥,另一把是私钥

    2)鲍勃把公钥送给他的朋友们----帕蒂、道格、苏珊----每人一把。

    3)苏珊要给鲍勃写一封保密的信。她写完后用鲍勃的公钥加密,就可以达到保密的效果。

    4)鲍勃收信后,用私钥解密,就看到了信件内容。这里要强调的是,只要鲍勃的私钥不泄露,这封信就是安全的,即使落在别人手里,也无法解密。

    5)鲍勃给苏珊回信,决定采用"数字签名"。他写完后先用Hash函数,生成信件的摘要(digest)。


    6)然后,鲍勃使用私钥,对这个摘要加密,生成"数字签名"(signature)。

    7)鲍勃将这个签名,附在信件下面,一起发给苏珊。

    8)苏珊收信后,取下数字签名,用鲍勃的公钥解密,得到信件的摘要。由此证明,这封信确实是鲍勃发出的。


    9)苏珊再对信件本身使用Hash函数,将得到的结果,与上一步得到的摘要进行对比。如果两者一致,就证明这封信未被修改过。


    10)复杂的情况出现了。道格想欺骗苏珊,他偷偷使用了苏珊的电脑,用自己的公钥换走了鲍勃的公钥。此时,苏珊实际拥有的是道格的公钥,但是还以为这是鲍勃的公钥。因此,道格就可以冒充鲍勃,用自己的私钥做成"数字签名",写信给苏珊,让苏珊用假的鲍勃公钥进行解密。


    11)后来,苏珊感觉不对劲,发现自己无法确定公钥是否真的属于鲍勃。她想到了一个办法,要求鲍勃去找"证书中心"(certificate authority,简称CA),为公钥做认证。证书中心用自己的私钥,对鲍勃的公钥和一些相关信息一起加密,生成"数字证书"(Digital Certificate)。


    12)鲍勃拿到数字证书以后,就可以放心了。以后再给苏珊写信,只要在签名的同时,再附上数字证书就行了。


    13)苏珊收信后,用CA的公钥解开数字证书,就可以拿到鲍勃真实的公钥了,然后就能证明"数字签名"是否真的是鲍勃签的。

    2.HTTPS详解
    HTTP协议的网站容易被篡改和劫持,如一些不良的运营商会通过代理服务器在你的页面中植入广告等。
    因此很多网站选择使用HTTPS协议。HTTPS协议通过TLS层和证书机制提供了内容加密,身份认证,数据完整性三大功能。

    1)下面,我们看一个应用"数字证书"的实例:https协议。这个协议主要用于网页加密。


    2)首先,客户端向服务器发出加密请求。


    3)服务器用自己的私钥加密网页以后,连同本身的数字证书,一起发送给客户端。


    4)客户端(浏览器)的"证书管理器",有"受信任的根证书颁发机构"列表。客户端会根据这张列表,查看解开数字证书的公钥是否在列表之内。


    5)如果数字证书记载的网址,与你正在浏览的网址不一致,就说明这张证书可能被冒用,浏览器会发出警告。

    6)如果这张数字证书不是由受信任的机构颁发的,浏览器会发出另一种警告


    原文网址:http://www.youdzone.com/signature.html

    展开全文
  • 什么是公钥,私钥和数字签名

    千次阅读 2018-05-12 13:00:58
    我喜欢2这个数字,就保留起来,不告诉你们(私钥),然后我告诉大家,1是我的公钥。我有一个文件,不能让别人看,我就用1加密了。别人找到了这个文件,但是他不知道2就是解密的私钥啊,所以他解不开,只有我可以用...

    转自https://blog.csdn.net/21aspnet/article/details/7249401

    一、公钥加密 

    假设一下,我找了两个数字,一个是1,一个是2。我喜欢2这个数字,就保留起来,不告诉你们(私钥),然后我告诉大家,1是我的公钥。

    我有一个文件,不能让别人看,我就用1加密了。别人找到了这个文件,但是他不知道2就是解密的私钥啊,所以他解不开,只有我可以用
    数字2,就是我的私钥,来解密。这样我就可以保护数据了。

    我的好朋友x用我的公钥1加密了字符a,加密后成了b,放在网上。别人偷到了这个文件,但是别人解不开,因为别人不知道2就是我的私钥,
    只有我才能解密,解密后就得到a。这样,我们就可以传送加密的数据了。


     

    二、私钥签名
    如果我用私钥加密一段数据(当然只有我可以用私钥加密,因为只有我知道2是我的私钥),结果所有的人都看到我的内容了,因为他们都知
    道我的公钥是1,那么这种加密有什么用处呢?

    但是我的好朋友x说有人冒充我给他发信。怎么办呢?我把我要发的信,内容是c,用我的私钥2,加密,加密后的内容是d,发给x,再告诉他
    解密看是不是c。他用我的公钥1解密,发现果然是c。
    这个时候,他会想到,能够用我的公钥解密的数据,必然是用我的私钥加的密。只有我知道我得私钥,因此他就可以确认确实是我发的东西。
    这样我们就能确认发送方身份了。这个过程叫做数字签名。当然具体的过程要稍微复杂一些。用私钥来加密数据,用途就是数字签名

     

    总结:公钥和私钥是成对的,它们互相解密。

    公钥加密,私钥解密。

    私钥数字签名,公钥验证。

     

    举例

    比如有两个用户Alice和Bob,Alice想把一段明文通过双钥加密的技术发送给Bob,Bob有一对公钥和私钥,那么加密解密的过程如下:

    1. Bob将他的公开密钥传送给Alice。
    2. Alice用Bob的公开密钥加密她的消息,然后传送给Bob。
    3. Bob用他的私人密钥解密Alice的消息。

      上面的过程可以用下图表示,Alice使用Bob的公钥进行加密,Bob用自己的私钥进行解密。

    例子和图出自《网络安全基础 应用与标准第二版》

     

    RSA算法

    RSA公钥加密算法是1977年由Ron Rivest、Adi Shamirh和LenAdleman在(美国麻省理工学院)开发的。RSA取名来自开发他们三者的名字。RSA是目前最有影响力的公钥加密算法,它能够抵抗到目前为止已知的所有密码攻击,已被ISO推荐为公钥数据加密标准。RSA算法基于一个十分简单的数论事实:将两个大素数相乘十分容易,但那时想要对其乘积进行因式分解却极其困难,因此可以将乘积公开作为加密密钥。

    展开全文
  • 公钥认证方法

    千次阅读 2019-08-28 00:01:38
    公钥密码体制中,每个用户拥有两个密钥:公钥和私钥,其中只有私钥由用户秘密保存,公钥可以由一个证书权威(certificate authority,CA)保存在一个公钥目录中。然而,公钥密码体制容易公钥替换攻击,即攻击者用...

    1976年,Diffie和Hellman提出了公钥密码体制,解决了对称密码体制中最难解决的两个问题:密钥分配和数字签名。在公钥密码体制中,每个用户拥有两个密钥:公钥和私钥,其中只有私钥由用户秘密保存,公钥可以由一个证书权威(certificate authority,CA)保存在一个公钥目录中。然而,公钥密码体制容易公钥替换攻击,即攻击者用自己选定的假公钥替换公钥目录中真实的公钥。当一个用户用这个假公钥加密一个消息时,这个攻击者就可以截获消息并正确解密。为了抵抗公钥替换攻击,需要让用户的公钥以一种可验证和可信任的方式与用户的身份信息关联起来。目前,认证用户的公钥有三种方法:基于公钥基础设施(public key infrastructure,PKI)的方法、基于身份的方法和基于自证明的方法。事实上,可以根据公钥认证方法的不同,把公钥密码体制分为基于PKI的公钥密码体制、基于身份的公钥密码体制和基于自证明的公钥密码体制。下面解释这三种密码体制的特点。

    1.基于PKI的公钥密码体制

    每个用户的公钥都伴随一个公钥证书,这个公钥证书由CA签发。公钥证书是一个结构化的数据记录,它包括了用户的身份信息、公钥参数和CA的签名等。任何人都可以通过验证证书的合法性(CA的签名)来认证公钥。如果一个用户信任CA,那么在他(她)验证了另一个用户证书的有效性后,他(她)就应该相信公钥的真实性。这就是公钥基础设施。但是这种方法有两个缺点:

    (1)使用任何公钥前都需要先验证公钥证书的合法性,增加了用户的计算量。

    (2)CA需要管理大量的证书,包括证书的颁发、存储和撤销等。

    2.基于身份的公钥密码体制

    为了简化密钥管理,Shamir于1984年首次提出了基于身份的密码体制(identity-based cryptography,IBC)的概念。在基于身份的密码体制中,用户的公钥可以根据用户的身份信息(如姓名、身份证号码、电话号码、Email地址等)直接计算出来,用户的私钥则是由一个称为私钥生成中心(private key genarator,PKG)的可信方生成。基于身份的密码体制取消了公钥证书,减少了公钥证书的存储和合法性验证。但是,基于身份的密码体制有一个致命的缺点,即所有用户的私钥都由PKG生成。PKG知道所有用户的私钥会不可避免地引起密钥托管问题。因此,PKG可以容易地冒充任何用户且不被发现。在一个基于身份的加密(identity-based encryption,IBE)体制中,PKG可以解密任何一个密文;在一个基于身份的签名(identity-based signature,IBS)体制中,PKG可以伪造任何一个消息的签名。自1984年以来,相继提出了许多实用的基于身份的签名体制,但一个满意的基于身份的加密体制直到2001年才被找到。这个体制是由Boneh和Franklin利用超奇异椭圆曲线上的双线性配对(Weil配对或Tate配对)设计的。

    3.基于自证明的公钥密码体制

    1991年,Girault提出了自证明公钥(self-certified public key)的概念。在基于自证明的公钥密码体制中,用户的公钥是从CA对该用户的私钥与身份的签名中推导出来。也就是说,CA与用户合作产生公钥,但CA并不知道用户的私钥。用户的公钥不必有单独认证的证书,公钥的认证同接下来的一些密码协议(如密钥交换协议、签名、加密等)一起完成。例如,认证签名者的公钥与验证此人的签名在一个验证等式中完成。如果验证等式成立,那么公钥和签名将被同时验证。在计算量和通信成本方面,自证明公钥具有以下优点:

    (1)由于不需要证书,降低了存储空间和通信成本。

    (2)不需要公钥验证,减少了计算量。

    与基于PKI的公钥密码体制相比,由于不需要维护公钥证书目录,基于自证明的公钥密码体制更加高效。与基于身份的公钥密码体制相比,由于CA并不知道用户的私钥,因此基于自证明的公钥密码体制更加安全。自Girault提出自证明公钥的概念以来,相继提出了许多实用的基于自证明公钥的签名。2003年,AI-Riyami和Paterson提出了无证书公钥密码体制(certificateless public key cryptography),在本质上与基于自证明的公钥密码体制是相同的。

    基于配对的密码体制可以根据公钥认证方法分成基于PKI的密码体制、基于身份的密码体制和无证书密码体制。

    展开全文
  • 公钥和私钥

    万次阅读 多人点赞 2013-12-16 10:27:36
     使用公钥与私钥的目的就是实现安全的电子邮件,必须实现如下目的:  1. 我发送给你的内容必须加密,在邮件的传输过程中不能被别人看到。  2. 必须保证是我发送的邮件,不是别人冒充我的。  要达到这样的目标...
    公钥和私钥就是俗称的不对称加密方式,是从以前的对称加密(使用用户名与密码)方式的提高。用电子邮件的方式说明一下原理。
          使用公钥与私钥的目的就是实现安全的电子邮件,必须实现如下目的:
          1. 我发送给你的内容必须加密,在邮件的传输过程中不能被别人看到。
          2. 必须保证是我发送的邮件,不是别人冒充我的。
          要达到这样的目标必须发送邮件的两人都有公钥和私钥。
          公钥,就是给大家用的,你可以通过电子邮件发布,可以通过网站让别人下载,公钥其实是用来加密/验章用的。私钥,就是自己的,必须非常小心保存,最好加上 密码,私钥是用来解密/签章,首先就Key的所有权来说,私钥只有个人拥有。公钥与私钥的作用是:用公钥加密的内容只能用私钥解密,用私钥加密的内容只能 用公钥解密。
          比如说,我要给你发送一个加密的邮件。首先,我必须拥有你的公钥,你也必须拥有我的公钥。
          首先,我用你的公钥给这个邮件加密,这样就保证这个邮件不被别人看到,而且保证这个邮件在传送过程中没有被修改。你收到邮件后,用你的私钥就可以解密,就能看到内容。
          其次我用我的私钥给这个邮件加密,发送到你手里后,你可以用我的公钥解密。因为私钥只有我手里有,这样就保证了这个邮件是我发送的。
          当A->B资料时,A会使用B的公钥加密,这样才能确保只有B能解开,否则普罗大众都能解开加密的讯息,就是去了资料的保密性。验证方面则是使用签 验章的机制,A传资料给大家时,会以自己的私钥做签章,如此所有收到讯息的人都可以用A的公钥进行验章,便可确认讯息是由 A 发出来的了。


       
    数字证书的原理

       数字证书采用公钥体制,即利用一对互相匹配的密钥进行加密、解密。每个用户自己设定一把特定的仅为本人所知的私有密钥(私钥),用它进行解密和签名;同时 设定一把公共密钥(公钥)并由本人公开,为一组用户所共享,用于加密和验证签名。当发送一份保密文件时,发送方使用接收方的公钥对数据加密,而接收方则使 用自己的私钥解密,这样信息就可以安全无误地到达目的地了。通过数字的手段保证加密过程是一个不可逆过程,即只有用私有密钥才能解密. 在公开密钥密码体制中,常用的一种是RSA体制。
    用户也可以采用自己的私钥对信息加以处理,由于密钥仅为本人所有,这样就产生了别人无法生成的文件,也就形成了数字签名。采用数字签名,能够确认以下两点:
    (1)保证信息是由签名者自己签名发送的,签名者不能否认或难以否认;
    (2)保证信息自签发后到收到为止未曾作过任何修改,签发的文件是真实文件。

    展开全文
  • 什么是公钥和私钥?

    千次阅读 2019-03-25 16:39:25
    首先要明白公钥和私钥只是一个相对概念,就是说我们不能单纯的去称呼一对密钥中的一个为公钥,另一个为私钥,它们的公私性总是相对于生成者来说的。一对密钥生成后,保存在生成者手里的就是生成者私钥,生成者发布...
  • 区块链-私钥和公钥简介

    千次阅读 2019-05-09 20:23:27
    目录:https://blog.csdn.net/qq_40452317/article/details/89646633 密码学在希腊语中是“秘密写作”的意思,但密码学... 这些类型的加密证明是比特币中关 键的数学工具并在比特币应用程序中被广泛使用。具有讽刺...
  • 公钥、密钥和数字证书

    万次阅读 多人点赞 2018-07-25 15:58:26
    转自 我理解的数字证书-1-公钥,私钥和数字证书 英文原文地址: http://www.youdzone.com/signature.html 若下文有任何错误,请告知我,谢谢。79996286@qq.com 主角介绍:Bob and Alice 提起RSA加密算法,公钥...
  • 公钥和私钥解释

    千次阅读 2019-06-19 09:50:35
    先前我曾经写了一篇“网站的安全登录认证设计”,可能是讲述的不够清楚,有一位读者就留言质疑到,“公钥顾名思义就是公开的啦,只要你愿意,谁都会有你的公钥,何来安全?应该是用网站的公钥加密,传到网站后,网站...
  • 公钥和秘钥

    千次阅读 2018-09-06 14:57:43
    公钥与私钥原理1)鲍勃有两把钥匙,一把是公钥,另一把是私钥2)鲍勃把公钥送给他的朋友们—-帕蒂、道格、苏珊—-每人一把。3)苏珊要给鲍勃写一封保密的信。她写完后用鲍勃的公钥加密,就可以达到保密的效果。4)鲍勃收...
  • 公钥、私钥、证书的概念、生成过程和使用方法。
  • 一个比特币钱包包含一系列的密钥对,个密钥对都有一个公钥(PublicKey)和私钥(PrivateKey)。私钥是由一个随机产生的数字串经过哈希的十六进制字符串,通过椭圆加密算法可以用私钥产生公钥,然后就可以通过公钥...
  • 原文:https://www.jianshu.com/p/af6328cc693e在比特币中,经常出现三词:私钥,公钥地址。他们是什么意思呢?他们之间又有什么样的关系呢?搞清楚他们之间的关系和区别,是了解比特币的基础。私钥先说说私钥,...
  • H2 私钥 公钥 比特币地址 一个比特币钱包中包含一系列的密钥对,个密钥对包括一个私钥和一个公钥。...有了公钥(K),我们就可以使用一个单向加密哈希函数生成比特币地址(A)。 H3 私钥 私钥就是一个...
  • 查看本机ssh公钥生成公钥

    万次阅读 多人点赞 2017-08-01 23:32:17
    查看ssh公钥方法: 1.通过命令窗口 a.打开你的git bash 窗口 b.进入.ssh目录:cd ~/.ssh c.找到id_rsa.pub文件:ls d.查看公钥:cat id_rsa.pub 或者 vim id_rsa.pub 如图: 2.或者你也可以直接输入命令 ...
  • 区块链-公钥生成地址

    千次阅读 2019-05-11 17:21:23
    公钥一个同样由数字和字母组成的字符串)生成比特币地址以数字“1” 开头。比如: 1J7mdg5rbQyUHENYdx39WVWK7fsLpEoXZy 地址可由公钥经过单向的加密哈希算法得到。哈希算法是一种单...
  • 生成一个比特币私钥在本质上与“在1到2^256之间选一个数字”无异。只要选取的结果是不可预测或不可重复的,那么选取数字的具体方法并不重要。比特币软件使用操作系统底层的随机数生成器来产生...
  • 比特币中,经常出现三词:私钥,公钥地址。他们是什么意思呢?他们之间又有什么样的关系呢?搞清楚他们之间的关系和区别,是了解比特币的基础。 私钥 先说说私钥,一般我们看到的私钥是下面这样的段字符串...
  • 比特币交易涉及到很多密码学知识:公钥、私钥、...一般来说这是一个256bits的数,拥有了这串数字就可以对相应『钱包地址』中的比特币进行操作,所以必须被安全地保存起来。2. 『私钥』经过SECP256K1算法处理生成了『...
  • 先说说私钥,一般我们看到的私钥是下面这样的一段字符串:5KYZdUEo39z3FPrtuX2QbbwGnNP5zTd7yyr2SC1j299sBCnWjss支持比特币协议的应用都可以正确把这段字符串转换成比特币的私钥,再转换出公钥,再得到一个地址,...
  • 比特币公钥以及私钥是一对非对称加密算法。由私钥生成公钥。 在比特币中如果你拥有了私钥就相当于拥有了这账户的完全的控制权。 私钥的生成 比特币的私钥就是随机的256位数字,由0和1组成的二进制数字。这串...

空空如也

1 2 3 4 5 ... 20
收藏数 193,060
精华内容 77,224
关键字:

公钥