The voice packets were encrypted using AES-256 in Counter (CTR) mode.
Purpose:
- Confidentiality
- Prevent eavesdroppers from hearing conversations
Used during the connection setup.
Purpose:
- Secure key exchange
- Authentication
Instead of sharing the AES key directly, RSA protected the exchange.
Used for packet integrity.
Purpose:
- Detect packet tampering
- Detect message modification
- Ensure packets were not altered during transmission
If an attacker modified even one byte, the HMAC verification would fail.
This project specifically required demonstrating attacks.
It included:
An attacker intercepts packets.
Result:
- Only encrypted ciphertext is visible.
- Voice remains unintelligible.
Packets are modified before reaching the receiver.
Result:
- HMAC detects the modification.
- Packet rejected.
Unauthorized client attempts to connect.
Result:
- Authentication fails.
- Connection denied.
Old packets resent to the receiver.
Result:
- Detected and rejected.
This was not just encryption.
It also implemented:
- PCM recording
- 8 kHz sampling
- 8-bit μ-law companding
- Quantization
- Signal-to-Noise Ratio (SNR) evaluation
- WAV playback
The evaluation showed roughly 50 dB SNR, exceeding the target of around 40 dB.
Communication occurred using TCP sockets between the sender and receiver.
It demonstrates experience across multiple domains:
- Secure networking
- Applied cryptography
- Audio signal processing
- Client-server communication
- Threat modeling
- Testing against real attack scenarios
- Python development
- GUI development (CustomTkinter)
Recruiters do not often see undergraduate projects that combine all of these.