这几天在读《Blown to Bits》中有关加密的章节,在这里做些小结。《Blown to Bits》一本有关计算科学的科普书,这本书是以Creative Commons协议发布的,可以从http://www.bitsbook.com/免费下载。
Key Agreement Protocol
通过场景介绍基本原理是比较通俗易懂的方式,这里首先布置一个场景:
主人公:小白,小黑,小花
背景:小白想和小黑通过公网通信,小花想
人物介绍:
小白:拥有一个数字私匙a
小黑:拥有一个数字私匙b
非人物介绍:
公共公匙:g,任何人都可以获得
双方开始通话:
小白:利用公共公匙g和自己的私匙a生成自己的公匙A
小黑:利用公共公匙g和自己的私匙b生成自己的公匙B
小白:获取小黑的公匙B,并利用自己的私匙a与B进行运算C = a * B = a * b* g
小黑:获取小白的公匙A,并利用自己的私匙b与A进行运算C = b * A = b * a* g
小花:获取了公匙g, A, B,但无法获得C
这样,双方就可以利用C进行加密、解密操作从而进行安全通信了。
我的迷惑:知道了g和A,难道不能计算出a = A/g吗?不太明白这个数学上的原理,书里也没细讲,欢迎热心人留言讲解一下:)
Public Keys for Private Messages
主人公:小白,小黑们,小花
背景:小白想让小黑们给他发送加密的信息,小花想获取这些信息
人物介绍:
小白:拥有一个数字私匙a,一个公匙A = a * g
小黑:拥有一个数字私匙b,一个公匙B = b * g
非人物介绍:
公共公匙:g,任何人都可以获得
小黑们开始向小白发送消息:
小黑:接受小白的公匙A,利用自己的私匙b和小白的公匙A对数据进行加密C = A * b,然后将加密数据和公匙B发送给小白
小白:接受小黑们的加密信息信息和公匙B,利用C = a * B解密信息
小花:获取了A,B,g,但无法解密数据
这种方式的核心仍是Key Agreement Protocol的原理,与Key Agreement Protocol的不同之处是小黑往往每次都换私匙b,因为不涉及到交互,因此保密性更强。
Digital Signature
数字签名的一个主要作用是验证发行人,例如验证声明为小白发布的信息的确是小白所发布,而不是其他人的冒名顶替。
主人公:小白,小黑,小花
背景:小白发布了一个信息,加入自己的签名,小花想伪造小白的签名,从而发布虚假信息
人物介绍:
小白:拥有一个公匙-私匙对
小白开始发布信息:
小白:在自己发布的信息中提取一个digest,然后使用私匙对这个digest进行加密
小黑:使用小白的公匙对小白的digest进行解密,然后与小白所发布的信息进行对照,如果一致,则可以确定这个信息的确是小白所发
小灰:无法获得小白的私匙a,因此对digest进行加密
公匙-私匙对(key-pair)的主要实现算法就是RSA算法
RSA
RSA算法思想的提出是在Diffie和Hellman于1976年发表的论文中提出的,然后Ron Rivest, Adi Shamir和Len Adleman在1977年提出了一种算法实现。
其核心思想:使用私匙加密的数据只有用公匙才能解密,使用公匙加密的数据只有使用私匙才能解密
这种方法的数学原理我还不清楚,希望热心人帮忙补充:)
分享到:
相关推荐
操作系统之安全算法:Digital Signatures:RSA数字签名算法解析.docx
数字签名是一种用于验证电子信息来源的真实性及其完整性的一种方法。它利用了公钥加密技术,通过发送方使用自己的私钥对信息摘要进行加密,接收方则使用发送方的公钥解密来验证信息的真实性和完整性。 #### 2. 公钥...
CRYPTO 2009的一篇文章,提出了一个标准模型下基于RSA的短签名方案
PDF最初的设计目标是提供一种能够确保文档在任何应用程序中创建、在任何地方发送并能在任何机器上查看和打印的方法。这一使命在Camelot项目中被明确,并通过首个PDF规范的发布和Adobe提供的PDF软件产品得以实现。...
操作系统之安全算法:Digital Signatures:非对称加密算法基础.docx
A Method for Obtaining Digital Signatures and Public-Key Cryptosystems[J]. Communications of the ACM, 1978, 21(2):120-126. [2] Kessler G C. An Overview of Cryptography[C]. 2001. [3] Python ...
RSA_SHA1签名机制是安全网络通信中的一种常见方法,它结合了RSA非对称加密算法和SHA1哈希算法,以确保数据的完整性和来源的不可抵赖性。在OAuth协议中,RSA-SHA1签名方法被广泛用于验证请求的合法性,保护用户信息不...
- Public (asymmetric) key encryption and digital signatures with RSA. Optional PKCS#1 v1.5 RSA padding. - Secret (symmetric) key encryption with AES (Rijndael) or ArcFour (RC4 compatible). - Hash ...
### 关于基于RSA假设的短且无状态签名方案的知识点 #### 一、研究背景与意义 在现代密码学领域,数字签名方案是至关重要的基础组件之一。它们被广泛应用于安全通信、数据完整性验证和身份认证等多个方面。随着计算...
数字签名并非物理签名的电子版本,而是一种加密技术,它通过公钥和私钥对来验证文档的完整性和发送者的身份。在PDF中,数字签名会记录任何对文档的修改,如果文档被篡改,签名会失效,从而保护文档免受欺诈。 2. *...
操作系统之安全算法:Digital Signatures:未来数字签名技术趋势.docx
操作系统之安全算法:Digital Signatures:数字签名原理与应用.docx
操作系统之安全算法:Digital Signatures:数字证书与认证机构.docx
操作系统之安全算法:Digital Signatures:哈希函数与消息摘要.docx
操作系统之安全算法:Digital Signatures:公钥基础设施PKI详解.docx
操作系统之安全算法:Digital Signatures:椭圆曲线数字签名算法ECDSA.docx
操作系统之安全算法:Digital Signatures:数字签名的攻击与防御.docx
操作系统之安全算法:Digital Signatures:数字签名在操作系统中的实现.docx