网站地图

当前位置: 震情作文网 > 收压岁钱作文

云计算安全论文中密码学基础笔记

时间:2022-06-23 05:26人气:来源: 未知

一、定义
定义1 设G是一个集合,以G中的两个元素作为输入,如果a,b∈G,定义一个二元运算○(○号只是代表一种运算,可表示为+-*/),用a○b取代复杂的表达方式○(a,b),如果这个运算满足下列性质:
(1)封闭性——如果a和b都属于G,则a○b也属于G。

(2)结合律——对于G中的任意元素a、b和c,都有(a○b)○c=a○(b○c)成立。

(3)单位元——G中存在元素e,对于G中任意元素a,都有a○e=e○a=a成立。

(4)逆元——对于G中任意元素a,G中都存在元素a',使得a'○a=a○a'=a=e成立。G就叫作一个群,记为(G,○)。

如果这里的运算○是加法运算,则称G为加法群;如果这里的运算○是乘法运算,则称G为乘法群。如果一个群中的元素是有限的,则称这个群是一个有限群;否则称这个群是一个无限群。有限群中元素的个数称为群的阶

定义2 给定群G中元素a,称满足ai=e的最小正整数i为元素a的阶。

例:集合{01}关于xor运算的群,阶为2
封闭性:0 xor 1= 1属于该群
结合律:(0 xor 1xor 0=1=0 xor1 xor 0)
单位元为0:0 xor 0=00 xor 1=1
逆元为1:1 xor 0=11 xor 1=0

对于加法集合{0,1} ,封闭性和结合律符合,但是不存在单位元和逆元,因此不是群

二、特殊群

如果群(G,○)中的运算○还满足交换律,即对G中的任意元素a和b,都有a○b=b○a成立,则称G为一个交换群Abel,例如整数关于加法的运算(Z,○)就为交换群。

在群中定义求幂运算为重复使用群中的运算 mod 阶数(假设为6),如a○a=(a+a)%6,a4=a○a○a○a=(((a+a mod 6)+a mod 6)+a mod 6),。规定a0=e为单位元。如果一个群的所有元素都是a的幂ak,则称这个群是一个循环群,这里的k是整数。a也被称为这个群的生成元

例:整数加法群是一个循环群,1是生成元,每一个元素都是1的幂,如群{0,1,2,3,4},阶数为6:
4=1^4=[((1+1)%6+1)%6+1]%6
2=1^2=(1+1)%6
而且规定0=1^0,即0为0个1相加。

双线性映射

用两个符号和来表示两个乘法循环群,素数 p 为这两个循环群的阶, g 为群G 的生成元。如果具有以下性质,则称为双线性映射。

(1)双线性:对于任意a,b∈Zp,有e(ga, gb)=e(g, g)ab

(2)非退化性:存在g∈G ,可使 e(g, g) ≠1。即不可将$e:G imes G\rightarrow G^T$中的元素全部映射到循环群中的同一个元素。

(3)可计算性:对于$\forall u,v\in G$,即一定存在一个多项式时间算法来计算e(u,v)的值。

选择明文攻击(IND-CPA)

选择明文攻击的基本思想:攻击者A被允许自适应的选择多个消息,访问加密算法接口对消息进行加密。形式化为:攻击者A被允许与加密服务器B进行交互, B被视为一个’黑盒子’,将使用密匙SK(A不知道SK)加密A的消息。A询问服务器B选择消息m作为输入,服务器B将返回一个密文CT作为回复。 该项操作可以在多项式时间内多次进行。直到某个时刻,A决定不再询问,而是给出两条消息m1和m2,B任意选择一条消息进行加密,如果A能判断出密文是属于哪条消息,则称攻击成功。若攻击成功率有着不可忽略的多项式级别的优势(显著的大于50%),在该情况下可视为攻击者胜利。

CPA 安全模型

安全模型定义:

(1)Initialization 初始化阶段。 挑战者的访问结构为£,攻击者 A 选择要挑战挑战者的访问结构£。

(2)Setup 建立阶段。 首先执行 Setup($ 1^{\lambda} $ ),之后将该算法输出的公共参数 PP 分发给攻击者 A,将生成的主密钥 MK 留存。

(3)Query Phase 1 查询阶段 1。

