首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

RSA算法补充:数字签名和数字证书

数字签名(Digital Signature) 数字签名(又称公钥数字签名)是只有信息的发送者才能产生的别人无法伪造的一段数字串,这段数字串同时也是对信息的发送者发送信息真实性的一个有效证明。...一套数字签名通常定义两种互补的运算,一个用于签名,另一个用于验证。数字签名是非对称密钥加密技术与数字摘要技术的应用。...数字签名的过程: 图1 数字签名生成及验证过程 数字证书(Digital Certificate) 数字证书的出现是为了防止一种更复杂的情况出现,即如何确保收到的公钥(Public Key)真的是你要与之通信的信息发送方发过来的...所以在使用RSA算法的通信过程中,公钥提供方一般是需要将数字签名(Digital Signature)、数字证书(Digital Certificate) 以及消息(Message)一并发给接收方,接收方通过...关于哈希算法之前有介绍过,读者可以点击以下链接进行阅读: 网络安全之SHA加密算法介绍 ---- 以上是本期的所有内容,如果您对文章有疑问或者建议欢迎联系笔者。

47120

什么是数字签名?-- 【图解数字签名

它用图片通俗易懂地解释了,"数字签名"(digital signature)和"数字证书"(digital certificate)到底是什么。...鲍勃给苏珊回信,决定采用"数字签名"。他写完后先用Hash函数,生成信件的摘要(digest)。 6、 ? 然后,鲍勃使用私钥,对这个摘要加密,生成"数字签名"(signature)。...苏珊收信后,取下数字签名,用鲍勃的公钥解密,得到信件的摘要。由此证明,这封信确实是鲍勃发出的。 9、 ? 苏珊再对信件本身使用Hash函数,将得到的结果,与上一步得到的摘要进行对比。...因此,道格就可以冒充鲍勃,用自己的私钥做成"数字签名",写信给苏珊,让苏珊用假的鲍勃公钥进行解密。 11、 ? 后来,苏珊感觉不对劲,发现自己无法确定公钥是否真的属于鲍勃。...告别递归,谈谈我的一些经验 3、一文读懂一台计算机是如何把数据发送给另一台计算机的 4、如何只用2GB内存从20/40/80亿个整数中找到出现次数最多的数 5、字符串匹配Boyer-Moore算法:文本编辑器中的查找功能是如何实现的

1K20
您找到你想要的搜索结果了吗?
是的
没有找到

【计算机网络】网络安全 : 数字签名 ( 数字签名简介 | 数字签名实现 | 数字签名功能 | 保密数字签名 )

