伪随机性与密码学原语:从单向函数到伪随机函数
在密码学领域,伪随机性是一个核心概念,它为许多重要的密码学原语提供了基础。本文将深入探讨伪随机生成器(PRG)和伪随机函数(PRF)的相关内容,包括它们与单向函数的关系,以及如何相互构造。
1. 伪随机生成器与单向函数
单向函数是密码学中的一个重要概念,它具有正向计算容易,反向计算困难的特性。而伪随机生成器则是一种能够从较短的随机种子生成较长的伪随机序列的算法。
我们已经知道,任何安全的伪随机生成器必然是单向的,但反之则不成立。例如,一个单向函数即使在其所有输出值后面添加一个‘1’比特,仍然是单向的,但这样就很容易将其输出值与真正的随机值区分开来,因为真正的随机值有一半的概率以 0 结尾。这表明存在一些单向函数不是安全的伪随机生成器。
然而,如果存在安全的单向函数,那么就一定存在安全的伪随机生成器。虽然证明这个定理非常复杂和技术化,但如果从具有特定结构的单向函数(如单向置换)开始,就可以得到非常高效的构造。
2. 伪随机函数与伪随机生成器的区别与联系
伪随机函数和伪随机生成器是基于计算不可区分性概念的两个重要密码学原语。它们在语法上有很大的不同:
- 伪随机函数的安全性需要使用私钥,并且私钥必须保持隐藏。
- 伪随机生成器是公钥的,我们假设包括攻击者在内的所有各方都知道函数密钥。
尽管它们在语法上不同,但我们可以相互构造它们。也就是说,我们可以从伪随机函数构造伪随机生成器,反之亦然。结合伪随机生成器可以从单向函数构建这一事实,我们得到了一个重要的定理:如果存在安全的单向函数,那么就存在安全的伪随机函数。
超级会员免费看
订阅专栏 解锁全文
18

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



