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