Skip to content

WebApp with Graphical Interface for FileCrypter program. File Encryption using AES256 and with Authenticated Data Integrity check using a passphrase. Implemented in GO using AES-GCMSIV cipher with html and js web layer for front-end.

License

Notifications You must be signed in to change notification settings

maxng07/filecrypter-gui

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FileCrypter-GUI

FileCrypter-GUI is an extension of FileCrypter Program offering a WebApp GUI. This allows user to use their web browser to select file for encryption and decryption with a Passphrase of their choice. The program is designed for user's local machine usage, and also possible within the small office Local Area Network. However, it is not recommended for Cloud deployment outside their premise. For a typical cloud or cross network deployment, more work needs to be done including adding HTTPS support, multi CORE support for multi users. FileCrypter-GUI can be quickly extended to do that.

As the program is designed to be used on user's local machine, a lot of thought processes and designs are considered on FileCrypter-GUI to be memory and CPU efficient, and user friendliness. A simple HTML webpage with a form captures the essential information needed to perform encryption or decryption including,

  1. Browsing function, Allowing the user to select their file
  2. Button to select Encryption or Decryption mode
  3. New file name for their file
  4. Password used to encrypt the file.

A graphical pictorial of the html page is shown below. For simplicity, this freeware today does not offer HTTPS as its meant for local machine usage or Small Office network. An Enterprise version with more features can be made available, please contact the author.

The freeware package made available comes with a limit for encryption of not more than 15MB on each file.

Overview

FileCrypter-GUI uses the same cipher logic method used in FileCrypter program and add a WebServer layer. This allows the user to use their web browser they are familiar with to interact with the encryption program. With this design, it is possible to encrypt with FileCrypter-GUI and decrypt with FileCrypter CLI, and vice versa. Giving user full flexibility and the Local System Administrator flexibility to support their office user base. And Enterprise version could be made available with more enhanced features set to fit the Enterprise's requirement.

The program uses AES-GCMSIV cipher suite with AES256 for encryption and the user's secret password is not stored within the encrypted file. The user needs to remember the password used to perform encryption on their files.

Usage

1. Download the package of their choice, Windows or MAC OSX from here
2. Create a Directory or Folder, and place the package there. Uncompressed or UnZip the package using WinZip (for Windows). For MAC, OSX automatically unzip when you download the zipped package.
3. The Zipped package contains 3 files; Indexfc.html, config.json and Filecrypter program. You will need all 3 files to run.
4. Config.json sets the basic configuration, you can edit it using a text editor. The default settings are pre-configured and you do not need to change it. If there is a need, you can edit config.json to change IP address and TCP port.
5. Launch Filecrypter program by double clicking on it in Windows, for MAC clicking on the program from Finder window works too.
6. Launch your web browser, and input this in the address bar http://127.0.0.1:8888 and enter.
You should see a webpage like below.

If you preferred your encrypted and decrypted files to be created in a folder/directory, create a sub-folder or sub-directory underneath the directory where you place the package. Name this subdirectory as "crypto". FileCrypter-GUI will attempt to save all files underneath "crypto" sub-directory if present, otherwise all files will be saved in the same directory where FileCrypter-GUI package are.

An animated tutorial has been created if you need help using the Web Page. You can refer it here.

Performance

Encryption test has been done on old i7 CORE MAC. A 2.5MB file took about approx 1s to complete encryption and a 10MB file took about less than 5s to complete encryption.

Licensing

All RIGHTS RESERVED.

Filecrypt-GUI also uses a GO package for AES-GCMSIV which has a copyright license as part of BoringSSL. The copyright notice as is below

/* Copyright (c) 2017, Google Inc. *

  • This code was written to support development of BoringSSL and thus is
  • considered part of BoringSSL and under the same license.
  • Permission to use, copy, modify, and/or distribute this software for any
  • purpose with or without fee is hereby granted, provided that the above
  • copyright notice and this permission notice appear in all copies.
  • THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
  • WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
  • MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
  • SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
  • WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
  • OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
  • CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */

About

WebApp with Graphical Interface for FileCrypter program. File Encryption using AES256 and with Authenticated Data Integrity check using a passphrase. Implemented in GO using AES-GCMSIV cipher with html and js web layer for front-end.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published