以一种盲签名方案说明其满足下面两条性质

盲签名(Blind Signature)性质

(1)签名者对其所签署的消息是不可见的,即签名者不知道他所签署消息的具体内容。

(2)签名消息不可追踪,即当签名消息被公布后,签名者无法知道这是他哪次签署的。

盲签名(Blind Signature)模型

  1. 接收者首先将待签数据进行盲变换,把变换后的盲数据发给签名者。
  2. 经签名者签名后再发给接收者。
  3. 接收者对签名再作去盲变换,得出的便是签名者对原数据的盲签名。
  4. 这样便满足了条件①。要满足条件②,必须使签名者事后看到盲签名时不能与盲数据联系起来,这通常是依靠某种协议来实现的。

大致的图示如下:

盲签名(Blind Signature)--RSA方案

传统的 RSA 方案大致过程如下(前提条件就没有列出):

加密:

解密:

签名者一般是基于消息的哈希值签名的,对于盲签名的要求,唯一不能满足的就是"签名者"事先会知道消息.所以RSA盲签名方案做了巧妙的转变.就是首先将消息 m 转化为 m`, 在此需要一个参数 r , gcd(r, N)=1. 然后就进入传统的 RSA 过程了.

  1. 盲化消息:
  2. 签名消息:
  3. 除盲消息:

这个方案有效的原因是:
                  
                 

原文地址:https://www.cnblogs.com/wenzhou12/p/10747096.html

时间: 2024-11-03 13:39:42

以一种盲签名方案说明其满足下面两条性质的相关文章

201401-基于驱动遍历的一种OD检测方案-kido[4st TeAm]

基于驱动遍历的一种OD检测方案 Kido[C.L.G][4.s.T] 好久没写过文章了,这次写一篇关于OD检测方面的科普文. 个人浅薄之见,不喜勿喷. 众所周知,OllyDbg是一款普及度很高的Windows下32位免费Ring3级别的调试工具. 以其插件丰富,操作便捷,功能强大深受广大程序猿,灰客,安全砖家等各种生物喜爱. 自有了软件开发这个概念伊始,调试器就一直存在.随着时代的进步,众多乡非青年对灰客技术的向往,软件安全.加密解密也越来越受众人注视. 人们为了优化,逆向,二次开发,找寻漏洞,

Session和几种状态保持方案理解

一.术语session 在我的经验里,session这个词被滥用的程度大概仅次于transaction,更加有趣的是transaction与session在某些语境下的含义是相同的. session,中文经常翻译为会话,其本来的含义是指有始有终的一系列动作/消息,比如打电话时从拿起电话拨号到挂断电话这中间的一系列过程可以称之为一个session.有时候我们可以看到这样的话"在一个浏览器会话期间,...",这里的会话一词用的就是其本义,是指从一个浏览器窗口打开到关闭这个期间①.最混乱的是

[💯原]IOS之Objectic-C的单例的两种安全实现方案

所有转出博客园,请您注明出处:http://www.cnblogs.com/xiaobajiu/p/4122034.html Objectic-C的单例的两种安全实现方案 首先应该知道单例的实现有两大类,一个是懒汉式,一个是饿汉式.所谓的懒汉式就是在我们用到某对象(资源)的时候,去问一个负责提供的方法要那个对象.那个方法发现没有这个资源时就去创建资源,如果是已经有该资源时就直接返回这个资源.而饿汉式就是那个负责提供的方法早已为我们准备好了我们想要的资源问它,它就提供给我们那个它早就准备好了的资源

最常用的两种C++序列化方案的使用心得(protobuf和boost serialization)

导读 1. 什么是序列化? 2. 为什么要序列化?好处在哪里? 3. C++对象序列化的四种方法 4. 最常用的两种序列化方案使用心得 正文 1. 什么是序列化? 程序员在编写应用程序的时候往往需要将程序的某些数据存储在内存中,然后将其写入某个文件或是将它传输到网络中的另一台计算机上以实现通讯.这个将 程序数据转化成能被存储并传输的格式的过程被称为"序列化"(Serialization),而它的逆过程则可被称为"反序列化" (Deserialization). 简单

【独家】阿里天池IJCAI17大赛第四名方案全解析(附代码)

[独家]阿里天池IJCAI17大赛第四名方案全解析(附代码) https://mp.weixin.qq.com/s?__biz=MzAxMzA2MDYxMw==&mid=2651560625&idx=1&sn=bd8ca61516ac57937e1abf52c6a2cbd6&chksm=805765dbb720eccd660cc2cd727c9761b07ec00c1359a0a12f370331e4449a3caa856f99f245&scene=0&pa

转:JavaScript Promises相当酷:一种有趣的方案库

许多的语言,为了将异步模式处理得更像平常的顺序,都包含一种有趣的方案库,它们被称之为promises,deferreds,或者futures.JavaScript的promises ,可以促进关注点分离,以代替紧密耦合的接口. 本文讲的是基于Promises/A 标准的JavaScript promises.[http://wiki.commonjs.org/wiki/Promises/A]Promise的用例: 执行规则 多个远程验证 超时处理 远程数据请求 动画 将事件逻辑从应用逻辑中解耦

C++的一种业务分发方案(另类的工厂模式)

在C++中,传统的业务分发,总要写一大串的switch-case,而且每次增加新业务时,都要在原有的switch-case里加一个分支,这就违反了设计模式中的开放封闭原则, 以下这种方案,就完全去除了switch-case,每当要添加业务模块时,只要写一个TEST_MODULE(index, name)就可以了. 思路很简单,直接上代码: #include <iostream> #include <string> #include <map> using namespa

最经常使用的两种C++序列化方案的使用心得(protobuf和boost serialization)

导读 1. 什么是序列化? 2. 为什么要序列化?优点在哪里? 3. C++对象序列化的四种方法 4. 最经常使用的两种序列化方案使用心得 正文 1. 什么是序列化? 程序猿在编写应用程序的时候往往须要将程序的某些数据存储在内存中,然后将其写入某个文件或是将它传输到网络中的还有一台计算机上以实现通讯.这个将程序数据转化成能被存储并传输的格式的过程被称为"序列化"(Serialization),而它的逆过程则可被称为"反序列化"(Deserialization). 简

一种 jquery 检索方案

整理自:http://www.cnblogs.com/linjiqin/archive/2011/03/18/1988464.html <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>struts2</title> <meta http-equiv="pragma" content