Commit Graph

21 Commits

Author SHA1 Message Date
NikitolProject
09a3593b8a docs(phase-3): research round-trip verification and testing strategy
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-25 00:19:27 +03:00
NikitolProject
8f0854ac8d docs(phase-2): complete phase execution 2026-02-25 00:09:24 +03:00
NikitolProject
2be4eabacb docs(02-02): complete archive commands plan
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-25 00:05:25 +03:00
NikitolProject
be507070b6 feat(02-02): implement pack, unpack, and inspect archive commands
- pack: two-pass algorithm reads/hashes/compresses/encrypts files then writes header+TOC+data
- inspect: reads header and TOC, displays all metadata (sizes, offsets, IVs, HMACs, SHA-256)
- unpack: HMAC-first verification, AES-256-CBC decryption, optional gzip decompression, SHA-256 check
- CLI dispatch wired from main.rs to archive module
- Directory traversal protection: rejects filenames starting with / or containing ..
- Compression auto-detection: .apk/.zip/etc stored without gzip (flags=0x00 when no file compressed)
- Round-trip verified: pack+unpack produces byte-identical files
- HMAC tamper detection verified: flipped ciphertext byte triggers rejection

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-25 00:03:28 +03:00
NikitolProject
d6bc92ee48 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>
2026-02-25 00:00:19 +03:00
NikitolProject
6292b41159 feat(02-01): format types, crypto pipeline, and compression module
- Implement Header and TocEntry structs matching FORMAT.md byte layout
- Add write_header (40 bytes) and write_toc_entry (101+name_len bytes) serialization
- Add read_header, read_toc_entry, read_toc deserialization with validation
- Implement AES-256-CBC encrypt/decrypt with PKCS7 padding via cbc crate
- Add HMAC-SHA-256 compute/verify over IV||ciphertext (encrypt-then-MAC)
- Add SHA-256 hash for original file integrity
- Implement gzip compress/decompress with deterministic mtime(0)
- Add should_compress heuristic for known compressed file extensions

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 23:58:08 +03:00
NikitolProject
c647f3a90e feat(02-01): project scaffolding with Cargo, CLI skeleton, and key module
- Initialize Rust project with aes, cbc, hmac, sha2, flate2, clap, rand, anyhow dependencies
- Add clap derive CLI with pack/unpack/inspect subcommands
- Add hardcoded 32-byte AES-256 key constant
- Create stub modules for format, crypto, compression, archive
- All 7 source files in place, cargo build succeeds

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 23:56:09 +03:00
NikitolProject
673c1191a0 docs(02-core-archiver): create phase plan 2026-02-24 23:49:46 +03:00
NikitolProject
9cdb4be248 chore: set verifier and checker models to inherit (Opus) 2026-02-24 23:45:36 +03:00
NikitolProject
cc7ff6db10 docs(02): research phase domain — Rust crypto stack, binary format, CLI patterns 2026-02-24 23:44:54 +03:00
NikitolProject
9125b388da docs(phase-1): complete phase execution 2026-02-24 23:31:04 +03:00
NikitolProject
3cb6512157 docs(01-01): complete format specification plan
- SUMMARY.md with execution metrics and self-check
- STATE.md updated: Phase 1 complete, decisions logged
- ROADMAP.md updated: Phase 1 progress 1/1
- REQUIREMENTS.md: FMT-05 marked complete

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 23:24:33 +03:00
NikitolProject
1c698fec91 feat(01-01): add worked example with annotated hex dump and shell reference appendix
- Worked example: 2-file archive (hello.txt + data.bin) with 323 bytes total
- Real SHA-256 hashes computed for both files
- Full annotated hex dump with byte-by-byte field annotations
- Step-by-step shell decode walkthrough with dd/xxd commands
- Shell reference functions: read_le_u16, read_le_u32, verify_hmac, decrypt_file
- Kotlin reference: decrypt, HMAC verify, gzip decompress, SHA-256 verify
- Busybox compatibility notes with od fallback for xxd
- All offsets verified internally consistent via automated check

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 23:22:06 +03:00
NikitolProject
fcd37f531b feat(01-01): write format specification with byte-level field definitions
- Archive header definition (40 bytes) with complete field table
- File table entry definition (11 fields, variable-length per entry)
- AES-256-CBC + HMAC-SHA-256 encryption pipeline with encrypt-then-MAC
- PKCS7 padding formula with 8 worked examples
- Gzip compression details with per-file flag
- Obfuscation features: XOR header, encrypted TOC, decoy padding
- Decode order of operations (full step-by-step)
- Version compatibility rules

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 23:18:37 +03:00
NikitolProject
ca443768e0 docs(01-format-specification): create phase plan 2026-02-24 23:09:12 +03:00
NikitolProject
041a00913b docs(01-format-specification): research phase domain 2026-02-24 23:05:52 +03:00
NikitolProject
e0627c8653 docs: create roadmap (6 phases) 2026-02-24 22:55:12 +03:00
NikitolProject
5181148131 docs: define v1 requirements 2026-02-24 22:52:35 +03:00
NikitolProject
40dcfd4ac0 docs: add project research 2026-02-24 22:51:05 +03:00
NikitolProject
914d88458a chore: add project config 2026-02-24 22:40:21 +03:00
NikitolProject
401431ae2f docs: initialize project 2026-02-24 22:36:56 +03:00