NeuG NEWS - User visible changes * Major changes in NeuG 1.0.2 Released 2015-09-XX, by NIIBE Yutaka ** Upgrade of firmware enhancement The process is protected by password. ** Upgrade of Chopstx We use Chopstx 0.06, which supports STM32 Primer2, CQ STARM. * Major changes in NeuG 1.0.1 Released 2015-01-29, by NIIBE Yutaka ** Upgrade of Chopstx We use Chopstx 0.04. ** Upgrade of Fraucheky We use Fraucheky 0.1. ** Compile options We use -O3 (with no -Os) for neug.o and sha256.o. * Major changes in NeuG 1.0 Released 2013-11-11, by NIIBE Yutaka ** Upgrade of Chopstx Now, we use Chopstx 0.03. ** Stabilize the upgrade process For firmware upgrade, it has been unstable somehow and it has been recommended not to access its stream (/dev/ttyACM0) before running neug_upgrade.py. This bug was fixed in 1.0, and it's more stable. ** Add support of Fraucheky Fraucheky is a GPL container which makes sure to deliver GPL to users. * Major changes in NeuG 0.11 Released 2013-08-22, by NIIBE Yutaka ** Replacement of kernel (thread library) Instead of ChibiOS/RT, we now use Chopstx. ** Improved performance The output of random numbers got faster than the previous implementation by 30% or so. ** Unsupported targets CQ_STARM, STBEE, STBEE Mini, and STM32_PRIMER2 are not supported in this release, but porting should be easy. * Major changes in NeuG 0.06 Released 2013-03-15, by NIIBE Yutaka ** Support for relocatable reGNUal For firmware upgrade, we can use newer reGNUal (>= 1.0.4). * Major changes in NeuG 0.05 Released 2013-02-07, by NIIBE Yutaka ** Improvement on SHA256 calculation The output of random numbers got faster than the previous implementation by 2% or so. * Major changes in NeuG 0.04 Released 2012-10-30, by NIIBE Yutaka ** Update of ChibiOS/RT ChibiOS/RT is updated to newer 2.4.3. ** Improved performance Improvement on generation speed, even when it's _not_ connected to USB 2.0 Hub. ** Health tests run for NEUG_MODE_RAW Health tests run when NEUG_MODE_RAW (CRC32 filter output). ** More runtime info: tool/neug_check.py Now, we can observe max counts of repeat count test, adaptive propotion test 64, and adaptive propotion test 4096. * Major changes in NeuG 0.03 Released 2012-10-09, by NIIBE Yutaka ** Change RNG constuct. We replace all basic components again, to conform NIST SP 800-90B. Now, we use two analog inputs use in addition to Vref and Temperature Sensor. We take advantage of another A/D convertor, ADC2. In former versions, we use LSBs of inputs. From this version, we use all bits, and put them to CRC32 calculation unit. That's because we can get more entropy when using full bits. The central component, the conditioning component, is the one with SHA-256, to conform NIST SP 80-90B. ** New ADC (A/D convertor) driver Now, we use our own ADC driver, so that we can use ADC2 and we can control ADC for our particular usage (such that put it to CRC32 calculation unit). ** Selection of output Using "stty" command, we can now select one of three outputs: final output (conditioned), CRC32 filtered raw data before conditioning, and raw input data of ADC. ** USB strings for revision detail, configure options, and system service. USB strings now have more information. There are revision detail string, configure options string, system service version string, as well as vendor string and product string. These strings could be examined to check NeuG device. ** New mandatory option '--vidpid' for configure You must specify USB vendor ID and product ID for Gnuk. The file NEUG_USB_DEVICE_ID lists valid USB device IDs. ** Health tests Health tests are implemented to conform NIST SP 800-90B. There are three tests, repetition count test, adaptive proportion test 64, and adaptive proportion test 4096. ** System service blocks at the beginning of flash ROM. Once flash ROM is protected, first 4-KiB cannot be modified. Gnuk use this area for "system service". NeuG has compatible system service block as Gnuk. Note that this area will not be able to be modified by firmware upgrade (or by any method). ** New tool: neug_upgrade.py The tool neug_upgrade.py is to send reGNUal to NeuG device. Then, we put new NeuG binary (or any binary, say, Gnuk) into the device with reGNUal. ** New tool: neug_check.py The tool neug_check.py is to check the device condition. You can see error counters of NeuG device with this tool. * Major changes in NeuG 0.02 Released 2012-08-30, by NIIBE Yutaka ** Change RNG constuct. We replace all basic components. Now, we use WELL 512a structure for Physical-based RNG. ** New USB stack. Now, we use our own USB stack (taken from Gnuk). * Major changes in NeuG 0.01 Released 2011-11-14, by NIIBE Yutaka ** Support more boards NeuG now supports FST-01, STM8S DISCOVERY, CQ-STARM and STBee, too. ** Change RNG construct. Basic technology is basically same (CRC-16, TinyMT), but we add FNV32 hash as an output function, and give a seed to TinyMT from Physical-based RNG. ** Add Test results. Under test-results directory, we put results of RNG test by rng-tools, NIST STS 2.1.1, and Dieharder 3.31.1. * Major changes in NeuG 0.00 Released 2011-07-14, by NIIBE Yutaka ** This is initial release. Local Variables: mode: outline End: