Skip to content

Latest commit

 

History

History
77 lines (52 loc) · 4.16 KB

README.md

File metadata and controls

77 lines (52 loc) · 4.16 KB

ShitCrypt

header

WinGPG is a tray-based classical Windows application, Windows NT Explorer shell extension, and a classic GPGv2 distribution. Secure your data with our simple encryption tool.

Features

Encrypting

A public and private key each have a specific role when encrypting and decrypting documents. A public key may be thought of as an open safe. When a correspondent encrypts a document using a public key, that document is put in the safe, the safe shut, and the combination lock spun several times. The corresponding private key is the combination that can reopen the safe and retrieve the document. In other words, only the person who holds the private key can recover a document encrypted using the associated public key.

The procedure for encrypting and decrypting documents is straightforward with this mental model. If you want to encrypt a message to Alice, you encrypt it using Alice's public key, and she decrypts it with her private key. If Alice wants to send you a message, she encrypts it using your public key, and you decrypt it with your key.

To encrypt a document the option --encrypt is used. You must have the public keys of the intended recipients. The software expects the name of the document to encrypt as input or, if omitted, on standard input. The encrypted result is placed on standard output or as specified using the option --output. The document is compressed for additional security in addition to encrypting it.

alice% gpg --output doc.gpg --encrypt --recipient [email protected] doc

The --recipient option is used once for each recipient and takes an extra argument specifying the public key to which the document should be encrypted. The encrypted document can only be decrypted by someone with a private key that complements one of the recipients' public keys. In particular, you cannot decrypt a document encrypted by you unless you included your own public key in the recipient list.

decrypting

To decrypt a message the option --decrypt is used. You need the private key to which the message was encrypted. Similar to the encryption process, the document to decrypt is input, and the decrypted result is output.

blake% gpg --output doc --decrypt doc.gpg

Documents may also be encrypted without using public-key cryptography. Instead, only a symmetric cipher is used to encrypt the document. The key used to drive the symmetric cipher is derived from a passphrase supplied when the document is encrypted, and for good security, it should not be the same passphrase that you use to protect your private key. Symmetric encryption is useful for securing documents when the passphrase does not need to be communicated to others. A document can be encrypted with a symmetric cipher by using the --symmetric option.

alice% gpg --output doc.gpg --symmetric doc
Enter passphrase: 

How to use ShitCrypt

  • install Python 3.x.x
  • install a C libraries and C Compiler (Gcc, Clang, MSVC)
  • Check the includes folder and header files for key files
  • encrypt.c
#include <stdio.h>
#include <stdlib.h>
#include <memory.h>
#include <include/gpg-error.h>
#include <include/gcrypt.h>
#include <include/gcrypt-module.h>
  • Now you can run the Python file and see the result.

Note: You could see errors like this if you use windows :

Exception has occurred: FileNotFoundError
[WinError 2] The system cannot find the file specified
  File "path\ShitCrypt\main.py", line 30, in <module>
    call(["gcc", "-o", "keygen", "key/keygen.c", "-lgcrypt"])
  • This errors are because you don't have the C libraries installed and the keygen or encrypt file run under errors.
call(["gcc", "-o", "keygen", "key/keygen.c", "-lgcrypt"])
call(["gcc", "-o", "encrypt", "key/encrypt.c", "-lgcrypt"])
call("key/keygen")
  • Understand more By reading some threads or this or also this

License

This program is free software under MIT license. Please see the LICENSE file in our repository for the full text.