2

I'm trying to use my old pgp keys with Gnupg via gpg2.

I've successfully imported the keys both public and secret from my old key ring.

I've just tried to decrypt a file but I have the following error.

me@ubuntu:~/Documents$ gpg2 -d test01 gpg: protection algorithm 1 (IDEA) is not supported

the other data for the keys come up.

Gnupg offers an explanation about patents (the IDEA patent isn't compatible with gnupg) and a remedy: both here, http://www.gnupg.org/faq/why-not-idea.html

I followed the instructions at the end of the link and imported the idea.c.gz files into ~/.gnupg and unzipped them (only one of them unzipped) and tried to ./configure.

This didn't work. I made a directory called cipher, moved the two files into it and tried the ./configure command again. The system couldn't find configure.

Can anyone help me, please?

2

The IDEA patent expired world-wide some time ago. The easiest solution would be to upgrade to GnuPG 1.4.13 (or newer) containing the algorithm by default. Saucy is the first Ubuntu release to include this version.


If you can't:

The GnuPG website asks you to read to file headers, which explain how to build it:

/*
 * [snip]
 * To build a GnuPG with IDEA support, copy this file into the cipher/
 * directory of the gnupg distribution, and ./configure and make as
 * usual.  IDEA will be built directly in to the GnuPG binary.  This
 * is the recommended way to use this file.
 */

This means, you have to build GnuPG completely by yourself instead of using the repository package. Download and unpack the sources, and you will find a cipher directory. Put the file into there, and then continue with building GnuPG like described in the manual.

Or alternatively:

/*
 * If you are not building IDEA directly into GnuPG, and need to build
 * the dynamically loadable IDEA module, compile with:
       gcc -Wall -O2 -shared -fPIC -o idea idea.c
 * [snip]
 */

This means, you're not linking the IDEA algorithm into GnuPG, but build it as a dynamic module (in Windows, you'd compare it with some .dll file). What the file header's aren't revealing is how this library will be loaded. Put the compiled binary into some place (for example ~/.gnupg/idea) and add this line to your ~/.gnupg/gpg.conf file:

load-extension ~/.gnupg/idea

This will only offer IDEA in gpg (not gpg2)!

  • Thanks Jens. The 'build GnuPG completely by yourself' is what I wasn't getting. Also, the extras to the alternative build are really useful. (I don't have sufficient rep to add a point to the answer ... if anyone else could do that for me, I'd be grateful). – user1945827 Jan 7 '14 at 22:58
  • mmm... just tried the 'dynamically loadable IDEA module ... but this doesn't appear to work. I used mkdir to create the idea directory and moved idea.c and idea.c.gz.sig into this directory. Then I changed (using cd idea) into this directory an typed in the gcc -Wall etc line. After that I cd up one level, opened and edited the gpg.conf file with vi by adding an extra line at the bottom of the file. I began with # left a space and typed in the load-extension etc ... as you wrote. I haven't rebooted but simply tried to run the decryption line (as in my OP) but I got the same error, help? – user1945827 Jan 7 '14 at 23:14
  • You have a # in the beginning of the line? Then this is a comment and will not be interpreted. Reboot will not be necessary. – Jens Erat Jan 7 '14 at 23:16
  • Removing the hash got me further, @ubuntu:~/Documents$ gpg -d test01 gpg: cipher extension `~/.gnupg/idea' not loaded due to unsafe permissions gpg: protection algorithm 1 (IDEA) is not supported gpg: the IDEA cipher plugin is not present gpg: please see gnupg.org/faq/why-not-idea.html for more information gpg: encrypted with [snip]. But no cigar. – user1945827 Jan 8 '14 at 7:36
  • Make sure to set appropriate access rights to ~/.gnupg/idea, ie. nobody else may be able to write to it. – Jens Erat Jan 8 '14 at 13:59

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.