Cerberus/README.md
2025-01-29 18:06:54 +00:00

3.2 KiB
Raw Blame History

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)

Сборка

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
>_