# Cerberus Проект демонстрирует: 1. Генерацию и использование **256-битных ключей** (либо автоматически, либо пользовательских в hex-формате). 2. **Обмен ключами по звуку** с помощью `sound find` (BFSK-модуляция). 3. **Шифрование и расшифрование** командой `cerber maketea` / `cerber drinktea` на базе **ChaCha20-Poly1305** (через Monocypher). 4. Простейший **web-сервер** (`web start/stop`) и установка **ника** (`nick set`). ## Зависимости - **C++17** компилятор (clang++ или g++) - **PortAudio**: - macOS: `brew install portaudio` - Linux (Debian/Ubuntu): `sudo apt-get install portaudio19-dev` - Windows: через vcpkg (`vcpkg install portaudio`) или другие способы - (Опционально) `make` (если используете предоставленный Makefile) ## Сборка ```bash make ``` #Использование **0.Запустите** ``` ./cerberus ``` **1.Установите ник** ``` nick set ``` **2.Сгенерируйте ключ (рекомендуется)** ``` nick generatekey ``` **3.Получив ключ зашифруйте сообщение** ``` cerber maketea твойтекст твойключ ``` **4.Расшифруйте ключем** ``` cerber drinktea тутхекс тутключ ``` ## Пример: ``` (`-') _ (`-') <-.(`-') (`-') _ (`-') (`-').-> _ ( OO).-/<-.(OO ) __( OO) ( OO).-/<-.(OO ) .-> ( OO)_ \-,-----.(,------.,------,)'-'---.\ (,------.,------,),--.(,--. (_)--\_) | .--./ | .---'| /`. '| .-. (/ | .---'| /`. '| | |(`-')/ _ / /_) (`-')(| '--. | |_.' || '-' `.)(| '--. | |_.' || | |(OO )\_..`--. || |OO ) | .--' | . .'| /`'. | | .--' | . .'| | | | \.-._) \ (_' '--'\ | `---.| |\ \ | '--' / | `---.| |\ \ \ '-'(_ .'\ / `-----' `------'`--' '--'`------' `------'`--' '--' `-----' `-----' Cerberus BFSK: nick set nick generatekey web start/connect/stop sound find/lose cerber maketea [hexKey] cerber drinktea [hexKey] exit >_ nick set dev [nick] set: dev >_ nick generatekey [nick] 256-bit key generated: 77abff5f7ce57b2543c6061a6bfaab3c5c5e52106c9dc987ec395449790aa1d2 >_ cerber maketea testing 77abff5f7ce57b2543c6061a6bfaab3c5c5e52106c9dc987ec395449790aa1d2 [makeTea] keyUsed=77abff5f7ce57b2543c6061a6bfaab3c5c5e52106c9dc987ec395449790aa1d2 [makeTea] encrypted: 9756b012b6dd05e8202d3bb57ebfbda9950ecaf34073d22026b5e06c440f0e0c406f21d0af951a207eed0e888e06f4 >_ cerber maketea testing [makeTea] keyUsed=77abff5f7ce57b2543c6061a6bfaab3c5c5e52106c9dc987ec395449790aa1d2 [makeTea] encrypted: dd798f966e61c4e136685f2c6f5246866d7f0f80e3ff3cbbf4e5f45f1532049262af0e992c22303d48614bc82154c7 >_ nktea dd798f966e61c4e136685f2c6f5246866d7f0f80e3ff3cbbf4e5f45f1532049262af0e992c22303d48614bc82154c7 77abff5f7ce57b2543c6061a6bfaab3c5c5e52106c9dc987ec395449790aa1d2 [drinkTea] keyUsed=77abff5f7ce57b2543c6061a6bfaab3c5c5e52106c9dc987ec395449790aa1d2 [drinkTea] decrypted: testing >_ ```