zoukankan      html  css  js  c++  java
  • 盲签名 blind signature 简介

    盲签名(Blind Signature)定义

    是一种数字签名的方式,在消息内容被签名之前,对于签名者来说消息内容是不可见的.
    类比例子:对文件签名就是通过在信封里放一张复写纸,签名者在信封上签名时,他的签名便透过复写纸签到文件上。


    盲签名(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. 除盲消息:

    这个方案有效的原因是:
                      
                     


    盲签名(Blind Signature)--RSA方案的致命缺点(待续)

    本文译自:http://en.wikipedia.org/wiki/Blind_Signatures,部分参考的百度百科.

  • 相关阅读:
    [Alibaba微服务技术入门]_服务配置中心进阶_第6讲
    [Alibaba微服务技术入门]_服务配置中心入门_第5讲
    [Alibaba微服务技术入门]_整合OpenFeign实现远程调度_第4讲
    [Alibaba微服务技术入门]_服务的消费_第3讲
    CSS居中对齐终极指南
    13 条高效实用的 JavaScript 单行代码
    写个锤子JS!它应该是你最后的选择
    Vue.js 实现的 3D Tab菜单
    15个超强悍的CSS3圆盘时钟动画赏析
    Node.js 安全指南
  • 原文地址:https://www.cnblogs.com/java20130722/p/3207082.html
Copyright © 2011-2022 走看看