
포스트퀀텀 암호화 도구 (이 저장소는 기본 저장소의 미러일 뿐입니다. 여기에 버그를 보고하지 마십시오.)
포스트퀀텀 암호화 도구입니다.
Codecrypt는 현재 유지보수되지 않고 있지만, 저는 여전히 잘 사용하고 있습니다. 개발이나 유지보수에 관심이 있다면 연락 주세요.
이것은 양자 컴퓨터에 저항성이 있는 알고리즘만을 사용하는 GnuPG와 유사한 유닉스 암호화 및 서명 프로그램입니다:
Codecrypt는 자유 소프트웨어입니다. 코드는 LGPL3 조건으로 라이선스되며, 다른 도구와의 결합을 더 쉽게 만들어 주기를 바라는 마음입니다.
http://pqcrypto.org/ 를 읽어 보세요.
apt-get install codecrypt언어 래퍼:
패키지에는 완전한 UNIX 스타일 매뉴얼 페이지가 포함되어 있습니다. 온라인으로 보려면 여기를 참조하세요: http://e-x-a.org/codecrypt/ccr.1.html
명시된 목표를 달성하기 위해 codecrypt는 많은 (전통적이지만 "양자 보안") 암호화 프리미티브를 사용합니다. 프리미티브의 선택은 설계의 감사 용이성, 단순성 및 제공되는 보안을 기준으로 이루어졌습니다.
codecrypt의 git 저장소에는 관련 주제에 대한 학술 논문과 슬라이드가 정리되지 않은 채 쌓여 있는 doc/papers가 포함되어 있습니다.
사용된 스트림 암호:
doc/nums 디렉토리에 설명되어 있습니다.사용된 CRHF:
서명 알고리즘:
암호화 알고리즘:
주의사항:
일부 알고리즘(특히 MDPC 디코딩)이 (약간) 타이밍 공격에 취약하기 때문에, 이 암호화는 "온라인" 사용을 위한 것이 아닙니다.
모든 것은 대부분 GnuPG처럼 작동하도록 되어 있지만, 단순성에서 상당한 여유가 있습니다. 임의의 데이터로 실험해 봅시다!
ccr -g help
ccr -g sig --name "John Doe" # your signature key
ccr -g enc --name "John Doe" # your encryption key
ccr -K #watch the generated keys
ccr -k
ccr -p -a -o my_pubkeys.asc -F Doe # export your pubkeys for friends
#(now you should exchange the pubkeys with friends)
#see what people sent us, possibly check the fingerprints
ccr -inaf < friends_pubkeys.asc
#import Frank's key and rename it
ccr -ia -R friends_pubkeys.asc --name "Friendly Frank"
#send a nice message to Frank (you can also specify him by @12345 keyid)
ccr -se -r Frank < Document.doc > Message_to_frank.ccr
#receive a reply
ccr -dv -o Decrypted_verified_reply.doc <Reply_from_frank.ccr
#rename other's keys
ccr -m Frank -N "Unfriendly Frank"
#and delete pukeys of everyone who's Unfriendly
ccr -x Unfri
#create hashfile from a large file
ccr -sS hashfile.ccr < big_data.iso
#verify the hashfile
ccr -vS hashfile.ccr < the_same_big_data.iso
#create (ascii-armored) symmetric key and encrypt a large file
ccr -g sha256,chacha20 -aS symkey.asc
ccr -eaS symkey.asc -R big_data.iso -o big_data_encrypted.iso
#decrypt a large file
ccr -daS symkey.asc <big_data_encrypted.iso >big_data.iso
#password-protect all your private keys
ccr -L
#protect a symmetric key using another symmetric key
ccr -L -S symkey1 -w symkey2
#password-protect symkey2 with a custom cipher
ccr -L -S symkey2 -w @xsynd,cube512
완전성을 위해 여기에 모든 옵션 목록을 추가합니다(ccr --help에서도 확인 가능)
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 set input file, default is stdin
-o, --out set 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 the 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
-L, --lock lock secrets
-U, --unlock unlock secrets
Key management options:
-F, --filter only work with keys with matching names
-f, --fingerprint format full key IDs nicely for human eyes
-N, --name specify a new name for renaming or importing
-n, --no-action on import, only show what would be imported
-w, --with-lock specify the symmetric key for (un)locking the secrets
-w @SPEC ask for password and expand it to a symmetric key
of type SPEC for (un)locking the secret
Codecrypt는 데이터를 소비합니다. 주의해서 사용하세요. F 매뉴얼을 읽으세요.
저자는 독학 암호학자입니다.