- The current exported interfaces for gathering environmental noise
- from the devices are:
- void add_device_randomness(const void *buf, unsigned int size);
void add_input_randomness(unsigned int type, unsigned int code,
unsigned int value);
void add_interrupt_randomness(int irq, int irq_flags);
- void add_disk_randomness(struct gendisk *disk);
一、随机数的产生
用熵池产生随机数,下面是一些操作熵池的函数:
2.6版本:
| 序号 | 方法 | 描述 | 分析 |
|---|---|---|---|
| 1 | add_interrupt_randomness(int irq) | 使用中断产生的时间间隔更新熵池 | 三种产生随机数的方法 |
| 2 | add_disk_randomness(struct gendisk *disk) | 连续两次磁盘操作的时间间隔更新熵池 | |
| 3 | add_input_randomness(unsigned int type, unsigned int code, unsigned int value) | 使用输入源设备之间的时间间隔 | |
| 4 | add_timer_randomness(struct timer_rand_state *state, unsigned num) | 将计算后的熵更新到熵池 | 上面三种最终使用此方法更新熵池 |
5.2版本:
The current exported interfaces for gathering environmental noise
from the devices are:
void add_device_randomness(const void buf, unsigned int size);
void add_input_randomness(unsigned int type, unsigned int code,
unsigned int value);
void add_interrupt_randomness(int irq, int irq_flags);
void add_disk_randomness(struct gendisk disk);
*
| 序号 | 方法 | 描述 | 分析 |
|---|---|---|---|
| 1 | add_interrupt_randomness(int irq) | 使用中断产生的时间间隔更新熵池 | 三种产生随机数的方法 |
| 2 | add_disk_randomness(struct gendisk *disk) | 连续两次磁盘操作的时间间隔更新熵池 | |
| 3 | add_input_randomness(unsigned int type, unsigned int code, unsigned int value) | 使用输入源设备之间的时间间隔 | |
| 4 | add_timer_randomness(struct timer_rand_state *state, unsigned num) | 将计算后的熵更新到熵池 | 上面三种最终使用此方法更新熵池 |