文章目录 一、数字签名简介 二、基于公钥的数字签名实现 三、数字签名 功能 四、保密数字签名 一、数字签名简介 ---- 数字签名 : 证明 数据 或 身份的 真实性 ; 需要有以下功能 : ① 报文鉴别...是哪个发送者 进行的签名 ; ② 防止抵赖 : 防止 发送者 否认签名 , 发送者 一旦签名 , 标记就打上了 , 无法抵赖 ; ③ 防止伪造 : 防止 接收者 伪造 发送者 的签名 ; 二、基于公钥的数字签名实现...---- 数字签名实现方式 : 数字签名算法很多 , 公钥算法 是最简单的算法 , 即 发送者 使用 私钥加密数据 , 接收者 使用 对应的公钥 解密数据 ; ( 接收者 持有着大量公钥 ) 三、数字签名...功能 ---- 数字签名 功能 : 以 发送者 使用 私钥 加密密文 , 接收者 使用 公钥 解密密文 为例 ; ① 报文鉴别 : 发送者 持有 私钥 , 使用该私钥 加密密文 , 除了该 发送者之外...A 数字签名基础上 , 再进行公钥加密 , 就将数据保密了 , 只有对应私钥才能对其进行解密 ; 保密数字签名实现方式 : ① 加密 : 发送者 A 使用 A 的私钥 SK_A ( Secret

1.2K00

数字签名

数字签名其实就是公钥密码的反向应用,下面我们看看两种的不同: 名称 私钥 公钥 公钥密码 接受者解密时使用 发送者加密时使用 数字签名 签名者生成签名时使用 验证者验证签名时使用 谁持有密钥?...个人持有 主要需要,任何人都可以持有 数字签名的方法 通常来说数字签名一般有两种方式: 直接对消息进行签名 对消息的hash值进行签名 下面我们分别来介绍两种方式。...数字签名可以替代现实生活中的签名吗? 我们讲解了怎么实现数字签名,我们也可能听说在现实生活中有电子签名这个东西。 数字签名有很多技术上的优点,不需要物理交互就可以签订合同,并可以对任何数据进行签名。...那么在实际上数字签名能不能替代实际签名的问题是一个复杂的社会行为。 因为我们在使用电子签的时候,没有人会亲自去设计签名算法,而是简单的根据软件提供的信息按下签名按钮。...数字签名无法解决的问题 使用数字签名我们可以防止伪造和篡改,也无法防止否认。但是还需要一个大前提就是验证签名的公钥必须是真正属于发送者。

85520

图说“数字签名

前言 虽然很久以前就了解了数字签名,但之前突然被一个非程序员朋友问起什么是数字签名时,依然解释得很费力。...是的,陈教授给出了新的解决方案: image.png image.png 很快,小明按照陈教授的方案,使用一种非对称加密算法RSA进行了加密,并输出了第4版借条。...image.png 一直在旁的陈教授,觉得是时候普及一下密码学的基础概念了...... image.png image.png image.png 于是,小明加上了一种消息摘要算法...2.3、如何解决数字签名面临的问题 通过上面的图说例子,这里的答案应该比较清晰了,那就是运用密码学的知识,使用: image.png 用消息摘要算法解决内容防篡改的问题...,再使用非对称加密(私钥加密)算法加密消息摘要内容解决签名人身份问题的防伪造和防抵赖问题。

1.8K62

数字签名-ECDSA

【Java小工匠聊密码学】--数字签名--ECDSA 1、EC相关知识 1.1 什么是ECC  Elliptic Curves Cryptography,椭圆曲线密码编码学。...1.2 什么是ECDH  &emspECDH是基于ECC(Elliptic Curve Cryptosystems,椭圆曲线密码体制,参看ECC)的DH( Diffie-Hellman)密钥交换算法。...1.3 什么是ECDSA   用于数字签名,是ECC与DSA的结合,整个签名过程与DSA类似,所不一样的是签名中采取的算法为ECC,最后签名出来的值也是分为R,S。...在使用ECC进行数字签名的时候,需要构造一条曲线,也可以选择标准曲线,例如:prime256v1、secp256r1、nistp256、secp256k1(比特币中使用了该曲线)等等 1.4、ECDSA...(2)处理速度快 在私钥的加密解密速度上,ecc算法比RSA、DSA速度更快。 (3)存储空间占用小。 (4)带宽要求低。

2.8K30

数字签名技术

介绍数字签名数字签名是一种用于确认数据的完整性、确认发送者身份的技术。签名主要包含两个过程:做摘要、进行非对称加密。...考虑到加解密的运算速度是相对缓慢的,数字签名算法建议对消息摘要值进行签名,因为摘要值的长度是固定的,并且一般消息的摘要值的长度要比消息的长度短,加解密的运算速度会比较快。...介绍签名算法一个签名算法包括两个部分:消息摘要算法、非对称加密算法。常见的签名算法有:RSA、RSA2。...RSA2 签名算法强制要求 RSA 密钥的长度至少为 2048 位。数字签名的作用数字签名技术的本质不是为了加密。...数字签名进行的是非对称加密。如果数字签名进行的是对称加密的话,那么数字签名将不能防止签名者抵赖。原因就在于消息发送者 和 消息接收者拥有同样的密钥(公钥),所以消息发送方可以抵赖,否认消息是他发送的。

1.1K20

数字签名与加密算法-下【mix指南之区块链】

接上一期数字签名与加密算法-上【mix指南之区块链】: 6 ECDSA 比特币采用的加密方案 比特币中使用的数字签名算法是椭圆曲线数字签名算法(Elliptic Curve Digital Signature...ECDSA 是用于基于椭圆曲线私钥/公钥对的数字签名算法。...区块链中的密钥分为公钥和私钥两种,是通过非对称加密算法生成的。 通过这种算法得到的密钥对能保证在世界范围内是唯一的。 公钥的主要作用:加密;验证签名。 私钥的主要作用:签名;解密。...在比特币的ECDSA算法的实现中,被签名的“消息”是交易中特定数据的哈希值。而交易就是存储在比特币区块链上的Block。...7 用户体验设计 从密码学、加密算法,比特币采用的ECDSA算法,公钥与私钥、交易这些技术,有一些用户体验设计的思考,分享给大家: 7.1 私钥储存的重要性 采用非对称加密算法生成公钥及私钥,应用于区块链中

98720

数字签名与加密算法-上【mix指南之区块链】

本期从密码学的背景知识出发,帮助读者快速理解数字签名、加密算法,结合DIY实践指南,从代码层面掌握技术原理,为以后灵活使用提供基础,最后根据技术的特点,为UX设计梳理了几条参考~ 1 密码学 密码学是研究编制密码和破译密码的技术科学...保密通信是密码学产生的动因,除了保守通信密码之外,密码学还有很多相关的应用场景,例如: 数字签名数字签名可以代替传统的手写签名,数字签名具有更好的防伪造性。...RSA算法是第一个能同时用于加密和数字签名算法。RSA是被研究得最广泛的公钥算法,从提出到现今的三十多年里,经历了各种攻击的考验,逐渐为人们接受,被普遍认为是最优秀的公钥方案之一。...5 数字签名 《中华人民共和国电子签名法》2005年正式实施,可靠的电子签名与手写签名或者盖章具有同等的法律效力。电子签名并非是书面签名的数字图像化。...电子签名是一种泛化的概念,数字签名可认为是电子签名的一种实现方式。数字签名技术的实现需要使用到非对称加密算法和哈希算法

1K20

加密与数字签名

常用的公钥加密算法是RSA算法,加密强度很高。具体作法是将数字签名和 数据加密结合起来。...当这些密文被接收方收到后,接收方用自己的私钥将密文解密得到发送的数据和发送方的数字签名,然后,用发布方公布的公钥对数字签名进行解密,如果成 功,则确定是由发送方发出的。...加密算法E和解密算法D也都是公开的。虽然SK与PK是成对出现,但却不能根据PK计算出SK。...二、数字签名   数字签名技术是实现交易安全的核心技术之一,它的实现基础就是加密技术。在这里,我们介绍数字签名的基本原理。   以往的书信或文件是根据亲笔签名或印章来证明其真实性的。...现在已有多种实现各种数字签名的方法,但采用公开密钥算法要比常规算法更容易实现。下面就来介绍这种数字签名。    发送者A用其秘密解密密钥SKA对报文X进行运算,将结果DSKA(X)传送给接收者B。

8310

聊聊数字签名(上)

总结 对称加密 采用了对称密码编码技术,特点是文件加密和解密使用相同的密钥加密,对称加密算法使用起来简单快捷,密钥较短,破译困难,但当对称加密算法应用在微信支付这样的电子商务过程中存在几个问题: 1)平台方和商户之间不可能线下面对面协商密钥...2)为保证安全平台方需要对于每一个合作者都使用不同的密钥,需要管理大量的密钥; 3)对称加密算法不能防抵赖,能够实现加密但无法验证发送者身份; 非对称加密 非对称加密算法的典型应用是数字签名,需要公开密钥和私有密钥两个密钥...一般和对称加密结合起来使用 Hash算法 Hash算法特别的地方在于它是一种单向算法,通过hash算法可以对目标信息生成一段特定长度的唯一hash值,却不能通过这个hash值重新获得目标信息,因此Hash...算法可以用来计算摘要,校验信息完整性等。

