排序:
默认
按更新时间
按访问量

对数字签名的攻击

一 中间人攻击 对数字签名的中间人攻击,具体来说就是主动攻击者Mallory介入发送者和接收者的中间,对发送者伪装成接受者,对接收者伪装成发送者,从而能够在无需破解数字签名算法的前提下完成攻击。 要防止中间人攻击,就需要确认自己得到的公钥是否真的属于自己的通信对象。例如,我们假设Bob需要确认...

2018-09-24 20:33:49

阅读数:115

评论数:0

通过RSA实现数字签名

一 用RSA生成签名 在RSA中,被签名的消息、密钥以及最终生成的签名都是以数字形式表示的。在对文本进行签名时,需要事先对文本编码成数字。用RSA生成签名的过程可用下列公式来表述: 这里所使用的D和N就是签名者的私钥。签名就是对消息的D次方求mod N的结果,也就是说将消息和自己相乘D次,...

2018-09-24 20:32:22

阅读数:14

评论数:0

数字签名的应用实例

一 安全信息公告 一些信息安全方面的组织会在其网站上发布一些关于安全漏洞的警告,那么这些警告信息是否真的是该组织发布的呢?我们如何确认发布这些信息的网站没有被第三方篡改呢? 在这样的情况下,就可以使用数字签名,即该组织可以对警告信息的文件施加数字签名,这样一来世界上所有人就都可以验证警告信息的...

2018-09-24 20:30:53

阅读数:8

评论数:0

数字签名FAQ

一 密文为什么能作为签名使用 问: 用私钥加密消息得到签名,然后再用公钥解密消息并验证签名,这个过程我理解,但是密文为什么能够具备签名的意义呢? 答: 虽说实际进行处理的内容是用私钥进行加密的,但这里的加密并非是为了保证机密性而进行的。 数字签名是利用了“没有私钥的人事实上无法生成使用该...

2018-09-24 20:29:38

阅读数:11

评论数:0

公钥密码与数字签名

要实现数字签名,可以使用公钥密码机制。 公钥密码包括一个由公钥和私钥组成的密钥对,其中公钥用于加密,私钥用于解密。 整个过程如下图: 数字签名也同样会使用公钥和私钥组成的密钥对,不过这两个密钥的用法和公钥密码是相反的,即用私钥加密相对于生成签名,而用公钥解密则相对于验证签名。 整个过程...

2018-09-24 20:28:26

阅读数:15

评论数:0

数字签名的生成和验证

在数字签名技术中,出现了下面两种行为。 生成消息签名的行为 验证消息签名的行为 生成消息签名这一行为是由消息发送者Alice来完成的,也称为“对消息签名”。生成签名就是根据消息内容计算数字签名的值,这个行为意味着“我认可该消息的内容”。 验证数字签名这一行为一般是由消息的接收...

2018-09-24 20:24:26

阅读数:28

评论数:0

数字签名的引入

一 Alice的借条 假设Alice需要向Bob借100万。不过Alice和Bob离得很远,无法直接见面。通过银行汇款,Alice可以立刻从Bob那里收到钱,但是Alice的借条应该怎样发送给Bob呢?可以用挂号信寄过去,不过那样会花上一段时间,能不能用电子邮件来发送借条呢?比如: “Bob,...

2018-09-24 20:23:13

阅读数:47

评论数:0

消息认证码无法解决的问题

一 点睛 假设发送者Alice要向接收者Bob发送消息,如果使用了消息认证码,接收者Bob就能够断定自己收到的消息与发送者Alice所发出的消息是一致的,这是因为消息中的MAC值只有用Alice和Bob之间共享的密钥才能够计算出来,即便主动攻击者Mallory篡改消息,或者伪装成Alice发送消...

2018-09-24 20:22:16

阅读数:95

评论数:0

对消息认证码的攻击

一 重放攻击 1 故事 主动攻击者Mallory想到可以通过将事先保存的正确MAC值不断重放来发动攻击,如果这种攻击成功的话,就可以让100万元滚雪球般地变成1亿元。 攻击过程如下: 1 Mallory窃听到Alice银行与Bob银行之间的通信。 2 Mallory到Alice银行向...

2018-09-24 20:21:24

阅读数:13

评论数:0

HMAC的图解

一 什么是HMAC HMAC是一种使用单向散列函数来构造消息认证码的方法,其中HMAC中的H就是Hash的意思。 HMAC中所使用的单向散列函数并不仅限于一种,任何高强度的单向散列函数都可以被用于HMAC,如果将来设计出的新的单向散列函数,也同样可以使用。 使用SHA-1、SHA-224、S...

