Bug 966493

Summary: symmetric encryption/decryption doesn't work in FIPS mode
Product: Red Hat Enterprise Linux 6 Reporter: Tomas Mraz <tmraz>
Component: gnupg2Assignee: Tomas Mraz <tmraz>
Status: CLOSED ERRATA QA Contact: Martin Žember <mzember>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 6.4CC: ebenes, jherrman, mitr, mzember
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: gnupg2-2.0.14-7.el6 Doc Type: Bug Fix
Doc Text:
Prior to this update, the GnuPG encryption and signing tool, gpg2, by default used CAST5, an encryption algorithm not approved by FIPS standards. Consequently, when gpg2 was run in FIPS mode, data encryption and decryption failed and caused gpg2 to terminate unexpectedly. With this update, GnuPG uses AES, a FIPS-approved encryption algorithm, and gpg2 data encryption and decryption in FIPS mode work as intended.
Story Points: ---
Clone Of: 879047 Environment:
Last Closed: 2014-06-30 10:25:44 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Tomas Mraz 2013-05-23 11:19:09 UTC
+++ This bug was initially created as a clone of Bug #879047 +++

In FIPS mode:

$ gpg2 -c -o foo
Ohhhh jeeee: cipher 3 not found
fatal error in libgcrypt, file misc.c, line 139, function _gcry_logv: internal error (fatal or bug)
Neúspěšně ukončen (SIGABRT)

the default cipher seems to be CAST5, which is prohibited.  Perhaps gpg could automatically fall back to FIPS-approved cipher algorithms?

As a workaround, it is possible manually specify --cipher-algo AES. ; however, even in that case decryption unnecessarily(?) complains
> DBG: md_enable: algorithm 3 not available

--- Additional comment from Miloslav Trmač on 2012-11-22 01:41:43 CET ---

Decryption of CAST5-encrypted data fails similarly:

$ gpg2 --decrypt foo 
gpg: zašifrováno neznámým algoritmem 3
Ohhhh jeeee: cipher 3 not found
fatal error in libgcrypt, file misc.c, line 139, function _gcry_logv: internal error (fatal or bug)
Neúspěšně ukončen (SIGABRT) (core dumped [obraz paměti uložen])

--- Additional comment from Tomas Mraz on 2012-11-22 08:07:00 CET ---

I don't want to diverge from upstream more than necessary. So I agree that the default in FIPS mode should be changed to cipher allowed in the FIPS mode. But I am hesitant to change the abort if the user explicitly asks for CAST5.

--- Additional comment from Tomas Mraz on 2012-11-22 21:32:12 CET ---

Fixed in Fedora gnupg2-2.0.19-6.fc18

Comment 7 errata-xmlrpc 2014-06-30 10:25:44 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

http://rhn.redhat.com/errata/RHBA-2014-0806.html