zoukankan      html  css  js  c++  java
  • 密码学初级教程(九)随机数

    随机数的用途

    • 生成密钥
    • 生成密钥对
    • 生成初始化向量(IV)
    • 生成你once
    • 生成盐

    随机数的性质

    • 随机性-不存在统计学偏差,是完全杂乱的数列。
    • 不可预测性-不能从过去的数列推测出下一个出现的数
    • 不可重现性-除非将数列本身保存下来,否则不能重现相同的数列。

    随机数的分类

    • 弱伪随机数(只具备随机性)
    • 强伪随机数(具备不可预测性)
    • 真随机数(具备不可重现性)

    随机数生成器

    通过硬件生成的随机数列,是根据传感器收集的热量、声音的变化等事实上无法预测和重现的自然现象信息来生成的。像这样的硬件设备就是随机数生成器(Random Number Generator,RNG)。

    伪随机数生成器

    可以生成随机数的软件称为伪随机数生成数(Pseudo Random Number Generator,PRNG),仅靠软件无法生成真随机数。

    1. 伪随机数生成器的结构
    2. 伪随机数生成器的内部状态
    3. 伪随机数生成器的种子

    种子是一串随机的比特序列,根据种子就可以生成专属于自己的伪随机数列。

    具体的伪随机数生成器

    • 杂乱的方法
    • 线性同余法
    • 单向散列函数法
    • 密码法
    • ANSI X9.17
  • 相关阅读:
    HUST 1584 摆放餐桌
    HUST 1585 排队
    HUST 1583 长度单位
    树状数组 poj2352 Stars
    Visual Studio2013应用笔记---WinForm事件中的Object sender和EventArgs e参数
    倒置输入的数 Exercise07_02
    指定等级 Exercise07_01
    检测密码 Exercise06_18
    一年的天数 Exercise06_16
    数列求和 Exercise06_13
  • 原文地址:https://www.cnblogs.com/yaochc/p/5176639.html
Copyright © 2011-2022 走看看