作者Killercat (杀人猫™)
站内Programming
标题Re: [问题] 数位凭证的签名是怎麽签呢?
时间Tue May 15 11:57:41 2007
※ 引述《[email protected] (foolish)》之铭言:
: 各位版友好,
: 小弟最近在查有关数位凭证的资料。
: 上维基百科查了一些关於数位签名的资料
: 不过不是很明白真实的数位凭证所附的签名是怎麽做的
: 依理解
: 情况1:
: certificate -> md5 -> md5 + private key signed = 签名
: 情况2:
: certificate + public key -> md5 -> md5 + private key signed = 签名
: 情况3:
: certificate -> md5 \
: +-> md5 -> md5 + private key signed
: public key -> md5 /
: 情况4:
: certificate -> md5 + private key signed \
: +-> md5 -> md5 + private key s.
: public key -> md5 + private key signed /
: 或是以我的想像,这些都是错的 @"@
: 期待能有学习过的朋友提示一下 感激不尽。
签名通常用的是所谓的不对称key来做
我不知道你对於不对称加密有没有概念 我大略说明一下
我现在有两把key, 一把是公开给所有人知道的public key
一把是只有我私人持有的private key.
我把我的签名用private key加密以後
所有的人都可以藉由"可否由public key解密"得知这个讯息是不是我发的
要是可以用我公开给大家的public key解密的话
那代表这份文件是被我私人持有的private key加密
进而确认这份文件真的是我发的 就好像我签了一个名在上面一样
在实务上我们并不需要对整份文件加密
我们可以把整个文件hash起来以後对这个hash加密
然後公开加密过的hash即可 =P
这个hash+加密以後就是一种签名
如此一来人人皆可浏览 特定持有public key(或者全部)的人可以验证
当然数位签章还有其他的方法 不过这应该是最简单的一种就是
希望对你有帮助
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 221.169.77.110