OpenPGP interoperability test suite

These are the results of running the OpenPGP interoperability test suite version 0.1.0 (fd2c471) on 2020-03-05T11:59.

Note: These results are not opinionated, i.e. they merely reflect what implementations do, without judging whether this is the correct thing or not. Therefore, these results must be carefully interpreted.

This test suite has been very successful in identifying problems in many OpenPGP implementations. If you want to see your implementation included in these results, please implement the Stateless OpenPGP Command Line Interface and open an issue in our tracker . Note: The implementation doesn't have to be complete to be useful. Currently, the test suite only uses "generate-key", "encrypt", "decrypt", "sign", and "verify", each without any arguments.


Table of Contents

  1. Test Results
    1. Asymmetric Encryption
      1. Encrypt-Decrypt roundtrip with key 'Alice'
      2. Encrypt-Decrypt roundtrip with key 'Bob'
    2. Symmetric Encryption
      1. Symmetric Encryption Algorithm support
      2. Encrypt-Decrypt roundtrip with key 'Bob', IDEA
      3. Encrypt-Decrypt roundtrip with key 'Bob', TripleDES
      4. Encrypt-Decrypt roundtrip with key 'Bob', CAST5
      5. Encrypt-Decrypt roundtrip with key 'Bob', Blowfish
      6. Encrypt-Decrypt roundtrip with key 'Bob', AES128
      7. Encrypt-Decrypt roundtrip with key 'Bob', AES192
      8. Encrypt-Decrypt roundtrip with key 'Bob', AES256
      9. Encrypt-Decrypt roundtrip with key 'Bob', Twofish
      10. Encrypt-Decrypt roundtrip with key 'Bob', Camellia128
      11. Encrypt-Decrypt roundtrip with key 'Bob', Camellia192
      12. Encrypt-Decrypt roundtrip with key 'Bob', Camellia256
      13. Encrypt-Decrypt roundtrip with key 'Bob', EAX
      14. Encrypt-Decrypt roundtrip with key 'Bob', OCB
    3. Detached Signatures
      1. Detached Sign-Verify roundtrip with key 'Alice'
      2. Detached Sign-Verify roundtrip with key 'Bob'
      3. Detached signature with Subpackets
    4. Hash Algorithms
      1. Detached Sign-Verify roundtrip with key 'Bob', MD5
      2. Detached Sign-Verify roundtrip with key 'Bob', SHA1
      3. Detached Sign-Verify roundtrip with key 'Bob', RipeMD
      4. Detached Sign-Verify roundtrip with key 'Bob', SHA256
      5. Detached Sign-Verify roundtrip with key 'Bob', SHA384
      6. Detached Sign-Verify roundtrip with key 'Bob', SHA512
      7. Detached Sign-Verify roundtrip with key 'Bob', SHA224
    5. Compression Algorithms
      1. Compression Algorithm support
    6. Key Generation
      1. Default key generation, encrypt-decrypt roundtrip
      2. Default key generation, encrypt-decrypt roundtrip, 2 UIDs
      3. Default key generation, encrypt-decrypt roundtrip, no UIDs
    7. Certificates
      1. Interpretation of encryption keyflags
      2. Interpretation of primary key flags
    8. Message structure
      1. Unusual Message Structure
      2. Maximum recursion depth
      3. Marker Packet
    9. Elliptic Curve Cryptography
      1. EdDSA signature encodings
  2. Hall of Fame
  3. Configuration

Test Results

Asymmetric Encryption

Encrypt-Decrypt roundtrip with key 'Alice'

Encrypt-Decrypt roundtrip using the 'Alice' key from draft-bre-openpgp-samples-00.

Consumer
Sequoia/0.15.0
Sequoia/0.14.0
Sequoia/0.13.0
Sequoia/0.12.0
Sequoia/0.11.0
GnuPG/2.3.0-beta978
GnuPG/2.2.19
GnuPG/1.4.23
RNP/0.0.0+git20191022.90d246
DKGPG/v1.2.0
SOPGPy/0.1.0/0.5.2
Producer Artifact
Sequoia/0.15.0
Sequoia/0.14.0
Sequoia/0.13.0
Sequoia/0.12.0
Sequoia/0.11.0
GnuPG/2.3.0-beta978
GnuPG/2.2.19
GnuPG/1.4.23
RNP/0.0.0+git20191022.90d246
DKGPG/v1.2.0
SOPGPy/0.1.0/0.5.2

Encrypt-Decrypt roundtrip with key 'Bob'

Encrypt-Decrypt roundtrip using the 'Bob' key from draft-bre-openpgp-samples-00.

