美文网首页
密码学基础之伪随机数

密码学基础之伪随机数

作者: redexpress | 来源:发表于2018-04-04 16:35 被阅读119次

随机数分类

  1. 真随机数
  2. 伪随机数
    2.1 强伪随机数
    2.2 弱伪随机数

真随机数:其定义为随机样本不可重现。实际上只要给定边界条件,真随机数并不存在,可是如果产生一个真随机数样本的边界条件十分复杂且难以捕捉(比如计算机当地的本底辐射波动值),可以认为用这个方法演算出来了真随机数。(百度百科)
伪随机数:通过一定算法得出,比如:计算机软件实现的是伪随机数。
强伪随机数:难以预测的随机数,可用于密码学
弱伪随机数:容易预测的随机数,不可用于密码学
我们常说的编程语言的随机数,其实是伪随机数。弱伪随机数不可用于密码学,若是用于生成小学生的算术题当然没问题。
下面借用random.org两幅图说明强伪随机和弱随机数的区别。

RANDOM.ORG
PHP rand() on Windows
如何在各种编程语言中生成安全的随机数?已经比较全面了。我补充了一篇iOS如何生成安全的伪随机数

相关文章

密码学基础系列

参考文献

[random.org] Statistical Analysis

相关文章

  • 2019-07-09

    伪随机数,是通过一些数学算法生成的随机数,并非真正的随机数。密码学上的安全伪随机数应该是不可压缩的。对应的“真随机...

  • 密码学基础之伪随机数

    随机数分类 真随机数 伪随机数2.1 强伪随机数2.2 弱伪随机数 真随机数:其定义为随机样本不可重现。实际上只要...

  • iOS如何生成安全的伪随机数

    iOS 可以用SecRandomCopyBytes函数生成密码学安全的伪随机数,下面是使用示例: 相关文章 密码学...

  • golang 生成随机数

    真随机和伪随机概念 先大概了解一下伪随机和真随机的概念。根据密码学原理,要想对一个“随机数”进行随机性检验有以下几...

  • 14 随机数生成器

    14.1 介绍 很多密码学系统需要使用到随机数。目前为止,本书只是假设可以获取到随机数。本章将介绍密码学中的随机数...

  • 多线程环境下生成随机数

    生成伪随机数据 Java里有伪随机型和安全型两种随机数生成器。伪随机生成器根据特定公式将seed转换成新的伪随机数...

  • 生成随机数

    两个C函数 rand()函数生成的随机数是伪随机数,所谓伪随机数,指的是程序每次运行,生成的随机数都是不变的,生成...

  • Python random 模块详解

    我们可以先来了解下伪随机数和真随机数的概念。 伪随机数:伪随机数是用确定性的算法计算出来自[0,1]均匀分布的随机...

  • python中random模块功能详解(python工程狮)

    random — 生成伪随机数,random模块为各种分布实现伪随机数的生成。 1.random.random()...

  • 一文带你读懂生成随机数的方式?

    计算机的随机数都是由伪随机数。例如:rand() 函数可以用来产生随机数,但是这不是真正意义上的随机数,是一个伪随...

网友评论

      本文标题:密码学基础之伪随机数

      本文链接:https://www.haomeiwen.com/subject/igokhftx.html