强抗泄漏加密:通过隐藏部分密文增强数据机密性
1 引言
1.1 现有泄露模型的背景
1.1.1 有界检索模型
有界检索模型[2–5]假设在被攻击系统的整个生命周期中,泄露信息的总量被一个常数 所上界限制,该常数可能高达吉字节。一种现有方法[2,4]是有意使共享密钥长度显著大于泄露上限—(例如,≥ 2+λ,其中 λ是安全参数)。为了使计算速度与使用短密钥的情况一样快,该方法假设存在一个无泄露阶段,在此阶段中,通信的一方(例如,爱丽丝)可以使用随机种子从大的共享密钥中随机提取一个短会话密钥。另一方(例如,鲍勃)在接收到相同的随机种子后,可以从相同的大型共享密钥重新生成相同的短会话密钥。
很明显,在连续有界泄露设定下,任何静态密钥都可能被逐比特地泄露,且由于短种子可能(部分)被泄露,伪随机性技术无法直接应用。此外,我们允许 O(λ)比特的信息泄露,使得泄露阈值可能大于密钥长度(例如,上文提到的短会话密钥);因此,整个分组密码密钥(例如,128位AES密钥)都可能被泄露。因此,有界检索模型无法满足我们的目标。
1.1.2 密码学原语计算过程中的无泄露时间段
Alwen等人[3]提出了一些具有灵活(且可能非常大)密钥长度的抗泄露密码学原语。他们在认证密钥协商方案中的一个关键思想是:(1)在初始化设置阶段生成多个密钥;(2)在无泄露时间段内,发送方和接收方将随机选取一个密钥子集,使用它们相互认证,并建立一个短的共享会话密钥。只要在有界泄露后仍有恒定比例的密钥对攻击者未知,那么随机选取的密钥子集中以极高的概率至少包含一个攻击者未知的密钥。之后,使用该短的安全会话密钥(例如,高级加密标准)应用标准密码学原语。
在我们的泄露环境中,将不存在无泄露时间段,任何短值(例如AES密钥)都可能被泄露。因此,我们必须寻求新的方法。
1.1.3 密钥从不离开安全硬件设备
安全硬件设备(例如可信平台模块)的计算能力可能无法与台式机Intel/AMD CPU的性能相匹敌。安全硬件设备(例如可信平台模块(1)和 Intel SGX([6])也可能遭受侧信道攻击。此外,似乎没有证据表明安全硬件设备的厂商比计算机系统中其他组件(例如 CPU、GPU、内存、硬盘、操作系统、网页浏览器、虚拟机软件等)的厂商更值得信赖。
1.1.4 随机性提取器
有人可能会考虑从长密钥中提取一个短分组密码(例如,高级加密标准)密钥,然后直接使用该短分组密码加密消息。假设信息泄露仅发生在随机性提取器应用之前(例如,如[2,4]所设定的情况),则此方法可行。但在我们的设定中,我们不作此类假设,而是允许在任何时间发生有界泄露。
1.1.5 无记忆性信息泄露预言机
相关工作中的侧信道攻击的泄露预言机与本文中特洛伊木马恶意软件结合隐蔽信道攻击的泄露预言机之间的一个本质区别在于,该泄露预言机是否具有缓存内存以及是否被允许访问历史数据。抗泄漏密码学领域的一些近期研究[7–9]假设:(1)对于每次密码学原语的调用,泄露阈值小于密钥长度;(2)泄露预言机仅从密码学计算的当前状态获取输入,且不允许访问历史状态。通过频繁刷新密钥(结合其他技术),可以实现安全性。设想一个简化的例子[7]:为了加密第i条消息,可以采用一个全新的256比特加密密钥ki:= SHA256(ki−1),而攻击者仅能通过该密钥ki获得单个比特 L(ki) ∈{0, 1}。在所有泄露信息{L(kj):j ∈[0, i]}的情况下,多项式时间对手似乎无法获得关于任意密钥的有用知识。然而,在本文所讨论的特洛伊木马结合隐蔽信道攻击场景中,特洛伊木马恶意软件可能将旧密钥k0保存在本地缓存内存中,并通过隐蔽通道在每次加密方案调用时发送出一位信息。因此,在加密了 |k| = 256条消息后,k0的全部256比特都可能被发送给远程攻击者,该攻击者可由此计算出每一个ki和k0。结合所有可通过窃听获得的密文(无需依赖泄露预言机),攻击者即可解密并恢复所有明文。因此,256比特的信息泄露导致了所有内容的暴露——包括所有明文和(未来的)密钥。本工作提出的新安全形式化目标正是防止此类泄露放大现象的发生。我们强调,在本工作中,我们忽略由于冗余引起的平凡泄露放大问题。
表1 不同加密设置的比较。设消息 := Dec(k;Ctx0‖Ctx1)其中 | |Ctx0||||Ctx1||
| — | — | — |
| 公式化 | 攻击者解访密问密钥k? | 攻击者能否访问密文 (Ctx0, Ctx1)? |
| 传统加密(AES,RSA) | No | 完全访问 |
| 抗泄露加密 | 有受控且的部分访问 | 完全访问 |
| 本工作 | 有界的但无控制的部分访问 | 完全访问 Ctx1, 和有界的但无控制的部分访问 Ctx0 |
| 安全定义 | 工具和方法 |
|---|---|
| 语义安全 (CPA/CCA1/CCA2) | 计不算可上区分性 |
| 多样化。某些简单设置可能采用语义泄露安全预言机查询[8,9] | 随机性提取器 |
| 防止信息泄露放大 | 秘密共享;…的变体 柯尔莫哥洛夫复杂性。计算上不可区分性是不合适的 |
明文的结构和上下文。我们假设在加密之前,明文已经“完全”压缩,因此任何有效的攻击者都无法从给定数量的明文比特中学习到更多额外的比特信息。
研究具有有限泄露带宽(例如每次调用密码原语为 比特)和有限缓存内存(例如 w比特内存)的攻击者的抗信息泄露密码学将是非常有趣的。本工作中,我们实际上并未对缓存内存的大小设定任何上界。由于大带宽的隐蔽通道和/或具有大缓存内存的特洛伊木马可能更容易被现有方案(例如防病毒软件、入侵检测系统、抗特洛伊木马硬件[10,11])捕获或防范,因此对 和 w的值设置较小的上界是合理的。我们将此作为一个开放问题留给未来研究。
1.2 我们的贡献
1.2.1 新的泄露环境
由于现有的泄露环境不符合我们的目标,我们提出了一种新的强泄露模型,以捕捉计算机硬件/软件系统中后门或特洛伊木马以及隐蔽信道的威胁。我们允许在任何时间、任何地点、对任何内容进行有界(例如,10,000比特)的信息泄露,仅对攻击者施加两个限制:(1)攻击者的算法是高效的(概率多项式时间);(2)隐蔽信道的带宽从上方有界。据我们所知,第1.1节中为泄露环境设计的所有现有工作在此模型下均被轻易攻破。
在我们的泄露环境中,特洛伊木马能够观察到受害程序(例如加密程序)的每一步计算过程,从而窃取整个较短的私钥。我们强调,使用程序混淆的白盒密码学[12,13],虽然声称可以保护加密设备被攻击者直接控制时的密钥安全,但对于一个简单的函数[14]而言也极不实用。
在大多数(如果不是全部)现有研究中,通常假设攻击者能够轻易获取密文的全部信息(例如,通过窃听),而无需采用任何昂贵的攻击方法(例如,侧信道或隐蔽信道泄露)。相比之下,本文假设密文的一小部分(例如1%)受到与密钥同样强的保护,因此攻击者必须采用更高级的方法(例如后门、特洛伊木马和隐蔽信道攻击)来获取这部分密文,就像其窃取密钥一样。这部分密文的大小将明显超过泄露阈值,而泄露阈值又远大于底层密钥的大小。稍后,在第2.3节中,我们将通过现实世界的例子支持这一假设。我们在表1中比较了各种加密方案的设置。
1.2.2 窃取熵的概念
我们提出了一种称为“窃取熵”的新概念,作为柯尔莫哥洛夫复杂度的一种计算版本。借助这种“窃取熵”,我们定量分析了本方法相较于现有工作的优势。我们的公式化过程非平凡,必须解决若干重要问题:(1)与香农熵不同,姚熵和希尔熵是定义在随机变量分布上的,而柯尔莫哥洛夫复杂度是定义在字符串上的,而我们的窃取熵将定义在一个算法上,该算法将输入随机变量的分布转换为输出随机变量的分布。(2)统计或计算不可区分性概念(例如在选择明文攻击/适应性选择密文攻击/强适应性选择密文攻击模式下的语义安全)在我们的信息泄露环境中不适用,因为任意单比特的信息泄露都将使攻击者能够轻易赢得猜测游戏。(3)柯尔莫哥洛夫复杂度通常是不可计算的,但在我们的公式化过程中,应避免定义任何不可计算函数。因此,与现有的各种熵的公式化形式不同,很难将我们的窃取熵定义为一个单一的标量值(我们将在下一节中讨论其原因)。相反,我们将为给定算法的窃取熵提供一个上界和一个下界。要证明某个程序的窃取熵较低,我们需要给出该程序窃取熵的一个较小的上界;要证明某个程序具有较高的窃取熵,我们需要给出该程序窃取熵的一个较大的下界。
1.2.3 构造
我们提出了一种高效的加密方案,并证明隐藏部分密文可以成为抵御强信息泄露攻击的有力工具。我们使用范德蒙德矩阵构造加密方案,并在不依赖任何困难问题假设的情况下评估了该方案的窃取熵。非正式地说,我们的加密方案能够确保:即使攻击者窃取了其选择的有界数量的消息(例如整个较短的私钥),只要未获得完整的密文,攻击者关于明文所能获取的信息也非常有限。我们将把我们的方案与一些相关方法进行比较,包括全有或全无变换和白盒密码学,而这些方法均无法满足我们的目标。
所提出的解决方案将用于构建“虚拟隔离网络”[15]。我们将在第2节中详细讨论。
1.3 组织结构
本文其余部分的组织方式如下:第2节概述了我们的工作,包括我们的信息泄露环境、窃取熵的形式化定义,以及我们提出的抗信息泄露/抗窃取加密方案的构造方法。除了在第1节和第2节中已讨论的相关工作外,第3节还进一步讨论了更多相关工作。我们在第4节中给出了窃取熵的正式定义,在第5节中提出并分析了我们的加密方案。在第6节总结全文之前,第3节讨论了前几节未涵盖的更多相关工作。我们的证明见附录。
2 我们的工作概述
2.1 我们的泄露环境
2.1.1 新泄露环境的动机
本文旨在防范侧信道攻击和隐蔽信道攻击。如今,计算机系统变得极为复杂,包含大量由不同国家的多家公司设计、制造和销售的软硬件组件。对于个人计算机用户而言,检查其计算机系统的软硬件中是否已被植入后门程序或恶意软件(例如特洛伊木马)绝非易事。著名的“双椭圆曲线确定性随机比特生成器” (Dual_EC_DRBG)后门2表明,算法/软件/硬件中的后门所带来的潜在威胁离每位计算机用户并不遥远。另一个严重威胁是软件木马甚至硬件木马。3后门或特洛伊木马恶意软件可能会监视受害者计算机系统以收集信息,并通过隐蔽通道或隐秘通道将所收集的信息(可能经过压缩)发送出去。
面对来自后门和特洛伊木马的此类威胁,本工作必须修订现有的泄露环境:(1)理论上,后门或特洛伊木马程序可能由某些软硬件供应商植入,并从一开始就存在于受害者计算机中。因此,假设存在无泄露时间段可能是不合适的。(2)安全硬件设备可能遭受侧信道攻击。更糟糕的是,后门程序可能由安全硬件设备的厂商植入,导致安全硬件设备无泄漏的假设难以成立。(3)后门或特洛伊木马恶意软件可能拥有自己的存储缓冲区,因此历史数据可以被缓存,然后通过隐蔽通道逐位泄露。
2.1.2 新的泄露环境
通常,我们允许在任何时间、任何地点和任何对象上进行具有有界带宽的高效泄漏。对信息泄露的唯一两个限制是:(1)每次加密的泄漏量(即隐蔽通道的带宽)是有界的(例如, O(λ))。本文关注中等程度的泄露阈值,例如数万比特,这远大于典型的私钥长度(例如,AES密钥和RSA私钥)。(2)后门或特洛伊木马程序(即泄漏函数)是计算上有界的(例如,多项式时间算法)。我们的设定更接近于内存抗泄漏密码学的研究,而不遵循“计算会泄露信息”的假设[16]。
回想一下,在大多数(如果不是全部)抗信息泄露密码学的研究工作中,攻击者有两种不同的方法来获取所需信息:
- 一种廉价的方法来获取大量保护较弱的信息,例如在通信链路上窃听密文。
- 一种获取少量强保护信息的高成本方法,例如,使用侧信道攻击或特洛伊木马恶意软件结合隐蔽通道攻击来获取短密钥的部分或完整信息。
在现有研究中,通常假设攻击者可以通过低成本方法(例如窃听)获取密文的全部信息,同时在获取短密钥信息方面受到若干限制(例如假设存在无泄露时间段或硬件设备限制)。与现有研究不同,本文对信息泄露施加最少的限制,并假设密文中的一小部分(例如1%或0.1%)与短密钥一样受到强保护,使得攻击者必须借助高成本方法(例如特洛伊木马和隐蔽通道)才能获取这部分密文。接下来,我们将通过现实世界的例子来支持这一假设。
安全存储设备 在数据存储方面,我们假设有两类存储:一类是小容量的,安全性高,但单位价格可能更昂贵;另一类是大容量的,安全性相对较低,但可能更便宜。如果用户希望在云存储服务器上备份大量敏感的历史数据,但不信任云环境在数据机密性方面的保障,那么该用户的该加密方案是长度保持的,密文的大小等于明文的大小。本地离线存储设备,即物理隔离于任何计算机和互联网的设备,可能是前者的示例,而云存储5可能是后者的示例。
Securecommunicationlink 对于数据传输,我们假定存在两类通信信道:一类是小带宽的通信信道,其安全性更高,但可能非常昂贵,使得攻击者无法以较低成本获取传输的数据(例如窃听);另一类是大带宽的通信信道,其安全性相对较低,但成本可能更低,使得攻击者能够以较低成本获取所有传输的数据。前者的示例是无条件安全的量子通信网络 6(量子密钥分发与一次一密相结合),后者的示例则是互联网。另一个例子是徐和周[15],最近提出的“虚拟隔离网络”7,这是一种具有两条通信信道的混合网络:一条是带宽较小的物理隔离网络,另一条是带宽较大的互联网。他们的工作[15]将这两条信道通过单向网络链路(即数据二极管或空气间隙)进行结合,从而确保隔离网络始终与互联网保持物理隔离。
我们的策略是利用少量更安全但昂贵的硬件资源,来提升大量安全性较低但成本较低的硬件资源的安全级别,从而实现在安全上的混合效果。我们的目标是防止攻击者窃取我们密文的全部信息。
2.2 窃取熵的概念
与之前的信息泄露公式化不同,我们尝试从一个不同的角度来形式化泄露环境中的安全。我们试图回答一个非常重要的问题:攻击者至少需要窃取多少比特才能获得期望的保密信息?
本工作中,我们关注的是攻击者需要通过高成本方法获取多少比特。
以获取明文的全部或部分信息。非正式地,我们可以将其称为“最小但足够的泄露/窃取比特数”,这将导致秘密明文被破解,即加密算法的窃取熵。
设 P(例如加密算法/程序)表示受害算法或程序。在我们的公式化中,攻击者选择两个算法,分别记为窃取算法S和恢复算法R。窃取算法 S被赋予对 P整个计算过程的预言机访问权限,包括所有内部状态(例如密钥、随机种子、输入以及任何计算步骤)。然后,窃取算法S被允许向恢复算法R传递一条至多为 比特的短消息,该恢复算法尝试输出期望的保密信息。如果恢复算法R能够以接近1的概率输出期望的保密信息,且的值远小于期望的保密信息的大小,则称受害算法 P具有非常低的窃取熵率。本工作中,我们关注泄漏阈值 的中等取值(例如数万),该值大于典型密钥长度,但可能远小于典型密文长度。图 1展示了我们的公式化设置。我们提出的“窃取熵”概念可被视为柯尔莫哥洛夫复杂度的一种计算版本。
2.2.1 窃取输入或输出中的熵
伪随机数生成器、伪随机函数和加密是用于保护数据机密性的重要密码学原语。对于类似于伪随机数生成器和伪随机函数的算法P,我们感兴趣的问题是:假设一个特洛伊木马恶意软件正在观察算法P在随机选择的输入x上的计算过程,该特洛伊木马恶意软件至少需要窃取并传出多少比特,才能使远程攻击者能够恢复算法P的输出P(x)?为了解决这个问题,我们定义了一个称为“输出中的算法窃取熵”的概念。
对于类似于加密方案的算法P,我们感兴趣地提出另一个问题:假设一个特洛伊木马恶意软件正在观察算法P在随机选择的输入x上的计算过程,该特洛伊木马恶意软件至少需要窃取并传出多少比特,才能使远程攻击者能够恢复输入x,其中该远程攻击者可访问输出8 P(x)?为回答此问题,我们定义了一个称为“算法在输入上的窃取熵”的概念。此外,为了应对部分信息保护的问题,我们还定义了一个称为“算法的强窃取熵”的概念。
通常,假设攻击者可以访问密文。
窃取熵与抗窃取加密的设定。特洛伊木马恶意软件可以观察算法P(·)执行过程中的所有(秘密)信息,包括输入x=x0‖x1‖x2‖…(xi ∈{0, 1})、密钥、随机种子、IV值、密文(Ctx0‖Ctx1)以及所有逐步的工作记录,但只能通过某种单向隐蔽通道向远程攻击者传送最多 比特的消息(此处我们假设 < | x|)。该远程攻击者利用这 比特被窃取的消息以及其在互联网上能够窃听的任何信息,试图输出关于xi的 + Δ比特值。本文提出将P的输出“编码”为两部分:一小部分Ctx0(|Ctx0| > + λ,其中 λ为安全参数)和一大部分Ctx1,,并通过更安全的方式传输或存储较小的部分Ctx0,使得攻击者必须借助高级技术(例如使用特洛伊木马病毒和隐蔽通道)才能窃取有关Ctx0的信息,而不仅仅是通过窃听。我们指出:(1)我们仅关注保长加密,因此密文比特长度(即 |Ctx0| + |Ctx1|)等于明文比特长度;(2)由于| Ctx0| > + λ,攻击者无法通过隐蔽通道窃取Ctx0的全部信息;(3)通常情况下, ≥密钥长度,因此特洛伊木马恶意软件可能窃取整个密钥。例如,= 10000,而对于高级加密标准,密钥长度= 128或256,或对于典型RSA私钥,密钥长度 ≤ 4096
2.2.2 窃取熵的一种合理公式化
回顾香农熵的定义:从分布X中采样的字符串x(表示一个概率为px的事件)的自信息定义为 −log px。该分布 X的香农熵定义为对所有从 X中采样的x的自信息的加权平均(或期望值)∑x∼Xpx ×(−log px)。
对我们窃取熵的一个合理公式化可以如下所示:(1)对于每个输入x,我们定义一个函数L(x)为特洛伊木马恶意软件所生成的泄露消息的最小长度,使得远程攻击者能够从这L(x)比特的泄露消息中恢复输出 P(x)。(2)取期望值(或平均值)∑xL(x) Pr[X= x]作为算法P在输出中的窃取熵。
然而,这里存在几个主要问题。(1)对L(x)取平均值是没有意义的,因为我们希望引入的是L(x)的上界,而不是在不同x上的L(x)的平均值。另一种方式是,我们的窃取熵可以是一个具有上界和下界的标量范围,而非单个标量。我们指出,我们不能简单地取所有x上 L(x)的最大值和最小值。相反,我们引入一个系统参数 ε(例如, ε= 0.05)。我们可以说算法P关于参数 ε 的窃取熵位于范围[a, b]内,如果对于至少(1−ε)×100 %的所有可能输入x,满足L(x) ∈[a, b]。(2)回想一下,柯尔莫哥洛夫复杂度通常是不可计算的。类似地,函数L(x)也很可能是不可计算的。因此,在我们的实际公式化中,需要找到一种方法来避免计算L(x)的精确值。此外,就像姚熵和希尔熵的公式化一样,我们将为不等式陈述“算法P在输入(或输出)中至少(或至多)具有 比特的窃取熵”提供精确定义,而不是定义并计算窃取熵的精确唯一值9。
2.2.3 与现有相似概念的关系
我们还形式化地分析了我们提出的窃取熵与现有类似概念之间的差异,包括姚熵[17],、希尔熵[18],、信息分散算法[19],、全有或全无变换[20],以及抗泄露函数[21]。我们成功地将所提出的窃取熵与所有这些现有 的公式化概念区分开来。
2.3 我们的方法
当泄露阈值 大于典型的密钥长度时,大多数现有的加密方案和抗泄漏加密方案(仅能容忍最多O(poly log λ)< λ比特的信息泄露,其中 λ是安全参数)将无法保护数据机密性,因为在典型场景下,攻击者可以低成本获取全部密文(例如通过窃听),而秘密解密密钥可能被特洛伊木马恶意软件窃取,并通过隐蔽通道发送给远程攻击者。
面对中等规模的任意信息泄漏这一严峻威胁,有两种可能的方向:(1)构建具有更大灵活密钥长度的新加密方案,即加密/解密密钥长度可作为用户可调节的参数,范围从数百比特到数十万比特甚至更长。我们将在另一篇论文中报告在此方向上的工作。我们指出,Alwen等人 [3] 无法满足我们的目标,因为本工作 [3] 最终从任意大 的长字符串中提取了一个短会话密钥这个唯一值可以定义为满足某个期望性质的最短整数区间。术语密钥,其中提取出的短会话密钥可能在我们的泄露环境中被攻击者窃取。(2)打破攻击者能够轻易获取全部密文的假设。事实上,本工作将尝试使用更安全的硬件资源来隐藏一小部分密文,使得攻击者必须采用高成本方法才能窃取该部分密文的信息,这与窃取密钥的方式类似。
2.3.1 混合思想
在网络世界中,混合技术常用于在质量和成本之间实现某种平衡:将少量高质量且昂贵的硬件资源与大量低质量且廉价的硬件资源相结合,从而形成大量中等质量的硬件。两个典型的例子是,(1)就每字节价格或数据读写速度而言:CPU缓存 内存 硬盘。一台普通PC可能拥有几兆字节的CPU缓存、几吉字节的内存,以及数百或数千吉字节的硬盘。(2)融合驱动器10:将小容量昂贵但速度快的SSD存储与大容量廉价但速度慢的机械硬盘结合。事实上,在安全领域,这种混合思想已被长期应用。一个典型例子是,发送方和接收方通过一种更昂贵且更安全的方式共享较短的加密/解密密钥,而大量密文则通过廉价且不安全的方式传输。
2.3.2 随机性来源
任何静态秘密信息都可能因存在后门或特洛伊木马而被逐位窃取。为了抵御通过缓冲存储进行的持续性信息泄露/窃取,我们必须不断投入越来越多由发送方和接收方共享的随机性。然而,生成密码学意义上安全的共享随机性成本高昂。在我们的方案中,我们将利用明文本身对攻击者而言天然具有一种随机源的特性,从而节省生成真随机性的开销。我们使用更安全的硬件资源来保护密文的一小部分,使得这部分密文对攻击者而言实际上起到另一个“密钥”的作用,该密钥由明文导出,并随明文自然变化。
2.4 我们的构造
与现有的抗泄漏密码学研究相比,我们的泄露环境为攻击者提供了更大的自由度和更强的能力。因此,这两个非常重要 的经典
例如,苹果的融合驱动器 .
定义1(分块均匀分布) 设 y =(y1,y2, . . . , yn),其中每个 i ∈[1, n] 时 yi ∈{0, 1}ρ。我们称 y 服从 (ζ, ρ)‐分块均匀分布,如果对于任意子集 S ={i1, i2, . . . , iζ} ⊂[1, n],满足 |S| = ζ 且 i1< i2< i3< ···< iζ,其联合香农熵
HShannon(yi1, yi2,…, yiζ)= ρζ. (1)
也就是说, ζ个不同的块 yi 的任意子集的联合香农熵等于它们的总比特长度(即,熵速率为1)。
注释1 当 ρ= 1和 ζ= n时,(ζ, ρ)‐分块均匀分布与均匀分布相同。
在本工作中,我们将使用范德蒙德矩阵构造一个可逆算法P,使得其逆算法P−1满足该性质:
命题1 设 Ctx0和 Ctx1如图 1所示,且假设比特长度 |Ctx1| = τ · |Ctx0| = τρζ。如果 Ctx0在{0, 1}ρζ上独立且均匀随机分布,则输出 x = P−1(Ctx0, Ctx1)服从(ζ, ρ)-分块均匀分布,无论 Ctx1的值如何(例如,该值可以固定为其定义域中的任意给定比特串)。
假设图1中的攻击者能够输出 ζ比特,这些比特来自 xi 的一部分,例如 xi j,j ∈[1, ζ]。那么这些 ζ比特 xi j 将最多分布在比特串 x 中的 ζ个不同的 ρ比特块中。由于 x 的任意子集块的香农熵率都等于 1(即熵等于比特长度),因此这些 ζ比特 xi j 的集合恰好具有 ζ比特的香农熵。因此,正如所期望的,攻击者必须通过隐蔽通道窃取至少 ζ比特的消息。显然,上述证明并非紧致证明,存在一个乘法因子为 ρ 的安全损失。我们将具有更优安全参数的紧致证明留给未来工作。
3 相关工作
抗泄漏密码学中的相关工作已在第1.1节中讨论。这里我们讨论其他相关工作。
对称加密方案(例如高级加密标准、Blowfish、11和三重数据加密标准。12)可能是用于保护数据机密性最广泛采用的密码学安全原语,
特别是对于大量数据。高级加密标准 [22] 是一种典型的对称加密方案,因其安全性和效率,在工业和研究领域已被积极采用超过十年。
除了加密技术外,另一种用于保护数据机密性的著名密码学原语是沙米尔[23]提出的“秘密共享”方案。与只能实现条件安全的加密方案(例如高级加密标准[22])相比,假设攻击者无法收集到足够数量的份额,秘密共享方案可以实现无条件安全(也称为信息论安全)。
尽管其具有强大的安全,沙米尔的秘密共享方案在保护数据机密性方面存在显著缺点:(1)对于(t,n)‐秘密共享方案,存储开销高达秘密大小的(n −1)倍(即被保护的明文大小);(2)重构[24](或解码)过程的效率不如数据加密标准或高级加密标准。
拉宾 [25]提出了具有零存储开销的“信息分散算法”,使得所有份额的大小之和等于秘密消息的大小。他的解决方案在概念上很简单:设行向量 m=(m0,…,mn)为秘密消息。选择一个可逆的 n乘以 n矩阵 T及其逆矩阵T−1。通过将行向量 m与矩阵T相乘,我们得到 n个份额 c=(c0, c1,…,cn−1)=m × T。相应地,原始秘密消息 m可以通过矩阵乘法 m= c×T−1恢复。
奥萨曼和莫卡德[26]提出通过在同一发送方到同一接收方的不同网络路径上传输消息的每个份额来保护通信机密性。
或者,克拉夫奇克 [27]尝试使每个份额更短,方法是将长秘密消息的密文分成 n个部分,然后在加密密钥上应用沙米尔的秘密共享方案。因此,存储开销在线性意义上仅取决于较短的加密密钥长度,并且只是秘密消息大小的一小部分。
强抗泄漏加密:通过隐藏部分密文增强数据机密性
4 窃取熵:需要窃取多少比特才能恢复秘密信息?
在本节中,我们提出“窃取熵”的概念。与传统的熵概念(例如香农熵、姚熵、13希尔熵等)不同,这些传统概念是针对具有特定分布的随机变量定义的,而“窃取熵”将针对将输入分布转换为输出分布的算法进行定义。我们提出的“窃取熵”概念可被视为柯尔莫哥洛夫复杂性 [28] 的计算版本。
香农熵是信息论的。姚熵和希尔熵都是计算变体。
4.1 背景
定义2 (姚熵 [17,29,30])若对于每一对运行时间至多为t的算法c和d(称为“压缩器”和“解压缩器”),且c(·) ∈t(X) ≥ ξ,分布 X的姚熵至少为 ξ,记作
HYao ε ,t(X) ≥ ξ,
Pr x←X[d(c(x))= x] ≤ 2−ξ+ ε. (2)
定义3 (希尔熵 [18,29,30]) 分布 X 的希尔熵至少为 ξ,记作 HHill ε ,t (X) ≥ ξ,如果存在一个分布 Y,使得 Y 至少具有 ξ比特最小熵,且对于任何在时间 t 内运行的区分程序 D,均有 D(X, Y) ≤ ε。
定义 4 (柯尔莫哥洛夫复杂度 [28]) 字符串的柯尔莫哥洛夫复杂度是指在某个固定的通用描述语言中,对该字符串的最短可能描述的长度(例如,用一种明确定义的编程语言编写的输出该字符串的程序)。
4.2 输出中的算法窃取熵
定义5 (输出中的算法窃取熵)设P:{0, 1}n →{0, 1}m是一个确定性的14单输入算法。令 ε ∈[0, 1 4)。令 A为一个与一对算法 t‐攻击者,该攻击者关联算法 (S、R),满足
• 窃取(或泄露)算法 S 和恢复算法 R 都是时间t内的概率算法,且
• 对于任意非负整数 ,窃取算法
SO(P(x))() ∈{0, 1}≤ {EmptyString}
在具有对P的预言机访问权限的情况下,可观察算法P在输入x上的计算过程中的所有内部状态,并输出最多 比特的非空窃取消息,且 恢复算法 R 以窃取的消息作为输入,该消息由 S 生成 (),并尝试猜测值 P(x)。
我们做出如下定义。
我们定义 A相对于输入x ∈{0, 1}n对P的优势如下(在任何信息泄露发生之前,x对 A是未知的)
Adv out A ( ) ,P (x)= Pr[R(S O(y←P(x))())= y] (3)
当所有随机硬币被视为输入的一部分时,任何概率算法都将变为确定性的。
其中概率取自算法 S 和 R 的所有随机硬币。
• 我们说算法P输出中的窃取熵的下确界至少为 ξ,记作inf Soutε,t(P) ≥ ξ,如果对于任意t‐攻击者 A和任意非负整数 ≤ ξ,
Pr x ←R{0,1}n[Advout A(),P(x) ≤ 1 2ξ−+ ε] ≥ 1 − ε. (4)
• 我们说算法P输出中的窃取熵的上确界至多为 ξ,记作sup Soutε,t(P) ≤ ξ,如果存在某个t‐攻击者 A,
Pr x ←R{0,1}n[Advout A(ξ),P(x) ≥ 1 − ε] ≥ 1 − ε. (5)
• 我们说 Soutε,t(P0) ≥ Soutε,t(P1)(或等价地, Soutε,t(P1)≤ Soutε,t(P0)),如果以下两个方程成立
inf S out ε,t(P0) ≥ inf S out ε,t(P1) (6)
sup S out ε,t(P0) ≥ sup S out ε,t(P1). (7)
• 我们说 Soutε,t (P0) Soutε,t (P1)(或等价地, Soutε,t(P1) Soutε,t(P0)),如果以下方程成立
inf S out ε,t(P0) ≥ sup S out ε,t(P1). (8)
性质1 设P:{0, 1}n →{0, 1}m为一个确定性算法,且 ≤ m为一个非负整数。我们有
• 0 ≤inf Soutε,t(P) ≤sup Soutε,t(P) ≤min{n,m}
• ∀0< ε0 ≤ ε1, Soutε,t(P) ≤ Soutε,t(P)
• ∀0< t0 ≤ t1, Soutε,t(P) ≤ Soutε,t(P)
声明1 设P:{0, 1} n →{0, 1} n为一个恒等算法,使得对于每个x,P(x)= x ∈{0, 1} n。那么
• when 0 ≤ ε< 2−(n−1), sup S out ε,t(P)= n;
• when 2−(n−1) ≤ ε< 1 4 , sup S out ε,t(P)= n −1;
(证明见“附录B.1”)
4.2.1 瑶熵与希尔熵
引理1 (窃取熵意味着姚熵)设P:{0, 1} n →{0, 1} m是一个确定性算法, ξ ≤ m 为一个非负整数。令 X是在{0, 1} n上均匀分布的随机变量。如果
inf S out ε,t (P) ≥ ξ,
then
HYao 2ε,t(P(X)) ≥ ξ.
(证明见“附录 B.2”)
引理 2 (姚熵与窃取熵之间的分离)设 X是定义在 {0, 1}n上的均匀随机变量。对于任意多项式 poly(·),存在一个确定性的算法P:{0, 1}n →{0, 1}m,使得
sup Sout ε,t(P) ≤ n; and HYao ε,t(P(X)) ≥ p oly(n). (9)
(证明见“附录 B.3”)
示例 1 在密码学应用中的一种常见做法是:给定一个长的弱随机源(例如 x),我们使用带有种子 k 的随机性提取器来获得一个短的近似均匀的随机密钥RE(k;x)。然后,我们使用伪随机函数将这个短但高质量的秘密密钥扩展成一个长的伪随机字符串,该字符串可能比 x 更长。
P(k; x)= PRFRE(k;x)(0)‖PRFRE(k;x)(1)‖…‖PRFRE(k;x)()
(10)
算法P的窃取熵最多等于RE(k;x)的长度,且远短于P的输入和输出大小。
引理 3 (希尔熵与窃取熵之间的分离)设 X是定义在{0, 1}n上的均匀随机变量。对于任意正多项式poly(·),存在一个确定性算法P:{0, 1} n →{0, 1} m,使得
sup S out ε,t(P) ≤ n; and H Hill ε,t (P(X)) ≥ p oly(n).(11)
(证明见附录 B.4)
4.2.2 抗暴露函数和计算型全有或全无变换
Canetti 等人[21]提出了一个称为“抗暴露函数” (ERF的简称),并用它来构造计算型全有或全无变换。非正式地说,一个函数f:{0, 1} n →{0, 1} k被称为完美(或统计性或计算性) -ERF,如果除了输入 x的 比特之外,其余所有比特均被攻击者获知,其输出f(x)在{0, 1} k上仍然是信息论意义(或统计意义或计算意义)下的随机。从技术上讲,抗暴露函数可被视为针对固定比特随机源[31]的确定性随机性提取器。
我们引用 Canetti 等人[21]中的引理 4.6 如下。
引理 4 (Canetti 等人中的引理 4.6 [21])设 n 、m 为任意多项式相关的量。令 f 为任意统计 -ERF(即抗暴露函数),将 {0, 1}n 映射到 {0, 1}k,其统计偏差可忽略不计 ε,其中 k 与 m 多项式相关。令 G 为一个将 {0, 1}k 扩展到 {0, 1}m 的伪随机生成器。则函数 g(x)= G(f (x )):{0, 1}n →{0, 1}m 是一个计算性 -ERF。
直观上,在上述引理中,统计学意义上的抗暴露函数f从一个长但低质量的随机输入x中提取出一段短的高质量随机性f(x) ∈{0, 1}k,然后使用标准的密码学安全伪随机生成器扩展输出长度,使得结果函数g即使在输入x中除了 比特之外全部暴露的情况下,仍能输出比输入长度更长的伪随机性。
引理 5 对于任意正定多项式 poly(·) 和任意正整数 k,存在一个多项式时间可计算函数 P:{0, 1}n →{0, 1}m,使得
• P在抗暴露函数的公式化框架下,能够抵抗高达 poly(k)比特的信息泄露,确切地说,P是一个计算性的 -ERF,其中 = n−poly(k);
• P在本文的公式化框架下,仅能抵御最多k比特的信息泄露,确切地说,输出中的窃取熵为sup Soutε,t (P) ≤ k
(证明见“附录 B.5”)
4.3 算法在输入上的窃取熵
定义6 (算法在输入上的窃取熵)设P:{0, 1} n →{0, 1} m是一个确定性的15单输入算法。令 ε ∈[0, 1 4)。令 A为一个与一对算法 t‐攻击者,该攻击者关联的算法对为 (S、R),满足
• 窃取(或窃取)算法 S 和恢复算法 R 都是时间t内的概率算法,并且
对于任意非负整数 ,窃取算法 •
SO(P(x)) () ∈{0, 1} ≤ {EmptyString}
在具有对P的预言机访问权限的情况下,可观察算法P在输入x上的计算过程中的所有内部状态,并输出最多 比特的非空窃取消息,且
当所有随机硬币被视为输入的一部分时,任何概率算法都将变为确定性的。
• 恢复算法 R 以值 P(x) 和由 S() 生成的窃取消息作为输入,并尝试猜测值 x。
我们做出如下定义。
• 我们定义 A相对于输入x ∈{0, 1}n对P的优势如下
AdvAin(),P(x)= Pr R(SO(y←P(x))(), y)= x
其中概率取自算法 S 和 R 的所有随机硬币。
我们说算法P的输入中窃取熵的下确界至少为 ξ,记作inf S inε,t(P) ≥ ξ,如果对于任意t‐攻击者 A和任意非负整数 ≤ ξ,
Pr x ←R{0,1}n[AdvAin(),P(x) ≤ 1 2ξ−+ ε] ≥ 1 − ε. (13)
我们说算法P的输入中窃取熵的上确界至多为 ξ,记作sup S inε,t(P) ≤ ξ,如果对于某个t‐攻击者 A,
Pr x ←R{0,1}n[AdvAin(ξ),P(x) ≥ 1 − ε] ≥ 1 − ε. (14)
我们说 S 1) ≤ S ε( 0) ≥ S ε( 1) S ε( ( 0) in,t Pin,t P(或等价地 in,tPinε,t P),如果以下两个等式成立
inf S in ε,t(P0) ≥ inf S in ε,t(P1); (15)
sup S in ε,t(P0) ≥ sup S in ε,t(P1) . (16)
我们说 S 1) S ε( 0) S ε( 1) S ε( ( 0) in,t Pin,tP(或等价地,in,t Pinε,t P),如果以下方程成立
inf S in ε,t( P0) ≥ sup S in ε,t( P1). (17)
命题2 如果P是一个可逆算法,且其逆算法P−1的运行时间为 ≤t,则inf S in ε,t(P)= sup S in ε,t(P)= 0。
当加密/解密密钥固定时,加密算法 Enc 是从明文到密文的可逆算法。在没有任何信息泄露之前,攻击者可能了解整个算法族{Enck}k←KGen(1 λ ) ,但不知道其中哪一个被选自该置换算法族。通过窃取密钥 k,攻击者能够从密文恢复明文。这一简单事实总结如下。
命题3 对于任意PPT加密方案(KGen,Enc,Dec)以及由 KGen生成的任意密钥k,我们有
sup Sin ε,t(Enck) ≤ |k|, where ε= 0, and t= poly(·).(18)
4.4 讨论
一个有趣的问题是评估经典难题(如因式分解问题和离散对数问题)的窃取熵,其中数千比特(例如2048)长的密钥提供大约80比特的安全级别。PFact(p, q)= p × q,其中p和q均为相同比特长度的素数。PLog(x )= gx mod p,其中g和p为公开常数,p为素数,g为模p的生成元。这些算法的窃取熵会更接近其密钥长度(即数千比特)还是安全级别(即80比特)?我们将其作为一个开放性问题。
4.5 输入中的强窃取熵
非正式地说,在窃取了 比特任意消息后,攻击者应无法输出关于秘密值的 +Δ 比特信息,且泄露放大的量最多为 Δ 比特。
定义7 (算法在输入上的强窃取熵)设 P:{0, 1}n →{0, 1}m是一个确定性的16单输入算法。令 ε ∈[0, 1 4)。设 A为一个 t‐攻击者,其与一对算法 (S、R)相关联,满足
• 窃取(或泄露)算法 S 和恢复算法 R 都是时间t内的概率算法,且
对于任意非负整数 ,窃取算法 •
SO(P(x))() ∈{0, 1} ≤{EmptyString}
在具有对P的预言机访问权限的情况下,允许观察算法P在输入x上的计算过程中的所有内部状态,并输出最多 比特的非空窃取消息,且
• 恢复算法 R 接受两个输入:(1)由 S() 生成的窃取消息,以及(2)值 P(x),并输出两个值:(1) ¯x ∈{0, 1}n,它 是对x的猜测,以及(2)索引的一个子集Ix ⊂[1,n]。
我们引入以下定义。
对于任意具有窃取算法 S 和恢复算法 R 的攻击者 A, 我们定义良好窃取消息的集合 Gmsg 如下
当所有随机硬币被视为输入的一部分时,任何概率算法都将变为确定性的。
GmRsg(,Δ, x, β) d=ef
⎧⎨ ⎩Msg ∈{0, 1}≤: (x¯, I) ← R(Msg, P(x)); |I| ≥ +Δ; ∀i ∈ I, Pr[x¯[i]= x[i]] ≥ β ⎫⎬ ⎭(19)
其中概率是相对于R的随机硬币而言的。
• 类似地,让我们如下定义好输入Gx的集合x
GS,R x(,Δ, α, β) d=ef {x ∈{0, 1}n: Pr[SO(P(x))(·) ∈ GR msg(,Δ, x, β)] ≥ α}
(20)
其中概率是相对于S的随机硬币而言的。
我们说算法P的输入中强窃取熵的上确界至多为 ξ,记作 sup Ssinε,t(P) ≤ ξ,如果对于某个t‐攻击者 A=(S,R),
Pr x∈R{0,1}n [x ∈ G S,R x(ξ, ς(ξ, ε)+ 1 − , 1 − ε, 1 − ε)] ≥ 1 − ε (21)
其中函数 ς(·,·) 定义如下 17
ς(, ε) d=ef{, if 0 ≤ ε< 2−(−1) + 1, if 2−(−1) ≤ ε< 1 4.
(22)
• 设 ε ≥ λ−c,其中c可以是任意正整数。我们称 算法P的输入中强窃取熵的下确界至少为 ξ,记作i nf Ssinε,t(P) ≥ ξ,如果对于任意t‐攻击者 A=( S,R),以及任意满足 且ς(, ε)= + 1< ξ的
Pr x∈R{0,1} n [x ∈ G S,R x(, ς(, ε)+ 1 − , 0.5+ ε, 0.5+ ε)] ≤ 0.5+ negl(λ), (23)
其中 λ 是安全参数,negl(·) 表示某个可忽略函数。
我们说 S 1) ≤ S ε ( 0) ≥ S ε ( 1) S ε ( ( 0) sin , t Psin , t P(或等价地 sin, t Psinε,t P),如果以下两个方程成立
17定义 ς(, σ)(即公式22)的原因在于我们对声明1的证明。非正式地说,某个窃取算法S()能够向R算法传递几乎 + 1比特的消息,因为。当误差界时,我们并不关心这种“几乎” + 1比特消息与实际比特消息之间的差异。
inf Ssin ε,t(P0) ≥ inf Ssin ε,t(P1); (24)
sup Ssin ε,t(P0) ≥ sup Ssin ε,t(P1). (25)
我们说 S 1) S ε ( 0) Sε ( 1) Sε ( ( 0) sin,t Psin,t P(或等价地,sin,t Psinε,t P),如果以下方程成立
inf Ssin ε,t(P0) ≥ sup Ssin ε,t(P1). (26)
引理6 (放大)如果存在某个t-对手A0=(S0,R0),使得对于任意正整数c以及任意 ε ≥ λ−c,我们有
Pr x∈R{0,1}n [x ∈ GS0,R0 x (, ς(, ε)+ 1 − , 0.5 + ε, 0.5+ ε)] ≥μ (27)
那么存在某个t ·Θ(1/ε)-攻击者A1=(S1,R1),使得
Pr x∈R{0,1}n [x ∈ G S1,R1 x (, ς(, ε) + 1 − , 1 − negl(λ), 1 − negl(λ))] ≥μ (28)
其中 λ 是安全参数,negl(·)表示某个可忽略函数。(证明见“附录B.6”)
定义8 (输入中的强窃取熵率)设P : {0, 1}n →{0, 1}m是一个确定性单输入算法。我们定义 算法P的窃取熵率的下确界和上确界为
μ ⊥ d=ef inf S sin ε,t(P) n ; μ d=ef sup S sin ε,t(P) n (29)
(注意,这是“熵率”或“泄露率”的对应概念。)
定理7 (窃取熵与强窃取熵之间的分离) 存在一个常数 c > 0,使得对于任意正整数N,我们可以构造一个算法 P,满足 sup S sin ε ,t(P) ≤c 且 inf S in ε,t(P) ≥N。(证明见“附录B.7”)
4.5.1 全有或全无变换:Rivest的包变换
为了自包含,我们引用了里维斯特[20]在1第16页提出的全有或全无变换,称为“包变换”。
一方面,我们的方法与里维斯特提出的全有或全无变换[20],相似,因为我们也隐藏了部分密文。在无法完全掌握全部密文的情况下,很难理解明文。然而另一方面,我们的方法与全有或全无变换(例如,[20])之间存在本质区别,即我们的
公式化允许泄露任何 ≤ 比特(可能是聚合的)消息,且 的值可能大于密钥长度。在此类强信息泄露环境下,里维斯特提出的上述Package Transform方法显然易受攻击。
引理8 里维斯特的包变换算法[20]在输入中具有非常小的强窃取熵。确切地说,令PkgTr表示包变换算法,我们有:
• sup Ssinε,t(PkgTr) ≤ |K′|
• 输入中的强窃取熵率在包变换中定义为 μ def= sup Ssinε,t (PkgTr) n = 1/Θ(n)在输入大小n趋近于无穷大时趋近于零。
(证明见附录B.8)
5 我们提出的加密(或编码)方案
我们将通过模块化设计,分两个步骤描述我们提出的加密方案。
5.1 我们的抗窃取加密(或编码)方案
定义9 (抗窃取加密/编码)设 Φ=( KeyGen,Encrypt,Decrypt)为一个保长度的加密方案。令 算法SuffixΦ定义如下
SuffixΦ(k; x)= C1, where k:= KeyGen(1 λ ) and C0‖C1:= Encrypt(k; x) and |C1| = τ|C0|. (30)
设n表示明文的长度。如果算法SuffixΦ具有强窃取熵率的下确界μ ⊥= inf S sin ε ,t(Suffix Φ) n≥ δ(n),其中 δ(n) ∈[0, 1]的取值范围为0到1,1表示最佳,0表示最差,t= O(poly(λ)),且 ε ≥ λ −c对某个正整数c成立,则称 Φ是一个分拆因子为 τ的 δ(n)-抗窃取加密方案。
我们指出,在我们的定义下,大多数现有的加密方案(包括在任何现有工作模式下的任何现有分组密码、里维斯特的全有或全无变换[20](如引理8所示),以及抗泄露加密18 [3,7,32–36])都是严重不足的 δ(n)-
我们指出,一些被引用的抗信息泄露密码学工作实际上提出了抗信息泄露的伪随机生成器/函数,而非加密方案。这些伪随机生成器/函数可以通过经典方法转换为加密方案。由此得到的加密方案将是一种较差的抗窃取加密。
当n趋近于无穷大时, δ(n)= 1/Θ(n)趋近于零的抗窃取加密。
Claim2 AES密码是一种抗窃取能力较差的{n}n-抗窃取加密方案,当n趋近于无穷大时,其 δ(n)= 1/Θ(n)趋近于零。(证明见“附录C”)
我们发现,使用范德蒙矩阵的线性变换是一种良好的抗窃取加密方案。设ρ为某个正整数(例如8、16或32),GF(2ρ)为一个阶数为 2ρ的有限域。
我们构造一个加密方案 Φ0=( KeyGen,Encrypt, Decrypt),如下所示。
Φ0.密钥生成(1λ) → M
1. 随机选择一个 ζ ·(1+ τ)由 ζ ·(1+ τ)范德蒙矩阵生成的矩阵,19并将其转置矩阵记为 M=(Mi,j)i, j ∈[1,ζ·(1+τ)],其中 Mi,j= αi j ∈GF(2ρ){0}。该矩阵 M的逆存在,记为 M−1。2. 输出M。
Φ0.加密(M;x),其中M是一个 ζ ·(1+ τ)乘 ζ ·(1+ τ)的矩阵, 且x ∈GF(2ρ)ζ·(1+ τ)是一个维度为ζ ·(1+ τ)的行向量(等价于1乘 ζ ·(1+ τ)的矩阵)
1. 计算两个矩阵y:= x ×M−1与x和M−1的乘积。
2. 将y视为长度为(1+τ)ρζ比特的比特串,该比特串是由 ζ(1+ τ)个有序的 ρ‐比特有限域元素连接而成。
3. 令y0为y的前缀,其长度等于 ρζ比特。4. 令y1为y的后缀,其长度等于 τρζ比特。5. 输出(y0, y1)。
Φ0.解密(M; y0,y1)
1. 将y0和y1连接得到比特串y。 2. 将比特串y解析为一个维度为 ζ(1+ τ)的行向量,其中每个向量元素来自GF(2 ρ )。 3. 计算矩阵乘积x:=y ×M。 4. 输出x。
我们指出,任何具有可逆矩阵的线性变换都可以构成一种信息分散算法[19],,但不太可能是一种抗窃取加密。
我们在2014年购买的配备Intel i5 CPU的 MacBook Pro笔记本电脑上进行的实验表明,当M的维度为12,800且ρ= 16, τ= 31时,使用单个CPU核心可在0.037秒内完成加密或解密(约每秒21兆字节);当维度为25,600且 ρ= 16, τ= 63时,耗时为0.149秒。
矩阵行/列索引从零或一开始,对范德蒙德矩阵的性质没有本质区别。
定理 9 设 x:=y×M如上述方案中所述。则 x服从定义在第7页定义1中的(ζ, ρ)-分块均匀分布。更准确地说,将 x解析为一系列元素 (x1,x2, . . . , xi, . . . , xζ(1+τ)),其中每个元素 xi ∈G F(2ρ)。如果 y的最后 τ·ζ个元素被给定且固定,并且 y的前 ζ个元素在{0, 1}ρζ上均匀分布,则任意一组 ζ个具有不同下标 i j’s 的元素 (···,xij,···)j ∈[1,ζ],其香农熵恰好为 ρ· ζ比特(即香农熵率为1)。
证明 由于 x:=y ×M,我们有
xi= 〈y, Mi〉 ∈ GF(2ρ),∀i ∈ 1,(1+ τ)ζ j ∈[1,ζ] = y ×(··· Mij ···)j ∈[1,ζ] (31)
其中 Mi 表示矩阵 M 第 i 列的列向量。此外,我们可以推导出
(··· xij ···)j ∈[1,ζ]= Prefix(y, ζ)×(··· Prefix(Mij , ζ)···)j ∈[1,ζ]+ z,(32)
其中,Prefix(y ζ)(分别为 Prefix(Mij, ζ))表示从 y(分别为 Mij)中取前 ζ 个元素构成的向量,z 是某个常向量。由于 M 是范德蒙德矩阵的转置,所得矩阵 (···Prefix(Mij, ζ)···)j ∈[1,ζ] 也将是另一个范德蒙德矩阵的转置。注意Prefix(y ζ)在{0, 1}ρζ上均匀分布,由于范德蒙德矩阵的性质,显然方程xij ···)j ∈[1,ζ] 的左边32在{0, 1}ρζ上均匀分布,符合要求。
推论 10 所提出的方案 Φ0是一种 δ(n)-次窃取弹性加密,其中 δ(n)= 1 ρ(τ+1) 与明文长度 n = ρζ(1+ τ)无关,且 infS sin ε ,t(SuffixΦ0) ≥ ζ。我们指出, ρ和 τ均为与明文长度 n 无关的系统参数。(证明见“附录 B.9”)
我们观察到,在定理 9 的证明中,我们仅要求矩阵
强抗泄漏加密:隐藏部分密文

被折叠的 条评论
为什么被折叠?



