diff options
Diffstat (limited to 'Documentation/hw_random.txt')
-rw-r--r-- | Documentation/hw_random.txt | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/Documentation/hw_random.txt b/Documentation/hw_random.txt new file mode 100644 index 000000000000..bb58c36b5845 --- /dev/null +++ b/Documentation/hw_random.txt | |||
@@ -0,0 +1,69 @@ | |||
1 | Hardware driver for Intel/AMD/VIA Random Number Generators (RNG) | ||
2 | Copyright 2000,2001 Jeff Garzik <jgarzik@pobox.com> | ||
3 | Copyright 2000,2001 Philipp Rumpf <prumpf@mandrakesoft.com> | ||
4 | |||
5 | Introduction: | ||
6 | |||
7 | The hw_random device driver is software that makes use of a | ||
8 | special hardware feature on your CPU or motherboard, | ||
9 | a Random Number Generator (RNG). | ||
10 | |||
11 | In order to make effective use of this device driver, you | ||
12 | should download the support software as well. Download the | ||
13 | latest version of the "rng-tools" package from the | ||
14 | hw_random driver's official Web site: | ||
15 | |||
16 | http://sourceforge.net/projects/gkernel/ | ||
17 | |||
18 | About the Intel RNG hardware, from the firmware hub datasheet: | ||
19 | |||
20 | The Firmware Hub integrates a Random Number Generator (RNG) | ||
21 | using thermal noise generated from inherently random quantum | ||
22 | mechanical properties of silicon. When not generating new random | ||
23 | bits the RNG circuitry will enter a low power state. Intel will | ||
24 | provide a binary software driver to give third party software | ||
25 | access to our RNG for use as a security feature. At this time, | ||
26 | the RNG is only to be used with a system in an OS-present state. | ||
27 | |||
28 | Theory of operation: | ||
29 | |||
30 | Character driver. Using the standard open() | ||
31 | and read() system calls, you can read random data from | ||
32 | the hardware RNG device. This data is NOT CHECKED by any | ||
33 | fitness tests, and could potentially be bogus (if the | ||
34 | hardware is faulty or has been tampered with). Data is only | ||
35 | output if the hardware "has-data" flag is set, but nevertheless | ||
36 | a security-conscious person would run fitness tests on the | ||
37 | data before assuming it is truly random. | ||
38 | |||
39 | /dev/hwrandom is char device major 10, minor 183. | ||
40 | |||
41 | Driver notes: | ||
42 | |||
43 | * FIXME: support poll(2) | ||
44 | |||
45 | NOTE: request_mem_region was removed, for two reasons: | ||
46 | 1) Only one RNG is supported by this driver, 2) The location | ||
47 | used by the RNG is a fixed location in MMIO-addressable memory, | ||
48 | 3) users with properly working BIOS e820 handling will always | ||
49 | have the region in which the RNG is located reserved, so | ||
50 | request_mem_region calls always fail for proper setups. | ||
51 | However, for people who use mem=XX, BIOS e820 information is | ||
52 | -not- in /proc/iomem, and request_mem_region(RNG_ADDR) can | ||
53 | succeed. | ||
54 | |||
55 | Driver details: | ||
56 | |||
57 | Based on: | ||
58 | Intel 82802AB/82802AC Firmware Hub (FWH) Datasheet | ||
59 | May 1999 Order Number: 290658-002 R | ||
60 | |||
61 | Intel 82802 Firmware Hub: Random Number Generator | ||
62 | Programmer's Reference Manual | ||
63 | December 1999 Order Number: 298029-001 R | ||
64 | |||
65 | Intel 82802 Firmware HUB Random Number Generator Driver | ||
66 | Copyright (c) 2000 Matt Sottek <msottek@quiknet.com> | ||
67 | |||
68 | Special thanks to Matt Sottek. I did the "guts", he | ||
69 | did the "brains" and all the testing. | ||