这几天在读《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年提出了一种算法实现。
其核心思想:使用私匙加密的数据只有用公匙才能解密,使用公匙加密的数据只有使用私匙才能解密
这种方法的数学原理我还不清楚,希望热心人帮忙补充:)
分享到:
相关推荐
C#C#A Method for Obtaining Digital Signatures and Public-Key Cryptosystems A Method for Obtaining Digital Signatures and Public-Key Cryptosystems A Method for Obtaining Digital Signatures and Public-...
short and stateless signatures from the RSA assumption.pdf 数字签名 RSA 标准模型 可证明安全
CRYPTO 2009的一篇文章,提出了一个标准模型下基于RSA的短签名方案
使用iText对PDF进行数字签名的官方文档
IText Digital Signatures for PDF documents官方文档,英文版
- 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 ...
使用最广泛的公钥加密算法 Rivest, Shamir & Adleman (RSA...R L Rivest, A Shamir, L Adleman, "On Digital Signatures and Public Key Cryptosystems", Communications of the ACM, vol 21 no 2, pp120-126, Feb 1978
Class to handle RSA-SHA1 signatures on OAuth requests.
A Provably Secure Anonymous Two-Factor Authenticated Key Exchange Protocol for Cloud Computing
Susan Hohenberger and Brent Waters在CRYPTO 2009发表的文章,CSDN上有一个这样的资源,也是PDF格式,但那个是PPT的,此文档是完整版全文,我找了好久才找到,希望对大家有用。
including AES, DES, 3DES, RSA, SHAx hashing, HMACs, and digital signatures Combine cryptographic techniques to create a hybrid cryptographic scheme, with the benefits of confidentiality, integrity, ...
and assurance of domain parameter validity shall be obtained prior to performing any other process associated with digital signatures, including the generation of digital signature key pairs and the ...
a result, we present practical signature schemes based on the CDH, the RSA, and the SIS assumptions. Our schemes compare favorably with existing schemes based on these assumptions. Our core idea is ...
Adobe PDF数字签名技术官方文档
This guidance document was developed by the Federal Public Key Infrastructure Steering Committee to assist Federal agencies that are considering the use of public key technology for digital signatures...
Public key cryptography is a major interdisciplinary subject with many real-world applications, such as digital signatures. A strong background in the mathematics underlying public key cryptography is...
mssql的存储过程增强和加密 XP_CRYPT encryption methods overview XP_CRYPT 3.6 supports: Symmetric algorithms AES DESX RC4 Triple DES ...Asymmetric algorithms ...Digital signatures RSA DSA
ElGamal algorithm not only used for data encryption can be used for digital signatures, their safety depends on the calculation of a finite field discrete logarithm this problem. Key to the method. ...
* classical cryptographic constructions, such as Diffie-Hellmann key exchange, discrete logarithm-based cryptosystems, the RSA cryptosystem, and digital signatures; * fundamental mathematical tools ...