Version 0.03 release/0.03
authorNIIBE Yutaka <gniibe@fsij.org>
Tue, 9 Oct 2012 03:08:37 +0000 (12:08 +0900)
committerNIIBE Yutaka <gniibe@fsij.org>
Tue, 9 Oct 2012 03:08:37 +0000 (12:08 +0900)
ChangeLog
NEWS
README
src/main.c

index d448c24..01cdd9e 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2012-10-09  Niibe Yutaka  <gniibe@fsij.org>
+
+       * Version 0.03.
+
+       * src/main.c (vcom_string3): Updated.
+
 2012-10-05  Niibe Yutaka  <gniibe@fsij.org>
 
        * src/main.c (neug_state): Remove.
        * boards/CQ_STARM: Added.
 
        * Version 0.00.
-
diff --git a/NEWS b/NEWS
index 95383ee..d3cd12f 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,6 +1,6 @@
 * Major changes in NeuG 0.03
 
-  Released 2012-10-XX, by NIIBE Yutaka
+  Released 2012-10-09, by NIIBE Yutaka
 
 ** Change RNG constuct.
 We replace all basic components again, to conform NIST SP 800-90B.
@@ -11,13 +11,13 @@ 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
+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).
+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
@@ -34,7 +34,7 @@ examined to check NeuG device.
 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
 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.
diff --git a/README b/README
index 3b6690f..5f36480 100644 (file)
--- a/README
+++ b/README
@@ -1,7 +1,7 @@
 NeuG - a random number generator implementation (for STM32F103)
 
                                                           Version 0.03
-                                                            2012-10-XX
+                                                            2012-10-09
                                                           Niibe Yutaka
                                      Free Software Initiative of Japan
 
@@ -214,8 +214,8 @@ And you can get conditioned output by configuring:
   $ stty -F /dev/ttyACM0 -parenb
 
 
-Structure of the NeuG
-=====================
+Structure of NeuG
+=================
 
 Here is a figure of the circuit.
 
@@ -250,6 +250,7 @@ Here is a figure of the circuit.
                                                       |
                                                       / 32
                                                       |
+                                                      V
                                               [ Entropy Buffer ]
                                                       |          
             +--------------+                          |
@@ -260,7 +261,6 @@ Here is a figure of the circuit.
       +-----|  Hash_df     |
       |     |    by        |
       |     |  SHA-256     |
-      |     |              |
       |     |              |  128
       |     |              |<--/--+
       |     +--------------+      |
@@ -275,7 +275,7 @@ Here is a figure of the circuit.
 
 
 Specifying by "stty", you can get (*3) with -parenb, (*2) with parenb
-parodd, and (*1) with parenb 0parodd.
+parodd, and (*1) with parenb -parodd.
 
 STM32F103 has two built-in A/D converters.  NeuG uses A/D converters'
 outputs as entropy sources.  It is considered noise of quantization
@@ -284,10 +284,10 @@ error, plus noise from power supply, etc.
 We chose four analog input sources of: built-in voltage reference,
 temperature sensor and two analog inputs which are pull-up to Vdd.
 
-By a single sampling of two channel, we get 32-bit (not all 32-bit is
+By a single sampling of two channels, we get 32-bit (not all 32-bit is
 valid, as a A/D converter resolution is 12-bit only).  We take four
-sampling of different combinations: (Vref, IN0), (Temp, IN1), (Vref,
-IN1), and (Temp, IN0).  Those 32-bit * 4 is fed into CRC32 filter.
+sampling of combinations: (Vref, IN0), (Temp, IN1), (Vref, IN1), and
+(Temp, IN0).  Those 32-bit * 4 is fed into CRC32 filter.
 
 We use STM32F103's CRC32 calculation unit as a kind of filter.  We put
 output of A/D converters into CRC32 calculation unit, four times, to
@@ -313,8 +313,8 @@ Test results
 See files under the directory test-results, for test result of
 "rngtest" in rng-tools, NIST STS 2.1.1, and Dieharder.
 
-For Dieharder, I correct 13GiB (it took five days and six hours
-and more), and use scripts to invoke dieharder.
+For Dieharder, I correct 1500MB (it took four days or so), and use
+scripts to invoke dieharder.
 
 
 Read-only Git Repository
index ddd1625..a085085 100644 (file)
@@ -171,7 +171,7 @@ static const uint8_t vcom_string0[4] = {
 static uint8_t vcom_string3[28] = {
   28,                    /* bLength.                         */
   USB_STRING_DESCRIPTOR_TYPE, /* bDescriptorType.                 */
-  '0', 0,  '.', 0,  '0', 0, '2', 0,    /* Version number of NeuG.          */
+  '0', 0,  '.', 0,  '0', 0, '3', 0,    /* Version number of NeuG.          */
   '-', 0,
   0, 0, 0, 0,  /* Filled by Unique device ID.      */
   0, 0, 0, 0,