
पोस्ट-क्वांटम क्रिप्टोग्राफ़ी टूल (यह रिपॉज़िटरी केवल मुख्य रिपॉज़िटरी का मिरर है, कृपया यहाँ बग दर्ज न करें)
पोस्ट-क्वांटम क्रिप्टोग्राफी उपकरण।
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 मैनुअल पढ़ें।
लेखक एक स्व-शिक्षित क्रिप्टोग्राफर है।