一 点睛

可以使用密码来编写能够生成强伪随机数的伪随机数生成器。既可以使用AES等对称密码,也可以使用RSA等公钥密码。

二 密码法生成伪随机数生成器的工作方式

1 初始化内部状态(计数器)。

2 用密钥加密计数器的值。

3 将密文作为伪随机数输出。

4 计数器加1。

5 根据需要的伪随机数数量重复2到4的步骤。

假设攻击者获得了这样的伪随机数生成器所生成的过去的伪随机数列,他是否能够预测出下一个伪随机数呢?

攻击者要预测下一个伪随机数,需要知道计数器的当前值。然而,由于之前所输出的伪随机列相对于密文,因此要知道计数器的值,就需要破译密码,这是非常困难的,因此攻击者无法预测出下一个伪随机数。总而言之,在这种伪随机数生成器中,密码的机密性是支撑伪随机数生成器不可预测性的基础。

三 伪代码实现

伪随机生成器具体实现——密码法相关推荐

  1. 伪随机生成器具体实现——杂乱的方法

    一 点睛 具体的伪随机生成器有下面几种 杂乱的方法 线性同余法 单向散列函数 密码法 ANSI X9.17 二 杂乱的方法--这种方法不可取 可能有人会说,既然是要生成杂乱无章的数列,那么用杂乱无章的 ...

  2. Java解决Hash(散列)冲突的四种方法--开放地址法(线性探测,二次探测,伪随机探测)、链地址法、再哈希、建立公共溢出区

    Java解决Hash(散列)冲突的四种方法--开放地址法(线性探测,二次探测,伪随机探测).链地址法.再哈希.建立公共溢出区 参考文章: (1)Java解决Hash(散列)冲突的四种方法--开放地址法 ...

  3. 现代密码学3.3--伪随机生成器/PRG

    现代密码学3.3--伪随机生成器/PRG PRG 归约证明 基于PRG构造计算安全(唯密文攻击)的密码方案 构造密码方案Π\PiΠ 基于PRG,证明密码方案Π\PiΠ的计算安全 博主正在学习INTRO ...

  4. 伪随机函数 密码学_密码学与理论2:什么是伪随机

    伪随机函数 密码学 正如本系列第一部分所得出的结论,没有随机性的安全性是不可能的. 确定性密码无法抵御强大的攻击者, 真正的随机数生成器不切实际或难以获得,因此加密技术基于伪随机数生成器. 这篇文章的 ...

  5. 密码学与理论2:什么是伪随机

    正如本系列第一部分所得出的结论,没有随机性的安全性是不可能的. 确定性密码无法抵御强大的攻击者, 真正的随机数生成器不切实际或难以获得,因此加密技术基于伪随机数生成器. 这篇文章的前两章定义它们是什么 ...

  6. 如何理解“伪随机”以及“随机种子”

    "真随机"与"伪随机" 真随机:就是我们传统意义上理解的"随机",随机事件如今天是否下雨,抛硬币的正反面,家门口的十字路口今天发生车祸等等. ...

  7. 加密生成指定长度_3分钟短文 | PHP伪随机Token生成器,实地测试,效果感人!

    引言 我们经常可能会用到邀请码,邮件验证码,或者需要使用unique 字符串标记用户属性的情况. 今天我们且不说高深的"全局唯一ID"的生成方案,我们说一个简单的,如何生成一个唯一 ...

  8. theboboy原创 随机生成器 生成伪数据 用来做测试 Java版本

    package com.theboboy.javase.util; import java.text.ParseException;import java.text.SimpleDateFormat; ...

  9. theboboy原创 随机生成器 生成伪数据 用来做测试 C#.Net版本

    using System; using System.Collections.Generic; using System.Linq; using System.Text;namespace thebo ...

  10. 【转】 DOTA2中的伪随机及其lua实现

    [转] DOTA2中的伪随机及其lua实现 因为单纯的随机确实会影响到竞技性,所以dota2引入的是伪随机机制,在大量的技能中,比如说混沌的混乱之箭.剑圣的剑舞.冰女的冰霜领域之类的技能,都利用了伪随 ...

最新文章

  1. VC代码的编写和调试---编写易于调试的VC代码
  2. 如何识别数据中心的能源浪费?
  3. web前端教程之JavaScript的作用域
  4. C# Stream 和 byte[] 之间的转换(文件流的应用)
  5. 全程软件测试之测试需求分析与计划(2)
  6. qt 设置串口起始位_【IT专家】Qt:如何设置主窗口的初始位置?
  7. 在JBoss Fuse / Fabric8 / Karaf中使用Byteman
  8. java中的gui_java gui快速入门教程
  9. 互金策略若干问题(全)
  10. MVC Code First中的惯例(约定)
  11. 2-1 如何抓不同的接口(手机抓包,web网页抓包)
  12. MoveIt China Developer Workshop
  13. 常用z反变换公式表_高中三角函数公式推理amp;记忆
  14. chrome浏览器导出扩展_每日新闻摘要:再次跟踪您的浏览历史记录的Google Chrome浏览器扩展...
  15. 思考输入变量与输出变量之间的关系---从线性回归出发
  16. 跨国企业在中国 | 3M与美的达成家电领域战略合作;舍弗勒南京公司开建新厂房...
  17. 第二篇supervisor集群管理工具cesi安装详解-如何安装supervisor-cesiwebUI
  18. java bidi_Java Bidi toString()用法及代码示例
  19. STM32F767多通道ADC采集+DMA传输
  20. linux虚拟机mtr不出去,如何使用MTR诊断网络问题

热门文章

  1. 二叉搜索树前序序列转后序序列(或相反)
  2. VS Code Python “Statements must be separated by newlines or semicolons“
  3. Base64编码(java)
  4. c语言编写aoi程序,AOI编程步骤
  5. 上海互盾信息科技有限公司:心之所向,行必能至
  6. premiere pro 2020 pr 快捷键
  7. Acer宏碁笔记本触摸板失效解决方法
  8. WEB应用组合——LAMP软件源码编译安装
  9. 软件测试-搭建测试环境
  10. 基于python的LSB加密算法设计