Consumer
Sequoia/0.15.0
Sequoia/0.14.0
Sequoia/0.13.0
Sequoia/0.12.0
Sequoia/0.11.0
GnuPG/2.3.0-beta978
GnuPG/2.2.19
GnuPG/1.4.23
RNP/0.0.0+git20191022.90d246
DKGPG/v1.2.0
SOPGPy/0.1.0/0.5.2
Producer Artifact
Sequoia/0.15.0
Sequoia/0.14.0
Sequoia/0.13.0
Sequoia/0.12.0
Sequoia/0.11.0
GnuPG/2.3.0-beta978
GnuPG/2.2.19
GnuPG/1.4.23
RNP/0.0.0+git20191022.90d246
DKGPG/v1.2.0
SOPGPy/0.1.0/0.5.2

Symmetric Encryption

Symmetric Encryption Algorithm support

This tests support for the different symmetric encryption algorithms using Sequoia to generate the artifacts.

Consumer
Sequoia/0.15.0
Sequoia/0.14.0
Sequoia/0.13.0
Sequoia/0.12.0
Sequoia/0.11.0
GnuPG/2.3.0-beta978
GnuPG/2.2.19
GnuPG/1.4.23
RNP/0.0.0+git20191022.90d246
DKGPG/v1.2.0
SOPGPy/0.1.0/0.5.2
Producer Artifact
IDEA
TripleDES
CAST5
Blowfish
AES128
AES192
AES256
Twofish
Camellia128
Camellia192
Camellia256

Encrypt-Decrypt roundtrip with key 'Bob', IDEA

Encrypt-Decrypt roundtrip using the 'Bob' key from draft-bre-openpgp-samples-00, modified with the symmetric algorithm preference [IDEA].

Consumer
Sequoia/0.15.0
Sequoia/0.14.0
Sequoia/0.13.0
Sequoia/0.12.0
Sequoia/0.11.0
GnuPG/2.3.0-beta978
GnuPG/2.2.19
GnuPG/1.4.23
RNP/0.0.0+git20191022.90d246
DKGPG/v1.2.0
SOPGPy/0.1.0/0.5.2
Producer Artifact
Sequoia/0.15.0
Sequoia/0.14.0
Sequoia/0.13.0
Sequoia/0.12.0
Sequoia/0.11.0
GnuPG/2.3.0-beta978
GnuPG/2.2.19
GnuPG/1.4.23
RNP/0.0.0+git20191022.90d246
DKGPG/v1.2.0
SOPGPy/0.1.0/0.5.2

Encrypt-Decrypt roundtrip with key 'Bob', TripleDES

Encrypt-Decrypt roundtrip using the 'Bob' key from draft-bre-openpgp-samples-00, modified with the symmetric algorithm preference [TripleDES].

Consumer
Sequoia/0.15.0
Sequoia/0.14.0
Sequoia/0.13.0
Sequoia/0.12.0
Sequoia/0.11.0
GnuPG/2.3.0-beta978
GnuPG/2.2.19
GnuPG/1.4.23
RNP/0.0.0+git20191022.90d246
DKGPG/v1.2.0
SOPGPy/0.1.0/0.5.2
Producer Artifact
Sequoia/0.15.0
Sequoia/0.14.0
Sequoia/0.13.0
Sequoia/0.12.0
Sequoia/0.11.0
GnuPG/2.3.0-beta978
GnuPG/2.2.19
GnuPG/1.4.23
RNP/0.0.0+git20191022.90d246
DKGPG/v1.2.0
SOPGPy/0.1.0/0.5.2

Encrypt-Decrypt roundtrip with key 'Bob', CAST5

Encrypt-Decrypt roundtrip using the 'Bob' key from draft-bre-openpgp-samples-00, modified with the symmetric algorithm preference [CAST5].

Consumer
Sequoia/0.15.0
Sequoia/0.14.0
Sequoia/0.13.0
Sequoia/0.12.0
Sequoia/0.11.0
GnuPG/2.3.0-beta978
GnuPG/2.2.19
GnuPG/1.4.23
RNP/0.0.0+git20191022.90d246
DKGPG/v1.2.0
SOPGPy/0.1.0/0.5.2
Producer Artifact
Sequoia/0.15.0
Sequoia/0.14.0
Sequoia/0.13.0
Sequoia/0.12.0
Sequoia/0.11.0
GnuPG/2.3.0-beta978
GnuPG/2.2.19
GnuPG/1.4.23
RNP/0.0.0+git20191022.90d246
DKGPG/v1.2.0
SOPGPy/0.1.0/0.5.2

Encrypt-Decrypt roundtrip with key 'Bob', Blowfish

Encrypt-Decrypt roundtrip using the 'Bob' key from draft-bre-openpgp-samples-00, modified with the symmetric algorithm preference [Blowfish].

Consumer
Sequoia/0.15.0
Sequoia/0.14.0
Sequoia/0.13.0
Sequoia/0.12.0
Sequoia/0.11.0
GnuPG/2.3.0-beta978
GnuPG/2.2.19
GnuPG/1.4.23
RNP/0.0.0+git20191022.90d246
DKGPG/v1.2.0
SOPGPy/0.1.0/0.5.2
Producer Artifact
Sequoia/0.15.0
Sequoia/0.14.0
Sequoia/0.13.0
Sequoia/0.12.0
Sequoia/0.11.0
GnuPG/2.3.0-beta978
GnuPG/2.2.19
GnuPG/1.4.23
RNP/0.0.0+git20191022.90d246
DKGPG/v1.2.0
SOPGPy/0.1.0/0.5.2

