WEB开发网
开发学院软件开发Python 用 hashcash 打击垃圾邮件 阅读

用 hashcash 打击垃圾邮件

 2007-03-29 12:40:11 来源:WEB开发网   
核心提示: RSA 公钥密码系统就是基于这种因数分解特性的,如果应答者能够回答因数分解质询(Challenge),用 hashcash 打击垃圾邮件(2),则说明他已经做了相当多的工作(或者偷偷地从生成那个组合的人那里得到了因数), 对交互式质询来说,所找到的前导零的数目就是特定戳记的比特值,给定 S

RSA 公钥密码系统就是基于这种因数分解特性的。如果应答者能够回答因数分解质询(Challenge),则说明他已经做了相当多的工作(或者偷偷地从生成那个组合的人那里得到了因数)。

对交互式质询来说,因数分解足以胜任。比如,我有一个在线资源,希望您能象征性地为其付出代价。我可以向您发送一个消息,说“只要您能因数分解这个数,我将让您得到这个资源”。没有诚意的人将无法得到我的资源,只有那些能够证明自己有足够的兴趣、付出一些 CPU 周期来回答这个质询的人才能得到这个资源。

非交互式质询

不过,有一些资源无法很方便地进行交互式协商。

我的电子邮件收件箱是我非常重视的一个资源。但不期而至的消息占用了我的一些磁盘空间和带宽,最糟糕的是,它们吸引了我的注意力。我并不介意陌生人给我写信,但是,我希望他们能以稍微认真的态度,亲自通过对我有价值的邮件与我取得联系。至少,我不希望他们是垃圾邮件制造者,那些人向我和上百万的其他人发送包含同样消息的邮件,期望我们中的某些人能购买某种产品或陷入一个骗局。

为了实现非交互式的“支付(payment)”,hashcash 让我向所有想给我发送电子邮件的人都分发一个 标准质询。在您的消息头中,必须包括一个合法的 hashcash 戳记(hashcash stamp);具体地说,该标志中包含我的收件人地址。

hashcash 提出质询的方式是,当通过安全散列算法(Secure Hash Algorithm)进行散列时,要求“minters”生成一个字符串(戳记,stamps),在它们的散列中有很多前导零。所找到的前导零的数目就是特定戳记的比特值。给定 SHA-1 的一致性与加密强度,找出给定比特值的 hashcash 戳记的惟一已知途径是平均 2^b 次运行 SHA-1。

上一页  1 2 3 4 5 6 7  下一页

Tags:hashcash 打击 垃圾

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接