GnuPG Celebrates 10 Years
From: | Werner Koch <wk-AT-gnupg.org> | |
To: | gnupg-announce-AT-gnupg.org | |
Subject: | GnuPG's 10th birthday | |
Date: | Thu, 20 Dec 2007 10:55:16 +0100 | |
Message-ID: | <87tzmdbshn.fsf@wheatstone.g10code.de> | |
Cc: | info-gnu-AT-gnu.org, lwn-AT-lwn.net |
A Short History of the GNU Privacy Guard ======================================== It's been a decade now that the very first version of the GNU Privacy Guard [0] has been released. This very first version was not yet known under the name of GnuPG but dubbed "g10" as a reference on the German constitution article on freedom of telecommunication (Grundgesetz Artikel 10) and as a pun on the G-10 law which allows the secret services to bypass these constitutional guaranteed freedoms. Version 0.0.0 released on December 20th 1997 [1], was a barely working replacement of PGP avoiding all patented algorithm by using Elgamal and Blowfish instead of RSA and IDEA. It was prominently marked as a test version but nevertheless included most of the features of the current GnuPG. The data format however was not compatible with OpenPGP but oriented towards the PGP 2 format with a few extensions (e.g. to allow streaming of data). The OpenPGP working group was founded back in fall 1997 and I learned a bit to late about it to build "g10" according to the then existing draft. For copyright reasons it was practically not possible to reverse engineer the format used by PGP-5, so the establishment of the OpenPGP WG was the right thing at the right time. Before talking about GnuPG we need to go some more years back in history: To help political activists Phil Zimmermann published a software called Pretty Good Privacy (PGP) in 1991. PGP was designed as an easy to use encryption tool with no backdoors and disclosed source code. PGP was indeed intended to be cryptographically strong and not just pretty good; however it had a couple of inital bugs, most of all a home designed cipher algorithm. With the availability of the source code a community of hackers (Branko Lankester, Colin Plumb, Derek Atkins, Hal Finney, Peter Gutmann and others) helped him to fix these flaws and a get a solid version 2 out. Soon after that the trouble started. As in many counties the use or export of cryptographic devices and software was also strongly restricted in the USA. Only weak cryptography was generally allowed. PGP was much stronger and due to the Usenet and the availability of FTP servers and BBSs, PGP accidently leaked out of the country and soon Phil was sued for unlicensed munitions export. Those export control laws were not quite up to the age of software with the funny effect that exporting the software in printed form seemed not to be restricted. MIT Press thus published a book with the PGP source code which was then scanned outside the USA to form the base of PGP-2i ("i" for international). Since then that version was used widely. The criminal investigations against Phil ended in 1996 and he founded PGP Inc to write PGP-5. The first public release was done in spring 1997. The same year at the 39th IETF meeting at Munich in August Phil Zimmermann and Jon Callas asked the IETF to setup a working group to publish a standard for the protocol used by PGP-5 under the name OpenPGP. The main drive behind this was to allow widespread use of strong encryption even if at some point the new company would decide to stop selling and supporting PGP. As it turned out PGP Inc was acquired by Network Associates just a few months later and in 2002 this company actually ceased support and development of PGP (though the PGP product was later continued by the new PGP Corporation). Also often claimed to be Free Software, PGP has never fulfilled the requirements for it: PGP-5 is straight proprietary software; the availability of the source code alonedoes not make it free. PGP-2 has certain restrictions on commercial use [2] and thus puts restrictions on the software which makes it also non-free. Another problem with PGP-2 is that it requires the use of the patented RSA and IDEA algorithms. The patent on RSA was only valid in the USA but the patent on IDEA was and is still valid [3] in most countries. Although the GNU project listed a requirement for a PGP replacement for some years on its task list, it was not possible to start implementing it as long as patents on all public key algorithms were valid. That changed when in April 1997 the basic patent on public key algorithms expired (the Diffie-Hellman US patent 4200770) and finally in August when the broader Hellman-Merkle patent (4218582) expired. A month later, at the Individual-Network Betriebstagung at Aachen [4], Richard Stallman continued his talk with a BoF session where he asked the European hackers to start implementing public key software. The arms trafficker laws of the USA prohibited the GNU project to write such software in their country or even by US citizens working abroad. Thus he told the European hackers that they are in the unique position to help the GNU with crypto software. Being tired of writing SMGL conversion software and without a current fun project, I soon found my self hacking on PGP-2 parsing code based on the description in RFC-1991 and the pgformat.txt file. As this turned out to be easy I continued and finally came up with code to decrypt and create PGP-2 data. After I told the GNU towers that I will take up the PGP replacement implementation I spent the rest of the year replacing IDEA by Blowfish, RSA by Elgamal, implementing streaming encryption, adding some key management and getting the code into a reasonable shape. There used to be a plan for a free version of Secure Shell called PSST (later known as LSH) with a somewhat populated mailing lists maintained by Martin Hamilton. Martin was the so kind to setup a mailing list for g10 too and announced it on that list. This way we got the first subscribers. Eventually I made the first tarball, put it up to ftp.guug.de, the FTP server of the German Unix User Group, and wrote an announcement [5]. Right the next day Peter Gutmann offered to allow the use of his random number code for systems without a /dev/random. This eventually helped a lot to make GnuPG portable to many platforms. The next two months were filled with code updates and a lengthly discussion on the name; we finally settled for Anand Kumria's suggestion of GnuPG and made the first release under this name (gnupg-0.2.8) on Feb 24 [6]. Just a few days later an experimental version with support for Windows was released. (That release also fixed an alignment problem on Alpha boxes which was detected due to kernel log files filling up the hard disk and an admin asking whether they really need to be backed up. ;-) In July 1998 the first more or less OpenPGP draft compliant version was released. Matthew Skala had contributed Twofish code done cleanly From scratch (Twofish was at that time a promising AES candidate and suggested by Schneier as a Blowfish replacement; however we had some copyright concerns with the reference code). Michael Roth contributed a Triple-DES implementation later the year and thus completed the required set of OpenPGP algorithms. Over the next year the usual problems were solved, features discussed, complaints noticed and support for gpg in various other software was introduced by their respective authors. Finally, on September 7, 1999 the current code was released as version 1.0.0 with the major update of including Mike Ashley's GNU Privacy Handbook [7]. A year later the RSA patent was to expire on September 20; the patent holder placed the patent into the public domain 3 weeks earlier and thus we could release 1.0.3 with RSA support already on September 18. One of the major obstacles on widespread use public cryptography had gone (far too late of course). Also in 1999 the German government decided that strong encryption will not be regulated in any way and that its use is recommended for everyone. To publicly support this statement the Ministry of Economics funded the porting of GnuPG and related software to Microsoft Windows [8]. The US government was not keen to see that and tried to urge the German government to revise the decision to allow unregulated distribution of crypto software [9]. That did not work out and to the end the USA had no other way than to weaken their own export rules. Although we still develop GnuPG using servers located in Europe the new US export controls eventually allowed US hackers to contribute to GnuPG development. In 2001 David Shaw joined the project and since then he is one of the most active GnuPG hackers and the co-maintainer. It's now a long time since GnuPG could be managed as a fun project and thus I now spend most of my professional life maintaining and extending GnuPG. In 2001 I founded g10 Code, a Free Software company for the development and support of GnuPG and related software. The most known project is probably GnuPG-2 which started under the name NewPG as part of the broader Aegypten project. The main goal of Aegypten was to provide support for S/MIME under GNU/Linux and integrate that cleanly with other mail clients, most notably KMail. Although having been actively used since 2004, we released 2.0.0 only one years ago. It was not that much fun writing X.509/CMS (commonly named S/MIME) software compared to the elegant and very interoperable OpenPGP protocol. Having mastered that we meanwhile achieved to provide a software which is really useful and works nicely with almost any other S/MIME implementation. It also turned out that we could port GnuPG-2 to Windows - despite my original claim that a modern POSIX platform will be needed for GnuPG-2. This development also showed that it is viable to develop Free Software as a business. With the new tools and from a user's perspective S/MIME and OpenPGP will soon not make much of a difference anymore. However I had to smile when I today read a report on the last RSA Europe conference where a quick poll during a talk showed that OpenPGP is the mostly used encryption protocol. Recall that GnuPG is just one tool; there are numerous other tools out to solve related privacy problems. Kudos to all who worked on writing and deploying privacy tools over all these years! Happy Hacking, Werner [0] http://www/gnupg.org [1] ftp://ftp.gnupg.org/gcrypt/historic/g10-0.0.0.tar.gz [2] from pgpdoc2.txt: "Finally, if you want to turn PGP into a commercial product and make money selling it, then we must agree on a way for me to also make money on it. [...] Under no circumstances may PGP be distributed without the PGP documentation, including this PGP User's Guide." [3] "valid" is meant in the sense the patent holders use it and does not imply that I regard patents on software a valid concept. See http://www.fsfeurope.org/projects/swpat/background.en.html . [4] http://www.dascon.de/IN-BT97/programm.html [5] http://lists.gnupg.org/pipermail/gnupg-devel/1997-Decembe... There are just a few mails in December mainly discussing patent things. [6] http://lists.gnupg.org/pipermail/gnupg-devel/1998-Februar... [7] http://lists.gnupg.org/pipermail/gnupg-announce/1999q3/00... [8] http://partners.nytimes.com/library/tech/99/11/cyber/arti... [9] http://www.heise.de/tp/r4/artikel/5/5124/1.html -- Die Gedanken sind frei. Auschnahme regelt ein Bundeschgesetz.
Posted Dec 28, 2007 0:24 UTC (Fri)
by jd (guest, #26381)
[Link] (9 responses)
My second criticism only marginally impacts GnuPG and really applies to all cryptographic software. The number of algorithms supported is often a tiny fraction of the number of algorithms out there, and for secret-key encryption, the number of encryption modes supported is a miniscule fraction of the number that exist.
Yes, there are going to be people who point out that many of the algorithms and modes have not undergone anything like the level of peer review as those in common use. To that, I would point out that those have been reviewed precisely because they are in common use, not the other way around.
There are also those who would argue that the increased choice would be more confusing than helpful. Perhaps, but the criteria used to select the AES algorithm was a mix of speed and security. With e-mail, speed is hardly a critical factor and therefore the balance used by NIST might not be appropriate for such cases.
For encryption modes, again, the balance has been speed vs. security, but the needs of e-mail are not general-purpose needs. I can see more people being interested in Authenticated Encryption Modes than in something that is merely fast. For sending images, I imagine that highly specialized encryption modes, such as 2DEM, that are designed to mangle information still extractable even from an encrypted image would again be highly appealing.
Finally, a few rotton tomatos at the users, at corporations and at lawmakers. The value of a technology increases both with use and with standing. Digital signatures and authenticated modes, if suitably strong, should be required on electronic documents wherever a regular signature would be required or expected on a paper document. (To me, this would include all official electronic documents.) Notary services should be able to "stamp" electronic documents produced in their presence by means of a very strong digital signature, giving it equal status to any paper document that had been notarized. (Although arguably it would be far harder to tamper with the electronic document.)
Official corporate e-mails would be included in "official electronic documents", in this. How often have we seen e-mails dragged into court, only for there to be arguments over whether they're genuine, complete, or some other such nonsense? Backups of all e-mails only get you so far, if you can't be sure if what is presented is what was stored, or that what was stored was what was written. It would also make it impossible to land up in debates over whether an e-mail was in an official capacity or not. An official signature means an official e-mail. No official signature means it can't be enforced as corporate policy.
Posted Dec 28, 2007 9:21 UTC (Fri)
by bvdm (guest, #42755)
[Link] (7 responses)
Posted Dec 28, 2007 17:03 UTC (Fri)
by flewellyn (subscriber, #5047)
[Link] (6 responses)
I'm sorry, I can't agree that cryptography is a solved problem, except in the purely theoretical sense: sure, we have a mathematically-proven unbreakable cipher, the One-Time Pad, but it's so hard to deploy and use correctly that its applications are extremely limited in the real world. So in all truth, it's likely that at some point in the future, AES will be cracked. Mind you, I have no idea how; if I knew that, I would be either the world's greatest cryptanalyst or the world's greatest psychic. But given the history of cryptography and cryptanalysis, I feel confident enough in saying that one day, somehow, AES will be broken.
Posted Dec 28, 2007 20:32 UTC (Fri)
by jd (guest, #26381)
[Link] (1 responses)
When (not if) a weakness is found in AES, it is pretty much guaranteed to be a weakness in the nature of the approximation. The 2DEM crowd demonstrated nicely in their initial paper how you could recover some information from encrypted images where there is a poor choice of encryption mode. I have no idea how much is recoverable, how much you can scrape the message for exposed data. Any information, though, must effectively reduce your key search space, with the obvious implication that sufficient information must reduce it to something you can search on a realistic timeframe.
Posted Dec 29, 2007 5:51 UTC (Sat)
by zooko (guest, #2589)
[Link]
I just went and had a look at the 2DEM docs that they submitted to NIST. As far as I could tell from a quick reading of the first couple of sections of their paper, they pointed out that ECB is very weak at confidentiality, and that CBC isn't parallelizable, and then proposed 2DEM mode. These two facts (ECB doesn't offer good confidentiality and CBC isn't parallelizable) were already well understood by other cryptographers. All of modes of operation described in SP 800-38 A (except of course ECB, which shouldn't have been included) offer good confidentiality, and CTR mode offers excellent parallelism. Some of the newfangled modes like OCB and GCM are also parallelizable. So as far as I can tell, 2DEM mode doesn't offer anything over CTR mode. Regards, Zooko
Posted Dec 29, 2007 16:35 UTC (Sat)
by Nelson (subscriber, #21712)
[Link] (3 responses)
It's hard to imagine it having a weakness that reduces its strength to something practical to process but I guess it's possible. You have to also understand that the ciphers that have been developed by actual cryptographers in the last 10 or so years that have been "cracked" the crack is almost never actually possible to do, it's just calculatably more efficient than brute force. It usually takes an intractable amount of processing power or storage to perform these "cracks" and the actual crack. Being paranoid, once a cipher has shown one of these weaknesses, it's usually abandoned and considered untrusted. I can't think of a legitimate cipher that has been developed in a long time that could actually be cracked in any practical manner, maybe FEAL or REDOC but those are pretty old.
Posted Dec 30, 2007 9:12 UTC (Sun)
by flewellyn (subscriber, #5047)
[Link] (2 responses)
DES has never been "cracked." As a matter of fact, yes, it has. You have to also understand that the ciphers that have been developed by actual
cryptographers in the last 10 or so years that have been "cracked" the crack is almost never
actually
possible to do, it's just calculatably more efficient than brute force. It usually takes an intractable
amount of processing power or storage to perform these "cracks" and the actual crack. See the above link. 22 hours using a distributed network is not infeasible. And this was in
1999, almost 9 years ago! Computers are much more powerful now, and massive parallel
clusters
are much more widespread. It's conceivable today that DES could be broken in a matter of
hours.
Posted Dec 30, 2007 17:13 UTC (Sun)
by dmaxwell (guest, #14010)
[Link]
Posted Dec 30, 2007 19:30 UTC (Sun)
by Nelson (subscriber, #21712)
[Link]
Do the math on AES then, if that's the best way to "crack" it then AES potentially be secure for centuries. And then there is EDE "Triple-AES" if we actually need something better.
Posted Dec 28, 2007 18:41 UTC (Fri)
by raven667 (subscriber, #5198)
[Link]
Here are some reasons why some companies don't necessarily agree with your
assessment.
That would seem to open up the company to all sorts of potential liability with very little benefit.
Retaining email for long periods of time can open up your organization to legal fishing
expeditions where your IT and legal team spends its time answering subpoenas and going
through old backup tapes rather than their actual work. This can be especially onerous for an
organization like an ISP which is storing and processing data on behalf of third parties, you
might end up in the middle of a lawsuit that doesn't even involve you.
One of the answers to this problem is aggressive data deletion policies, as soon as the data
isn't needed purge it. It's easy to respond to discovery requests when you can show that you
don't have the data in question any more. It is also more secure in that if your system is
compromised the attackers can't make off with customer data you don't have anymore.
The other issue is that signing documents can have other implications, especially if you make
any claims to non-repudiation. Any offhand comment by an employee to a customer can become
legally binding in some locations. Non-repudiation claims are especially a problem because
someone could install a trojan on a workstation or simply leave their computer unlocked and
unattended allowing others to sign or encrypt messages as them. Poor private key management
is also standard practice at most organizations. Problems such as this can be time consuming
and expensive to clear up and are just liability for the company.
In the specific case of PGP style key management escrow is an issue. In the common use
case every user generates their own private key which is not necessarily shared with the
company officers. If an employee moves on to another job, the company may lose access to any
emails and documents they've received or encrypted for themselves. Of course this risk exists in
any event, any person can install GPG and digitally shred their system and the risk can be
migrated if the GPG deployment is thought through and managed properly but there are
additional risks in jumping into proper forethought of these and other issues.
I hope I'm not too much of a killjoy but I wanted to provide some counterbalancing
information as to why this can be difficult or perceived to be difficult at some companies. These
are concerns that I've heard when proposing a similar email encryption deployment.
Posted Dec 28, 2007 0:29 UTC (Fri)
by Kluge (subscriber, #2881)
[Link]
Posted Dec 28, 2007 16:17 UTC (Fri)
by mmutz (guest, #5642)
[Link]
For those of you not well-versed in Schwäbisch, the translation of the
signature reads: It mimicks a formulation from the German Constitution: Das
Nähere regelt ein Bundesgesetz (details are governed by federal
law), which is often the last sentence in paragraphs that make up the
Constitution.
GnuPG is a fine piece of software. My main criticism is not of GnuPG itself but rather the lack of software that makes use of it transparently or semi-transparently. (You won't see secure e-mail, for example, until it is practical to send and receive secure e-mail from the majority of e-mail clients.)
GnuPG Celebrates 10 Years
GnuPG Celebrates 10 Years
The decision to select Rijndael as the AES was certainly not based on a "mix" of criteria
between speed and security. The only consideration was complete resistance to all known
methods of cryptanalysis for the full 128-bit claimed strength. It was only amongst the final
round of peer reviewed candidates that speed was considered an advantage for final selection.
Any break in AES would represent an unprecedented advance in cryptanalytical theory. Given
that one wouldn't know what other ciphers would be susceptible to the new analytical attack,
there is really no point in not using AES. Given that 128 bits represents an unimaginably big
number, any break will probably not result in a practical loss of security.
Designing secure ciphers is a solved problem for the time being. It is much easier to crack
your box or for someone to break your knees than to break AES.
GnuPG Celebrates 10 Years
Block cyphers use various methods of data mangling that produces a result that crudely approximates a totally random signal. The better the block cypher, the better the approximation. However, it isn't perfect and can never be perfect - even in theory. The encryption mode helps to improve the pseudo-randomness, but that too can never be perfect.
GnuPG Celebrates 10 Years
2DEM mode
DES has never been "cracked." AES is at least as strong as DES, it has withstood all of the known attacks against DES.
GnuPG Celebrates 10 Years
GnuPG Celebrates 10 Years
See the above link. 22 hours using a distributed network is not infeasible. And this was in 1999, almost 9 years ago! Computers are much more powerful now, and massive parallel clusters are much more widespread. It's conceivable today that DES could be broken in a matter of hours.
GnuPG Celebrates 10 Years
The OP is correct. DES has not been cracked in a cryptoanalytic sense. It has been brute forced because trying every key in a 56 bit keyspace is now practical. Any true crack to a cypher algorithm reduces the keyspace enough to make a brute force search practical. DES is simply weak in the keyspace dept. The math behind it is good.
Brute force isn't a "crack."
GnuPG Celebrates 10 Years
GnuPG Celebrates 10 Years
Official corporate e-mails would be included in "official electronic documents", in this. How
often have we seen e-mails dragged into court, only for there to be arguments over whether
they're genuine, complete, or some other such nonsense? Backups of all e-mails only get you so
far, if you can't be sure if what is presented is what was stored, or that what was stored was
what was written. It would also make it impossible to land up in debates over whether an e-mail
was in an official capacity or not. An official signature means an official e-mail. No official
signature means it can't be enforced as corporate policy.
GnuPG Celebrates 10 Years
Thank you Werner!
Signature
Thoughts are free. Exceptions are governed by federal
law.