Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/edgarogh/camerash
Little educational app to create entropy/randomness from a video input
https://github.com/edgarogh/camerash
android cryptography educational hash random
Last synced: 18 days ago
JSON representation
Little educational app to create entropy/randomness from a video input
- Host: GitHub
- URL: https://github.com/edgarogh/camerash
- Owner: edgarogh
- License: mit
- Created: 2018-05-05T14:27:09.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2024-06-08T17:47:42.000Z (5 months ago)
- Last Synced: 2024-10-15T11:59:54.910Z (about 1 month ago)
- Topics: android, cryptography, educational, hash, random
- Language: Kotlin
- Size: 1.17 MB
- Stars: 1
- Watchers: 4
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Camerash
[![GitHub license](https://img.shields.io/github/license/MrAnima/Camerash.svg)](https://github.com/MrAnima/Camerash/blob/master/LICENSE)
> A simple app that creates randomness from camera frames![Screenshot](https://github.com/MrAnima/Camerash/blob/master/screenshot.jpg)
## Motivations & Background
In France , for our equivalent to _A Levels_ or _High-School Degree_, one of the exam (TPE - "Tutored Personal Work"), consists of a group work on a specific subject, leading to an oral presentation. Me and my group decided to work on randomness, and among other experiments, like a [double pendulum](https://en.wikipedia.org/wiki/Double_pendulum), I made this app, to show how entropy could be created from a video feed. Given that videos are often influenced by a lot of factors, such as lighting, weather, moving objects or even noise from the camera sensor itself, it's safe to assume that the stream is extremely chaotic. For instance, Cloudflare [uses lava lamps](https://blog.cloudflare.com/lavarand-in-production-the-nitty-gritty-technical-details/) to produce unpredictable cryptographically-secure encryption keys.## How does it work ?
The camera of the phone captures a video. For each frame:
* The raw image is acquired as a byte array
* This byte array is hashed using `SHA1`
* We take the first byte of the digest and show it in a `TextView`
* We add all the other bytes to a graph that show the good distribution of numbers## Release History
* Be patient. I'm lazy.