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