隐藏信息隐藏
关键词:信息隐藏,函数,密钥,算法,加密明文
1 介绍
信息隐藏的理论范围很广,包括从信息隐藏法到密码系统中的阈下通道,再到操作系统中的隐蔽通道。在本文中,我们通过考虑如何隐藏在诚实但好奇模型中执行的特定类函数的真实性质,进一步扩展了信息隐藏的范围。在这个模型中,函数由实体(例如,移动实体)在一个可信任的环境中执行,该环境不会干扰函数的操作(例如,信任不会引入故障),奇怪的是可能会搜索记录和分析实体的执行。
特别地,我们提出了一种新的方案,它隐藏了一个函数(看起来是一个非对称加密函数)实际上是加密明文还是有效删除明文。这被称为可疑的加密方案,它可以用来使移动实体在上述威胁模型中更加健壮。
为了推动该计划的实施,要考虑以下场景。发现移动实体将一个看起来是公钥的值传递给非对称加密函数(例如,在OS API调用中)。它还将从主机系统获取的明文传递给加密函数。实体将得到的密文传输到主机系统之外。如果在不理解公钥密码学的微妙之处的情况下,可能很容易得出结论,即加密正在进行,因此敏感信息正被发送到主计算机系统之外。
这种假设本身就有缺陷,因为在某些情况下,公钥的必要代数结构可能是不正确的,或者(例如,在ElGamal[9]中)公钥是在不知道原图像的情况下随机抽样的。如果生成的公钥不正确,可能会导致明文数据被删除,而不是加密。这是有问题的加密方案提供的属性之一。
可疑的加密支持两个不同方向的应用程序。用户部署许多移动实体,每个实体都有一个唯一的“公钥”。一些实体包含真实的公钥,其他实体包含假公钥。只有拥有真实公钥的实体才能传输从主机系统收集到的数据。其余的会在传输之前有效地删除明文,尽管它们会对数据进行非对称加密(删除是因为在有问题的计算加密方案中进行解密被证明是难以解决的)。用户随后根据他或她的判断披露非加密证据。
这个应用程序确保没有特定的实体(它的证据没有被揭露)可以肯定地知道实际上在主机之外传输数据。我们认为,这在诚实但好奇的威胁模型中为收集和传输数据的实体提供了一个有用的稳健性水平。
本文的主要贡献如下:
1.我们提供了一个可计算问题的加密方案的第一个正式和完整的定义。
2.给出了一个基于ElGamal的结构,并基于决策Diffie-Hellman问题和一个合理的难解性假设证明了该结构的安全性。
3.我们展示了可疑加密与全或无披露、(1,2)无关传输和可否认加密的区别(我们在附录A中将可疑加密与这些原语关联起来)。
4.我们描述了计算可疑加密的一个应用,它有助于隐藏移动实体收集主机数据的真正功能。
我们实现了我们的计算可疑加密方案,并在第6节描述了我们是如何做到这一点的。我们展示了需要驻留在实体中的实现部分,使用Windows Cryptographic API调用(内置DLL调用)实现是很简单的。
2 背景
可疑加密方案的概念非正式地出现在[20]的第6.2.2节中。然而,没有给出正式的定义,也没有提供任何证据。本文提出了一个启发式的计算可疑加密方案(基于公式1)和一个基于Goldwasser-Micali的完美的可疑加密方案。然而,完美的有问题的加密和计算有问题的加密之间没有区别。
最初的计算可疑加密启发式是基于计算满足以下条件的三元组(x,y,s)的问题,
gx mod p = y = H(s) and y isin; G (1)
这里G是由g生成的群,H:{0,1}lowast;-gt;G是随机函数。声明s是随机选择的大种子,并且没有指定从中抽取s的实际集合。本文给出了一个计算可疑加密方案的形式化定义,给出了一个在“种子”中没有歧义的构造,并证明了它是安全的。
有问题的加密方案的第一个正式定义在[21]中提出。这正式定义了完美的可疑加密方案的概念。一个完美的有问题的加密方案是这样一种方案,其中无条件地保持不可破译能力,而真实公钥和伪公钥的不可分辩依赖于计算难解性假设。该结构采用Paillier公钥密码体制。
3 定义
现在我们给出一个计算上有问题的加密方案的形式化定义。回顾一下,下面的定义摘自[10]。
定义1:如果对于每个常数cgt;=0都存在一个整数,则v可以忽略。存在一个整数kc使得对于所有kgt;= kc 都有v(k)lt;1/kc。
因此,如果nu;比任何逆多项式在k中消失得快,那么它在k中可以忽略不计。设k是安全参数。将G0()定义为在输入1k上输出一对值(x,y)的概率多时间算法。类似地,将G1()定义为在输入1k上输出一对值(x,y)的概率多时间算法。生成器G1为加密算法E和相应的解密算法D输出私钥x和对应的公钥y。让S1,k表示G1(1k)的可能输出的集合。类似地,设S0,k表示G0(1k)的可能输出的集合。设M是E的信息空间,c=E(m,y)表示misin;M在y下的加密,m=D(c,x)表示相应的解密运算。
我们要求(G1,E,D)是正确的(因此是安全的)公钥密码体制。(G1,E,D)的安全要求可以是任何公认的安全概念,例如针对明文攻击的语义安全[13]、针对自适应选择密文攻击的安全等等。在下面的定义中,我们要求针对明文攻击的语义安全成立(这就是我们对安全的定义)。在第5节中,我们展示了我们的构造很容易扩展以提供所选择的密文安全性。
定义2:设(F,G0,G1,E,D)是一个公共5元组,(G1,E,D)是一个安全的非对称密码体制,G0是一个有效的密钥生成算法,F是一个有效的可计算谓词。如果以下属性成立,
- [不可破译]如果(x,y)Risin;S0,k是公开的,则E(.,y)在语义上是抵抗明文攻击的,并且,
- [不可区分]根据G0(1k)生成的由伪公钥y组成的集合与根据G1(1k)生成的由真实公钥y组成的集合是无条件不可区分的,并且,
- [绑定]这是困难的去寻找一个3元组(x,x′,y)使得(x′,y)isin;S0,k和(x,y)isin;S1,k,以及,
- [可验证性]对于所有(x,y)isin;S0,k S1,k,F(x,y)=brArr;(x,y)isin;Sb,k,则(F,G0,G1,E,D)是一个计算上有问题的加密方案。在我们的ElGamal实例化中,当(x,y)isin;S1,k,x是ElGamal私钥和加密见证时。属性(1)表示对于(x,y)isin;S0,k(即y是假的),即使x是公开的,加密也是安全的。这是故意的,因为我们希望加密在这种情况下是每个人都无法破译的。我们称其为计算上有问题的加密方案,因为不可破译在难解性假设下成立。
性质3和4意味着概率多项式时间算法很难找到y、y的加密见证x和y的非加密见证xrsquo;。换句话说,这些性质意味着很难找到满足F(x,y)=1和F(xrsquo;,y)=0的(x,xrsquo;,y)。因此,生成单个公钥的用户必须“提交”一个真实或虚假的y。
由于F和y是公开的,所以生成(x,y)的用户只需披露x即可透露他或她的承诺。换句话说,x证明明文被有效地擦除或消息被安全地加密,无论是哪种情况。无法区分的要求可以减弱。然而,在本文中,我们没有必要弱化它。给出了一个令人满意的定义,其中假公钥的集合只与真公钥的集合有多项式不可区分。
4 一种基于ElGamal的构造法
现在我们将介绍一个基于ElGamal的构造。设p是大素数,q是除pminus;1的大素数。当p是安全素数p=2q 1时,群参数为p=p,当p为形式p=aq 1且agt;2时,群参数为p=(p,q)。
设k= p为安全参数。设g是ZZlowast;p的一个阶为q的元素,因此g生成ZZlowast;p的素数阶为q的子群Gq。
参数(p,g)是公开的,并且所有人都同意。参与使用可疑加密方案的每个人都必须同意(p,g)为DDH问题提供了合适的设置。这包括使用验证函数F的怀疑验证器。例如,p和q可以使用FIPS PUB 186-2中的DSA参数生成方法来生成。可替换地,可以使用(p,g)的良好接受的预定值,等等。
设T:0{,1lowast;}-gt;{0,1}|p|为随机函数。函数T可以使用随机预言来构造。我们定义了随机函数H,它使用。如下图所示。
H(s):
1.集合i=1。
2.将i格式化为二进制字符串is。
3.计算w=T(s||is)。
4.如果(wnotin;ZZp),则设置i=i 1并转到步骤2。
5.计算t=w(pminus;1)/q mod p。
6.如果(t=1),则设置i=i 1并转到步骤2。
7.输出t并停止。
G0(1k ):
1.选择xisin;RZZlowast;q。
2.将p和g分别格式化为|p|-位二进制字符串ps和gs。
3.计算h=H(ps||gs)并设置y=hx mod p。
4.输出(x,y)和停止。
G1(1k ):
1.选择xisin;RZZlowast;q。
2.计算y=gx mod p。
3.输出(x,y)和停止。
按照我们的定义,在ElGamal中,信息空间是Gq。当p是安全素数时,有一种简单的方法可以将消息编码到二次剩余集合中,然后对其进行解码。我们只需要缩小实际的信息空间就可以做到这一点。
为了基于ElGamal进行加密,我们选择tisin;RZZlowast;q并计算(a,b)=(gt,ytm)作为消息misin;Gq。公钥是y=gx mod p,私钥是x。为了解密,我们计算m=baminus;x mod p。
在函数F中,我们设1表示失败。该值本身不是谓词的一部分,因为F的预期输
剩余内容已隐藏,支付完成后下载完整资料
英语原文共 11 页,剩余内容已隐藏,支付完成后下载完整资料
资料编号:[596106],资料为PDF文档或Word文档,PDF文档可免费转换为Word
课题毕业论文、外文翻译、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。