1997-09-13 - Cypherpunks write GAK

Header Data

From: bureau42 Anonymous Remailer <remailer@bureau42.ml.org>
To: cypherpunks@toad.com
Message Hash: d5404aebaea3459236735dbda224f68c430145df6db271d2d12ce2e918ae9720
Message ID: <gjpZu2RcJurPuhOLCjweyQ==@bureau42.ml.org>
Reply To: <3419AB69.2E9B@dev.null>
UTC Datetime: 1997-09-13 02:53:12 UTC
Raw Date: Sat, 13 Sep 1997 10:53:12 +0800

Raw message

From: bureau42 Anonymous Remailer <remailer@bureau42.ml.org>
Date: Sat, 13 Sep 1997 10:53:12 +0800
To: cypherpunks@toad.com
Subject: Cypherpunks write GAK
In-Reply-To: <3419AB69.2E9B@dev.null>
Message-ID: <gjpZu2RcJurPuhOLCjweyQ==@bureau42.ml.org>
MIME-Version: 1.0
Content-Type: text/plain



Security And Freedom Through Encryption:
=======================================

This patch adds a Law Enforcement Access Field to PGP 2.6.3i, which
can be used to provide, upon presentment of a court order, immediate
access to plaintext data.

This tool will frustrate illegal and deadly activity of terrorist
groups that plot to blow up buildings, drug cartels that seek to
poison our children, and those who proliferate in deadly chemical and
biological weapons, and will bring international criminals to justice.

GAKMonger
~~~~~~~~~

diff -u ../pgp263i/src/armor.c ./armor.c
--- ../pgp263i/src/armor.c	Wed Jan 17 21:37:20 1996
+++ ./armor.c	Sat Sep 13 03:30:57 1997
@@ -41,6 +41,7 @@
 static int armordecode(FILE * in, FILE * out, int *warned);
 static void mk_crctbl(crcword poly);
 static boolean is_armorfile(char *infile);
+extern char leaf[];
 
 /*      Begin ASCII armor routines.
    This converts a binary file into printable ASCII characters, in a
@@ -597,6 +598,13 @@
 		1, noSections);
     }
     fprintf(outFile, "Version: %s\n", LANG(rel_version));
+    if (leaf[0])
+    {
+	fprintf(outFile, "LEAF: ");
+	for (i = 1; i <= IDEAKEYSIZE; i += 3)
+	    outdec(leaf+i, outFile, 3);
+	putc('\n', outFile);
+    }
     if (clearfilename)
 	fprintf(outFile, "Charset: %s\n", charset);
     if (globalCommentString[0])
diff -u ../pgp263i/src/crypto.c ./crypto.c
--- ../pgp263i/src/crypto.c	Mon Jan 15 22:37:59 1996
+++ ./crypto.c	Sat Sep 13 03:33:19 1997
@@ -420,6 +420,9 @@
  * The "skip" parameter says to skip that many bytes at the beginning,
  * used to generate a random IV only for conventional encryption.
  */
+
+char leaf[IDEAKEYSIZE+1];
+
 static int make_random_ideakey(byte key[IDEAKEYSIZE+RAND_PREFIX_LENGTH],
 			       int skip)
 {
@@ -445,7 +448,11 @@
 	 */
 	count = IDEAKEYSIZE+RAND_PREFIX_LENGTH;
 	for (count = skip; count < IDEAKEYSIZE+RAND_PREFIX_LENGTH; count++)
-		key[count] = cryptRandByte() ^ trueRandByte();
+	{
+	    key[count] = cryptRandByte() ^ trueRandByte();
+	    leaf[count-skip+1] = key[count];
+	}
+	leaf[0] = 1;
 
 	/*
 	 * Write out a new randseed.bin.  It is encrypted in precisely the
diff -u ../pgp263i/src/pgp.c ./pgp.c
--- ../pgp263i/src/pgp.c	Thu Jan 18 19:06:45 1996
+++ ./pgp.c	Sat Sep 13 02:36:44 1997
@@ -410,6 +410,16 @@
 #endif
 	  stderr);
 
+fputs("American citizens have a right to their privacy and their access to the
+freest possible markets. But they also have a right to their safety and
+security. Terrorist groups that plot to blow up buildings; drug cartels
+that seek to poison our children, and those who proliferate in deadly
+chemical and biological weapons are all formidable opponents of peace and
+security in the global society. These bad actors must know that the United
+States' law enforcement and national security agencies, working under the
+proper oversight, will have the tools to frustrate illegal and deadly
+activity and bring international criminals to justice.\n", stderr);
+
     get_timestamp((byte *) & tstamp);	/* timestamp points to tstamp */
     fprintf(pgpout, LANG("Current time: %s\n"), ctdate(&tstamp));
 }






Thread