Git Product home page Git Product logo

otpg's Introduction

One Time Pad Generator

OTPG is a python script which uses a keystore containing randomly generated data and a password to generate a One Time Pad which can be used to encrypt messages of arbitrary lengths.

This version of the script uses a simple XOR encryption. Each byte of the message is XOR'd with a corresponding byte from the OTP.

Intermediate passwords in the OTP are generated in 16, 24 or 32 Bytes (128, 192 or 256 bits) which can be used for other encryption techniques such as the AES.

usage: otpg.py [-h] [-p PASSFILE] -k KEYFILE -i INFILE [-o OUTFILE]

Parse arguments for One Time Pad Generator

optional arguments:
  -h, --help            show this help message and exit
  -p PASSFILE, --passfile PASSFILE
                        File to read password from
  -k KEYFILE, --keyfile KEYFILE
                        File to generate keys
  -i INFILE, --infile INFILE
                        File to be encrypted
  -o OUTFILE, --outfile OUTFILE
                        File to write encrypted content

##Encryption

python2 otpg.py -p passwordFile -k keystore -i plain.txt -o encr.txt

##Decryption

python2 otpg.py -p passwordFile -k keystore -i encr.txt -o decr.txt

##Verification

md5sum encr.txt decr.txt plain.txt
1541a2e8f70fcaf248701820d13e62a5  encr.txt
2180c3ef87ce21c27e7c10052b7c105e  decr.txt
2180c3ef87ce21c27e7c10052b7c105e  plain.txt

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.