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