Это GnuPG-подобная программа Unix для шифрования и подписи, которая использует только алгоритмы, устойчивые к квантовым компьютерам:
Используемые потоковые шифры:
- Криптосистема McEliece (компактный вариант QC-MDPC) для шифрования
- Хэш-алгоритм дерева Merkle (вариант FMTSeq) для цифровых подписей
Используемые потоковые шифры:
- ChaCha20, рекомендуемый выбор из djb
- XSynd-потоковый шифр как интересный и нетрадиционный кандидат также основан на предположениях теории кодирования; Используемые NUMS (требуется много NUMS) объясняются в каталоге doc / nums в репо.
- Arcfour для начальной простоты реализации. После недавних статистических атак я больше не рекомендую использовать какой-либо RC4-вариант, но при условии, что заполнение и использование «только для автономного» использования кодека шифрования сохраняет использование в основном безопасным.
- Варианты Cubehash были выбраны для простоты реализации, действительно чистого дизайна, неплохой скорости и гибкости выбора параметров. Это также единственная возможность хэширования, когда библиотека Crypto ++ не связана с кодеком. KeyID - это хеши CUBE256 соответствующих сериализованных открытых ключей.
- Ripemd128 для небольших хешей
- Tiger192 используется в качестве альтернативы для Cubehash для 192-битных хешей
- Всегда есть вариант с SHA-256, SHA-384 или SHA-512.
- FMTSeq со многими возможностями и комбинациями вышеупомянутых CRHF
- Поддержка SPHINCS256 запланирована на следующий выпуск
- MDPC McEliece о квазициклических матрицах. Реализация использует некоторые трюки для ускорения (довольно медленного) циклического умножения матрицы (в первую очередь libfftm3 в этой версии). Для заполнения с использованием схемы Fujisaki-Okamoto шифр требует шифрования потока и CRHF, используемые шифры и CRHF указываются в имени алгоритма - например, MCEQCMDPC128FO-CUBE256-CHACHA20 означает, что параметры настроены для обеспечения безопасности на 128 бит, использует хэш CUBE256 и шифр потока ChaCha20.
- Квазидиадический McEliece был включен в кодекрипт в качестве исходного алгоритма, но теперь сломан и печатает предупреждающее сообщение о любом использовании.
- Gentoo packages: с текущим ebuild, обычно доступным на
- Debian packages: apt-get install codecrypt
- Arch linux:
Код:
Usage: ./ccr [options]
Common options:
-h, --help display this help
-V, --version display version information
-T, --test perform (probably nonexistent) testing/debugging stuff
Global options:
-R, --in input file, default is stdin
-o, --out output file, default is stdout
-E, --err the same for stderr
-a, --armor use ascii-armored I/O
-y, --yes assume that answer is `yes' everytime
Actions:
-s, --sign sign a message
-v, --verify verify a signed message
-e, --encrypt encrypt a message
-d, --decrypt decrypt an encrypted message
Action options:
-r, --recipient encrypt for given user
-u, --user use specified secret key
-C, --clearsign work with cleartext signatures
-b, --detach-sign specify file with detached signature
-S, --symmetric enable symmetric mode of operation where encryption
is done using symmetric cipher and signatures are
hashes, and specify a filename of symmetric key or hashes
Key management:
-g, --gen-key generate keys for specified algorithm
-g help list available cryptographic algorithms
-k, --list list contents of keyring
-K, --list-secret
-i, --import import keys
-I, --import-secret
-p, --export export keys
-P, --export-secret
-x, --delete delete matching keys
-X, --delete-secret
-m, --rename rename matching keys
-M, --rename-secret
Key management options:
-n, --no-action on import, only show what would be imported
-N, --name specify a new name for renaming or importing
-F, --filter only work with keys with matching names
-f, --fingerprint format full key IDs nicely for human eyes