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

    随机数的用途

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

    随机数的性质

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

    随机数的分类

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

    随机数生成器

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

    伪随机数生成器

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

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

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

    具体的伪随机数生成器

    • 杂乱的方法
    • 线性同余法
    • 单向散列函数法
    • 密码法
    • ANSI X9.17
  • 相关阅读:
    SpringBoot整合RabbitMQ
    NIO
    eclipse配置maven
    IDEA常用快捷键
    IDEA如何快速查看类中的属性和方法?
    Java之IO流
    JS判断对象是否包含某个属性
    Jquery获取链接请求的参数
    JS中indexOf的用法
    JS驼峰与下划线互转
  • 原文地址:https://www.cnblogs.com/yaochc/p/5176639.html
Copyright © 2011-2022 走看看