From owner-freebsd-ports Fri Jul 7 21:40:12 2000 Delivered-To: freebsd-ports@freebsd.org Received: from freefall.freebsd.org (freefall.FreeBSD.ORG [204.216.27.21]) by hub.freebsd.org (Postfix) with ESMTP id A7F1A37B8C5 for ; Fri, 7 Jul 2000 21:40:01 -0700 (PDT) (envelope-from gnats@FreeBSD.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.9.3/8.9.2) id VAA97072; Fri, 7 Jul 2000 21:40:01 -0700 (PDT) (envelope-from gnats@FreeBSD.org) Received: from blues.jpj.net (blues.jpj.net [204.97.17.146]) by hub.freebsd.org (Postfix) with ESMTP id 820C137BB74 for ; Fri, 7 Jul 2000 21:36:49 -0700 (PDT) (envelope-from trevor@jpj.net) Received: from localhost (trevor@localhost) by blues.jpj.net (right/backatcha) with ESMTP id e684alf17198 for ; Sat, 8 Jul 2000 00:36:47 -0400 (EDT) Message-Id: Date: Sat, 8 Jul 2000 00:36:47 -0400 (EDT) From: Trevor Johnson To: FreeBSD-gnats-submit@FreeBSD.ORG Subject: ports/19778: new port: security/pad Sender: owner-freebsd-ports@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org >Number: 19778 >Category: ports >Synopsis: new port: security/pad >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-ports >State: open >Quarter: >Keywords: >Date-Required: >Class: change-request >Submitter-Id: current-users >Arrival-Date: Fri Jul 07 21:40:01 PDT 2000 >Closed-Date: >Last-Modified: >Originator: Trevor Johnson >Release: 4.0-STABLE i386 >Organization: myself >Environment: only tested under FreeBSD 4.0-STABLE #0: Fri May 5 23:39:48 PDT 2000 root@invalid:/usr/src/sys/compile/FREEBASE50b i386 >Description: a utility for encrypting files >How-To-Repeat: N/A >Fix: # This is a shell archive. Save it in a file, remove anything before # this line, and then unpack it by entering "sh file". Note, it may # create directories; files and directories will be owned by you and # have default permissions. # # This archive contains: # # pad # pad/files # pad/files/md5 # pad/patches # pad/patches/patch-pad_c # pad/patches/patch-README # pad/pkg # pad/pkg/COMMENT # pad/pkg/DESCR # pad/pkg/PLIST # pad/Makefile # echo c - pad mkdir -p pad > /dev/null 2>&1 echo c - pad/files mkdir -p pad/files > /dev/null 2>&1 echo x - pad/files/md5 sed 's/^X//' >pad/files/md5 << 'END-of-pad/files/md5' XMD5 (pad-0.5.tgz) = 5541ecdfcf73569f0fee5d0cbdf1cf2f END-of-pad/files/md5 echo c - pad/patches mkdir -p pad/patches > /dev/null 2>&1 echo x - pad/patches/patch-pad_c sed 's/^X//' >pad/patches/patch-pad_c << 'END-of-pad/patches/patch-pad_c' Xpad.c:19: conflicting types for `RAND_bytes' X/usr/include/openssl/rand.h:77: previous declaration of `RAND_bytes' X X--- pad.c.orig Fri Jul 7 05:36:37 2000 X+++ pad.c Sat Jul 8 03:07:17 2000 X@@ -16,8 +16,6 @@ X #include X #include "pad.h" X X-int RAND_bytes(unsigned char *buf,int num); X- X int main(argc, argv) X int argc; X char **argv; END-of-pad/patches/patch-pad_c echo x - pad/patches/patch-README sed 's/^X//' >pad/patches/patch-README << 'END-of-pad/patches/patch-README' X--- README.orig Fri Jul 7 22:14:26 2000 X+++ README Sat Jul 8 04:21:47 2000 X@@ -1,51 +1,60 @@ X-PAD is a small command-line utility to seperate one file into two- each X-indistinguishable from white noise, and put them back together into the X-original. X+PAD is a small command-line utility to separate one file into two, X+each indistinguishable from white noise, and put them back together X+into the original. X X Usage: pad [ [output]] X X-Where input1 is the name of the file to be broken up, pad will name write X-.pad1 and .pad2. X+Where input1 is the name of the file to be broken up, pad will name X+write .pad1 and .pad2. X X-If is given, pad will combine the two into one file, and store the X-result in . If is omitted, the file will be written to X-stdout. X+If is given, pad will combine the two into one file, and X+store the result in . If is omitted, the file will X+be written to stdout. X X X-Example: X+Examples: X X-pad myfile.txt X-# you now have myfile.txt.pad1 and myfile.txt.pad2. X-pad myfile.txt.pad1 myfile.txt.pad2 outputfile X-# you now have outputfile, which is identical to the original myfile.txt, built from your two pad files. X+ pad myfile.txt X+ X+You now have myfile.txt.pad1 and myfile.txt.pad2. X X+ pad myfile.txt.pad1 myfile.txt.pad2 outputfile X X-The interesting thing about the .padx files are that they both look like random X-data (in fact, one actually is random data generated by OpenSSL), but only X-together will produce anything at all. X+You now have outputfile, which is identical to the original X+myfile.txt, built from your two pad files. X+ X+ X+The interesting thing about the .padx files are that they both look X+like random data (in fact, one actually is random data generated X+by OpenSSL), but only together will produce anything at all. X X Possible uses- X X Free speech enforcement: X- Let's say you have a file called decss.c (for example ;), and want to X- distribute it, but are afraid of censorship. Break it up into two pad files, X- distribute these each on seperate unrelated systems, and tell people where to X- get each (and how to re-assemble them). Should someone go to one (or both) of X- the hosting systems and pressure them to remove it, each can claim they're X- only hosting harmless, random data. It is methematically impossible to prove X- that either one is the random one and the other was derived from the original X- file. X+ X+ Let's say you have a file called decss.c (for example ;), X+ and want to distribute it, but are afraid of censorship. X+ Break it up into two pad files, distribute these each on X+ separate unrelated systems, and tell people where to get X+ each (and how to re-assemble them). Should someone go to X+ one (or both) of the hosting systems and pressure them to X+ remove it, each can claim they're only hosting harmless, X+ random data. It is mathematically impossible to prove that X+ either one is the random one and the other was derived from X+ the original file. X X Privacy: X- One-Time-Pad (OTP) encryption dates to long ago, and is in many ways much more X- secure than other forms of encryption that can be brute forced. Keep a private X- random pad between those you want to share data with, and simply transmit X- messages that have been merged with this pad, via any medium. X- OTP encryption is as secure as your random source (in this case, from OpenSSL), X- and the pad itself. Keep in mind it's called One-time pad for a reason -- X- If you use the same pad on two different plaintexts, the messages (either one) X- can no longer be considered secure. X X+ One-Time Pad (OTP) encryption dates to long ago, and is in X+ many ways much more secure than other forms of encryption X+ that can be brute forced. Keep a private random pad between X+ those you want to share data with, and simply transmit X+ messages that have been merged with this pad, via any X+ medium. OTP encryption is as secure as your random source X+ (in this case, from OpenSSL), and the pad itself. Keep in X+ mind it's called a "one-time pad" for a reason: if you X+ use the same pad on two different plaintexts, the messages X+ (either one) can no longer be considered secure. X X Please let me know if you can think of others. X END-of-pad/patches/patch-README echo c - pad/pkg mkdir -p pad/pkg > /dev/null 2>&1 echo x - pad/pkg/COMMENT sed 's/^X//' >pad/pkg/COMMENT << 'END-of-pad/pkg/COMMENT' XEncrypt files END-of-pad/pkg/COMMENT echo x - pad/pkg/DESCR sed 's/^X//' >pad/pkg/DESCR << 'END-of-pad/pkg/DESCR' Xfrom the README: X XThis is a small command-line utility to turn one file into two, each Xindistinguishable from noise, and put them back together into Xthe original. X Xfrom the maintainer: X XNote that the resulting files are the same size as the original. X XWWW: http://www.lammah.com/pad/ X XTrevor Johnson Xtrevor@jpj.net END-of-pad/pkg/DESCR echo x - pad/pkg/PLIST sed 's/^X//' >pad/pkg/PLIST << 'END-of-pad/pkg/PLIST' Xbin/pad Xshare/doc/pad/README X@dirrm share/doc/pad END-of-pad/pkg/PLIST echo x - pad/Makefile sed 's/^X//' >pad/Makefile << 'END-of-pad/Makefile' X# New ports collection makefile for: pad X# Date created: 2000-07-08 X# Whom: Trevor Johnson X# X# $FreeBSD$ X# X XPORTNAME= pad XPORTVERSION= 0.5 XCATEGORIES= security XMASTER_SITES= http://www.lammah.com/pad/ XEXTRACT_SUFX= .tgz X XMAINTAINER= trevor@jpj.net X Xpost-extract: X @${RM} ${WRKSRC}/install-sh ${WRKSRC}/mkinstalldirs \ X ${WRKSRC}/missing ${WRKSRC}/INSTALL ${WRKSRC}/COPYING X @${TOUCH} ${WRKSRC}/install-sh ${WRKSRC}/mkinstalldirs \ X ${WRKSRC}/missing ${WRKSRC}/INSTALL ${WRKSRC}/COPYING X XGNU_CONFIGURE= yes XUSE_AUTOMAKE= yes XUSE_GMAKE= yes X Xpost-install: X.if !defined(NOPORTDOCS) X @${MKDIR} ${PREFIX}/share/doc/pad X @${INSTALL_DATA} ${WRKSRC}/README ${PREFIX}/share/doc/pad X.endif X X.include END-of-pad/Makefile exit >Release-Note: >Audit-Trail: >Unformatted: To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-ports" in the body of the message