update NEWS, README
authorNIIBE Yutaka <gniibe@fsij.org>
Fri, 5 Oct 2012 04:47:04 +0000 (13:47 +0900)
committerNIIBE Yutaka <gniibe@fsij.org>
Fri, 5 Oct 2012 04:47:04 +0000 (13:47 +0900)
NEWS
README

diff --git a/NEWS b/NEWS
index 1e68669..95383ee 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,60 @@
+* Major changes in NeuG 0.03
+
+  Released 2012-10-XX, 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 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 test
+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
diff --git a/README b/README
index 6279ebd..3b6690f 100644 (file)
--- a/README
+++ b/README
@@ -1,7 +1,7 @@
 NeuG - a random number generator implementation (for STM32F103)
 
                                                           Version 0.03
-                                                            2012-10-19
+                                                            2012-10-XX
                                                           Niibe Yutaka
                                      Free Software Initiative of Japan
 
@@ -94,6 +94,47 @@ To build NeuG device, we need external source code.
   We use ChibiOS/RT as the kernel for NeuG device.
 
 
+USB vendor ID and product ID (USB device ID)
+============================================
+
+When you have a vender ID and assign a product ID for NeuG, edit the
+file NEUG_USB_DEVICE_ID and add an entry for yours.  In this case,
+please contact Niibe, so that it is listed to the file in the official
+release of the source code.
+
+When you are modifing NeuG and installing the binary to device, you
+should replace the vendor string to yours, so that users can see it's
+not by original vendor, and it is modified version.
+
+FSIJ allows you to use USB device ID of FSIJ (234b:0001) for devices
+with standalone NeuG under one of following conditions:
+
+  * For everyone for experimental purpose:
+
+    - You must not distribute a binary with FSIJ's USB device ID, but
+      must use the binary by yourself only for your experiment.  Note
+      that "Distributing binary" includes distributing a device which
+      holds the binary.
+
+  * For general individuals:
+
+    - No additional conditions.
+
+  * For individuals with explicit permission from FSIJ.
+
+    - No additional conditions.
+
+FSIJ could give companies or business entities "second source
+manufacturer" license to use USB device ID of FSIJ for devices with
+unmodified version of NeuG, provided they support Free Software and
+respect users' freedom for computing.  Please ask FSIJ for the
+license.
+
+Otherwise, companies which want to distribute NeuG devices, please use
+your own USB vendor ID and product ID.  Please replace vendor string
+and possibly product string to yours, when you modify NeuG.
+
+
 How to compile
 ==============
 
@@ -139,7 +180,7 @@ If you are using Olimex JTAG-Tiny, type following to invoke OpenOCD:
 
   $ openocd -f interface/olimex-jtag-tiny.cfg -f board/olimex_stm32_h103.cfg
 
-Then, with another terminal, type following to write "gnuk.elf" to Flash ROM:
+Then, with another terminal, type following to write "neug.elf" to Flash ROM:
 
   $ telnet localhost 4444
   > reset halt