zoukankan      html  css  js  c++  java
  • 基于身份的加密体制

    动机

    基于身份加密技术是为了解决公钥加密算法中数字证书管理的困难性而提出的,基于身份加密技术使用用户的身份 ( 如 ID 和邮箱等 ) 作为公钥,由可信的第三方(PKG)产生用户的私钥。基于身份加密技术是一 种公钥加密技术,可实现身份鉴别、消息加密、数字签名和协商会话密钥。

    算法

    a)系统初始化算法setup。该算法的输入是安全参数k,输出是系统参数params和主密钥msk。该算法由PKG执行。

    b)私钥生成算法keyGen。该算法的输入是params、主密钥msk和身份ID,输出是ID对应的私钥d。该算法由PKG执行。

    c)加密算法encrypt。该算法的输入是params、身份ID和消息M,输出是密文C。该算法由加密者执行。

    d)解密算法decrypt。该算法的输入是params、密文C和私钥d,输出是消息M。该算法由解密者执行。

    安全模型

    1)系统参数生成 挑战者选择安全参数k,并运行setup 算法生成系统参数params和主密钥msk;挑战者将params发送给敌手,并保存msk。

    阶段1

    敌手提出一系列询问,询问是a)私钥询问<IDi.>或者b)解密询问<IDi,Ci>

    2)挑战 敌手结束阶段1的询问,输出长度相等的明文M0,M1和身份ID*。要求在阶段1中敌手没有询问过ID*。的私钥。挑战者随机选择b∈{0,1},计算C*=encrypt (params,ID*,Mb),并把C*作为挑战发送给敌手。

    阶段2

    敌手提出一系列询问,询问是a)私钥询问<IDi.>或者b)解密询问<IDi,Ci>,其中IDi≠ID*,<IDi,Ci>≠<ID*,C*>

    询问都是适应性的,也就是说当前询问依赖于以前询问的结果。

    3)猜测

    敌手输出b'∈{0,1}。如果b'=b,则敌手赢得游戏。

    把上面的敌手A称为IND-ID-CCA2敌手,定义优势

    T8jwa8.png

    如果优势可以忽略,则IBE方案是不可区分适应性选择密文攻击(IND-ID-CCA2)安全的。

  • 相关阅读:
    汉诺塔难题
    函数的两种调用方式

    汉诺塔难题
    汉诺塔难题

    python中对小数取整
    linux中部署apache服务(http服务或者web服务)
    python中如何判断变量类型
    python中求余数
  • 原文地址:https://www.cnblogs.com/qing123tian/p/15723767.html
Copyright © 2011-2022 走看看