Encrypt-Decrypt roundtrip with key 'Bob', AES128

Encrypt-Decrypt roundtrip using the 'Bob' key from draft-bre-openpgp-samples-00, modified with the symmetric algorithm preference [AES128].

Consumer
Sequoia/0.15.0
Sequoia/0.14.0
Sequoia/0.13.0
Sequoia/0.12.0
Sequoia/0.11.0
GnuPG/2.3.0-beta978
GnuPG/2.2.19
GnuPG/1.4.23
RNP/0.0.0+git20191022.90d246
DKGPG/v1.2.0
SOPGPy/0.1.0/0.5.2
Producer Artifact
Sequoia/0.15.0
Sequoia/0.14.0
Sequoia/0.13.0
Sequoia/0.12.0
Sequoia/0.11.0
GnuPG/2.3.0-beta978
GnuPG/2.2.19
GnuPG/1.4.23
RNP/0.0.0+git20191022.90d246
DKGPG/v1.2.0
SOPGPy/0.1.0/0.5.2

Encrypt-Decrypt roundtrip with key 'Bob', AES192

Encrypt-Decrypt roundtrip using the 'Bob' key from draft-bre-openpgp-samples-00, modified with the symmetric algorithm preference [AES192].

Consumer
Sequoia/0.15.0
Sequoia/0.14.0
Sequoia/0.13.0
Sequoia/0.12.0
Sequoia/0.11.0
GnuPG/2.3.0-beta978
GnuPG/2.2.19
GnuPG/1.4.23
RNP/0.0.0+git20191022.90d246
DKGPG/v1.2.0
SOPGPy/0.1.0/0.5.2
Producer Artifact
Sequoia/0.15.0
Sequoia/0.14.0
Sequoia/0.13.0
Sequoia/0.12.0
Sequoia/0.11.0
GnuPG/2.3.0-beta978
GnuPG/2.2.19
GnuPG/1.4.23
RNP/0.0.0+git20191022.90d246
DKGPG/v1.2.0
SOPGPy/0.1.0/0.5.2

Encrypt-Decrypt roundtrip with key 'Bob', AES256

Encrypt-Decrypt roundtrip using the 'Bob' key from draft-bre-openpgp-samples-00, modified with the symmetric algorithm preference [AES256].

Consumer
Sequoia/0.15.0
Sequoia/0.14.0
Sequoia/0.13.0
Sequoia/0.12.0
Sequoia/0.11.0
GnuPG/2.3.0-beta978
GnuPG/2.2.19
GnuPG/1.4.23
RNP/0.0.0+git20191022.90d246
DKGPG/v1.2.0
SOPGPy/0.1.0/0.5.2
Producer Artifact
Sequoia/0.15.0
Sequoia/0.14.0
Sequoia/0.13.0
Sequoia/0.12.0
Sequoia/0.11.0
GnuPG/2.3.0-beta978
GnuPG/2.2.19
GnuPG/1.4.23
RNP/0.0.0+git20191022.90d246
DKGPG/v1.2.0
SOPGPy/0.1.0/0.5.2

Encrypt-Decrypt roundtrip with key 'Bob', Twofish

Encrypt-Decrypt roundtrip using the 'Bob' key from draft-bre-openpgp-samples-00, modified with the symmetric algorithm preference [Twofish].

Consumer
Sequoia/0.15.0
Sequoia/0.14.0
Sequoia/0.13.0
Sequoia/0.12.0
Sequoia/0.11.0
GnuPG/2.3.0-beta978
GnuPG/2.2.19
GnuPG/1.4.23
RNP/0.0.0+git20191022.90d246
DKGPG/v1.2.0
SOPGPy/0.1.0/0.5.2
Producer Artifact
Sequoia/0.15.0
Sequoia/0.14.0
Sequoia/0.13.0
Sequoia/0.12.0
Sequoia/0.11.0
GnuPG/2.3.0-beta978
GnuPG/2.2.19
GnuPG/1.4.23
RNP/0.0.0+git20191022.90d246
DKGPG/v1.2.0
SOPGPy/0.1.0/0.5.2

Encrypt-Decrypt roundtrip with key 'Bob', Camellia128

Encrypt-Decrypt roundtrip using the 'Bob' key from draft-bre-openpgp-samples-00, modified with the symmetric algorithm preference [Camellia128].

Consumer
Sequoia/0.15.0
Sequoia/0.14.0
Sequoia/0.13.0
Sequoia/0.12.0
Sequoia/0.11.0
GnuPG/2.3.0-beta978
GnuPG/2.2.19
GnuPG/1.4.23
RNP/0.0.0+git20191022.90d246
DKGPG/v1.2.0
SOPGPy/0.1.0/0.5.2
Producer Artifact
Sequoia/0.15.0
Sequoia/0.14.0
Sequoia/0.13.0
Sequoia/0.12.0
Sequoia/0.11.0
GnuPG/2.3.0-beta978
GnuPG/2.2.19
GnuPG/1.4.23
RNP/0.0.0+git20191022.90d246
DKGPG/v1.2.0
SOPGPy/0.1.0/0.5.2

Encrypt-Decrypt roundtrip with key 'Bob', Camellia192

Encrypt-Decrypt roundtrip using the 'Bob' key from draft-bre-openpgp-samples-00, modified with the symmetric algorithm preference [Camellia192].

Consumer
Sequoia/0.15.0
Sequoia/0.14.0
Sequoia/0.13.0
Sequoia/0.12.0
Sequoia/0.11.0
GnuPG/2.3.0-beta978
GnuPG/2.2.19
GnuPG/1.4.23
RNP/0.0.0+git20191022.90d246
DKGPG/v1.2.0
SOPGPy/0.1.0/0.5.2
Producer Artifact
Sequoia/0.15.0
Sequoia/0.14.0
Sequoia/0.13.0
Sequoia/0.12.0
Sequoia/0.11.0
GnuPG/2.3.0-beta978
GnuPG/2.2.19
GnuPG/1.4.23
RNP/0.0.0+git20191022.90d246
DKGPG/v1.2.0
SOPGPy/0.1.0/0.5.2

Encrypt-Decrypt roundtrip with key 'Bob', Camellia256

Encrypt-Decrypt roundtrip using the 'Bob' key from draft-bre-openpgp-samples-00, modified with the symmetric algorithm preference [Camellia256].

Consumer
Sequoia/0.15.0
Sequoia/0.14.0
Sequoia/0.13.0
Sequoia/0.12.0
Sequoia/0.11.0
GnuPG/2.3.0-beta978
GnuPG/2.2.19
GnuPG/1.4.23
RNP/0.0.0+git20191022.90d246
DKGPG/v1.2.0
SOPGPy/0.1.0/0.5.2
Producer Artifact
Sequoia/0.15.0
Sequoia/0.14.0
Sequoia/0.13.0
Sequoia/0.12.0
Sequoia/0.11.0
GnuPG/2.3.0-beta978
GnuPG/2.2.19
GnuPG/1.4.23
RNP/0.0.0+git20191022.90d246
DKGPG/v1.2.0
SOPGPy/0.1.0/0.5.2

Encrypt-Decrypt roundtrip with key 'Bob', EAX

Encrypt-Decrypt roundtrip using the 'Bob' key from draft-bre-openpgp-samples-00, modified with the symmetric algorithm preference [AES256], AEAD algorithm preference [EAX].

Consumer
Sequoia/0.15.0
Sequoia/0.14.0
Sequoia/0.13.0
Sequoia/0.12.0
Sequoia/0.11.0
GnuPG/2.3.0-beta978
GnuPG/2.2.19
GnuPG/1.4.23
RNP/0.0.0+git20191022.90d246
DKGPG/v1.2.0
SOPGPy/0.1.0/0.5.2
Producer Artifact
Sequoia/0.15.0
Sequoia/0.14.0
Sequoia/0.13.0
Sequoia/0.12.0
Sequoia/0.11.0
GnuPG/2.3.0-beta978
GnuPG/2.2.19
GnuPG/1.4.23
RNP/0.0.0+git20191022.90d246
DKGPG/v1.2.0
SOPGPy/0.1.0/0.5.2

Encrypt-Decrypt roundtrip with key 'Bob', OCB

Encrypt-Decrypt roundtrip using the 'Bob' key from draft-bre-openpgp-samples-00, modified with the symmetric algorithm preference [AES256], AEAD algorithm preference [OCB].

Consumer
Sequoia/0.15.0
Sequoia/0.14.0
Sequoia/0.13.0
Sequoia/0.12.0
Sequoia/0.11.0
GnuPG/2.3.0-beta978
GnuPG/2.2.19
GnuPG/1.4.23
RNP/0.0.0+git20191022.90d246
DKGPG/v1.2.0
SOPGPy/0.1.0/0.5.2
Producer Artifact
Sequoia/0.15.0
Sequoia/0.14.0
Sequoia/0.13.0
Sequoia/0.12.0
Sequoia/0.11.0
GnuPG/2.3.0-beta978
GnuPG/2.2.19
GnuPG/1.4.23
RNP/0.0.0+git20191022.90d246
DKGPG/v1.2.0
SOPGPy/0.1.0/0.5.2

Detached Signatures

Detached Sign-Verify roundtrip with key 'Alice'

Detached Sign-Verify roundtrip using the 'Alice' key from draft-bre-openpgp-samples-00.

