【密码学】一文读懂基于离散对数的随机数生成器

简介: 是的,我又来水文章了,本文带着大家来了解一个新的随机数生成器,基于离散对数的随机数生成器,之前已经带着大家了解过了两个类似的随机数生成器了,其中一个是BBS随机数生成器,另一个是基于RSA的随机数生成器,有兴趣的读者可以自行回顾一下之前的文章哈。

【密码学】一文读懂基于离散对数的随机数生成器


NATD]46H@T]NNBF07F_`10G.jpg

是的,我又来水文章了,本文带着大家来了解一个新的随机数生成器,基于离散对数的随机数生成器,之前已经带着大家了解过了两个类似的随机数生成器了,其中一个是BBS随机数生成器,另一个是基于RSA的随机数生成器,有兴趣的读者可以自行回顾一下之前的文章哈。


生成器结构

  • 选取一个k比特的素数p, 是p的一个本原元
  • 选择一个种子 是 当中的任意元素
  • 根据如下的规则生成随机序列

image.png

  • 最终生成的随机bit的结果规则如下

image.png

其中

image.png

$QRIC9)CJYP39OKA5DQ62WG.png

image.gifDLP随机数生成器


番外篇

因为这个算法比较简单,因此呢,这次我们也不写代码了,来玩一个小程序(这不是一个广告, 逃~~)。

image.gif

F7RSW)~X8L)532@7HZG{%@I.png

点进去之后,就可以输入对应的参数以及生成的随机数个数来玩一下基于离散对数的随机数生成器了。

QEH0VDZ1A]21L4ZM}@2`8DM.jpg


好了,到这里本文其实就结束了。

相关文章
|
Rust 算法 安全
【密码学】一文读懂MurMurHash2
上次我们聊过了一代的MurMurHash算法,是的,我又来水文章了,今天呢,接着来聊一下二代的MurMurHash算法,二代算法的整体结构实际上和一代算法差不太多,只是对于每一轮数据的处理过程当中的运算有一些差异,算法的来源依然是来自于Google官网给提供的源码,对着源码看的结构,对于这个算法呢,有两个版本,一个是32位的,一个是64位的,对于32位的算法和64位的算法,区别在于两个初始的魔数不同,整体运算过程还是十分相似的。
2132 0
【密码学】一文读懂MurMurHash2
|
Rust 算法 Go
【密码学】一文读懂MurMurHash3
本文应该是MurMurHash算法介绍的最后一篇,来一起看一下最新的MurMurHash算法的具体过程,对于最新的算法来说,整个流程和之前的其实也比较相似,这里从维基百科当中找到了伪代码,也就不贴出来Google官方给出的推荐代码了,先来看一下维基百科给出的伪代码,这里只有32位的伪代码。
2058 0
【密码学】一文读懂MurMurHash3
|
算法 数据安全/隐私保护
【密码学】一文读懂Whirlpool
首先呢,祝大家今晚节日快乐,Whirlpool是由Vincent Rijmen(高级加密标准的联合创始人)和Paulo S.L.M.Barreto设计的,后者于2000年首次提出了它。
1077 0
【密码学】一文读懂Whirlpool
|
Rust 算法 网络安全
【密码学】一文读懂CMAC
介于上一篇文章比较水,然后这个和上一篇也比较相似,CMAC是为了解决DAA当中安全性不足的问题而出现的,这个算法一共有三个密钥,K, K1, K2, 其中K1和K2可以由K导出,接下来就来一起看一下CMAC的具体过程吧,这一篇文章其实也不长。
3583 0
【密码学】一文读懂CMAC
|
Web App开发 Rust 算法
【密码学】一文读懂ChaCha20
好久没写新的加密算法的原理了, 这次所选取的加密算法结构比较简单, 一起来看一下吧。
7372 0
【密码学】一文读懂ChaCha20
|
Rust 算法 数据安全/隐私保护
【密码学】一文读懂XTEA加密
本篇文章,我们来看一下上一次讲过的TEA加密算法的一个升级版XTEA, 相比于TEA, XTEA的安全性显然是更高的,其中的过程要比TEA稍微复杂一点点。
1240 0
【密码学】一文读懂XTEA加密
|
算法 安全 Go
【密码学】一文读懂HKDF
我这又来水一篇文章,来聊一下HKDF(基于HMAC的密钥导出函数)。密钥派生函数是密钥管理的组成部分,他的目标是通过一些初始的数据派生出来密码学安全的随机密钥。
3040 1
【密码学】一文读懂HKDF
|
Rust 算法 数据安全/隐私保护
【密码学】一文读懂RSA的随机数生成器
本文接着来聊一个比较轻松的内容,再来说一个随机数生成器,对于这个随机数生成器呢,这里和之前讲到过的BBS有一些类似,直接来看具体的内容蛤。
1095 1
【密码学】一文读懂RSA的随机数生成器
|
算法 搜索推荐 安全
【密码学】一文读懂CCM
本文简单介绍了CCM模式下的认证和加密机制,实际上这个是AES-CTR模式和CMAC的一个组合,如果理解了前面这两个,本文应该还是比较好理解的。
3349 0
【密码学】一文读懂CCM
|
Rust 算法 安全
【密码学】一文读懂随机数
本文简单的介绍了一下随机数的概念,然后给出了一个非密码学安全的随机数生成器--线性同余法,一定注意,这个方法不要用在密码学相关用途蛤。
【密码学】一文读懂随机数