GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages


Manual Reference Pages  -  PAD (1)

NAME

PAD - Random pad utility

CONTENTS

Synopsis
Description
Options
Requirements
Notes
Possible Uses
Author
Extra

SYNOPSIS

Pad [OPTIONS] [infile] [-o outfile]

DESCRIPTION

PAD is a small command-line utility to separate one file into two, each indistinguishable from white noise, and put them back together into the original.

OPTIONS

Pad accepts the following options:

-r [num]

Pad will XOR in [num] pads generated from random data. If this is omitted, pad will use either 1 or 0 random pads, depending on if there is only one input file or more than one, respectively.

-s [size]

The output data will be [size] bytes. If this is less than the smallest input file, the output will be clipped to match, if it is larger, random data will be appended to the end. [size] can be any value in bytes, or a string such as "2M", or "140K".

-o [outfile]
 

The result of all the XOR operations will be stored in this file. If [output] is omitted, pad will name the file according to its MD5-sum, along with the rest of the random pads.

-h

Displays usage information.

REQUIREMENTS

Aside from the usual (x86/unix, GNU C Compiler), you need OpenSSL (http://www.openssl.org)

NOTES

Any number of input files may be specified, but if they are unequal in size, pad will only process the number of bytes in the smallest file unless otherwise specified by the -s flag.

Examples:

pad myfile.txt

You now have pad-md5-xxxxxx.dat and pad-md5-yyyyyy.dat.

pad pad-md5-xxxxxx.dat pad-md5-yyyyyy.dat -o output-file

You now have output-file, which is identical to the original myfile.txt, built from your two pad files.

Let’s use David Madore’s method of distributed free speech:

<download pad-md5-aaaaaaa through ddddddd.dat from a pad repository> pad -s 128k myfile.txt pad-md5-*.dat Wrote pad-md5-eeeeeee.dat

Now you upload pad-md5-eeeeeee.dat to some pad repository, and tell your message’s receiver where to get all files, aaaaaaa - eeeeeee, and the size of the original file, let’s say, 12345 bytes. Receiver:

pad -s 12345 pad-md5-*.dat -o myfile.txt Wrote myfile.txt

Now your receiver has the same file you started with, myfile.txt.

Possible Uses

Free speech enforcement:
Let’s say you have a file called decss.c (for example ;), and want to distribute it, but are afraid of censorship. Break it up into two pad files, distribute these each on separate unrelated systems, and tell people where to get each (and how to re-assemble them). Should someone go to one (or both) of the hosting systems and pressure them to remove it, each can claim they’re only hosting harmless, random data. It is mathematically impossible to prove that either one is the random one and the other was derived from the original file.

Another possibility here (and probably better) is the use of 5 or more pad files for this. This is shown in the second example above. See http://www.eleves.ens.fr:8080/ho me/madore/misc/freespeech.html for more information about this.

Privacy:

One-Time-Pad (OTP) encryption dates to long ago, and is in many ways much more secure than other forms of encryption that can be brute forced. Keep a private random pad between those you want to share data with, and simply transmit messages that have been merged with this pad, via any medium. OTP encryption is as secure as your random source (in this case, from OpenSSL), and the pad itself. Keep in mind it’s called "One-time pad" for a reason -- If you use the same pad on two different plaintexts, the messages (either one) can no longer be considered secure.

AUTHOR

Pad was written by xercist <xercist@mindless.com> This manpage was formatted by Aidian <aidian@spod.org>, from text written by xercist.

EXTRA

You can likely find support and/or information regarding this program on irc.stratius.com in #pad.

Search for    or go to Top of page |  Section 1 |  Main Index


Version 1.0.4 PAD (1) July 2000

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with manServer 1.07.