Skip to content

TDekkerDev/-VTE-Video-Timelock-Encryptie

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 

Repository files navigation

Timelock Video Encryptie

Dit project laat je één videobestand versleutelen en pas na een zelfgekozen tijd weer openen.
Alles zit in één bestand met extensie .tlv.
De unlock-tijd staat in het bestand zelf, achter de encrypted data.

Ontworpen voor eigen gebruik.
Je vertrouwt op discipline, niet op absolute technische afdwinging.


Wat dit doet

  • Versleutelt één video per keer.
  • Je kiest per encryptie een duur, zoals 30d, 5d, 2h.
  • Het resultaat is één .tlv bestand.
  • Voor de unlock-datum kan je het bestand niet openen via het script.
  • Na de unlock-datum klik je één keer en hij decrypt.

Geschikt voor grote bestanden, getest tot 1 GB.


Vereisten

  • Python 3.9 of nieuwer.
  • Internetverbinding bij lock en unlock, voor tijdcontrole.
  • Besturingssysteem maakt niet uit.

Python packages:

  • cryptography
  • requests

Installatie:

pip install cryptography requests


Bestandsformaat .tlv

Opbouw van het bestand:

  1. Encrypted video data, in chunks.
  2. Footer in plaintext, helemaal aan het einde:
    • Magic bytes om het bestand te herkennen.
      • Lengte van de footer.
        • JSON met metadata:
          • unlock_at_utc
            • created_utc
              • encryptie-instellingen

                • AES sleutel en nonce info

                De footer is leesbaar zonder decryptie.
                De video zelf niet.


                Encryptie details

                • Algoritme: AES-256-GCM.
                • Werkt per chunk, standaard 4 MB.
                • Elke chunk krijgt een unieke nonce.
                • Authenticatie zit ingebouwd via GCM.
                • Streaming, dus laag geheugenverbruik.

                Tijdcontrole

                • Lokale systeemtijd wordt niet gebruikt.
                • Tijd wordt opgehaald via HTTPS Date headers.
                • Meerdere providers worden geprobeerd.
                • De eerste geldige UTC-tijd wordt gebruikt.

                Voor eigen gebruik is dit stabiel genoeg.


                Gebruik

                Video versleutelen

                python timelock_onefile_stream.py lock video.mp4 --outdir locked

                Daarna vraagt het script:

                Hoe lang wil je dit locken, bv 30d, 5d, 2h, 90m, 1d12h30m:

                Voorbeelden:

                • 30d
                • 5d
                • 2h
                • 1d12h
                • 1d12h30m

                Resultaat:

                locked/video.mp4.tlv


                Status bekijken zonder decrypten

                python timelock_onefile_stream.py info locked/video.mp4.tlv

                Output:

                • LOCKED of OPEN
                • unlock_at_utc
                • created_utc
                • bestandsgrootte
                • aantal chunks

                Video ontgrendelen

                python timelock_onefile_stream.py unlock locked/video.mp4.tlv --outdir unlocked

                Voor de unlock-datum:

                • Script stopt met foutmelding.

                Na de unlock-datum:

                • Video wordt gedecrypt.
                • Originele bestandsnaam wordt hersteld.

                Typische workflow

                1. Lock video 1 voor 30 dagen.
                2. Een week later lock video 2 voor 5 dagen.
                3. Check af en toe status met info.
                4. Unlock wanneer toegestaan.

                Elke video staat volledig los van de andere.


                Belangrijke opmerkingen

                • Dit is geen DRM en geen onbreekbare tijdkluis.
                • Wie het script of bestand aanpast, kan eerder unlocken.
                • Dit is bewust zo ontworpen.
                • Voor persoonlijk gebruik werkt dit goed en voorspelbaar.

                Veiligheidsadvies

                • Test eerst met een klein bestand.
                • Bewaar het .tlv bestand veilig.
                • Verwijder de originele video pas als je zeker weet dat decrypt werkt.
                • Maak backups als de video belangrijk is.

                Mogelijke uitbreidingen

                • Dubbelklik unlocker per OS.
                • Automatisch openen van de video na decrypt.
                • GUI wrapper.
                • Extra checksums of signatures.

                Licentie

                Gebruik vrij voor eigen projecten.
                Geen garanties.
                Gebruik op eigen verantwoordelijkheid.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages