Running linux-4.7.10-hardened, using "gpg -e -r RECIPIENT" on any file and with any key will lead to a segmentation fault in libgcrypt rijndael selftest procedure. This is with app-crypt/gnupg-2.1.15 and dev-libs/libgcrypt-1.7.3. I have no proof that this is due to the use of -hardened, but the lack of reports in the issue tracking system makes me suspect it (I don't have access to a non-hardened Gentoo to test this). (gdb) r -e -r sam@rfc1149.net Starting program: /usr/bin/gpg -e -r sam@rfc1149.net Program received signal SIGSEGV, Segmentation fault. _gcry_aes_ssse3_decrypt (ctx=0x39c93a0, dst=0x33bef331305 <_aes_schedule_core+725> "f\017\357\330f\017\070", src=<optimized out>) at /usr/src/debug/dev-libs/libgcrypt-1.7.3/libgcrypt-1.7.3/cipher/rijndael-ssse3-amd64.c:430 430 asm volatile ("movdqu %%xmm0, %[dst]\n\t" (gdb) bt #0 _gcry_aes_ssse3_decrypt (ctx=0x39c93a0, dst=0x33bef331305 <_aes_schedule_core+725> "f\017\357\330f\017\070", src=<optimized out>) at /usr/src/debug/dev-libs/libgcrypt-1.7.3/libgcrypt-1.7.3/cipher/rijndael-ssse3-amd64.c:430 #1 0x0000033bef32df48 in selftest_basic_128 () at /usr/src/debug/dev-libs/libgcrypt-1.7.3/libgcrypt-1.7.3/cipher/rijndael.c:1532 #2 0x0000033bef32d99b in selftest () at /usr/src/debug/dev-libs/libgcrypt-1.7.3/libgcrypt-1.7.3/cipher/rijndael.c:1681 #3 do_setkey (ctx=0x33befc232f0, key=0x33befc2301c "\235\236\221\230\321\363\372\200K\373ԡke-\334Z\306\355\017)\210Mt\305t\301\270\222,", keylen=4013102988) at /usr/src/debug/dev-libs/libgcrypt-1.7.3/libgcrypt-1.7.3/cipher/rijndael.c:285 #4 0x0000033bef30b397 in cipher_setkey (keylen=keylen@entry=3555960435440, key=key@entry=0x33befc2301c "\235\236\221\230\321\363\372\200K\373ԡke-\334Z\306\355\017)\210Mt\305t\301\270\222,", c=c@entry=0x33befc23070) at /usr/src/debug/dev-libs/libgcrypt-1.7.3/libgcrypt-1.7.3/cipher/cipher.c:633 #5 _gcry_cipher_setkey (hd=hd@entry=0x33befc23070, key=key@entry=0x33befc2301c, keylen=keylen@entry=32) at /usr/src/debug/dev-libs/libgcrypt-1.7.3/libgcrypt-1.7.3/cipher/cipher.c:1064 #6 0x0000033bef2ffe9e in gcry_cipher_setkey (hd=0x33befc23070, key=key@entry=0x33befc2301c, keylen=32) at /usr/src/debug/dev-libs/libgcrypt-1.7.3/libgcrypt-1.7.3/src/visibility.c:724 #7 0x0000000000429eb8 in make_session_key (dek=0x33befc23008) at seskey.c:54 #8 0x000000000044ec1d in encrypt_crypt (ctrl=ctrl@entry=0x39ba670, filefd=filefd@entry=-1, filename=filename@entry=0x0, remusr=<optimized out>, use_symkey=0, provided_keys=0x0, outputfd=-1) at encrypt.c:633 #9 0x000000000040cc42 in main (argc=0, argv=0x39c4e75eae8) at gpg.c:3922
This issue can be closed: gcc was not compiled with the right profile. Recompiling it and using it to recompile libgcrypt solved it.
Right status is probably "invalid".