[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Cypherpunks write GAK




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));
 }