Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

SnosMe/MyTopSecret-Data

Open more actions menu

Repository files navigation

MyTopSecret-Data

Encrypts data with emphasis on storage space.

Binary layout

|0,1|2,3,4|5,6,7|8........n|

[0; 1] - CRC16 of [2; n]
[2; 4] - Is payload compressed (1 bit), Time in hours since epoch (23 bit)
[5; 7] - Random bytes
[8; n] - AES encrypted data

Use cases

  • Printing in Hex format or as a 2D barcode:
    • physical backup for important passwords

Quick guide

Create file with content:

url: github
email: test@example.com
password: 12345678
---
url: discord
email: test@example.com
password: 87654321

Encrypt

mtsd -e plaintext.mtsd -o encrypted.bin

Decrypt

mtsd encrypted.bin

Encryption

pwd = from_user_input()
salt = derive_salt_from([time_now, random_bytes])
key, nonce = Argon2id(iter=3,mem=64MB,parallel=2)
encrypted = AES256_CTR(data, key, nonce)

Compatibility

Backward compatibility is not supported in the current implementation. Any changes to Argon2 complexity or LZMA parameters will break the ability to decrypt old data.
This project was created for personal use.

Comparison with password managers

Morty Proxy This is a proxified and sanitized view of the page, visit original site.