1
0
mirror of https://github.com/biergaizi/codecrypt synced 2024-06-25 00:08:20 +00:00
Go to file
Mirek Kratochvil 18449bdc8a arcfour: greatly increase discard parameters
Okay, this thing got public so it's time to make the RC4 rugged. Not
that I'd know about something that would break current implementation,
but it's nice to at least do the recommended discard correctly.

We'll probably be adding better symmetric ciphers anyway.

Note that this is an incompatible change (again). FMTSeq private keys
will need to be replaced. Existing signature validity doesn't change.
Encrypted messages will not be possible to decrypt.
2013-05-25 17:13:33 +02:00
doc/papers papers: padding research 2013-04-21 08:56:29 +02:00
src arcfour: greatly increase discard parameters 2013-05-25 17:13:33 +02:00
.gitignore initial commit 2012-02-23 12:46:11 +01:00
autogen.sh restructuralization 2012-12-22 14:09:19 +01:00
configure.ac version bump 2013-05-18 10:57:34 +02:00
COPYING licenses 2012-11-05 22:56:35 +01:00
COPYING.LESSER licenses 2012-11-05 22:56:35 +01:00
README README smaalllllll update 2013-01-17 12:12:42 +01:00
README.md version bump 2013-05-03 14:38:21 +02:00

Codecrypt

The post-quantum cryptography tool.

About

This is a GnuPG-like unix program for encryption and signing that uses only quantum-computer-resistant algorithms:

  • McEliece cryptosystem (compact quasi-dyadic variant) for encryption
  • Hash-based Merkle tree algorithm (FMTSeq variant) for digital signatures

Why this?

Go read http://pqcrypto.org/

Quick How-To

Everything is meant to work mostly like GnuPG, but with some good simplicity margin. Let's play with random data!

ccr -g help
ccr -g fmtseq128 --name "John Doe"    # your signature key
ccr -g mceqd128 --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

#see what people sent us
ccr -ina < friends_pubkeys.asc

#import Frank's key and rename it
ccr -i -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

Option reference

For completeness I add listing of all options here (also available from @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      input file, default is stdin
 -o, --out     output file, default is stdout
 -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

Key management:
 -g, --gen-key        generate specified keypair, `help' lists algorithms
 -k, --list           list keys
 -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

Disclaimer

Codecrypt eats data. Use it with caution.

Author is a self-taught cryptographer.