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