Lokální generátor kryptograficky bezpečných čísel, losování, hesel, tokenů a UUID s funkčně shodným rozhraním v Pythonu a HTML.
Obě rozhraní lze za běhu kompletně přepnout mezi češtinou a angličtinou. Volba jazyka se ukládá pouze lokálně a nemění kryptografickou konstrukci ani právě zadaná či vygenerovaná data.
EntropyForge staví běžné režimy na CSPRNG operačního systému nebo prohlížeče. Volitelně přidává doménově oddělenou diverzifikaci, externí zdroje a samostatný přísný profil Windows CNG.
Important
EntropyForge není certifikovaný FIPS, NIST, EUCC ani Common Criteria produkt. Přísný profil používá kryptografický modul Windows, ale certifikace podkladového modulu není certifikací této aplikace.
- Python 3.10+ bez knihoven třetích stran.
- Samostatná HTML verze využívající Web Crypto.
- Kompletní české a anglické rozhraní včetně chyb, diagnostiky a reportů.
- Přímý přísný profil
BCryptGenRandomve Windows. - Fail-closed chování bez tichého přechodu na náhradní zdroj.
- Rovnoměrné mapování čísel pomocí rejection samplingu.
- Unikátní výběry pomocí částečného Fisherova–Yatesova algoritmu.
- Hesla, Hex/Base64 URL tokeny a UUID v4.
- Až osm lokálních souborů nebo balíčků
.efb. - Samostatný sběrač pro drand, NIST Beacon a volitelný RANDOM.ORG Signed API.
- Shodné známé testovací vektory Pythonu a HTML.
- Automatické testy pro Linux a Windows a bezpečnostní analýza CodeQL.
- Nainstaluj Python 3.10 nebo novější.
- Stáhni a rozbal poslední balíček z GitHub Releases.
- Spusť
run_windows.bat.
Alternativně:
py -3 entropy_forge.pyOtevři EntropyForge.html v moderním prohlížeči. Samostatná varianta je
offline a používá crypto.getRandomValues(). Přísný Windows CNG profil
v ní není dostupný.
run_validated_html.bat
Skript spustí loopback server na náhodném portu 127.0.0.1. Bridge
kontroluje Host, Origin a relační cookie, neposkytuje CORS a neloguje
generované hodnoty.
Připravenost profilu lze ověřit bez generování:
check_validated_profile.bat
Živý test skutečného Windows CNG:
run_windows_cng_live_test.bat
| Režim | Výstupní základ | Doplňkové vstupy |
|---|---|---|
| Přísný Windows CNG | BCryptGenRandom |
žádné; vlastní směšovač je vyřazen |
| Systémový CSPRNG | os.urandom() / Web Crypto |
žádné |
| Diverzifikovaný software | systémový CSPRNG | HMAC-SHA-512 a časování událostí |
| Vícezdrojový | systémový CSPRNG | HMAC, časování a až osm externích zdrojů |
Časování myši a klávesnice je v diverzifikovaných režimech aktivně použito jako bonusová diverzifikace. Není mu přidělen konkrétní počet bitů min-entropie a bezpečnost na něm nezávisí.
- Python 3.10 nebo novější.
- Tkinter pro Python GUI.
- Moderní prohlížeč s Web Crypto pro HTML.
- Node.js 24 pouze pro vývojové HTML testy.
- Windows pro přímý CNG profil.
Projekt při běžném spuštění nepotřebuje žádné balíčky z PyPI ani npm.
Ve Windows:
run_tests.bat
Na libovolné podporované platformě:
python tests/run_all.pySada obsahuje unit, integrační, známé odpovědi, simulaci HTML rozhraní, kontrolu CSP, strict backend, loopback bridge, externí formáty a vzdálené balíčky.
Rozšířená statistická kampaň:
python tests/statistical_campaign.pyStatistické testy jsou diagnostika implementace, nikoli důkaz nepředvídatelnosti nebo certifikace entropického zdroje.
Vložený JavaScript je uzamčen SHA-256 hodnotou v Content Security
Policy. Po každé změně obsahu <script> spusť:
python tools/update_html_csp.py
python tools/update_html_csp.py --checkBez aktualizace hashe prohlížeč z bezpečnostních důvodů zablokuje celý skript.
| Cesta | Účel |
|---|---|
entropy_forge.py |
Python GUI a generátor |
EntropyForge.html |
samostatná HTML varianta |
validated_backend.py |
přímé Windows CNG API a FIPS kontrola |
validated_bridge.py |
zabezpečený loopback bridge pro HTML |
entropy_bundle.py |
parser a validace formátu .efb |
remote_entropy_collector.py |
oddělený síťový sběrač |
tests/ |
automatické a statistické testy |
certification/ |
pracovní podklady pro audit a laboratoř |
tools/ |
vývojové a údržbové nástroje |
.github/ |
CI, CodeQL, Dependabot a šablony |
Podrobný uživatelský návod je v README.txt, bezpečnostní konstrukce v
SECURITY_MODEL.txt a zaznamenaná validační kampaň v
TEST_REPORT.txt.
- API klíče,
.envsoubory a přihlašovací údaje. - Vygenerované
.efb,.bin, reporty a náhodné výstupy. __pycache__, virtuální prostředí a editorové soubory.- Distribuční ZIPy; ty patří mezi aktiva GitHub Release.
Kompletní návod pro první nahrání, doporučená nastavení repozitáře a
vytvoření verze v3.3.0 je v
docs/GITHUB_PUBLISHING.md.
GitHub sám nabízí zdrojový archiv každého tagu. Uživatelský distribuční ZIP lze připojit zvlášť k Release.
Zranitelnosti neposílej do veřejného issue. Postup je uveden v
SECURITY.md. Přesný threat model a omezení jsou v
SECURITY_MODEL.txt.
Pull requesty jsou vítané. Před odesláním si přečti
CONTRIBUTING.md a spusť kompletní testovací sadu.
Změny kryptografické konstrukce musí být doprovázeny testy, vysvětlením
bezpečnostního dopadu a aktualizací dokumentace.
GitHub umí nabídnout citaci z přiloženého souboru CITATION.cff.
Copyright © 2026 Filip Novák.
Projekt je zveřejněn pod licencí MIT. Licence umožňuje použití, úpravy a další šíření při zachování licenčního a autorského upozornění.