A super easy file encryption utility written in go and under 800kb

Overview

filecrypt

Codacy Badge Go Report Card
GitHub repo size Written in
A super easy to use file encryption utility written in golang
FILECRYPT

Help Wanted on porting filecrypt to other programing languages
NOTE: if you are planning to use filecrypt for your go-lang project please clone this repo and build your software from there

What's the difference

  • Speed
  • Simple
  • Works on all operating systems

How to use

Windows

  1. Download the latest release from here
  2. Create a folder named "filecrypt" in any drive
  3. Move the downloaded executable(.exe) to the folder created in step 2
  4. Add the path of the created folder created in step 2 into windows path variable
  5. Open the command prompt and enter filecrypt --help for detailed info about using flags

flags

  • --force - Force write even if a file exists with that name (overwrite) DESTRUCTIVE
  • --location - The location of the file to encrypt/decrypt(determined by the mode flag)
  • --mode - FileCrypt mode (encrypt/decrypt These can be replaced with their first letters) Example: filecrypt --mode=e --location="super secret file.txt" --password="test"
  • --password - (removed in release v2 & later) Password to be used while encrypting/decrypting
    Note: due to security issues with commandline flags the password will be prompted at runtime.

Q&A

How can I help?

  • Staring this project on github
  • Creating issues
  • Contributing with code or documentation
  • Sharing this project with your friends

What is a .fcef file

fcef (File. Crypt. Encrypted. File) is an encrypted file that is generated by FileCrypt, If you know the password that it was encrypted with it can be decrypted with FileCrypt using the --mode=dor --mode=decrypt flag.

How is FileCrypt so small

Because Filecrypt

  • Only uses the standard library
  • Has no unwanted code
  • Is built with -ldflags "-s -w" flag
  • Executable is compressed with upx (Only extra small binaries)

Docs

You might also like...
A document encryption solution for the reMarkable 2 ePaper tablet.

Remarkable 2 Encryption This repository contains multiple tools to encrypt the home folder of the reMarkable 2 epaper tablet using gocryptfs. Detailed

Go implementation of the Data At Rest Encryption (DARE) format.

Secure IO Go implementation of the Data At Rest Encryption (DARE) format. Introduction It is a common problem to store data securely - especially on u

Encryption & Decryption package for golang

encdec Encryption & Decryption package for golang func main() { startingTime := time.Now() privKey, pubKey := GenerateRsaKeyPair() fmt.Println("Priva

TTAK.KO-12.0223 Lightweight Encryption Algorithm with Galois/Counter Mode (LEA-GCM)

LEACrypt The Lightweight Encryption Algorithm (also known as LEA) is a 128-bit block cipher developed by South Korea in 2013 to provide confidentialit

Functional encryption for images

ImageFE Functional encryption for images. Introduction In the traditional cryptography framework, a decryptor either recovers the entire plaintext fro

Attempts to make attribute based encryption work, particularly trying out bn256 pairing curve
Attempts to make attribute based encryption work, particularly trying out bn256 pairing curve

EC Pairings over bn256 This is an attempt to solve the core problem of attribute based encryption, where the goal is to be able to use CA-issued attri

Lattigo: lattice-based multiparty homomorphic encryption library in Go

Lattigo: lattice-based multiparty homomorphic encryption library in Go Lattigo i

Ubiq-fpe-go - Format preserving encryption in Go

Format Preserving Encryption in Go An implementation of the NIST-approved FF1 an

Length-preserving encryption algorithm

hctr2 Length-preserving encryption algorithm https://eprint.iacr.org/2021/1441.pdf Security Disclosure This project uses full disclosure. If you find

Comments
  • Add license scan report and status

    Add license scan report and status

    Your FOSSA integration was successful! Attached in this PR is a badge and license report to track scan status in your README.

    Below are docs for integrating FOSSA license checks into your CI:

    opened by fossabot 1
  • Refactor and simplify codebase

    Refactor and simplify codebase

    Hi,

    I saw this repo and thought it was quite interesting. After looking at the code I thought there were a few potential improvements.

    This isn't an attempt to slam you or this project, rather I'm trying to promote best practices and help simplify the code as much as possible.

    This PR:

    • Moves some code around so as it follows a more generic "go-like" structure.
    • Removes some go-routines. You were doing things one at a time and waiting for the routine to finish - the go routines were unnecessary.
    • Uses error + result propagation so as main.go is the only thing that generates output.

    If you've got any questions, please ask!

    opened by TomWright 1
  • Update main.go

    Update main.go

    Readability Issue:

    log.Println("Writing decrypted data to" + realFile)
    

    to

    log.Println("Writing decrypted data to " + realFile)
    

    Writing decrypted data totest.txt must be: Writing decrypted data to test.txt

    opened by asher-lab 0
Releases(v2.0.1)
Owner
Flew Software
Team of developers creating software for the world
Flew Software
Easy to use encryption library for Go

encryptedbox EncryptedBox is an easy to use module for Go that can encrypt or sign any type of data. It is especially useful when you must serialize y

Jesse Swidler 17 Jul 20, 2022
ICPP 2022 (pap351) Under Review

SciCoFK: A Decentralized Scientific Computing Framework Embraced with Consensus and Incentive Mechanism This repo is the primary code of SciCoFK. In t

null 2 May 27, 2022
The minilock file encryption system, ported to pure Golang. Includes CLI utilities.

Go-miniLock A pure-Go reimplementation of the miniLock asymmetric encryption system. by Cathal Garvey, Copyright Oct. 2015, proudly licensed under the

Cathal Garvey 172 Sep 21, 2022
Sekura is an Encryption tool that's heavily inspired by the Rubberhose file system.

It allows for multiple, independent file systems on a single disk whose existence can only be verified if you posses the correct password.

null 51 Feb 1, 2022
A simple, modern and secure encryption tool (and Go library) with small explicit keys, no config options, and UNIX-style composability.

A simple, modern and secure encryption tool (and Go library) with small explicit keys, no config options, and UNIX-style composability.

Filippo Valsorda 11.7k Oct 2, 2022
A simple, semantic and developer-friendly golang package for encoding&decoding and encryption&decryption

A simple, semantic and developer-friendly golang package for encoding&decoding and encryption&decryption

null 282 Sep 26, 2022
Encryption Abstraction Layer and Utilities for ratnet

What is Bencrypt? Bencrypt is an abstraction layer for cryptosystems in Go, that lets applications use hybrid cryptosystems without being coupled to t

null 17 Jul 23, 2022
A tool for secrets management, encryption as a service, and privileged access management

Deploy HCP Vault & AWS Transit Gateways via Terraform https://medium.com/hashicorp-engineering/deploying-hcp-vault-using-the-hcp-terraform-provider-5e

Temur Yunusov 0 Nov 23, 2021
Go Encrypt! Is a simple command-line encryption and decryption application using AES-256 GCM.

Go Encrypt! Go Encrypt! is a command-line application used to easily encrypt and decrypt files with the AES-256 GCM encryption algorithm. Usage Usage

Peter Georgas 0 Jan 5, 2022
DERO Homomorphic Encryption Blockchain Protocol

Homomorphic encryption is a form of encryption allowing one to perform calculations on encrypted data without decrypting it first. The result of the computation is in an encrypted form, when decrypted the output is the same as if the operations had been performed on the unencrypted data.

null 104 Sep 22, 2022