Merge pull request #66 from manuel-domke/master
merge compile instructions for Mac
This commit is contained in:
@@ -25,14 +25,11 @@ fingerprints at 13-37.org/pgp-keys and in the Crowd Supply campaign.
|
|||||||
Repositories for Ubuntu, Debian and Raspbian are also available. To add them follow this procedure:
|
Repositories for Ubuntu, Debian and Raspbian are also available. To add them follow this procedure:
|
||||||
|
|
||||||
$ wget -O 13-37.org-code.asc https://13-37.org/files/pubkey.gpg
|
$ wget -O 13-37.org-code.asc https://13-37.org/files/pubkey.gpg
|
||||||
|
# Verify the keys fingerprint:
|
||||||
Verify the keys fingerprint:
|
|
||||||
|
|
||||||
# GPG1
|
# GPG1
|
||||||
$ gpg --with-fingerprints 13-37.org-code.asc
|
$ gpg --with-fingerprints 13-37.org-code.asc
|
||||||
# GPG2:
|
# GPG2:
|
||||||
$ gpg2 --import-options import-show --dry-run --import < 13-37.org-code.asc
|
$ gpg2 --import-options import-show --dry-run --import < 13-37.org-code.asc
|
||||||
|
|
||||||
$ sudo apt-key add 13-37.org-code.asc
|
$ sudo apt-key add 13-37.org-code.asc
|
||||||
|
|
||||||
Available for Ubuntu and Debian (x86, x64 and armhf):
|
Available for Ubuntu and Debian (x86, x64 and armhf):
|
||||||
@@ -58,7 +55,7 @@ this command:
|
|||||||
These include an open source drivers for the FT240X USB chip used on the Infinite Noise
|
These include an open source drivers for the FT240X USB chip used on the Infinite Noise
|
||||||
TRNG. Once this is done, to compile the infnoise program, simply make it:
|
TRNG. Once this is done, to compile the infnoise program, simply make it:
|
||||||
|
|
||||||
$ make
|
$ make -f Makefile.linux
|
||||||
|
|
||||||
To run the infnoise application, make sure the Infinite Noise USB stick is
|
To run the infnoise application, make sure the Infinite Noise USB stick is
|
||||||
plugged in, and from a shell, type:
|
plugged in, and from a shell, type:
|
||||||
@@ -73,6 +70,55 @@ Note that there is a newer alpha version of the next release of the libftdi libr
|
|||||||
found it runs much slower than the current libftdi1 library in Ubuntu, so I am sticking
|
found it runs much slower than the current libftdi1 library in Ubuntu, so I am sticking
|
||||||
with the stable release for now.
|
with the stable release for now.
|
||||||
|
|
||||||
|
Compiling the driver for macOS
|
||||||
|
------------------------------
|
||||||
|
|
||||||
|
First install the dependencies, most easily done with homebrew:
|
||||||
|
|
||||||
|
$ brew install libftdi-dev libusb-dev
|
||||||
|
|
||||||
|
Adjust the Makefile, if necessary, to point at your ftdi directory:
|
||||||
|
|
||||||
|
$ mdfind -name ftdi.h
|
||||||
|
/usr/local/Cellar/libftdi/1.4/include/libftdi1/ftdi.h
|
||||||
|
|
||||||
|
then, in your Makefile.macos:
|
||||||
|
```
|
||||||
|
FTDILOC = /usr/local/Cellar/libftdi/1.4/include/libftdi1/
|
||||||
|
```
|
||||||
|
|
||||||
|
Next build the executable:
|
||||||
|
|
||||||
|
$ make -f Makefile.macos
|
||||||
|
|
||||||
|
If running it fails, you may have to run as root:
|
||||||
|
|
||||||
|
$ sudo ./infnoise
|
||||||
|
|
||||||
|
Or you may have to unload the FTDI serial port driver:
|
||||||
|
|
||||||
|
$ sudo kextunload -b com.FTDI.driver.FTDIUSBSerialDriver
|
||||||
|
|
||||||
|
Alternatively, FTDI have released the [D2XXhelper](http://www.ftdichip.com/Drivers/D2XX.htm), which may prevent the
|
||||||
|
serial driver from grabbing the Infinitenoise device.
|
||||||
|
|
||||||
|
Usage
|
||||||
|
-----
|
||||||
|
|
||||||
|
Usage: infnoise [options]
|
||||||
|
Options are:
|
||||||
|
--debug - turn on some debug output
|
||||||
|
--dev-random - write entropy to /dev/random instead of stdout
|
||||||
|
--raw - do not whiten the output
|
||||||
|
--multiplier <value> - write 256 bits * value for each 512 bits written to the Keccak sponge
|
||||||
|
--no-output - do not write random output data
|
||||||
|
--daemon - run in the background. Output should be redirected to a file or
|
||||||
|
the options should be used with --dev-random. To reduce CPU-usage addition
|
||||||
|
af entropy is only forced after a minute rather than a second.
|
||||||
|
--pidfile <filename> - write the process ID to a file. If --daemon is used, it is the ID of the background process.
|
||||||
|
--serial <serial> - use Infinite Noise TRNG/FT240 with the given serial number (see --list-devices)
|
||||||
|
--list-devices - list available devices
|
||||||
|
=======
|
||||||
Usage
|
Usage
|
||||||
-----
|
-----
|
||||||
|
|
||||||
|
|||||||
@@ -10,18 +10,18 @@
|
|||||||
|
|
||||||
// Structure for parsed command line options
|
// Structure for parsed command line options
|
||||||
struct opt_struct {
|
struct opt_struct {
|
||||||
uint32_t outputMultiplier; // We output all the entropy when outputMultiplier == 0
|
uint32_t outputMultiplier; // We output all the entropy when outputMultiplier == 0
|
||||||
bool daemon; // Run as daemon?
|
bool daemon; // Run as daemon?
|
||||||
bool debug; // Print debugging info?
|
bool debug; // Print debugging info?
|
||||||
bool devRandom; // Feed /dev/random?
|
bool devRandom; // Feed /dev/random?
|
||||||
bool noOutput; // Supress output?
|
bool noOutput; // Supress output?
|
||||||
bool listDevices; // List possible USB-devices?
|
bool listDevices; // List possible USB-devices?
|
||||||
bool help; // Show help
|
bool help; // Show help
|
||||||
bool none; // set to true when no valid arguments where detected
|
bool none; // set to true when no valid arguments where detected
|
||||||
bool raw; // No whitening?
|
bool raw; // No whitening?
|
||||||
bool version; // Show version
|
bool version; // Show version
|
||||||
char *pidFileName; // Name of optional PID-file
|
char *pidFileName; // Name of optional PID-file
|
||||||
char *serial; // Name of selected device
|
char *serial; // Name of selected device
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,13 +1,11 @@
|
|||||||
#include <stdbool.h>
|
#include <stdbool.h>
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
|
|
||||||
#if defined(__OpenBSD__) || defined(__NetBSD__) || defined(__DragonFly__) || defined(__APPLE__) || defined(__FreeBSD__)
|
#if defined(__OpenBSD__) || defined(__NetBSD__) || defined(__DragonFly__) || defined(__APPLE__) || defined(__FreeBSD__)
|
||||||
#include <limits.h>
|
#include <limits.h>
|
||||||
#else
|
#else
|
||||||
#include <linux/limits.h>
|
#include <linux/limits.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include <ftdi.h>
|
#include <ftdi.h>
|
||||||
#include <time.h>
|
#include <time.h>
|
||||||
|
|
||||||
|
|||||||
@@ -61,6 +61,4 @@ uint32_t extractBytes(uint8_t *bytes, uint8_t *inBuf, char **message, bool *erro
|
|||||||
bool outputBytes(uint8_t *bytes, uint32_t length, uint32_t entropy, bool writeDevRandom, char **message);
|
bool outputBytes(uint8_t *bytes, uint32_t length, uint32_t entropy, bool writeDevRandom, char **message);
|
||||||
|
|
||||||
uint32_t processBytes(uint8_t *bytes, uint8_t *result, uint32_t *entropy, uint32_t *numBits, uint32_t *bytesWritten, bool raw,
|
uint32_t processBytes(uint8_t *bytes, uint8_t *result, uint32_t *entropy, uint32_t *numBits, uint32_t *bytesWritten, bool raw,
|
||||||
uint32_t outputMultiplier);
|
uint32_t outputMultiplier);
|
||||||
|
|
||||||
//uint32_t readData_private(struct infnoise_context *context, uint8_t *result, char **message, bool *errorFlag, bool noOutput, bool raw, uint32_t outputMultiplier, bool devRandom);
|
|
||||||
Reference in New Issue
Block a user