2018-09-23 16:30:23

阅读数:9

评论数:0

消息认证码的应用和实现

一 消息认证码的应用 1 SWIFT SWIFT是于1973年成立的一个组织,其目的是为了国际银行间的交易保驾护航。该组织成立时候有15个成员国,2008年时已经发展到208个成员国。 银行和银行之间是通过SWIFT来传递交易消息的。而为了确保消息的完整性以及对消息进行验证,SWIFT中使用...

2018-09-23 16:28:24

阅读数:14

评论数:0

消息认证码的使用步骤和密钥配送问题

一 消息认证码的使用步骤 1 消息认证码的使用步骤图例 2 图解 a 发送者Alice与接收者Bob事先共享密钥。 b 发送者Alice根据汇款请求消息计算MAC值(使用共享密钥)。 c 发送者Alice将汇款请求和MAC值两者发送给接收者Bob。 d 接收者Bob根据接收到的汇款...

2018-09-23 16:27:27

阅读数:15

评论数:0

消息认证码

一 点睛 消息认证码可以确认自己收到的消息是否就是发送者的本意,也就是说,使用消息认证码可以判断消息是否被篡改,以及是否有人伪装成发送者发送该消息。 二 故事——汇款是正确的吗 Alice和Bob分别是两家银行,Alice银行通过网络向Bob银行发送了一条汇款请求,Bob银行收到的请求内容是...

2018-09-23 16:26:21

阅读数:12

评论数:0

关于单向散列函数和Keccak的攻击

一 对Keccak的攻击 Keccak之前的单向散列函数都是通过循环执行压缩函数的方式来生成散列值,这种方式称为MD结构。MD4、MD5、RIPEMD、RIPRMD-160、SHA-1、SHA-2等几乎所有的传统单向散列函数都是基于MD结构的。 当初之所以开始征集SHA-3算法,就是因为针对当...

2018-09-23 16:25:20

阅读数:67

评论数:0

Keccak的搅拌函数f

一 点睛 Keccak的搅拌函数f实际上应该叫作Keccak-f[b],从这个名字可以看出,这个函数带有一个参数b,即内部状态的比特长度。这里的参数b称为宽度(width)。 根据Keccak的设计规格,宽度b可以取25、50、100、200、400、800、1600共7种值,SHA-3采用的...

2018-09-23 16:23:50

阅读数:8

评论数:0

Keccak的内部状态

一 点睛 Keccak中b=r+c个比特的内部状态是如何通过函数f变化的呢?下面深入看看内部状态。 下图展示了Keccak的内部状态 二 图解 Keccak的内部状态是一个三维的比特数组。图中每个小方块代表1个比特,b个小方块按照5*5*z的方式组合起来,就成为一个沿z轴延伸的立方...

2018-09-23 08:06:01

阅读数:9

评论数:0

Keccak简介

一 什么是Keccak Keccak是一种被选定为SHA-3标准的单向散列函数算法。 Keccak可以生成任意长度的散列值,但为了配合SHA-2的散列值长度,SHA-3标准中规定了SHA3-224、SHA3-256、SHA3-384、SHA3-512这4种版本。在输入数据的长度上限方面,SHA...

2018-09-23 08:04:40

阅读数:11

评论数:0

SHA-3的选拔过程

一 什么是SHA-3 SHA3(Secure Hash Algorithm-3)是一种作为新标准发布的单向散列函数算法,用来替代在理论上已被找出攻击方法的SHA-1算法。全世界企业和密码学家提交了很多SHA-3的候选方案,经过长达5年的选拔,最终于2012年正式确定将Keccak算法作为SHA-...

2018-09-23 08:02:38

阅读数:33

评论数:0

单向散列函数的具体例子

一 MD4、MD5 MD4是由Rivest于1990年设计的单向散列函数,能够产生128bit的散列值。不过随着Dobbertin提出寻找MD4散列的碰撞方法,现在已经不安全了。 MD5是由Rivest于1991年设计的单向散列函数,能够产生128比特的散列值。 MD5的强抗碰撞性已经被攻破...

2018-09-23 08:00:38

阅读数:15

评论数:0

单向散列函数的实际应用

一 单向散列函数相关术语 单向散列函数也称为消息摘要函数、哈希函数或者杂凑函数。 输入单向散列函数的消息也称为原像。 单向散列函数输出的散列值也称为消息摘要或者指纹。 完整性也称为一致性。 二 单向散列函数实际应用 1 检测软件是否被篡改 可以使用单向散列函数来确认自己下载的软件是否...

2018-09-22 17:34:35

阅读数:27

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