diff --git a/src/key.js b/src/key.js index dd261f8d..b21a64e4 100644 --- a/src/key.js +++ b/src/key.js @@ -986,12 +986,14 @@ export function generate(options) { signaturePacket.hashAlgorithm = config.prefer_hash_algorithm; signaturePacket.keyFlags = [enums.keyFlags.certify_keys | enums.keyFlags.sign_data]; signaturePacket.preferredSymmetricAlgorithms = []; + // prefer aes256, aes128, then aes192 (no WebCrypto support: https://www.chromium.org/blink/webcrypto#TOC-AES-support) signaturePacket.preferredSymmetricAlgorithms.push(enums.symmetric.aes256); signaturePacket.preferredSymmetricAlgorithms.push(enums.symmetric.aes128); signaturePacket.preferredSymmetricAlgorithms.push(enums.symmetric.aes192); signaturePacket.preferredSymmetricAlgorithms.push(enums.symmetric.cast5); signaturePacket.preferredSymmetricAlgorithms.push(enums.symmetric.tripledes); signaturePacket.preferredHashAlgorithms = []; + // prefer fast asm.js implementations (SHA-256, SHA-1) signaturePacket.preferredHashAlgorithms.push(enums.hash.sha256); signaturePacket.preferredHashAlgorithms.push(enums.hash.sha1); signaturePacket.preferredHashAlgorithms.push(enums.hash.sha512);