37820

密码技术之数字签名

私有 公开 数字签名的方法有直接对消息签名的方法和对消息散列值签名的方法。因为对整个消息进行签名效率低下,特别是公钥密码算法计算效率不高,实际使用后者,也就是对消息的散列值进行签名。...的确,删除了带有数字签名的借据也无法保证确实已经作废,因为你不知道是否还保留有副本,那么要作废带有数字签名的借据,可以重新创建一份相当于收据的文书,并让对方在这份文书上数字签名。...或者在消息中声明该消息的有效期并加上数字签名,证书部分内容就是如此。 数字签名能够替代签名吗?...潜在伪造:在用RSA来解密的数字签名算法中,潜在伪造时可能的,用随机比特序列S用RSA的公钥进行加密生成密文M,那么S就是M的合法数字签名,由于攻击者是可以获取公钥的,因此对数字签名进行潜在伪造就可以实现了...为了应对人们改进成了RSA-PSS签名算法数字签名可以识别出篡改和伪装还可以防止否认,然而,这一切是在一个大前提下的,那就是用于验证签名的公钥必须属于真正的发送者。

1.2K20

CA数字签名的由来

CA数字签名的由来 上一次内容我们介绍了TLS加密原理,为什么要加密通信呢?是因为我们不希望我们的个人信息被明文传播,任何一个人只要截断我们的物理线路或者入侵到我们网络中,就能获取所有的信息。...比如,对称加密,非对称加密算法等。 但大家有没有想过这么一个问题:我怎么证明我就是我? 很有意思的问题哈~ 简单翻译过来就是:你说你是李白,你就是李白了吗? ?...这就要引入CA数字签名了。 鲍勃有两把钥匙,一把是公钥,另一把是私钥。 ? 鲍勃把公钥送给他的朋友们----帕蒂、道格、苏珊----每人一把。 ?...然后,鲍勃使用私钥,对这个摘要加密,生成"数字签名"(signature)。 ? 鲍勃将这个签名,附在信件下面,一起发给苏珊。 ? 苏珊收信后,取下数字签名,用鲍勃的公钥解密,得到信件的摘要。...苏珊收信后,用CA的公钥解开数字证书,就可以拿到鲍勃真实的公钥了,然后就能证明"数字签名"是否真的是鲍勃签的。 ? 下面,我们看一个应用"数字证书"的实例:https协议。这个协议主要用于网页加密。

