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