<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>伪随机性 on Lutong's Homepage</title><link>https://www.elliot98.top/tags/%E4%BC%AA%E9%9A%8F%E6%9C%BA%E6%80%A7/</link><description>Recent content in 伪随机性 on Lutong's Homepage</description><generator>Hugo</generator><language>zh-cn</language><lastBuildDate>Fri, 29 May 2020 18:02:53 +0800</lastBuildDate><atom:link href="https://www.elliot98.top/tags/%E4%BC%AA%E9%9A%8F%E6%9C%BA%E6%80%A7/index.xml" rel="self" type="application/rss+xml"/><item><title>密码学专题| 五、基于单项函数的伪随机性构造</title><link>https://www.elliot98.top/post/crypto/crypto-cipher/</link><pubDate>Fri, 29 May 2020 18:02:53 +0800</pubDate><guid>https://www.elliot98.top/post/crypto/crypto-cipher/</guid><description>&lt;h2 id="单向函数和单项置换"&gt;单向函数和单项置换&lt;/h2&gt;
&lt;p&gt;如果单项函数存在，则提供了一种构造伪随机发生器和伪随机函数的方案，进而可以用于构造流密码、分组密码以及消息认证码。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;单项函数&lt;/code&gt;的定义如下:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;当一个函数 \( f: \{0,1\}^* \rightarrow \{0,1\}^* \)满足如下条件，则是一个单项函数：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;存在一个多项式时间算法 \(M_f \) 有 \(M_f(x) = f(x) \)&lt;/li&gt;
&lt;li&gt;\( \forall x \leftarrow \{0,1\}^* s.t. Pr[A(f(x)) \in f^{-1}(f(x))] \le negl(n) \)&lt;/li&gt;
&lt;/ol&gt;
&lt;/blockquote&gt;
&lt;p&gt;如果将函数 f 的定义域和值域修改为 \( \{0,1\}^n \) 则定义了&lt;code&gt;单项置换&lt;/code&gt;：&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;当一个函数 \( f_n: \{0,1\}^n \rightarrow \{0,1\}^n \)满足如下条件，则是一个单项函数：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;存在一个多项式时间算法 \(M_{f_n} \) 有 \(M_{f_n}(x) = f_n(x) \)&lt;/li&gt;
&lt;li&gt;\( \forall x \leftarrow \{0,1\}^n s.t. Pr[A(f_n(x)) \in f_n^{-1}(f_n(x))] \le negl(n) \)&lt;/li&gt;
&lt;/ol&gt;
&lt;/blockquote&gt;
&lt;p&gt;目前无法证明任何一个候选函数是单项函数，但是有一些备选函数，包括：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;大整数的素数分解问题&lt;/li&gt;
&lt;li&gt;子集求和问题等&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;单项函数都有一个&lt;code&gt;硬核&lt;/code&gt;，我的理解是&lt;code&gt;硬核&lt;/code&gt;提供了最原始的函数的单项特性。如果一个单射函数拥有&lt;code&gt;硬核&lt;/code&gt;，那么这是一个单项函数。但是这个单项函数可能提供了来自自变量 x 的其他信息。&lt;code&gt;硬核谓词&lt;/code&gt;的定义如下：&lt;/p&gt;</description></item></channel></rss>