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

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

它用图片通俗易懂地解释了,"数字签名"(digital signature)和"数字证书"(digital certificate)到底是什么。...这里要强调的是,只要鲍勃的私钥不泄露,这封信就是安全的,即使落在别人手里,也无法解密。 5、 ? 鲍勃给苏珊回信,决定采用"数字签名"。他写完后先用Hash函数,生成信件的摘要(digest)。...苏珊收信后,取下数字签名,用鲍勃的公钥解密,得到信件的摘要。由此证明,这封信确实是鲍勃发出的。 9、 ? 苏珊再对信件本身使用Hash函数,将得到的结果,与上一步得到的摘要进行对比。...因此,道格就可以冒充鲍勃,用自己的私钥做成"数字签名",写信给苏珊,让苏珊用假的鲍勃公钥进行解密。 11、 ? 后来,苏珊感觉不对劲,发现自己无法确定公钥是否真的属于鲍勃。...以后再给苏珊写信,只要在签名的同时,再附上数字证书就行了。 13、 ? 苏珊收信后,用CA的公钥解开数字证书,就可以拿到鲍勃真实的公钥了,然后就能证明"数字签名"是否真的是鲍勃签的。

1.4K20

CA数字签名的由来

CA数字签名的由来 上一次内容我们介绍了TLS加密原理,为什么要加密通信呢?是因为我们不希望我们的个人信息被明文传播,任何一个人只要截断我们的物理线路或者入侵到我们网络中,就能获取所有的信息。...这就要引入CA数字签名了。 鲍勃有两把钥匙,一把是公钥,另一把是私钥。 ? 鲍勃把公钥送给他的朋友们----帕蒂、道格、苏珊----每人一把。 ?...然后,鲍勃使用私钥,对这个摘要加密,生成"数字签名"(signature)。 ? 鲍勃将这个签名,附在信件下面,一起发给苏珊。 ? 苏珊收信后,取下数字签名,用鲍勃的公钥解密,得到信件的摘要。...以后再给苏珊写信,只要在签名的同时,再附上数字证书就行了。 ? 苏珊收信后,用CA的公钥解开数字证书,就可以拿到鲍勃真实的公钥了,然后就能证明"数字签名"是否真的是鲍勃签的。 ?...认证加密后的公钥,即是证书,又称为CA证书,证书中包含了很多信息,最重要的是申请者的公钥。 CA机构在给公钥加密时,用的是一个统一的密钥对,在加密公钥时,用的是其中的私钥。

