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