Skip to content
forked from FabianMaas/TRNG

A true random number generator which uses a physical source for seeds.

License

Notifications You must be signed in to change notification settings

rosetree57/TRNG

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Contributors Stargazers Issues MIT License


Logo

True Random Number Generator

An awesome TRNG based on a modified galton board.
Includes a REST API and a simple frontend.
Explore the docs »


Table of Contents
  1. About The Project
  2. Getting Started
  3. Screenshots
  4. Building the galton board
  5. License

🔍 About The Project

Bild 1 Bild 2

Bild 1


The Galton Board is a Physical True Random Number Generator.
The goal is to generate random numbers that can be used for cryptographic processes.
It is based on a physical noise source and generates random numbers that fulfill the required PTG.2 standard of the Federal Office for Information Security (BSI).

We offer a REST API interface or a web application with a user interface for operation.

(back to top)


👷‍♂️ Built With

  • Python3
  • Flask
  • SQLite
  • HTML5
  • CSS3
  • JavaScript

(back to top)


🏃 Getting Started

To get a local copy of the project up and running follow these simple example steps.


📌 Prerequisites

The project must run on a raspberry pi because it uses hardware components (gpio pins). For installing the dependencies you should use the latest version of pip.

  • pip
    pip install --upgrade pip

⚡ Installation

  1. Clone the repo
    git clone https://github.com/FabianMaas/TRNG.git
  2. Switch into the directory
    cd TRNG
  3. Install PIP packages
    pip install -r requirements.txt

(back to top)


📸 Screenshots

Starting the system


Generating random numbers


Exporting the generated random numbers

Switching to dark theme



🌲 Project tree

TRNG
├── LICENSE
├── README.md
├── docs
│   └── models
│       ├── 3D
│       │   ├── GaltonBoard
│       │   │   ├── ...
│       │   │   └── ...
│       │   └── MarblePump
│       │       ├── ...
│       │       └── ...
│       ├── Building_instructions.md
│       └── lasercutter
│           ├── ...
│           └── ...
├── hardware
│   ├── gyroscope.py
│   ├── laser_sensor.py
│   └── stepper_engine.py
├── instance
│   └── TRNG.db
├── models
│   └── models.py
├── requirements.txt
├── rest_api.py
├── static
│   ├── css
│   │   └── main.css
│   ├── img
│   │   ├── ...
│   │   └── ...
│   └── js
│       ├── background.js
│       └── main.js
├── templates
│   └── index.html
└── tests
    └── test_suite.py

16 directories, 43 files

👷‍♂️ Building the galton board


📜 License

Distributed under the MIT License. See LICENSE for more information.

(back to top)

About

A true random number generator which uses a physical source for seeds.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 75.4%
  • JavaScript 17.5%
  • CSS 4.5%
  • HTML 2.6%