1.4K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

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

    文章目录 一、数字签名简介 二、基于公钥的数字签名实现 三、数字签名 功能 四、保密数字签名 一、数字签名简介 ---- 数字签名 : 证明 数据 或 身份的 真实性 ; 需要有以下功能 : ① 报文鉴别...防止 接收者 伪造 发送者 的签名 ; 二、基于公钥的数字签名实现 ---- 数字签名实现方式 : 数字签名算法很多 , 公钥算法 是最简单的算法 , 即 发送者 使用 私钥加密数据 , 接收者 使用...对应的公钥 解密数据 ; ( 接收者 持有着大量公钥 ) 三、数字签名 功能 ---- 数字签名 功能 : 以 发送者 使用 私钥 加密密文 , 接收者 使用 公钥 解密密文 为例 ; ① 报文鉴别...: 接收者 伪造了 密文 , 如果 接收者 将 伪造的 密文 , 公钥 , 明文 , 提供给第三方 , 使用 公钥 , 无法将密文解密成明文 , 证明该签名是伪造的 ; 四、保密数字签名 ---- 数字签名弊端...: ① 数据窃取 : A 的公钥可能有很多人持有 , 如果一个持有 A 公钥的一方截获了上述签名数据 , 就会被窃取数据 ; ② 解决方案 签名 + 公钥加密 : 在 A 数字签名基础上

    1.6K00

    数字签名

    概述 还记得之前在介绍HTTPS的时候提到过的数字签名吗? 忘了?? 来, 复习一下....这么神奇的么? 让我不得不想着看看它到底是个什么东东... 简单看了看之后发现, 数学果然是个神奇的东西. 让我们尝试还原数字签名的发展. 人工签名时代 提到了签名, 首先想到的就是每个人的签名了....而每个人的锁只有自己能锁上, 说明箱子里的欠条必然是小王放进去的. 数字化时代 终于来到了数字化时代. 也要引出数字签名了, 数字签名和上面上锁的思路基本一致....这个钟的大小实际上选的是一个很大的数字, 要比传递的信息大....对于一个较大的文件, 做签名是不现实, 因为几十 mb 的文件, 其二进制表示的数字大到离谱, 所以一般会通过 hash 函数将其转换到信息息摘要, 然后对信息摘要做数字签名.

    78250

    数字签名

    我们需要数字签名 之前的文章我们讲了MAC(Message Authentication Code)消息认证码,MAC是认证消息的完整性的技术。...在数字签名的过程中,消息发送者A和消息接受者B使用不同的密钥来进行签名和验证。这里使用的不同的密钥就是公钥和私钥。...数字签名其实就是公钥密码的反向应用,下面我们看看两种的不同: 名称 私钥 公钥 公钥密码 接受者解密时使用 发送者加密时使用 数字签名 签名者生成签名时使用 验证者验证签名时使用 谁持有密钥?...个人持有 主要需要,任何人都可以持有 数字签名的方法 通常来说数字签名一般有两种方式: 直接对消息进行签名 对消息的hash值进行签名 下面我们分别来介绍两种方式。...那么这个签名软件是否值得信任,就是我们需要关注的问题。 数字签名无法解决的问题 使用数字签名我们可以防止伪造和篡改,也无法防止否认。但是还需要一个大前提就是验证签名的公钥必须是真正属于发送者。

    93320

    浅谈程序的数字签名

    数字签名(又称公钥数字签名)是只有信息的发送者才能产生的别人无法伪造的一段数字串,这段数字串同时也是对信息的发送者发送信息真实性的一个有效证明。...常见的对抗二次打包的方案: 1、签名校验 原理:二次打包会篡改签名,通过签名前后的变化可以检测是否被二次打包;但是这种很容易被hook掉。...2、文件校验 原理:二次打包前后apk关键文件hash值比较,判断是否被修改;但是这种很容易被hook掉。...3、核心函数转为jni层实现 原理:java层代码转为jni层实现,jni层代码相对而言篡改难度更大;写大量反射代码降低了开发效率。...window数字签名 Window的数字签名是微软的一种安全保障机制。 Window数字签名中的签名证书用于验证开发者身份真实性、保护代码的完整性。

    1.7K31

    聊聊数字签名(下)

    案例分析 阅读了支付宝、微信支付、腾讯云、阿里云的开放文档,发现他们签名方式几乎一致,在不同的场景分别使用MD5和数字证书签名,甚至在不同的时间节点进行相同类型的升级,下面是我各大平台的开放文档中找到的作为案例分析...3)拼接:将排序后的参数与其对应值,组合成“参数=参数值”的格式,并且把这些参数用&字符连接起来,此时生成的字符串为待签名字符串。...,在并发情况如果很有可能同一时间有两个相同参数的请求都是有效的,但服务会错误的认为是重放攻击从而仅处理第一个。...(还记得12306的那个安全提示吗,就是因为之前12306使用的也是自签名),因此申请了第三方可信机构的证书,然后使用这个证书为每个商户签发证书; 2)自签名有安全隐患;只要理解了签名的原理,任何人都可以按照教程生成证书...但是还记得上篇中讲到数字证书出现的原因吗,是为了解决中间人攻击问题,它能够解决中间人攻击的原因正是因为证书颁发机构是可信的,但是如果使用了自签名,签名机构是没有经过认证的,也就是不可信的,一切又回到了原点

    98020

    图说“数字签名”

    近日找图片素材看到Peggy_Marco大神的众多人物形象图时,有了用图解说数字签名的想法,于是决定借用大神的人物形象图,尝试用图解释一下说什么是数字签名。...小明苦思冥想了半天,终于想起曾经跟陈教授学过的对称加密,刚好可以用上。 image.png 于是,小明加上了加密了签名信息后,把下面的第3版借条发给了王老板,并解析了其中的原理。...1.6、完成数字签名 小明拿到CA大佬签名的证书后,加上之前的借条,终于解决了王老板的所有顾虑,和达成了最终的借贷协议。...image.png 2、数字签名小结 2.1、法律意义上的数字签名 《 中华人民共和国电子签名法 》第二条本法所称电子签名,是指数据电文中以电子形式所含、所附用于识别签名人身份并表明签名人认可其中内容的数据...2.2、数字签名要解决的问题 从电子签名法所描述的可靠电子签名来看,数字签名要解决的问题可归纳为两个: (1)对签名人身份的确认,且签名人身份不可抵赖 (2)签名人对签名内容的认可,且签名内容不可篡改

    1.9K62

    数字签名-ECDSA

    【Java小工匠聊密码学】--数字签名--ECDSA 1、EC相关知识 1.1 什么是ECC  Elliptic Curves Cryptography,椭圆曲线密码编码学。...1.3 什么是ECDSA   用于数字签名,是ECC与DSA的结合,整个签名过程与DSA类似,所不一样的是签名中采取的算法为ECC,最后签名出来的值也是分为R,S。...在使用ECC进行数字签名的时候,需要构造一条曲线,也可以选择标准曲线,例如:prime256v1、secp256r1、nistp256、secp256k1(比特币中使用了该曲线)等等 1.4、ECDSA...的优点 (1)安全性高 有研究表示160位的椭圆密钥与1024位的RSA密钥安全性相同。...SHA1withECDSA 160 JDK/BC SHA224withECDSA 224 BC SHA384withECDSA 384 JDK/BC SHA512withECDSA 512 JDK/BC 2、ECDSA数字签名实现

    3K30

    数字签名技术

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

    1.3K20

    五、数字签名及存在的问题

    当我们用私钥加密的时候,我们会把这个操作称为数字签名,利用公钥解密的时候,这个操作称为验证签名。 数字签名的方法流程是怎样的? 我看到了这样一张图,觉得太香了,能够很好的说明这个过程。...防止假冒   中间人X假冒A给B发消息,由于X没有A的私钥,无法生成正确的数字签名。即使X不签名直接发过去,B也会直接丢弃,所以X无法假冒。...防止篡改 1.A给B发文档,先把文档进行哈希,生成摘要,然后用自己的私钥对摘要加密生成数字签名,发送出去的是 {明文文档,数字签名} 2.如果中间人X去修改明文,不改数字签名,发送给B。...(因为没A的私钥,X如果改了签名,B用A公钥就无法解密数字签名) 3.B用A的公钥去解密数字签名得到摘要1,再用同样的哈希算法把发来的明文进行哈希,得到一段摘要2 4.摘要1一定是A亲手给的,因为公钥能解出来...数字签名的漏洞 中间人攻击 A给B发消息会使用非对称加密,为了接下来的对话,先要把公钥发送给B,结果被X中间人攻击了。

    59900

    安卓数字签名

    安装APP失败 猜想是没有数字签名的问题,一个ApK如果要安装到手机上,必须要一个数字签名,不过你是debug也好,release也好,这个数字签名来源一个叫做证书的东西,在我们debug的时候,开发工具已经帮我们生成了一个叫做...debug.keystore 的证书,默认在C:Users【user name】.android之下,但是如果我们的apk要发布到应用市场上,那就得用release的证书了,这个时候我们就要去用我们自己的证书了...Android Studio安装数字证书 A. build->构建带有签名的APK 构建带有签名的APK B. 选择数字证书存放位置 选择数字证书存放位置 C. 创建数字签名证书 创建证书 D....选择需要的发布的模型 选择需要的发布的模型 E. 选择发布的版本,然后完成 选择发布的版本 F. 寻找发布的APP的位置 寻找APP位置1 寻找APP位置2 寻找APP位置3 G....安卓6.0以上都支持啦,终于可以安心安装自己的APP啦

    66741

    加密与数字签名

    具体作法是将数字签名和 数据加密结合起来。发送方在发送数据时必须加上数据签名,做法是用自己的私钥加密一段与发送数据相关的数据作为数字签名,然后与发送数据一起用接收方密钥 加密。...当这些密文被接收方收到后,接收方用自己的私钥将密文解密得到发送的数据和发送方的数字签名,然后,用发布方公布的公钥对数字签名进行解密,如果成 功,则确定是由发送方发出的。...在早期的常规密钥密码体制中,典型的有代替密码,其原理可以用一个例子来说明:   将字母a,b,c,d,…,w,x,y,z的自然顺序保持不变,但使之与D,E,F,G,…,Z,A,B,C分别对应(即相差...它已被ISO/TC97的数据加密技术分委员会SC20推荐为公开密钥数据加密标准。 二、数字签名   数字签名技术是实现交易安全的核心技术之一,它的实现基础就是加密技术。...在这里,我们介绍数字签名的基本原理。   以往的书信或文件是根据亲笔签名或印章来证明其真实性的。但在计算机网络中传送的报文又如何盖章呢?这就是数字签名所要解决的问题。

    17510

    聊聊数字签名(上)

    ,内容是可以公开的; 2:分部给你写的信是汇报工作,内容是需要保密的。...于是坏人就用自己的私钥解密分部的信件偷看内容,并用自己的私钥给你的分部发送假的命令。...(这其实也就是https的基本原理) 小结:通过非对称密钥传递对称密钥,保证安全性的同时兼顾了性能。...,这就要求提供一条安全的渠道使通讯双方在首次通讯时协商一个共同的密钥,而这在开放的互联网中是不现实的;密钥的分发是一件潜在危险的事情,并且其安全的前提是平台和商户均能够妥善的保管密钥。...2)为保证安全平台方需要对于每一个合作者都使用不同的密钥,需要管理大量的密钥; 3)对称加密算法不能防抵赖,能够实现加密但无法验证发送者身份; 非对称加密 非对称加密算法的典型应用是数字签名,需要公开密钥和私有密钥两个密钥

    43320

    密码技术之数字签名

    甲发送信息的时候用自己的私钥进行签名,乙接收信息的时候用甲的公钥进行验证,这就是数字签名。...数字签名可以随意复制吗? 数字签名可以随意复制。签名可以复制并不意味着签名就没有意义,因为签名表达的意义是特定的签名者对特定的消息进行的签名,即使被复制也并不会改变签名者和消息的内容。...的确,删除了带有数字签名的借据也无法保证确实已经作废,因为你不知道是否还保留有副本,那么要作废带有数字签名的借据,可以重新创建一份相当于收据的文书,并让对方在这份文书上数字签名。...对数字签名的攻击 除了之前介绍的利用数字签名攻击公钥密码之外,对单向散列函数的攻击,以及中间人攻击。...潜在伪造:在用RSA来解密的数字签名算法中,潜在伪造时可能的,用随机比特序列S用RSA的公钥进行加密生成密文M,那么S就是M的合法数字签名,由于攻击者是可以获取公钥的,因此对数字签名进行潜在伪造就可以实现了

    1.3K20

    数字签名是什么?

    ==================================================== 数字签名是什么?...这里要强调的是,只要鲍勃的私钥不泄露,这封信就是安全的,即使落在别人手里,也无法解密。 5. ? 鲍勃给苏珊回信,决定采用"数字签名"。他写完后先用Hash函数,生成信件的摘要(digest)。...苏珊收信后,取下数字签名,用鲍勃的公钥解密,得到信件的摘要。由此证明,这封信确实是鲍勃发出的。 9. ? 苏珊再对信件本身使用Hash函数,将得到的结果,与上一步得到的摘要进行对比。...因此,道格就可以冒充鲍勃,用自己的私钥做成"数字签名",写信给苏珊,让苏珊用假的鲍勃公钥进行解密。 11. ? 后来,苏珊感觉不对劲,发现自己无法确定公钥是否真的属于鲍勃。...以后再给苏珊写信,只要在签名的同时,再附上数字证书就行了。 13. ? 苏珊收信后,用CA的公钥解开数字证书,就可以拿到鲍勃真实的公钥了,然后就能证明"数字签名"是否真的是鲍勃签的。 14. ?

    97550

    数字签名是什么?

    这里要强调的是,只要鲍勃的私钥不泄露,这封信就是安全的,即使落在别人手里,也无法解密。 5. 鲍勃给苏珊回信,决定采用"数字签名"。他写完后先用Hash函数,生成信件的摘要(digest)。 6....然后,鲍勃使用私钥,对这个摘要加密,生成"数字签名"(signature)。 7. 鲍勃将这个签名,附在信件下面,一起发给苏珊。 8. 苏珊收信后,取下数字签名,用鲍勃的公钥解密,得到信件的摘要。...道格想欺骗苏珊,他偷偷使用了苏珊的电脑,用自己的公钥换走了鲍勃的公钥。此时,苏珊实际拥有的是道格的公钥,但是还以为这是鲍勃的公钥。...因此,道格就可以冒充鲍勃,用自己的私钥做成"数字签名",写信给苏珊,让苏珊用假的鲍勃公钥进行解密。 11. 后来,苏珊感觉不对劲,发现自己无法确定公钥是否真的属于鲍勃。...以后再给苏珊写信,只要在签名的同时,再附上数字证书就行了。 13. 苏珊收信后,用CA的公钥解开数字证书,就可以拿到鲍勃真实的公钥了,然后就能证明"数字签名"是否真的是鲍勃签的。 14.

    77550

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

    前情提要 在写上一篇《Android Keystore漫谈》时对数字证书和数字签名的区别感觉模棱两可,于是网上找了找资料发现了一篇简单易懂的文章,对证书和签名有了一个较清晰的概念: 数字签名: 信息实体经...数字签名相当于Bob的私人印章,是独一无二、不可以仿冒的,可以检查信的内容有没有被篡改。 ? 那么这个数字签名是怎么签名的呢?...Bob使用HASH算法对信的内容进行打乱,打乱后的内容称之为消息摘要(这一打乱的过程是不可逆的)。 ? 消息摘要经过Bob的私钥加密就变成了数字签名。 ?...最后Bob将这个数字签名和信的内容放到了一起,然后发给了Susan。那么Susan怎么验证Bob的回信有没有被篡改过呢?...关于数字证书有一个非常好的实例,便是https协议,在《数字签名与数字证书的区别》一文中有非常清晰的讲述。 参考 What is a Digital Signature? 数字签名与数字证书的区别

    57340

    消息摘要与数字签名

    原理 消息摘要,其实就是将需要摘要的数据作为参数,经过哈希函数(Hash)的计算,得到的散列值。...,是数字签名算法的核心算法。...也就是说,数字签名算法是非对称加密算法和消息摘要算法的结合体。 特点 数字签名算法要求能够验证数据完整性、认证数据来源,并起到抗否认的作用。...原理 数字签名算法包含签名和验证两项操作,遵循私钥签名,公钥验证的方式。 签名时要使用私钥和待签名数据,验证时则需要公钥、签名值和待签名数据,其核心算法主要是消息摘要算法。 ​ ?...常用算法 RSA、DSA、ECDSA 算法实现 DSA的范例 数字签名有两个流程:签名和验证。 它们的前提都是要有一个公钥、密钥对。

    1.1K80

    支付宝接口的数字签名

    支付宝签名的步骤是: 拼接 “待签名字符串”; 调用签名方法 sign(); 拼接完整的请求 URL。 技术是为了解决问题而生的,进行数字签名的目的是: 确保信息是由签名者发送的。...对需要签名的参数进行字典排序:字典排序是按照参数的第一个字符的 ASCII 码递增排序(字母升序排序)。如果参数的第一个字符相同,则按照参数的第二个字符的 ASCII 码递增排序,以此类推。...拼接完整的请求 URL:将编码后的请求数据发送至商户系统指定的 URL。 验签 验签的全称是:验证指定内容的签名是否正确。...获取签名的参数:在通知返回的参数列表中,除去 sign、sign_type 两个参数外,凡是通知返回的参数都是签名的参数。...如果参数的第一个字符相同,则按照参数的第二个字符的 ASCII 码递增排序,以此类推。

    59330
    领券