207d2fbbeedbee900d0343d32c3027410706258d
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
CryptZ Ultimate v5
AES-256-GCM Professional Archiver — шифрование файлов с двухфакторной аутентификацией, файл-ключом и CLI.
Возможности
- 🔒 AES-256-GCM — аутентифицированное шифрование (замена CBC+HMAC)
- 🔑 Argon2id KDF — устойчивость к GPU/ASIC-атакам
- 📦 Сжатие gzip — уменьшение размера архива
- 🔐 2FA (TOTP) — Google Authenticator / Authy
- 🗝 Файл-ключ — дополнительный фактор (XOR с основным ключом)
- 💣 Счётчик попыток с MAC — корректная защита от перебора + самоуничтожение
- 🗑 Шредер — безопасное удаление оригиналов (3 прохода)
- ✓ Проверка целостности — без полной расшифровки
- 🖥 GUI — CustomTkinter, drag & drop, индикатор силы пароля, журнал, горячие клавиши
- ⌨ CLI — полная автоматизация из командной строки
Установка
pip install -r requirements.txt
tkinterdnd2— опционально (для drag & drop). Без неё приложение работает нормально.
Запуск
GUI
python cryptz.py
CLI
Шифрование:
python cryptz.py encrypt file1.txt file2.pdf -p "MyPassword" -o archive.cryptz
python cryptz.py encrypt secret/ -p "Pass" -k keyfile.bin --2fa --shred
Расшифровка:
python cryptz.py decrypt archive.cryptz -p "MyPassword" -o ./output/
python cryptz.py decrypt archive.cryptz -p "Pass" -k keyfile.bin --otp 123456
Проверка целостности:
python cryptz.py verify archive.cryptz -p "MyPassword"
Горячие клавиши (GUI)
| Комбинация | Действие |
|---|---|
Ctrl+O |
Добавить файлы |
Ctrl+E |
Зашифровать |
Ctrl+D |
Расшифровать |
Ctrl+G |
Сгенерировать пароль |
Delete |
Очистить список |
Формат файла CryptZ v5
[CRZ5 4B][VERSION 1B][FLAGS 1B]
[SALT 32B][NONCE_META 12B][NONCE_DATA 12B]
[MAX_ATTEMPTS 1B][CURRENT_ATTEMPTS 1B][ATTEMPT_MAC 32B]
[META_LEN 4B][META_CIPHERTEXT ...][DATA_CIPHERTEXT ...]
Структура проекта
cryptz.py — точка входа (GUI или CLI)
crypto_engine.py — криптографический движок
ui.py — графический интерфейс
cli.py — командная строка
requirements.txt — зависимости
Безопасность
- AES-256-GCM: аутентификация + шифрование в одном примитиве, отдельный nonce для метаданных и данных
- Argon2id: 64MB RAM, 3 итерации, 4 потока
- Счётчик попыток: защищён HMAC-SHA256 с domain-separated sub-key; при превышении лимита архив уничтожается
- Безопасное извлечение tar: фильтрация path traversal (
.., абсолютные пути)
Description
Languages
Python
100%