Skip to content

vault12/TrueEntropy

Repository files navigation

Download on the App Store MIT License Tweet

Use your phone's camera as a high volume thermal entropy generator - creates genuine random numbers at a rate of over 18 Mb/min.

How it works

TrueEntropy uses your phone's camera to generate true random numbers derived from thermal noise. The camera in your smartphone is so advanced that it can detect even the smallest variations produced by fundamental particle physics. We capture thermal variations in every pixel of your phone's camera to create a powerful, high volume entropy random number generator. No need to move your phone! Leave your phone stationary, and TrueEntropy will pick up a sufficient quantity of thermal variations to generate random numbers at a rate of 18Mb per minute.

  • Generate binary files for local use via AirDrop
  • Send entropy to a destination machine via cryptographic relays
  • Continuous generation mode to constantly reseed target machines

Read full research notes about TrueEntropy.

Features

  • Delivering entropy via AirDrop or via network (Zax relay)
  • Works on iPhone and iPad
  • Configurable block size and amount
  • Option to decline blocks with low χ²
  • Option to generate CSV file for manual testing

Requirements

iOS 12.0 and Swift 5.0 are required.

Installation

App depencies have to be installed using CocoaPods, which is a dependency manager for Cocoa projects. To install it, run:

$ gem install cocoapods

Then, run the following command:

$ pod install

Then open TrueEntropy.xcworkspace file.

Configuration

You can edit particular predefined constants (like camera resolution, range of acceptable sample mean etc) in Constants.swift.

Contributing

We encourage you to contribute to TrueEntropy using pull requests.

Slack Community

We've set up a public slack community Vault12 Dwellers. Request an invite here.

License

TrueEntropy is released under the MIT License.

Legal Reminder

Exporting/importing and/or use of strong cryptography software, providing cryptography hooks, or even just communicating technical details about cryptography software is illegal in some parts of the world. If you import this software to your country, re-distribute it from there or even just email technical suggestions or provide source patches to the authors or other people you are strongly advised to pay close attention to any laws or regulations which apply to you. The authors of this software are not liable for any violations you make - it is your responsibility to be aware of and comply with any laws or regulations which apply to you.