3.2 KiB
3.2 KiB
Cerberus
Проект демонстрирует:
- Генерацию и использование 256-битных ключей (либо автоматически, либо пользовательских в hex-формате).
- Обмен ключами по звуку с помощью
sound find
(BFSK-модуляция). - Шифрование и расшифрование командой
cerber maketea
/cerber drinktea
на базе ChaCha20-Poly1305 (через Monocypher). - Простейший 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
) или другие способы
- macOS:
- (Опционально)
make
(если используете предоставленный Makefile)
Сборка
make
#Использование
0.Запустите
./cerberus
1.Установите ник
nick set <usernick>
2.Сгенерируйте ключ (рекомендуется)
nick generatekey
3.Получив ключ зашифруйте сообщение
cerber maketea твойтекст твойключ
4.Расшифруйте ключем
cerber drinktea тутхекс тутключ
Пример:
(`-') _ (`-') <-.(`-') (`-') _ (`-') (`-').->
_ ( OO).-/<-.(OO ) __( OO) ( OO).-/<-.(OO ) .-> ( OO)_
\-,-----.(,------.,------,)'-'---.\ (,------.,------,),--.(,--. (_)--\_)
| .--./ | .---'| /`. '| .-. (/ | .---'| /`. '| | |(`-')/ _ /
/_) (`-')(| '--. | |_.' || '-' `.)(| '--. | |_.' || | |(OO )\_..`--.
|| |OO ) | .--' | . .'| /`'. | | .--' | . .'| | | | \.-._) \
(_' '--'\ | `---.| |\ \ | '--' / | `---.| |\ \ \ '-'(_ .'\ /
`-----' `------'`--' '--'`------' `------'`--' '--' `-----' `-----'
Cerberus BFSK:
nick set <usernick>
nick generatekey
web start/connect/stop
sound find/lose
cerber maketea <text> [hexKey]
cerber drinktea <hex> [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
>_