446049e9dba74e1d8fdfac39254f581c1a3306ea
[gnuk/neug.git] / NEWS
1 NeuG NEWS - User visible changes
2
3 * Major changes in NeuG 0.11
4
5   Released 2013-08-22, by NIIBE Yutaka
6
7 ** Replacement of kernel (thread library)
8 Instead of ChibiOS/RT, we now use Chopstx.
9
10 ** Improved performance
11 The output of random numbers got faster than the previous
12 implementation by 30% or so.
13
14 ** Unsupported targets
15 CQ_STARM, STBEE, STBEE Mini, and STM32_PRIMER2 are not
16 supported in this release, but porting should be easy.
17
18
19 * Major changes in NeuG 0.06
20
21   Released 2013-03-15, by NIIBE Yutaka
22
23 ** Support for relocatable reGNUal
24 For firmware upgrade, we can use newer reGNUal (>= 1.0.4).
25
26
27 * Major changes in NeuG 0.05
28
29   Released 2013-02-07, by NIIBE Yutaka
30
31 ** Improvement on SHA256 calculation
32 The output of random numbers got faster than the previous
33 implementation by 2% or so.
34
35
36 * Major changes in NeuG 0.04
37
38   Released 2012-10-30, by NIIBE Yutaka
39
40 ** Update of ChibiOS/RT
41 ChibiOS/RT is updated to newer 2.4.3.
42
43 ** Improved performance
44 Improvement on generation speed, even when it's _not_ connected to USB
45 2.0 Hub.
46
47 ** Health tests run for NEUG_MODE_RAW
48 Health tests run when NEUG_MODE_RAW (CRC32 filter output).
49
50 ** More runtime info: tool/neug_check.py 
51 Now, we can observe max counts of repeat count test, adaptive
52 propotion test 64, and adaptive propotion test 4096.
53
54
55 * Major changes in NeuG 0.03
56
57   Released 2012-10-09, by NIIBE Yutaka
58
59 ** Change RNG constuct.
60 We replace all basic components again, to conform NIST SP 800-90B.
61 Now, we use two analog inputs use in addition to Vref and Temperature
62 Sensor.  We take advantage of another A/D convertor, ADC2.
63
64 In former versions, we use LSBs of inputs.  From this version, we use
65 all bits, and put them to CRC32 calculation unit.  That's because we
66 can get more entropy when using full bits.
67
68 The central component, the conditioning component, is the one with
69 SHA-256, to conform NIST SP 80-90B.
70
71 ** New ADC (A/D convertor) driver
72 Now, we use our own ADC driver, so that we can use ADC2 and we can
73 control ADC for our particular usage (such that put it to CRC32
74 calculation unit).
75
76 ** Selection of output
77 Using "stty" command, we can now select one of three outputs: final
78 output (conditioned), CRC32 filtered raw data before conditioning, and
79 raw input data of ADC.
80
81 ** USB strings for revision detail, configure options, and system service.
82 USB strings now have more information.  There are revision detail
83 string, configure options string, system service version string, as
84 well as vendor string and product string.  These strings could be
85 examined to check NeuG device.
86
87 ** New mandatory option '--vidpid' for configure
88 You must specify USB vendor ID and product ID for Gnuk.
89 The file NEUG_USB_DEVICE_ID lists valid USB device IDs.
90
91 ** Health tests
92 Health tests are implemented to conform NIST SP 800-90B.  There are
93 three tests, repetition count test, adaptive proportion test 64,
94 and adaptive proportion test 4096.
95
96 ** System service blocks at the beginning of flash ROM.
97 Once flash ROM is protected, first 4-KiB cannot be modified.  Gnuk use
98 this area for "system service".  NeuG has compatible system service
99 block as Gnuk.  Note that this area will not be able to be modified by
100 firmware upgrade (or by any method).
101
102 ** New tool: neug_upgrade.py
103 The tool neug_upgrade.py is to send reGNUal to NeuG device.  Then, we
104 put new NeuG binary (or any binary, say, Gnuk) into the device with
105 reGNUal.
106
107 ** New tool: neug_check.py
108 The tool neug_check.py is to check the device condition.  You can see
109 error counters of NeuG device with this tool.
110
111
112 * Major changes in NeuG 0.02
113
114   Released 2012-08-30, by NIIBE Yutaka
115
116 ** Change RNG constuct.
117 We replace all basic components.  Now, we use WELL 512a structure
118 for Physical-based RNG.
119
120 ** New USB stack.
121 Now, we use our own USB stack (taken from Gnuk).
122
123
124 * Major changes in NeuG 0.01
125
126   Released 2011-11-14, by NIIBE Yutaka
127
128 ** Support more boards
129 NeuG now supports FST-01, STM8S DISCOVERY, CQ-STARM and STBee, too.
130
131 ** Change RNG construct.
132 Basic technology is basically same (CRC-16, TinyMT), but we add
133 FNV32 hash as an output function, and give a seed to TinyMT from
134 Physical-based RNG.
135
136 ** Add Test results.
137 Under test-results directory, we put results of RNG test by rng-tools,
138 NIST STS 2.1.1, and Dieharder 3.31.1.
139
140
141 * Major changes in NeuG 0.00
142
143   Released 2011-07-14, by NIIBE Yutaka
144
145 ** This is initial release.
146
147 Local Variables:
148 mode: outline
149 End: