Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
codecrypt — 포스트퀀텀 암호화 도구 (이 저장소는 기본 저장소의 미러일 뿐입니다. 여기에 버그를 보고하지 마십시오.) | Kitploit
도구/GitHubGitHub/exaexa/codecrypt
Encryption/Decryption ToolsCryptographyPrivacyPapers & Research
GitHubexaexa/codecrypt

codecrypt

포스트퀀텀 암호화 도구 (이 저장소는 기본 저장소의 미러일 뿐입니다. 여기에 버그를 보고하지 마십시오.)

저장소 보기웹사이트
325423년 전Kitploit 검토 완료

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

Codecrypt

포스트퀀텀 암호화 도구입니다.

Codecrypt는 현재 유지보수되지 않고 있지만, 저는 여전히 잘 사용하고 있습니다. 개발이나 유지보수에 관심이 있다면 연락 주세요.

소개

이것은 양자 컴퓨터에 저항성이 있는 알고리즘만을 사용하는 GnuPG와 유사한 유닉스 암호화 및 서명 프로그램입니다:

  • McEliece 암호 시스템(컴팩트 QC-MDPC 변형)을 암호화에 사용
  • 해시 기반 Merkle 트리 알고리즘(FMTSeq 변형)을 디지털 서명에 사용

Codecrypt는 자유 소프트웨어입니다. 코드는 LGPL3 조건으로 라이선스되며, 다른 도구와의 결합을 더 쉽게 만들어 주기를 바라는 마음입니다.

왜 이 도구인가?

http://pqcrypto.org/ 를 읽어 보세요.

링크

  • 정보 페이지: http://e-x-a.org/codecrypt/
  • 패키지 다운로드: http://e-x-a.org/codecrypt/files/

배포판 패키지

  • Gentoo 패키지: https://packages.gentoo.org/packages/app-crypt/codecrypt 현재 ebuild는 보통 http://e-x-a.org/codecrypt/files 에서 구할 수 있습니다
  • Debian 패키지: apt-get install codecrypt
  • Arch linux: https://aur.archlinux.org/packages/codecrypt/ 참조
  • Windows 포트는 별도로 여기에서 유지보수됩니다: https://github.com/mike805/codecrypt-win32

언어 래퍼:

  • Python 바인딩: https://github.com/mike805/codecrypt-python/

문서

패키지에는 완전한 UNIX 스타일 매뉴얼 페이지가 포함되어 있습니다. 온라인으로 보려면 여기를 참조하세요: http://e-x-a.org/codecrypt/ccr.1.html

사용된 암호화 개요

명시된 목표를 달성하기 위해 codecrypt는 많은 (전통적이지만 "양자 보안") 암호화 프리미티브를 사용합니다. 프리미티브의 선택은 설계의 감사 용이성, 단순성 및 제공되는 보안을 기준으로 이루어졌습니다.

codecrypt의 git 저장소에는 관련 주제에 대한 학술 논문과 슬라이드가 정리되지 않은 채 쌓여 있는 doc/papers가 포함되어 있습니다.

사용된 스트림 암호:

  • ChaCha20, djb가 권장하는 선택
  • XSynd 스트림 암호는 코딩 이론의 가정에 기반한 흥미롭고 비전통적인 후보입니다; 사용된 NUMS(많은 NUMS가 필요함)는 저장소의 doc/nums 디렉토리에 설명되어 있습니다.
  • Arcfour는 구현의 초기 단순성을 위한 것입니다. 최근의 통계적 공격 이후로는 더 이상 RC4 변형 사용을 권장할 수 없지만, 제공되는 패딩과 codecrypt의 "오프라인 전용" 사용 방식 덕분에 사용은 대체로 안전합니다.

사용된 CRHF:

  • Cubehash 변형은 구현 용이성, 매우 깔끔한 설계, 상당히 좋은 속도 및 매개변수 선택의 유연성 때문에 선택되었습니다. 이것은 Crypto++ 라이브러리가 codecrypt에 링크되지 않았을 때 유일한 해시 옵션이기도 합니다. KeyID는 해당 직렬화된 공개 키의 CUBE256 해시입니다.
  • 작은 해시용 ripemd128
  • tiger192는 192비트 해시를 위한 Cubehash의 대안으로 사용됩니다
  • SHA-256, SHA-384 또는 SHA-512를 사용하는 변형도 항상 있습니다

서명 알고리즘:

  • 앞서 언급한 CRHF의 다양한 가능성과 조합을 갖춘 FMTSeq
  • SPHINCS256 지원은 다음 릴리스로 예정되어 있습니다

암호화 알고리즘:

  • 준순환 행렬 기반 MDPC McEliece. 구현은 (상당히 느린) 순환 행렬 곱셈을 가속화하기 위해 몇 가지 트릭을 사용합니다(특히 이 버전에서는 libfftm3). Fujisaki-Okamoto 방식의 패딩을 위해 암호는 스트림 암호와 CRHF를 필요로 하며, 사용된 암호와 CRHF는 알고리즘 이름에 명시됩니다 -- 예: MCEQCMDPC128FO-CUBE256-CHACHA20은 매개변수가 128비트 보안을 제공하도록 조정되었고 CUBE256 해시와 ChaCha20 스트림 암호를 사용함을 의미합니다.
  • Quasi-dyadic McEliece는 원래 알고리즘으로 codecrypt에 포함되었지만 현재는 깨졌으며 어떤 사용에도 경고 메시지를 출력합니다.

주의사항:

일부 알고리즘(특히 MDPC 디코딩)이 (약간) 타이밍 공격에 취약하기 때문에, 이 암호화는 "온라인" 사용을 위한 것이 아닙니다.

빠른 사용법

모든 것은 대부분 GnuPG처럼 작동하도록 되어 있지만, 단순성에서 상당한 여유가 있습니다. 임의의 데이터로 실험해 봅시다!

root@kitploit:~
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에서도 확인 가능)

root@kitploit:~
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 매뉴얼을 읽으세요.

저자는 독학 암호학자입니다.

도구 다운로드