title: GnuPG with IDEA support
body: <p>I'm attempting to "integrate" support for the IDEA cipher into my current system that uses the GnuPG command-line interface for encrypting/decrypting data files sent between my company and our partners.  I've read all of the instructions I can find online for various ways to get this set up, and I'm still unable to get the IDEA cipher to load properly.</p>
  
  <p>First, my configuration: I'm using Windows 7 (64-bit) Professional and GnuPG 2.0.17.  The <code>--version</code> lists as follows:</p>
  
  <pre><code>gpg (GnuPG) 2.0.17 (Gpg4win 2.1.0)
  libgcrypt 1.4.6
  Copyright (C) 2011 Free Software Foundation, Inc.
  License GPLv3+: GNU GPL version 3 or later &lt;http://gnu.org/licenses/gpl.html&gt;
  This is free software: you are free to change and redistribute it.
  There is NO WARRANTY, to the extent permitted by law.
  
  Home: C:/Users/&lt;username&gt;/AppData/Roaming/gnupg
  Supported algorithms:
  Pubkey: RSA, ELG, DSA
  Cipher: 3DES, CAST5, BLOWFISH, AES, AES192, AES256, TWOFISH, CAMELLIA128,
          CAMELLIA192, CAMELLIA256
  Hash: MD5, SHA1, RIPEMD160, SHA256, SHA384, SHA512, SHA224
  Compression: Uncompressed, ZIP, ZLIB, BZIP2
  </code></pre>
  
  <p>The command-line executable is actually located on a network share (<strong><code>\\&lt;SERVERNAME&gt;\&lt;ShareName&gt;\GnuPG\gpg.exe</code></strong>), which generally works perfectly for everything I have to encrypt/decrypt <strong><em>EXCEPT</em></strong> when I run into files encrypted using the IDEA cipher.  I get the following message when it tries:</p>
  
  <pre><code>gpg: cipher algorithm 1 (IDEA) is unknown or disabled
  gpg: encrypted with 2048-bit ELG key, ID C4186BB7, created 2003-05-14
        "&lt;keyname@domain.com&gt;"
  gpg: public key decryption failed: Invalid cipher algorithm
  gpg: decryption failed: No secret key
  </code></pre>
  
  <p>So, I started Googling everything I could find.  I've downloaded the <strong><code>idea.dll</code></strong> library (after digging through all sorts of junk trying to find it) and placed it in the <code>\\&lt;SERVERNAME&gt;\&lt;ShareName&gt;\GnuPG\lib</code> directory, as instructed.</p>
  
  <p>Most of the resources I can find talk about adding the line <code>load-extension lib\idea</code> to the <strong><code>gpg.conf</code></strong> file located in <strong><code>C:/Users/&lt;username&gt;/AppData/Roaming/gnupg</code></strong>.  This doesn't work, as I still get the same results to the <code>--version</code> command (no IDEA cipher listed in the supported algorithms).  I've also tried explicitly using the full path to the library instead of just the "shortcut" like this: <code>load-extension "\\&lt;SERVERNAME&gt;\&lt;ShareName&gt;\GnuPG\lib\idea.dll"</code>, but no luck.</p>
  
  <p>Another suggestion is to add the <code>load-extension</code> switch to the actual command-line like this:</p>
  
  <p><code>\\&lt;SERVERNAME&gt;\&lt;ShareName&gt;\GnuPG\gpg.exe --load-extension idea</code></p>
  
  <p>I've tried multiple variations of this option as well, including using the full file name, the full path and file name, etc., but I still can't get the IDEA cipher to load.  I've tried putting the <strong><code>idea.dll</code></strong> in the GnuPG Home directory (<strong><code>C:/Users/&lt;username&gt;/AppData/Roaming/gnupg</code></strong>) and trying to get GnuPG to load it from that location with all of the same suggestions as listed above.</p>
  
  <p>The <strong><code>idea.dll</code></strong> file I have doesn't have any version information listed in the Properties dialog, but it's modification date is listed as 20 September 2002.  Any suggestions on something I may have overlooked here?</p>
  
  <p><strong>EDIT 1:</strong> I'd eventually like to move away from doing my encryption/decryption via command-line and migrate my application to use the BouncyCastle API, as I believe the IDEA cipher is "built-in" over there.  Unfortunately, though, I'm having issues getting that working as well (see my <a href="https://stackoverflow.com/questions/32616176/replacing-gnupg-command-line-with-bouncy-castle-in-net-application-vb">SO question on the problems I'm facing with BouncyCastle</a>).</p>
  
  <p><strong>EDIT 2:</strong> One other thing to note is that all of the testing I've done above has been from a basic (elevated) command prompt - completely outside of my actual application - so that I can eliminate that as a potential cause of the problem.</p>