From: pmetzger@snark.shearson.com (Perry E. Metzger)
Subject: Why stripping ----BEGIN lines doesn't make PGP more secure.
Organization: Partnership for an America Free Drug
Date: Tue, 15 Dec 1992 01:23:50 GMT


Summary for readers with little time: Uri Blumenthal insists that
stripping the ----BEGIN PGP lines from PGP messages makes things more
"secure" by eliminating the "proof" that you are using PGP. In this
reply to his most recent message to me, I explain precisely why its
trivial for an eavesdropper to detect that PGP messages are going by
in EMail.

uri@watson.ibm.com (Uri Blumenthal,35-016,8621267,) writes:
>From article <1992Dec11.030807.29118@shearson.com>, by pmetzger@snark.shearson.com (Perry E. Metzger):
>>>Why does PGP has those ugly lines "----BEGIN PGP...."
>>>and so on? PGP-2.1 is much better than PGP-2.0. Let's
>>>make it really good now -  GET RID OF THOSE BETRAYING
>>>TAGS! NOW!
>> 
>> I guess you never read the docs. Those "betraying tags" have a purpose
>> -- they allow the system to automatically find the beginning and end
>> of messages. 
>
>I guess you
>	a) are deprived of sense of humor;
>	b) have too little experience with real crypto...

Please carefully re-read what I said, and what I say in this message.

>> You can feed mail messages into PGP without even
>> stripping the headers. 
>
>Ge, thanks for explaining! And I was sure they are there
>just to attract feds' attention... Oh, my...
>
>> Its all very well engineered, and the feds can
>> tell you are using PGP anyway by looking at the magic numbers in the
>> Radix 64 text. 
>
>And what sense would a hexadecimal number prepended to an
>encrypted (hexadecimal) data make to an eavesdropper?

The data is not "hexadecimal"; its in Radix 64 format.  I can readily
detect the presense of Radix 64 data -- a very simple regular
expression filter will allow one to detect candidate lines of Radix
64, and at a fast enough speed that one can sort through all the mail
going through even as high volume a gateway as, say, UUNet. Once a
regular expression has found such a line, its easy to check if
subsequent lines indeed contain more apparent Radix 64 data. One may
then assume that one is indeed confronting Radix 64 data, and
transform it into binary. Once turned into binary, one may attempt to
interpret the data as a PGP format file. PGP files are NOT random in
their first bits -- they contain magic numbers, file lengths, and
other such things that can be used to determine if the candidate file
is indeed a PGP file. As an example, I can check to make sure that the
first byte of the data contains the CTB for an RSA public key
encrypted packet, that the next two bytes contain the length of the
packet, that the fourth byte contains a "2" for version two, etc.

However, you insist that all of this is impossible, in spite of the
fact that your PGP program more or less does all of it every day.

>> I don't think there is any point in stripping them,
>> since it adds no security for you and will make the program a lot more
>> inconvenient to use.
>
>I do, since it can increase security via making it 
>"unprovable" that the message is encrypted/created
>my PGP.

How exactly does it make it "unprovable"? In the sense that anyone can
add those lines to any message they send, they "prove" nothing about
the contents, and in the sense that anyone can detect that a mail
message contains PGP data even without those lines, one would appear
in another sense to be able to "prove" that a message was created with
PGP even without those lines being present. Stripping the lines would
appear to do you not a lick of good -- it does not fundamentally
change anything.
--
Perry Metzger		pmetzger@shearson.com
--
"They can have my RSA key when they pry it from my cold dead fingers."
Newsgroups: alt.security.pgp,sci.crypt