1.3K10

数字签名是什么?

它用图片通俗易懂地解释了,"数字签名"(digital signature)和"数字证书"(digital certificate)到底是什么。...==================================================== 数字签名是什么?...鲍勃给苏珊回信,决定采用"数字签名"。他写完后先用Hash函数,生成信件的摘要(digest)。 6. ? 然后,鲍勃使用私钥,对这个摘要加密,生成"数字签名"(signature)。 7. ?...苏珊收信后,取下数字签名,用鲍勃的公钥解密,得到信件的摘要。由此证明,这封信确实是鲍勃发出的。 9. ? 苏珊再对信件本身使用Hash函数,将得到的结果,与上一步得到的摘要进行对比。...因此,道格就可以冒充鲍勃,用自己的私钥做成"数字签名",写信给苏珊,让苏珊用假的鲍勃公钥进行解密。 11. ? 后来,苏珊感觉不对劲,发现自己无法确定公钥是否真的属于鲍勃。

91050

数字签名是什么?

鲍勃给苏珊回信,决定采用"数字签名"。他写完后先用Hash函数,生成信件的摘要(digest)。 6. 然后,鲍勃使用私钥,对这个摘要加密,生成"数字签名"(signature)。 7....苏珊收信后,取下数字签名,用鲍勃的公钥解密,得到信件的摘要。由此证明,这封信确实是鲍勃发出的。 9. 苏珊再对信件本身使用Hash函数,将得到的结果,与上一步得到的摘要进行对比。...因此,道格就可以冒充鲍勃,用自己的私钥做成"数字签名",写信给苏珊,让苏珊用假的鲍勃公钥进行解密。 11. 后来,苏珊感觉不对劲,发现自己无法确定公钥是否真的属于鲍勃。...苏珊收信后,用CA的公钥解开数字证书,就可以拿到鲍勃真实的公钥了,然后就能证明"数字签名"是否真的是鲍勃签的。 14. 下面,我们看一个应用"数字证书"的实例:https协议。

70750

【翻译】数字签名是什么?

前情提要 在写上一篇《Android Keystore漫谈》时对数字证书和数字签名的区别感觉模棱两可,于是网上找了找资料发现了一篇简单易懂的文章,对证书和签名有了一个较清晰的概念: 数字签名: 信息实体经...HASH函数后得到一个摘要,摘要经过私钥加密后形成数字签名。...虽然CSDN博客上已经有人对这篇文章翻译过,但是感觉还是有必要自己翻译一遍,一来作为备份,二来也希望可以为用户们认识数字签名提供一个参考。 翻译内容 主标题:数字签名是什么?...那么这个数字签名是怎么签名的呢?Bob使用HASH算法对信的内容进行打乱,打乱后的内容称之为消息摘要(这一打乱的过程是不可逆的)。 ? 消息摘要经过Bob的私钥加密就变成了数字签名。 ?...首先Susan用Bob的公钥解密数字签名,形成了消息摘要A,然后通过HASH算法对信的原始内容进行打乱形成消息摘要B,如果两份信息摘要内容一致,说明信息没有被篡改过。 ?

53740
领券