在本阶段,攻击者 A 向挑战者发送属性集合,进行多次私钥查询,对于每一个集合,挑战者可以利用密钥生成算法生对应的密钥,并将密钥发送给攻击者。设这些集合为$ S_1,S_2....S_{q1} $ 。

(4)Challenge 挑战阶段。

攻击者将两个相同长度的明文消息m0 和m1 发送给挑战者,挑战者随机选择一个比特b$ \gets ${0,1},计算出一个密文$ c\gets Enc\left\{ m_b \right\} $,发送给攻击者 A。c 被称为挑战密文。

(5)Query Phase 2 查询阶段 2。

本阶段同询问阶段 1。

(6)Guess 猜测阶段。 攻击者输出对 β 的一个猜测值 β'∈{0,1},如果b=b',则该游戏的输出被定义为 1,否则定义为 0。

在本游戏中,定义$A d v=\left|\operatorname{Pr}\left[b^{\prime}=b\right]-\frac{1}{2}\right| $作为攻击者 A 赢的概率。我们称此游戏为选择明文攻击安全(IND-CPA),称攻击者为 IND-CPA 攻击者。

如果在任意多项式时间内该游戏攻击者的获胜概率是可忽略的,则称这个方案是安全的。

如果在任意多项式时间内该游戏攻击者的获胜概率是可忽略的,则称这个方案在选择明文攻击下是安全的。

选择密文攻击(IND-CCA)

选择密文攻击的基本思想:在选择密文攻击中,攻击者A被赋予更大的权限,A不仅可以访问加密服务器B选择一条消息进行加密,得到密文CT。还可以通过解密算法的接口要求服务器B对一条密文进行解密。A给出两条消息m1和m2,B随机选择一条消息进行加密,A对密文进行猜测,判断加密的是哪段文字。在此之后,A仍然可以继续输入明文和密文要求B进行加密和解密(对于A获得的猜测密文不能进行解密)。直到某个时刻,攻击者A不再询问B,并输出一个结果猜测m1,m2哪条消息被加密。若攻击成功率有着不可忽略的多项式级别的优势(显著的大于50%),在该情况下可视为攻击者胜利。

CCA 安全模型

安全模型定义 (C 代表挑战者,A 代表攻击者)

(1)Setup 建立阶段。 在这个阶段,挑战者 运行 CP-ABE 的 Setup 算法,计算出公共参数 PP ,公钥 PK 及私钥 SK ,将 PK 和 PP 发给攻击者 A , SK 由挑战者C 保存。

(2)Query Phase 1 查询阶段 1。

在本阶段,攻击者 A 可以向挑战者C 进行一次或多次解密查询。C 将解密后的明文信息发送给攻击者 A 。

(3)Challenge 挑战阶段。

此阶段,攻击者将两个相同长度的明文消息m0 和m1发送给挑战者,挑战者随机选择一个比特b$ \gets ${0,1},计算出一个密文$ c\gets Enc\left\{ m_b \right\} $,发送给攻击者 A。c 被称为挑战密文。

(4)Query Phase 2 询问阶段 2。

与挑战前的查询类似,查询除被挑战的密文外的其他密文。

(5)Guess 猜测阶段。

在此阶段,挑战者 A 尝试解密挑战密文并且输出他对b 的一个判断值b',A 将b'发送给挑战者 C 。如果所判断的b'=b,则攻击者赢得游戏。

在本游戏中,定义$A d v=\left|\operatorname{Pr}\left[b^{\prime}=b\right]-\frac{1}{2}\right| $作为攻击者 A 赢的概率。我们称此游戏为选择密文攻击安全(IND-CCA),称攻击者为 IND-CCA 攻击者。

如果在任意多项式时间内该游戏攻击者的获胜概率是可忽略的,则称这个方案是安全的。

如果在任意多项式时间内该游戏攻击者的获胜概率是可忽略的,则称这个方案在选择密文攻击下是安全的。

例:整数加法群是一个循环群,1是生成元,每一个元素都是1的幂,如群{0,1,2,3,4},阶数为6
4=14=[((1+1)%6+1)%6+1]%6
2=12=(1+1)%6
而且规定0=10,即001相加。

文章来源: http://www.everstarry.com文章标题: 云计算安全论文中密码学基础笔记

原文地址:http://www.everstarry.com/sysqzw/11645.html

上一篇:BliBli抢楼全攻略

网站首页

下一篇:没有了



本类导航