Consumer
Sequoia/0.15.0
Sequoia/0.14.0
Sequoia/0.13.0
Sequoia/0.12.0
Sequoia/0.11.0
GnuPG/2.3.0-beta978
GnuPG/2.2.19
GnuPG/1.4.23
RNP/0.0.0+git20191022.90d246
DKGPG/v1.2.0
SOPGPy/0.1.0/0.5.2
Producer Artifact
Sequoia/0.15.0
Sequoia/0.14.0
Sequoia/0.13.0
Sequoia/0.12.0
Sequoia/0.11.0
GnuPG/2.3.0-beta978
GnuPG/2.2.19
GnuPG/1.4.23
RNP/0.0.0+git20191022.90d246
DKGPG/v1.2.0
SOPGPy/0.1.0/0.5.2

Detached Sign-Verify roundtrip with key 'Bob'

Detached Sign-Verify roundtrip using the 'Bob' key from draft-bre-openpgp-samples-00.

Consumer
Sequoia/0.15.0
Sequoia/0.14.0
Sequoia/0.13.0
Sequoia/0.12.0
Sequoia/0.11.0
GnuPG/2.3.0-beta978
GnuPG/2.2.19
GnuPG/1.4.23
RNP/0.0.0+git20191022.90d246
DKGPG/v1.2.0
SOPGPy/0.1.0/0.5.2
Producer Artifact
Sequoia/0.15.0
Sequoia/0.14.0
Sequoia/0.13.0
Sequoia/0.12.0
Sequoia/0.11.0
GnuPG/2.3.0-beta978
GnuPG/2.2.19
GnuPG/1.4.23
RNP/0.0.0+git20191022.90d246
DKGPG/v1.2.0
SOPGPy/0.1.0/0.5.2

Detached signature with Subpackets

Tests how implementations constrain the validity of signatures depending on the given subpackets.

Consumer
Sequoia/0.15.0
Sequoia/0.14.0
Sequoia/0.13.0
Sequoia/0.12.0
Sequoia/0.11.0
GnuPG/2.3.0-beta978
GnuPG/2.2.19
GnuPG/1.4.23
RNP/0.0.0+git20191022.90d246
DKGPG/v1.2.0
SOPGPy/0.1.0/0.5.2
Producer Artifact
Base case
No issuer fingerprint
No issuer fingerprint, hashed issuer
No issuer
No issuer, unhashed issuer fingerprint
Unhashed creation time
No creation time
Creation time given twice
Future creation time
Future creation time given twice
Future creation time, backdated
Unknown subpacket
Critical unknown subpacket
Unknown subpacket, unhashed
Critical unknown subpacket, unhashed
Unknown notation
Critical unknown notation
Unknown notation, unhashed
Critical unknown notation, unhashed

Hash Algorithms

Detached Sign-Verify roundtrip with key 'Bob', MD5

Detached Sign-Verify roundtrip using the 'Bob' key from draft-bre-openpgp-samples-00, modified with the hash algorithm preference [MD5].

Consumer
Sequoia/0.15.0
Sequoia/0.14.0
Sequoia/0.13.0
Sequoia/0.12.0
Sequoia/0.11.0
GnuPG/2.3.0-beta978
GnuPG/2.2.19
GnuPG/1.4.23
RNP/0.0.0+git20191022.90d246
DKGPG/v1.2.0
SOPGPy/0.1.0/0.5.2
Producer Artifact
Sequoia/0.15.0
Sequoia/0.14.0
Sequoia/0.13.0
Sequoia/0.12.0
Sequoia/0.11.0
GnuPG/2.3.0-beta978
GnuPG/2.2.19
GnuPG/1.4.23
RNP/0.0.0+git20191022.90d246
DKGPG/v1.2.0
SOPGPy/0.1.0/0.5.2

Detached Sign-Verify roundtrip with key 'Bob', SHA1

Detached Sign-Verify roundtrip using the 'Bob' key from draft-bre-openpgp-samples-00, modified with the hash algorithm preference [SHA1].

Consumer
Sequoia/0.15.0
Sequoia/0.14.0
Sequoia/0.13.0
Sequoia/0.12.0
Sequoia/0.11.0
GnuPG/2.3.0-beta978
GnuPG/2.2.19
GnuPG/1.4.23
RNP/0.0.0+git20191022.90d246
DKGPG/v1.2.0
SOPGPy/0.1.0/0.5.2
Producer Artifact
Sequoia/0.15.0
Sequoia/0.14.0
Sequoia/0.13.0
Sequoia/0.12.0
Sequoia/0.11.0
GnuPG/2.3.0-beta978
GnuPG/2.2.19
GnuPG/1.4.23
RNP/0.0.0+git20191022.90d246
DKGPG/v1.2.0
SOPGPy/0.1.0/0.5.2

Detached Sign-Verify roundtrip with key 'Bob', RipeMD

Detached Sign-Verify roundtrip using the 'Bob' key from draft-bre-openpgp-samples-00, modified with the hash algorithm preference [RipeMD].

