b34f721fecd392049bd07ff9d923efc53207265e
[gnuk/neug.git] / NEWS
1 NeuG NEWS - User visible changes
2
3
4 * Major changes in NeuG 1.0.8
5
6   Released 2018-05-10, by NIIBE Yutaka
7
8 ** No inclusion of VID:PID in neug-no-vidpid.elf
9 Now, we have new file named neug-no-vidpid.elf with no VID:PID.  The
10 file neug.elf has the VID:PID, like version 1.0.6 or older.
11
12 ** Upgrade of Fraucheky
13
14 We use Fraucheky 0.7, with a bug fix of initialization.
15
16 ** Upgrade of Chopstx
17
18 We use Chopstx 1.9, which supports GD32F103.
19
20
21 * Major changes in NeuG 1.0.7
22
23   Released 2018-01-19, by NIIBE Yutaka
24
25 ** No inclusion of VID:PID in neug.elf
26
27 Distribution of binary image with VID:PID would violate vendor ID
28 agreement to USB Forum.  Now, we have new file named neug-vidpid.elf
29 for flashing.  The file neug.elf can be used to generate
30 neug-vidpid.elf and we can check if it is reproducible or not.
31
32 ** Upgrade of Fraucheky
33
34 We use Fraucheky 0.6, which allows USB VID:PID replacement
35 at the last stage of build.
36
37 ** Upgrade of Chopstx
38
39 We use Chopstx 1.8, which supports USB suspend.
40
41
42 * Major changes in NeuG 1.0.6
43
44   Released 2017-10-11, by NIIBE Yutaka
45
46 ** Port to GNU/Linux emulation
47 We can "run" NeuG stand-alone device on GNU/Linux by emulation through
48 USBIP.
49
50 ** Upgrade of Fraucheky
51 We use Fraucheky 0.5, which can work well with GNU/Linux emulation.
52
53 ** Upgrade of Chopstx
54 We use Chopstx 1.5, which supports Blue Pill and the emulation on
55 GNU/Linux.
56
57
58 * Major changes in NeuG 1.0.5
59
60   Released 2016-10-17, by NIIBE Yutaka
61
62 ** Upgrade of Chopstx
63 We use Chopstx 1.2, which supports FST-01G.
64
65
66 * Major changes in NeuG 1.0.4
67
68   Released 2015-09-18, by NIIBE Yutaka
69
70 ** Upgrade of Chopstx
71 We use Chopstx 0.10, which supports Nitrokey-Start.
72
73 ** USB reset handling
74 Now, USB reset lets NeuG device restart correctly.
75
76
77 * Major changes in NeuG 1.0.3
78
79   Released 2015-08-03, by NIIBE Yutaka
80
81 ** Fraucheky can be manually invoked
82 Even if Fraucheky is disabled at start by moving files to DROPHERE,
83 a user can invoke Fraucheky to see documents, now.
84
85 ** Upgrade of Chopstx
86 We use Chopstx 0.08, which supports ST-Dongle and STM32 Nucleo F103.
87
88 ** Upgrade of Fraucheky
89 We use Fraucheky 0.3, which can work well with FreeBSD.
90
91
92 * Major changes in NeuG 1.0.2
93
94   Released 2015-07-18, by NIIBE Yutaka
95
96 ** Upgrade of firmware enhancement
97 The process is protected by password.
98
99 ** Upgrade of Chopstx
100 We use Chopstx 0.07, which supports STM32 Primer2, CQ STARM.
101
102
103 * Major changes in NeuG 1.0.1
104
105   Released 2015-01-29, by NIIBE Yutaka
106
107 ** Upgrade of Chopstx
108 We use Chopstx 0.04.
109
110 ** Upgrade of Fraucheky
111 We use Fraucheky 0.1.
112
113 ** Compile options
114 We use -O3 (with no -Os) for neug.o and sha256.o.
115
116
117 * Major changes in NeuG 1.0
118
119   Released 2013-11-11, by NIIBE Yutaka
120
121 ** Upgrade of Chopstx
122 Now, we use Chopstx 0.03.
123
124 ** Stabilize the upgrade process
125 For firmware upgrade, it has been unstable somehow and it has been
126 recommended not to access its stream (/dev/ttyACM0) before running
127 neug_upgrade.py.  This bug was fixed in 1.0, and it's more stable.
128
129 ** Add support of Fraucheky
130 Fraucheky is a GPL container which makes sure to deliver GPL to users.
131
132
133 * Major changes in NeuG 0.11
134
135   Released 2013-08-22, by NIIBE Yutaka
136
137 ** Replacement of kernel (thread library)
138 Instead of ChibiOS/RT, we now use Chopstx.
139
140 ** Improved performance
141 The output of random numbers got faster than the previous
142 implementation by 30% or so.
143
144 ** Unsupported targets
145 CQ_STARM, STBEE, STBEE Mini, and STM32_PRIMER2 are not
146 supported in this release, but porting should be easy.
147
148
149 * Major changes in NeuG 0.06
150
151   Released 2013-03-15, by NIIBE Yutaka
152
153 ** Support for relocatable reGNUal
154 For firmware upgrade, we can use newer reGNUal (>= 1.0.4).
155
156
157 * Major changes in NeuG 0.05
158
159   Released 2013-02-07, by NIIBE Yutaka
160
161 ** Improvement on SHA256 calculation
162 The output of random numbers got faster than the previous
163 implementation by 2% or so.
164
165
166 * Major changes in NeuG 0.04
167
168   Released 2012-10-30, by NIIBE Yutaka
169
170 ** Update of ChibiOS/RT
171 ChibiOS/RT is updated to newer 2.4.3.
172
173 ** Improved performance
174 Improvement on generation speed, even when it's _not_ connected to USB
175 2.0 Hub.
176
177 ** Health tests run for NEUG_MODE_RAW
178 Health tests run when NEUG_MODE_RAW (CRC32 filter output).
179
180 ** More runtime info: tool/neug_check.py 
181 Now, we can observe max counts of repeat count test, adaptive
182 propotion test 64, and adaptive propotion test 4096.
183
184
185 * Major changes in NeuG 0.03
186
187   Released 2012-10-09, by NIIBE Yutaka
188
189 ** Change RNG constuct.
190 We replace all basic components again, to conform NIST SP 800-90B.
191 Now, we use two analog inputs use in addition to Vref and Temperature
192 Sensor.  We take advantage of another A/D convertor, ADC2.
193
194 In former versions, we use LSBs of inputs.  From this version, we use
195 all bits, and put them to CRC32 calculation unit.  That's because we
196 can get more entropy when using full bits.
197
198 The central component, the conditioning component, is the one with
199 SHA-256, to conform NIST SP 80-90B.
200
201 ** New ADC (A/D convertor) driver
202 Now, we use our own ADC driver, so that we can use ADC2 and we can
203 control ADC for our particular usage (such that put it to CRC32
204 calculation unit).
205
206 ** Selection of output
207 Using "stty" command, we can now select one of three outputs: final
208 output (conditioned), CRC32 filtered raw data before conditioning, and
209 raw input data of ADC.
210
211 ** USB strings for revision detail, configure options, and system service.
212 USB strings now have more information.  There are revision detail
213 string, configure options string, system service version string, as
214 well as vendor string and product string.  These strings could be
215 examined to check NeuG device.
216
217 ** New mandatory option '--vidpid' for configure
218 You must specify USB vendor ID and product ID for Gnuk.
219 The file NEUG_USB_DEVICE_ID lists valid USB device IDs.
220
221 ** Health tests
222 Health tests are implemented to conform NIST SP 800-90B.  There are
223 three tests, repetition count test, adaptive proportion test 64,
224 and adaptive proportion test 4096.
225
226 ** System service blocks at the beginning of flash ROM.
227 Once flash ROM is protected, first 4-KiB cannot be modified.  Gnuk use
228 this area for "system service".  NeuG has compatible system service
229 block as Gnuk.  Note that this area will not be able to be modified by
230 firmware upgrade (or by any method).
231
232 ** New tool: neug_upgrade.py
233 The tool neug_upgrade.py is to send reGNUal to NeuG device.  Then, we
234 put new NeuG binary (or any binary, say, Gnuk) into the device with
235 reGNUal.
236
237 ** New tool: neug_check.py
238 The tool neug_check.py is to check the device condition.  You can see
239 error counters of NeuG device with this tool.
240
241
242 * Major changes in NeuG 0.02
243
244   Released 2012-08-30, by NIIBE Yutaka
245
246 ** Change RNG constuct.
247 We replace all basic components.  Now, we use WELL 512a structure
248 for Physical-based RNG.
249
250 ** New USB stack.
251 Now, we use our own USB stack (taken from Gnuk).
252
253
254 * Major changes in NeuG 0.01
255
256   Released 2011-11-14, by NIIBE Yutaka
257
258 ** Support more boards
259 NeuG now supports FST-01, STM8S DISCOVERY, CQ-STARM and STBee, too.
260
261 ** Change RNG construct.
262 Basic technology is basically same (CRC-16, TinyMT), but we add
263 FNV32 hash as an output function, and give a seed to TinyMT from
264 Physical-based RNG.
265
266 ** Add Test results.
267 Under test-results directory, we put results of RNG test by rng-tools,
268 NIST STS 2.1.1, and Dieharder 3.31.1.
269
270
271 * Major changes in NeuG 0.00
272
273   Released 2011-07-14, by NIIBE Yutaka
274
275 ** This is initial release.
276
277 Local Variables:
278 mode: outline
279 End: