docs(02-01): complete project foundation plan
- Create 02-01-SUMMARY.md with execution results and deviations - Update STATE.md: Phase 2 in progress, plan 1/2 complete - Update ROADMAP.md: Phase 2 progress 1/2 - Mark 13 requirements complete: FMT-01..04, ENC-01..05, CMP-01..02, INT-01, CLI-01 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -7,10 +7,10 @@
|
||||
|
||||
### Format (Бинарный формат)
|
||||
|
||||
- [ ] **FMT-01**: Кастомный бинарный формат с нестандартными magic bytes (не распознаётся binwalk/file/7z)
|
||||
- [ ] **FMT-02**: Поле версии формата (1 байт) для forward compatibility
|
||||
- [ ] **FMT-03**: Таблица файлов с метаданными: имя файла, original size, compressed size, encrypted size, offset, IV, HMAC
|
||||
- [ ] **FMT-04**: Little-endian для всех multi-byte полей
|
||||
- [x] **FMT-01**: Кастомный бинарный формат с нестандартными magic bytes (не распознаётся binwalk/file/7z)
|
||||
- [x] **FMT-02**: Поле версии формата (1 байт) для forward compatibility
|
||||
- [x] **FMT-03**: Таблица файлов с метаданными: имя файла, original size, compressed size, encrypted size, offset, IV, HMAC
|
||||
- [x] **FMT-04**: Little-endian для всех multi-byte полей
|
||||
- [x] **FMT-05**: Спецификация формата как документ (до начала реализации)
|
||||
- [ ] **FMT-06**: XOR-обфускация заголовков с фиксированным ключом
|
||||
- [ ] **FMT-07**: Зашифрованная таблица файлов (отдельный IV)
|
||||
@@ -18,25 +18,25 @@
|
||||
|
||||
### Encryption (Шифрование)
|
||||
|
||||
- [ ] **ENC-01**: AES-256-CBC шифрование каждого файла отдельно
|
||||
- [ ] **ENC-02**: HMAC-SHA256 аутентификация (encrypt-then-MAC) для каждого файла
|
||||
- [ ] **ENC-03**: Случайный 16-байтный IV для каждого файла, хранится в cleartext
|
||||
- [ ] **ENC-04**: Зашитый 32-байтный ключ (hardcoded во всех декодерах)
|
||||
- [ ] **ENC-05**: PKCS7 padding для AES-CBC
|
||||
- [x] **ENC-01**: AES-256-CBC шифрование каждого файла отдельно
|
||||
- [x] **ENC-02**: HMAC-SHA256 аутентификация (encrypt-then-MAC) для каждого файла
|
||||
- [x] **ENC-03**: Случайный 16-байтный IV для каждого файла, хранится в cleartext
|
||||
- [x] **ENC-04**: Зашитый 32-байтный ключ (hardcoded во всех декодерах)
|
||||
- [x] **ENC-05**: PKCS7 padding для AES-CBC
|
||||
|
||||
### Compression (Сжатие)
|
||||
|
||||
- [ ] **CMP-01**: Gzip (DEFLATE) сжатие каждого файла перед шифрованием
|
||||
- [ ] **CMP-02**: Per-file флаг: сжатие или raw (пропуск для уже сжатых файлов типа APK)
|
||||
- [x] **CMP-01**: Gzip (DEFLATE) сжатие каждого файла перед шифрованием
|
||||
- [x] **CMP-02**: Per-file флаг: сжатие или raw (пропуск для уже сжатых файлов типа APK)
|
||||
|
||||
### Integrity (Целостность)
|
||||
|
||||
- [ ] **INT-01**: SHA-256 чексумма для каждого файла (верификация после декомпрессии)
|
||||
- [x] **INT-01**: SHA-256 чексумма для каждого файла (верификация после декомпрессии)
|
||||
- [ ] **INT-02**: Распакованные файлы byte-identical оригиналам (round-trip fidelity)
|
||||
|
||||
### CLI Archiver (Архиватор)
|
||||
|
||||
- [ ] **CLI-01**: Rust CLI утилита для создания архивов (Linux/macOS)
|
||||
- [x] **CLI-01**: Rust CLI утилита для создания архивов (Linux/macOS)
|
||||
- [ ] **CLI-02**: Упаковка нескольких файлов (тексты + APK) в один архив
|
||||
- [ ] **CLI-03**: Подкоманды: pack, unpack (для тестирования), inspect (для отладки)
|
||||
|
||||
@@ -93,24 +93,24 @@
|
||||
|
||||
| Requirement | Phase | Status |
|
||||
|-------------|-------|--------|
|
||||
| FMT-01 | Phase 2 | Pending |
|
||||
| FMT-02 | Phase 2 | Pending |
|
||||
| FMT-03 | Phase 2 | Pending |
|
||||
| FMT-04 | Phase 2 | Pending |
|
||||
| FMT-01 | Phase 2 | Complete |
|
||||
| FMT-02 | Phase 2 | Complete |
|
||||
| FMT-03 | Phase 2 | Complete |
|
||||
| FMT-04 | Phase 2 | Complete |
|
||||
| FMT-05 | Phase 1 | Complete |
|
||||
| FMT-06 | Phase 6 | Pending |
|
||||
| FMT-07 | Phase 6 | Pending |
|
||||
| FMT-08 | Phase 6 | Pending |
|
||||
| ENC-01 | Phase 2 | Pending |
|
||||
| ENC-02 | Phase 2 | Pending |
|
||||
| ENC-03 | Phase 2 | Pending |
|
||||
| ENC-04 | Phase 2 | Pending |
|
||||
| ENC-05 | Phase 2 | Pending |
|
||||
| CMP-01 | Phase 2 | Pending |
|
||||
| CMP-02 | Phase 2 | Pending |
|
||||
| INT-01 | Phase 2 | Pending |
|
||||
| ENC-01 | Phase 2 | Complete |
|
||||
| ENC-02 | Phase 2 | Complete |
|
||||
| ENC-03 | Phase 2 | Complete |
|
||||
| ENC-04 | Phase 2 | Complete |
|
||||
| ENC-05 | Phase 2 | Complete |
|
||||
| CMP-01 | Phase 2 | Complete |
|
||||
| CMP-02 | Phase 2 | Complete |
|
||||
| INT-01 | Phase 2 | Complete |
|
||||
| INT-02 | Phase 3 | Pending |
|
||||
| CLI-01 | Phase 2 | Pending |
|
||||
| CLI-01 | Phase 2 | Complete |
|
||||
| CLI-02 | Phase 2 | Pending |
|
||||
| CLI-03 | Phase 2 | Pending |
|
||||
| KOT-01 | Phase 4 | Pending |
|
||||
|
||||
Reference in New Issue
Block a user