Consumer
Sequoia/0.15.0
Sequoia/0.14.0
Sequoia/0.13.0
Sequoia/0.12.0
Sequoia/0.11.0
GnuPG/2.3.0-beta978
GnuPG/2.2.19
GnuPG/1.4.23
RNP/0.0.0+git20191022.90d246
DKGPG/v1.2.0
SOPGPy/0.1.0/0.5.2
Producer Artifact
Sequoia/0.15.0
Sequoia/0.14.0
Sequoia/0.13.0
Sequoia/0.12.0
Sequoia/0.11.0
GnuPG/2.3.0-beta978
GnuPG/2.2.19
GnuPG/1.4.23
RNP/0.0.0+git20191022.90d246
DKGPG/v1.2.0
SOPGPy/0.1.0/0.5.2

Detached Sign-Verify roundtrip with key 'Bob', SHA256

Detached Sign-Verify roundtrip using the 'Bob' key from draft-bre-openpgp-samples-00, modified with the hash algorithm preference [SHA256].

Consumer
Sequoia/0.15.0
Sequoia/0.14.0
Sequoia/0.13.0
Sequoia/0.12.0
Sequoia/0.11.0
GnuPG/2.3.0-beta978
GnuPG/2.2.19
GnuPG/1.4.23
RNP/0.0.0+git20191022.90d246
DKGPG/v1.2.0
SOPGPy/0.1.0/0.5.2
Producer Artifact
Sequoia/0.15.0
Sequoia/0.14.0
Sequoia/0.13.0
Sequoia/0.12.0
Sequoia/0.11.0
GnuPG/2.3.0-beta978
GnuPG/2.2.19
GnuPG/1.4.23
RNP/0.0.0+git20191022.90d246
DKGPG/v1.2.0
SOPGPy/0.1.0/0.5.2

Detached Sign-Verify roundtrip with key 'Bob', SHA384

Detached Sign-Verify roundtrip using the 'Bob' key from draft-bre-openpgp-samples-00, modified with the hash algorithm preference [SHA384].

Consumer
Sequoia/0.15.0
Sequoia/0.14.0
Sequoia/0.13.0
Sequoia/0.12.0
Sequoia/0.11.0
GnuPG/2.3.0-beta978
GnuPG/2.2.19
GnuPG/1.4.23
RNP/0.0.0+git20191022.90d246
DKGPG/v1.2.0
SOPGPy/0.1.0/0.5.2
Producer Artifact
Sequoia/0.15.0
Sequoia/0.14.0
Sequoia/0.13.0
Sequoia/0.12.0
Sequoia/0.11.0
GnuPG/2.3.0-beta978
GnuPG/2.2.19
GnuPG/1.4.23
RNP/0.0.0+git20191022.90d246
DKGPG/v1.2.0
SOPGPy/0.1.0/0.5.2

Detached Sign-Verify roundtrip with key 'Bob', SHA512

Detached Sign-Verify roundtrip using the 'Bob' key from draft-bre-openpgp-samples-00, modified with the hash algorithm preference [SHA512].

Consumer
Sequoia/0.15.0
Sequoia/0.14.0
Sequoia/0.13.0
Sequoia/0.12.0
Sequoia/0.11.0
GnuPG/2.3.0-beta978
GnuPG/2.2.19
GnuPG/1.4.23
RNP/0.0.0+git20191022.90d246
DKGPG/v1.2.0
SOPGPy/0.1.0/0.5.2
Producer Artifact
Sequoia/0.15.0
Sequoia/0.14.0
Sequoia/0.13.0
Sequoia/0.12.0
Sequoia/0.11.0
GnuPG/2.3.0-beta978
GnuPG/2.2.19
GnuPG/1.4.23
RNP/0.0.0+git20191022.90d246
DKGPG/v1.2.0
SOPGPy/0.1.0/0.5.2

Detached Sign-Verify roundtrip with key 'Bob', SHA224

Detached Sign-Verify roundtrip using the 'Bob' key from draft-bre-openpgp-samples-00, modified with the hash algorithm preference [SHA224].

Consumer
Sequoia/0.15.0
Sequoia/0.14.0
Sequoia/0.13.0
Sequoia/0.12.0
Sequoia/0.11.0
GnuPG/2.3.0-beta978
GnuPG/2.2.19
GnuPG/1.4.23
RNP/0.0.0+git20191022.90d246
DKGPG/v1.2.0
SOPGPy/0.1.0/0.5.2
Producer Artifact
Sequoia/0.15.0
Sequoia/0.14.0
Sequoia/0.13.0
Sequoia/0.12.0
Sequoia/0.11.0
GnuPG/2.3.0-beta978
GnuPG/2.2.19
GnuPG/1.4.23
RNP/0.0.0+git20191022.90d246
DKGPG/v1.2.0
SOPGPy/0.1.0/0.5.2

Compression Algorithms

Compression Algorithm support

This tests support for the different compression algorithms using Sequoia to generate the artifacts.

