首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >"CSPRNG“、"DRBG”和“流密码”的含义有多不同?

"CSPRNG“、"DRBG”和“流密码”的含义有多不同?
EN

Cryptography用户
提问于 2016-05-01 22:10:16
回答 1查看 1.1K关注 0票数 10

以下术语是否具有普遍性和协商一致的定义?

  1. 密码安全伪随机数发生器(CSPRNG)
  2. 确定性随机比特发生器(DRBG)
  3. 流密码

这主要是一个关于术语而不是概念的问题(尽管我也没有完全掌握这些概念)。我之所以感到困惑是因为:

  • 我记得看到了一些引用(我现在找不到),它等同于CSPRNG和流密码,因为将有限密钥扩展到长的、安全的密钥流与从短种子生成长密码安全伪随机序列的问题基本上是相同的。因此,相应地,流密码有时用作PRNG,例如在铁锈ChaChaRng中。
  • 术语"DRBG“似乎主要用于NIST与其SP 800-90A算法有关的问题,该算法强调针对能够在某一时间点观察到状态的对手的安全。据我所知,这里的关键概念是前向保密和外部熵源的周期性重新播种。
  • "CSPRNG“一词显然在这两种意义上都被使用(例如,参见这个问题的答案)。
EN

回答 1

Cryptography用户

回答已采纳

发布于 2016-05-02 07:52:42

并不是所有的定义都是通用的,而且有相当多的重叠。

  • 最清晰的定义是PRG,它是(同步)流密码模型。PRG将一个秘密值映射到一个长的、看起来随机的密钥流,这样攻击者就无法通过知道密钥流的其他部分来预测密钥流的任何部分。对于确切的定义,您可以在卡茨和林德尔中看到定义(在我的副本中为3.15),或者在其他一些教科书中找到相应的定义。当然,大多数现代流密码并不真正适合PRG模型(即使它们是同步的)。它们使用IV/nonce,允许多个使用相同的密钥。
  • NIST将DRBG定义为:
    • 生成具有统计随机性和独立性的位序列
    • 以确定的方式
    • 从种子(可能还有其他输入)。

代码语言:javascript
复制
This sounds very much like a PRG, except for the other inputs, but they also mention access to an entropy source. It is quite vague and they also say that:   A DRBG is often called a Pseudorandom Number (or Bit) Generator.    Clearly there is overlap.
  • CSPRNG基本上是随机数生成的一个统称,在某种意义上是加密安全的。我不知道你会不会就它的意义达成共识。(就我个人而言,我需要重新播种和前向保密,或许还需要定义一种将比特序列映射为随机数的方法,但这些都不是普遍假设的。)

还有一些方法可以将其中的一个转换为另一个,比如您提到的流密码-> RNG,因为它们毕竟需要类似的属性,如果不是完全相同的话。

票数 7
EN
页面原文内容由Cryptography提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://crypto.stackexchange.com/questions/34998

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档