多实例随机性提取技术解析

立即解锁
发布时间: 2025-08-31 00:50:49 阅读量: 17 订阅数: 30 AIGC
PDF

密码学理论前沿研究

### 多实例随机性提取技术解析 #### 1. 背景与基础概念 在加密领域,每个用户拥有无界数量的密文在标准模型中是不可行的。这是因为模拟器在不知道消息的情况下,需要模拟除密钥之外的所有内容。对于敌手存储的密文,模拟器要查询底层消息并生成密钥,使这些密文能解密为给定消息。由于不可压缩性,密钥长度至少要和消息数量一样大。因此,我们转而考虑每个用户有界密文的情况。 对于有状态加密方案,将支持每个用户一个密文的方案升级为支持多个密文很简单,只需让密钥成为一次性密钥列表。在对称密钥设置中,可利用 $k$ -wise 独立哈希函数使其无状态。而在公钥设置中,实现无状态构造则需要更多工作,目前没有简单的通用构造方法,我们会展示如何修改现有构造以实现每个用户多个密文。 在深入探讨多实例随机性提取之前,我们先了解一些基础概念和符号表示: - **符号表示**:对于 $n \in N$,$[n]$ 表示有序集 $\{1, 2, \ldots, n\}$。大写粗体字母表示矩阵 $M$,小写粗体字母表示向量 $v$。$M_{i,j}$ 表示矩阵 $M$ 的第 $i$ 行第 $j$ 列元素,$v_i$ 表示向量 $v$ 的第 $i$ 个元素。 - **引理 1(Johnson 界)**:设 $C \subseteq \Sigma^n$ 且 $|\Sigma| = q$ 是任意 $q$ 元纠错码,相对距离 $p_0 = 1 - (1 + \rho) \frac{1}{q}$($\rho > 0$),即对于任意两个不同值 $x, y \in C$,$x$ 和 $y$ 之间的汉明距离至少为 $p_0 \cdot n$。那么对于任意 $\delta > \sqrt{\rho(q - 1)}$,存在 $L \leq \frac{(q - 1)^2}{\delta^2 - \rho(q - 1)}$,使得该码是 $(p_1 = (1 - (1 + \delta) \frac{1}{q}), L)$ - 列表可解码的,即对于任意 $y \in \Sigma^n_q$,与 $y$ 的汉明距离在 $p_1n$ 以内的码字最多有 $L$ 个。 - **引理 2(区分意味着预测)**:对于任意随机函数 $D : \{0, 1\}^n \times \{0, 1\}^m \to \{0, 1\}$,存在随机函数 $P : \{0, 1\}^n \to \{0, 1\}^m$,使得对于任意联合分布的随机变量 $(A, B)$ 在 $\{0, 1\}^n \times \{0, 1\}^m$ 上,如果 $Pr[D(A, B) = 1] - Pr[D(A, U_m) = 1] \geq \epsilon$,则 $Pr[P(A) = B] \geq \frac{1}{2^m}(1 + \epsilon)$。 - **平均最小熵**:对于两个联合分布的随机变量 $(X, Y)$,$X$ 在 $Y$ 条件下的平均最小熵定义为 $H_{\infty}(X|Y) = -\log E_{y \leftarrow Y}[\max_x Pr[X = x|Y = y]]$。 - **引理 3**:对于随机变量 $X, Y$,其中 $Y$ 取值于大小为 $T$ 的集合,有 $H_{\infty}(X|Y) \geq H_{\infty}(X, Y) - \log T \geq H_{\infty}(X) - \log T$。 - **提取器**:函数 $Extract : \{0, 1\}^n \times \{0, 1\}^d \to \{0, 1\}^m$ 是 $(k, \epsilon)$ 强平均最小熵提取器,如果对于所有联合分布的随机变量 $(X, Y)$,其中 $X$ 取值于 $\{0, 1\}^n$ 且 $H_{\infty}(X|Y) \geq k$,则 $(U_d, Extract(X; U_d), Y)$ 与 $(s, U_m, Y)$ $\epsilon$ - 接近,其中 $U_d$ 和 $U_m$ 分别是长度为 $d$ 和 $m$ 的均匀随机字符串。 #### 2. 多实例随机性提取的定义 一个函数 $Ext : \{0, 1\}^n \times \{0, 1\}^d \to \{0, 1\}^m$ 是 $(t, \alpha, \beta, \epsilon)$ - 多实例提取器,如果满足以下条件: 设 $X = (X_1, \ldots, X_t)$ 是由块 $X_i \in \{0, 1\}^n$ 组成的随机变量,且 $H_{\infty}(X) \geq \alpha \cdot tn$。那么存在与 $X$ 联合分布的随机变量 $I_X$,$I_X$ 取值于 $[t]$ 的子集 $I$,且 $|I| \geq \beta \cdot t$,使得: $(S_1, \ldots, S_t, Ext(X_1; S_1), \ldots, Ext(X_t; S_t)) \approx_{\epsilon} (S_1, \ldots, S_t, Z_1, \ldots, Z_t)$ 其中 $S_i \in \{0, 1\}^d$ 是均匀随机且独立的种子,对于 $i \in I_X$,$Z_i \in \{0, 1\}^m$ 是独立均匀随机采样的,而对于 $i \notin I_X$,$Z_i = Ext(X_i; S_i)$。 简单来说,如果使用“多实例提取”提取器,用独立种子从 $t$ 个相关块(联合熵率为 $\alpha$)中分别提取,那么看到所有提取输出与用均匀值替换精心选择的 $\beta$ 部分是不可区分的。 #### 3. 提示提取器 提示提取器是多实例随机性提取中的重要概念,一个函数 $Ext : \{0, 1\}^n \times \{0, 1\}^d \to \{0, 1\}^m$ 是 $(δ, L, h, Q)$ - 提示提取器需满足以下两个条件: - **列表可解码性**:若将 $ECC(x) = (Ext(x; s))_{s \in \{0, 1\}^d}$ 视为字母表 $\Sigma = \{0, 1\}^m$ 上的 $(2^d, n)$ 纠错码,那么该码是 $(p = 1 - (1 + δ)2^{-m}, L)$ - 列表可解码的,即对于任意 $y \in \Sigma^{2^d}$,与 $y$ 的汉明距离在 $p \cdot 2^d$ 以内的码字最多有 $L$ 个。 - **成对独立提示**:存在函数 $hint : \{0, 1\}^n \times \{0, 1\}^{\tau} \to \{0, 1\}^h$ 以及 $rec_0$ 和 $rec_1$,使得: - 对于所有 $x \in \{0, 1\}^n$,$r \in \{0, 1\}^{\tau}$,若定义 $\sigma = hint(x; r)$,$\{s_1, \ldots, s_Q\} = rec_0(r)$,$\{y_1, \ldots, y_Q\} = rec_1(\sigma, r)$,则对于所有 $i \in [Q]$,有 $Ext(x; s_i) = y_i$。 - 在均匀随机的 $r \leftarrow \{0, 1\}^{\tau}$ 下,$Q$ 个种子 $\{s_1, \ldots, s_Q\} = rec_0(r)$ 各自在 $\{0, 1\}^d$ 上均匀分布且成对独立。 下面介绍两种提示提取器的构造: - **构造 1:Hadamard** 定义 $Ext : \{0, 1\}^n \times \{0, 1\}^n \to \{0, 1\}^m$ 为 $Ext(x; s) = \langle x, s \rangle$,这里将 $x$ 和 $s$ 视为 $\hat{n} := \frac{n}{m}$ 维的 $F_{2^m}$ 元素,所有运算都在 $F_{2^m}$ 上进行。种子长度 $d = n$ 比特,输出长度为 $m$ 比特。 对于任意 $h, δ > 0$,当 $Q \geq 2^{h - m}$ 且 $L \leq \frac{2^{2m}}{\delta^2}$ 时,上述 $Ext$ 是 $(δ, L, h, Q)$ - 提示提取器。 - **构造 2:Hadamard ◦ Reed - Muller** 定义 $Ext(f;
corwn 最低0.47元/天 解锁专栏
买1年送3月
继续阅读 点击查看下一篇
profit 400次 会员资源下载次数
profit 300万+ 优质博客文章
profit 1000万+ 优质下载资源
profit 1000万+ 优质文库回答
复制全文

