Skip to content

A CLI tool for Unix-like environments to encrypt/decrypt a file using XOR operation to do One-Time Pad.

License

Notifications You must be signed in to change notification settings

abderraouf-adjal/fxor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

67 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

fxor

Overview

fxor is a tool to encrypt/decrypt a file using XOR operation to do one-time pad.

Syntax

fxor IN_FILE KEY_FILE
fxor IN_FILE KEY_FILE OUT_FILE [OPTION]

Display usage information:

fxor --help

Display version and copyright information:

fxor --version

Description

fxor is a tool that you can use to encrypt/decrypt IN_FILE content with KEY_FILE content using XOR operation, and output to:

  • The file OUT_FILE.
  • STDOUT if OUT_FILE not defined.

fxor can be used as OTP (One-Time Pad) tool.

IN_FILE: Input file name, Witch will processed.

KEY_FILE: Key file name, Usually random bytes file.

OUT_FILE: Output file name.

Options

-r: Overwrite (destroy contents) OUT_FILE then output

-s: Start output from OUT_FILE beginning and replace bytes, Perfect to encrypt/decrypt IN_FILE and output to IN_FILE!

Examples

Output to OUT_FILE (overwrite if exist):

fxor IN_FILE KEY_FILE OUT_FILE -r

Output to OUT_FILE and replace byte by byte from beginning:

fxor IN_FILE KEY_FILE OUT_FILE -s

Output to STDOUT:

fxor IN_FILE KEY_FILE

Versioning

fxor follows the semantic versioning scheme.

fxor releases

fxor FAQ

See the file 'FAQ' for details.

Requirements

C99 GCC-compatible compiler, e.g.: gcc, clang.

unix-like OS, e.g.: GNU/Linux, *BSD.

Installation

After you unpack the distribution tarball and change into the source directory:

Compile:

% make

Install:

% make install

You can install/copy files in a different destination:

% make PREFIX="/directory/directory" install

Uninstall:

% make uninstall

Or:

% make PREFIX="/directory/directory" uninstall

Reporting bugs

Report fxor bugs to: abderraouf.adjal@gmail.com

Or create an issue on GitHub.

Copyright

Copyright (c) 2014-2015 Abderraouf Adjal. All rights reserved.

License: BSD 2-Clause License (Simplified BSD License). There is NO WARRANTY.

See the file 'COPYING' for details.