Consumer
Sequoia/0.15.0
Sequoia/0.14.0
Sequoia/0.13.0
Sequoia/0.12.0
Sequoia/0.11.0
GnuPG/2.3.0-beta978
GnuPG/2.2.19
GnuPG/1.4.23
RNP/0.0.0+git20191022.90d246
DKGPG/v1.2.0
SOPGPy/0.1.0/0.5.2
Producer Artifact
Uncompressed
ZIP
ZLIB
BZip2

Key Generation

Default key generation, encrypt-decrypt roundtrip

Default key generation, followed by the consumer using this key to encrypt and then decrypt a message.

Consumer
Sequoia/0.15.0
Sequoia/0.14.0
Sequoia/0.13.0
Sequoia/0.12.0
Sequoia/0.11.0
GnuPG/2.3.0-beta978
GnuPG/2.2.19
GnuPG/1.4.23
RNP/0.0.0+git20191022.90d246
DKGPG/v1.2.0
SOPGPy/0.1.0/0.5.2
Producer Artifact
Sequoia/0.15.0
Sequoia/0.14.0
Sequoia/0.13.0
Sequoia/0.12.0
Sequoia/0.11.0
GnuPG/2.3.0-beta978
GnuPG/2.2.19
GnuPG/1.4.23
RNP/0.0.0+git20191022.90d246
DKGPG/v1.2.0
SOPGPy/0.1.0/0.5.2

Default key generation, encrypt-decrypt roundtrip, 2 UIDs

Default key generation with two UserIDs, followed by the consumer using this key to encrypt and then decrypt a message.

Consumer
Sequoia/0.15.0
Sequoia/0.14.0
Sequoia/0.13.0
Sequoia/0.12.0
Sequoia/0.11.0
GnuPG/2.3.0-beta978
GnuPG/2.2.19
GnuPG/1.4.23
RNP/0.0.0+git20191022.90d246
DKGPG/v1.2.0
SOPGPy/0.1.0/0.5.2
Producer Artifact
Sequoia/0.15.0
Sequoia/0.14.0
Sequoia/0.13.0
Sequoia/0.12.0
Sequoia/0.11.0
GnuPG/2.3.0-beta978
GnuPG/2.2.19
GnuPG/1.4.23
RNP/0.0.0+git20191022.90d246
DKGPG/v1.2.0
SOPGPy/0.1.0/0.5.2

Default key generation, encrypt-decrypt roundtrip, no UIDs

Default key generation without UserIDs, followed by the consumer using this key to encrypt and then decrypt a message.

Consumer
Sequoia/0.15.0
Sequoia/0.14.0
Sequoia/0.13.0
Sequoia/0.12.0
Sequoia/0.11.0
GnuPG/2.3.0-beta978
GnuPG/2.2.19
GnuPG/1.4.23
RNP/0.0.0+git20191022.90d246
DKGPG/v1.2.0
SOPGPy/0.1.0/0.5.2
Producer Artifact
Sequoia/0.15.0
Sequoia/0.14.0
Sequoia/0.13.0
Sequoia/0.12.0
Sequoia/0.11.0
GnuPG/2.3.0-beta978
GnuPG/2.2.19
GnuPG/1.4.23
RNP/0.0.0+git20191022.90d246
DKGPG/v1.2.0
SOPGPy/0.1.0/0.5.2

Certificates

Interpretation of encryption keyflags

OpenPGP has two kinds of key usage flags that cover encryption: 0x04 - This key may be used to encrypt communications. 0x08 - This key may be used to encrypt storage. This tests how implementation interpret these flags.This test uses two encryption subkeys, A (7C2F AA4D F93C 37B2) and B (F8F8 929F 5849 3A4D).

Consumer
Sequoia/0.15.0
Sequoia/0.14.0
Sequoia/0.13.0
Sequoia/0.12.0
Sequoia/0.11.0
GnuPG/2.3.0-beta978
GnuPG/2.2.19
GnuPG/1.4.23
RNP/0.0.0+git20191022.90d246
DKGPG/v1.2.0
SOPGPy/0.1.0/0.5.2
Producer Artifact
A 0x04
A 0x08
A 0x0c, B 0x0c
B 0x0c, A 0x0c
A 0x04, B 0x08
A 0x08, B 0x04
B 0x04, A 0x08
B 0x08, A 0x04

Interpretation of primary key flags

This tests various ways of specifying the primary key's flags. Key flags can be provided using direct key signatures, as well as binding signatures on userids. Notation: p[flags-on-direct-key-sig] u[flags-on-uid-binding] s[flags-on-binding], where CSEA refer to certification, signing, encryption, and authentication capabilities, and 0 refers to an explicit empty set (the subpacket is present, but empty). The key is then used to do an encrypt-decrypt roundtrip.