相关推荐

史东来

安全技术专家
复旦大学计算机硕士,资深安全技术专家,曾在知名的大型科技公司担任安全技术工程师,负责公司整体安全架构设计和实施。
最低0.47元/天 解锁专栏
买1年送3月
百万级 高质量VIP文章无限畅学
千万级 优质资源任意下载
千万级 优质文库回答免费看
立即解锁

专栏目录

最新推荐

使用Prometheus和Grafana监控分布式应用

### 使用 Prometheus 和 Grafana 监控分布式应用 #### 1. 架构概述 计划中的系统架构涉及微服务、Prometheus 服务器和 Grafana,并且所有组件都将部署到 Kubernetes 中。以下是它们之间的关系: ```mermaid graph LR classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px A(Kubernetes):::process -->|提供指标| B(Prometheus):::process C(Node.js 服务):::process

Linux认证考试全解析

### Linux认证考试全解析 #### 1. 命令行的强大功能 在学习Linux相关知识时,命令行是一个非常重要的部分。以下是学习此领域需要了解的十大要点: - **输入输出重定向**:标准输入(stdin)传统上是键盘,标准输出(stdout)传统上是显示器,标准错误(stderr)也可以重定向,使用符号 `>`、`>>`、`<` 和 `|` 即可实现。 - **命令连接**:命令可以在命令行用分号(;)连接,每个命令独立运行,也可以使用管道(|)将一个命令的输出作为另一个命令的输入。 - **文件字段操作**:`cut` 命令可从文件中提取字段,使用 `paste` 或 `join`

