The Commitment in Crypto
Commitment Scheme
利用承诺方案,当承诺者需要承诺一条消息mmm时,可以将该消息放入信封中,并在稍后打开信封,公开其承诺的信息
承诺方案具备两个性质
隐藏性:承诺方案不会揭示被承诺的消息
绑定性:承诺者无法将被承诺的消息揭示为两个不同的值,也即揭示阶段无法改变被承诺的值
常见承诺方案的基本流程:
【01】发送承诺:Sender选取随机数r,计算m的承诺值,构造C=Commit(m,r)C=Commit(m,r)C=Commit(m,r),将承诺值发送给Receiver
【02】打开承诺:发送m与r
【03】验证承诺:Receiver计算C′=Commit(m,r)C'=Commit(m,r)C′=Commit(m,r),判断C′=CC'=CC′=C
哈希承诺
【01】发送承诺:Sender选择一个明文m,计算承诺值C=H(m)C=H(m)C=H(m),将C发送给Receiver
【02】打开承诺:Sender公开明文m
【03】验证承诺:Receiver计算C′=H(m)C'=H(m)C′=H(m),判断C′=CC'=CC′ ...
Provable Security Basics
Provable Security Basics
Three steps:
Precisely specify threat model
formal model and definition of what security means
Propose a construction
Write a formal proof
Show that under the threat mode if assumption X holds,then the construction is secure.
Textbook RSA
why Textbook RSA is insecure?
about RSA padding
与对称加密算法DES,AES一样,RSA算法也是一个块加密算法( block cipher algorithm),总是在一个固定长度的块上进行操作,即需要填充消息,但跟AES等不同的是,block length是跟key length有关的。
举例:想传输的密文为No, ASCII 为 0x4E 0x6F, 所以得到明文 M = 0x4E6F
密文 ...