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