Consumer
Sequoia/0.15.0
Sequoia/0.14.0
Sequoia/0.13.0
Sequoia/0.12.0
Sequoia/0.11.0
GnuPG/2.3.0-beta978
GnuPG/2.2.19
GnuPG/1.4.23
RNP/0.0.0+git20191022.90d246
DKGPG/v1.2.0
SOPGPy/0.1.0/0.5.2
Producer Artifact
p uC sE (basecase)
pC uC sE
pC u sE
pC uS sE
pC u0 sE
p uS sE
p u sE
p u

Message structure

Unusual Message Structure

This test generates valid messages with an unusual structure.

Consumer
Sequoia/0.15.0
Sequoia/0.14.0
Sequoia/0.13.0
Sequoia/0.12.0
Sequoia/0.11.0
GnuPG/2.3.0-beta978
GnuPG/2.2.19
GnuPG/1.4.23
RNP/0.0.0+git20191022.90d246
DKGPG/v1.2.0
SOPGPy/0.1.0/0.5.2
Producer Artifact
encrypt ∘ compress ∘ sign
encrypt ∘ sign ∘ compress
compress ∘ encrypt ∘ sign
compress ∘ sign ∘ encrypt
sign ∘ encrypt ∘ compress
sign ∘ compress ∘ encrypt
encrypt ∘ encrypt ∘ sign
encrypt ∘ sign ∘ encrypt
sign ∘ encrypt ∘ sign

Maximum recursion depth

This test encrypts messages, with the plaintext being compressed N times to evaluate the maximum recursion depth of implementations.

Consumer
Sequoia/0.15.0
Sequoia/0.14.0
Sequoia/0.13.0
Sequoia/0.12.0
Sequoia/0.11.0
GnuPG/2.3.0-beta978
GnuPG/2.2.19
GnuPG/1.4.23
RNP/0.0.0+git20191022.90d246
DKGPG/v1.2.0
SOPGPy/0.1.0/0.5.2
Producer Artifact
Depth 1
Depth 2
Depth 4
Depth 8
Depth 16
Depth 32
Depth 64

Marker Packet

Tests whether the Marker Packet is correctly ignored.

Consumer
Sequoia/0.15.0
Sequoia/0.14.0
Sequoia/0.13.0
Sequoia/0.12.0
Sequoia/0.11.0
GnuPG/2.3.0-beta978
GnuPG/2.2.19
GnuPG/1.4.23
RNP/0.0.0+git20191022.90d246
DKGPG/v1.2.0
SOPGPy/0.1.0/0.5.2
Producer Artifact
Marker + Signed Message
Marker + Encrypted Message
Marker + Certificate

Elliptic Curve Cryptography

EdDSA signature encodings

OpenPGP mandates that leading zeros are stripped when encoding MPIs. This test tests whether leading zeros in S, and 0x40-prefixed R are accepted.

Consumer
Sequoia/0.15.0
Sequoia/0.14.0
Sequoia/0.13.0
Sequoia/0.12.0
Sequoia/0.11.0
GnuPG/2.3.0-beta978
GnuPG/2.2.19
GnuPG/1.4.23
RNP/0.0.0+git20191022.90d246
DKGPG/v1.2.0
SOPGPy/0.1.0/0.5.2
Producer Artifact
MPI encoding
S 0-padded
R 0x40-prefixed

Hall of Fame

The OpenPGP interoperability test suite found the following bugs:

Sequoia

GPGME

GnuPG

RNP

DKGPG


Configuration

This is the configuration used to produce this report:

{
  "drivers": [
    {
      "driver": "sq",
      "env": {},
      "path": "/home/teythoon/.local/bin/sq"
    },
    {
      "driver": "sq",
      "env": {},
      "path": "/home/teythoon/.local/bin/sq-0.14"
    },
    {
      "driver": "sq",
      "env": {},
      "path": "/home/teythoon/.local/bin/sq-0.13"
    },
    {
      "driver": "sq",
      "env": {},
      "path": "/home/teythoon/.local/bin/sq-0.12"
    },
    {
      "driver": "sq",
      "env": {},
      "path": "/home/teythoon/.local/bin/sq-0.11"
    },
    {
      "driver": "sop",
      "env": {
        "GNUPG_BIN": "/home/teythoon/repos/g10/local/bin/gpg"
      },
      "path": "glue/gpg"
    },
    {
      "driver": "sop",
      "env": {
        "GNUPG_BIN": "/usr/bin/gpg"
      },
      "path": "glue/gpg"
    },
    {
      "driver": "sop",
      "env": {
        "GNUPG_BIN": "/usr/bin/gpg1"
      },
      "path": "glue/gpg"
    },
    {
      "driver": "rnp",
      "env": {},
      "path": "/home/teythoon/repos/pep/pgpzoo/bin"
    },
    {
      "driver": "dkgpg",
      "env": {},
      "path": "/home/teythoon/repos/pep/pgpzoo/bin"
    },
    {
      "driver": "sop",
      "env": {},
      "path": "glue/sopgpy"
    }
  ],
  "rlimits": {
    "DATA": 1073741824
  }
}

OpenPGP interoperability test suite version 0.1.0 (fd2c471) powered by Sequoia-PGP.