请你提供书中第37章的具体内容,以便我按照要求为你创作博客。

请你提供书中第37章的具体内容,以便我按照要求为你创作博客。 请你先提供书中第37章的英文具体内容,我会先输出上半部分博客,再输出下半部分博客。

Terraform自动化与CI/CD实战指南

### Terraform自动化与CI/CD实战指南 #### 1. Azure DevOps中构建Terraform管道 在Azure DevOps中,我们可以借助Azure Pipelines服务来自动化执行Terraform。以下是具体步骤: 1. **创建新管道**:通过Web界面使用Azure Pipelines创建新管道,并在GitHub仓库中进行配置,选择从新的YAML文件开始配置。 2. **编写YAML代码**: - 下载Terraform二进制文件,并指定与Terraform配置兼容的版本,如1.4.4。即便使用已安装Terraform的Microsoft托管代理

掌握设计交接与UI/UX设计师面试准备

# 掌握设计交接与 UI/UX 设计师面试准备 ## 一、设计交接的重要性与流程 ### 1.1 设计交接概述 设计交接是 UX 设计师向开发团队提供数字资产和全面文档,以助力产品愿景实现的关键过程。除了文件传输,顺利的交接还需要设计师与开发者之间密切的协调与沟通。良好的合作能确保设计准确执行,提升用户体验,推动项目成功完成。 ### 1.2 理解设计交接 UX 设计师完成设计后,需创建包含开发团队所需所有要求和数字资源的综合文档。这一过程虽看似简单,但成功的交接需要深思熟虑。常见的问题是认为设计完成后责任就完全转移到了开发者身上,然而,设计师与开发者的紧密合作才是良好交接的第一步,它能保

请你提供书中第37章的具体英文内容,以便我按照要求完成博客创作。

请你提供书中第37章的具体英文内容,以便我按照要求完成博客创作。 请你先提供书中第37章的具体英文内容,以及已经完成的博客上半部分内容,这样我才能按照要求输出下半部分。

优化Kubernetes应用部署:亲和性、反亲和性与硬件资源管理

### 优化Kubernetes应用部署:亲和性、反亲和性与硬件资源管理 #### 1. 引言 在Kubernetes集群中部署应用时,我们常常需要平衡应用的性能、可扩展性和弹性。理想的应用简单易设计、开发和部署,组件无状态,便于扩展。然而,现实世界的应用往往需要存储状态、处理数据安全和授权问题,还可能需要访问特殊硬件。因此,我们需要一些策略来指导Kubernetes集群更高效地调度容器,而亲和性(Affinity)和反亲和性(Anti-affinity)以及硬件资源管理就是这样的重要策略。 #### 2. 亲和性与反亲和性概述 在管理Pod调度时,我们可能希望控制多个容器是否在同一节点上

Linux社区参与及设备通信安全指南

### Linux 社区参与及设备通信安全指南 #### 1. 参与 Linux 社区开发 在 Linux 社区中,年龄不是关键,重要的是学习和分享知识与经验的渴望。安全风险面前人人平等,若不做好准备,就可能遭受攻击。这里汇聚了工程师、开发者、测试人员、技术作家和思想领袖等多元化群体。 即便你不是开发者,也能为开发过程做出贡献,比如志愿测试早期访问代码、提交错误报告或提出增强请求(RFE)。你的反馈对开发者至关重要。 以下是一些热门社区 Linux 发行版参与测试和开发的链接: - Fedora®:https://docs.fedoraproject.org/en-US/project/

Linux系统运维知识大揭秘

### Linux 系统运维知识大揭秘 #### 1. 标准输入、输出与错误 在 Linux 系统中,标准输入(STDIN)、标准输出(STDOUT)和标准错误(STDERR)是非常基础且重要的概念。 |名称|默认目标|重定向使用|文件描述符编号| | ---- | ---- | ---- | ---- | |STDIN|计算机键盘|< (等同于 0<)|0| |STDOUT|计算机显示器|> (等同于 1>)|1| |STDERR|计算机显示器|2>|2| 常见的 Bash 重定向器如下: |重定向器|解释| | ---- | ---- | |> (等同于 1>)|重定向 STDOUT。

Docker容器化应用入门与实践

### Docker 容器化应用入门与实践 #### 1. Docker 基础命令与操作 - **运行容器**:使用 `docker run` 命令运行容器,例如 `-d` 选项可让容器在后台运行。以 `nginx` 镜像为例: ```bash docker run -d nginx ``` 若要在 `http://localhost:80` 看到 HTML 内容,可在 `/tmp` 目录添加 `index.html` 文件: ```bash cat <<EOF > /tmp/index.html <!doctype html> <h1>Hello World</h1> <p>This is