How alvinto27/inf2005-acw1 works
This is a localhost Flask app and Python library for protocol-v3 media steganography. The main workflow accepts a cover, payload, and sender/receiver keys; converts supported non-strict sources to canonical media; embeds an encrypted, signed payload and receiver bootstrap; then verifies and recovers the payload. The graph includes PNG/WAV and video carriers, protocol primitives, and the web adapter. Relationships are limited to README-documented flows and source references in the supplied index; unsampled internals are not inferred.
Main entry points: core.py Encode and verify · routes.py Flask routes · current_protocol.py Web protocol adapter · bits.py LSB bit operations
Components 18
Web application
- Browser interface
stego_web/static/app.js - Flask routes
stego_web/routes.py - Web protocol adapter
stego_web/services/current_protocol.py
Source preparation
- Image/audio conversion
stego/sources.py
Protocol engine
- Encode and verify
stego/core.py - Payload records
stego/packet.py - Cryptography
stego/crypto.py - Receiver bootstrap
stego/bootstrap.py - Layout and media hash
stego/layout.py - LSB bit operations
stego/bits.py
Carrier backends
- Video carrier
stego/video.py - Carrier access
stego/carrier.py - PNG backend
stego/media.py - WAV backend
stego/media.py
Other components
- Local user
- Video source input
- Image/audio source input
- Keys and payload
Connections 25
- Local user → Browser interface: uses
README.md - Browser interface → Flask routes: sends requests
README.md - Flask routes → Web protocol adapter: delegates to
stego_web/routes.py - Flask routes → Encode and verify: calls API
stego_web/routes.py - Image/audio source input → Flask routes: uploads cover
README.md - Video source input → Flask routes: uploads cover
README.md - Keys and payload → Flask routes: provides inputs
README.md - Web protocol adapter → Image/audio conversion: converts sources
stego_web/services/current_protocol.py - Web protocol adapter → Payload records: builds metadata
stego_web/services/current_protocol.py - Web protocol adapter → Cryptography: uses key functions
stego_web/services/current_protocol.py - Image/audio conversion → Encode and verify: prepares carriers
stego/sources.py - Image/audio conversion → Video carrier: uses video carrier
stego/sources.py - Encode and verify → Receiver bootstrap: encodes bootstrap
stego/core.py - Encode and verify → Payload records: serializes records
stego/core.py - Encode and verify → Cryptography: encrypts and signs
stego/core.py - Encode and verify → Layout and media hash: builds layout
stego/core.py - Encode and verify → Carrier access: reads and rewrites
stego/core.py - Encode and verify → PNG backend: opens PNG media
stego/core.py - Encode and verify → WAV backend: opens WAV media
stego/core.py - Encode and verify → Video carrier: supports video
stego/video.py - Layout and media hash → Carrier access: uses carrier ranges
stego/layout.py - Layout and media hash → LSB bit operations: uses bit helpers
stego/layout.py - Carrier access → LSB bit operations: transforms LSBs
stego/carrier.py - PNG backend → LSB bit operations: uses bit helpers
stego/media.py - WAV backend → LSB bit operations: uses bit helpers
stego/media.py