HTTPS加密算法比较,ECC胜出(附自签方法) HTT - Assbbs

HTTPS加密算法比较,ECC胜出(附自签方法) HTTPS就是HTTP over SSL,大白话说就是SSL加密的HTTP。 由于HTTPS属于公共传输,所以至少用到一个非对称加密。 目前常见的算法按从高到低: ECC AES+RSA RSA DES+RSA 其中类似AES+RSA就是不完全对称加密,只将密钥用RSA加密,而密文用AES这种高效的加密方式。…

HTTPS加密算法比较,ECC胜出(附自签方法) HTTPS就是HTTP over SSL,大白话说就是SSL加密的HTTP。 由于HTTPS属于公共传输,所以至少用到一个非对称加密。 目前常见的算法按从高到低: ECC AES+RSA RSA DES+RSA 其中类似AES+RSA就是不完全对称加密,只将密钥用RSA加密,而密文用AES这种高效的加密方式。 如此相比传统的全文用RSA加密有更高速等优势,在ECC这类算法出现前是一个不错的中和方案。 ECC出现后,有芯片开发网站将其效率与RSA进行了对比,结果显然ECC更胜一筹: https://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-8951-CryptoAuth-RSA-ECC-Comparison-Embedded-Systems-WhitePaper.pdf ECC的缺点是很多浏览器和客户端并不兼容,相信广泛普及后能够解决这一问题。 ECC的浏览器兼容性: ECC SNI 操作系统 Microsoft Windows Vista+ Vista+ Apple MacOS 10.6+ 10.5+ Apple iOS 7+ 8+ Google Android 4.0+ 3.0+ 浏览器 Microsoft Internet Explorer 7+ 7+ Mozilla Firefox 2.0+ 2.0+ Google Chrome 1.0+ 6.0+ Apple Safari 4+ 3+ https://developer.qiniu.com/ssl/manual/3659/ssl-compatibility-test-report ACME.SH生成ECC加密的Let& 39;s Encrypt证书: https://github.com/Neilpang/acme.sh 10-issue-ecc-certificates 附ECC自签名证书生成方法:(一般用于内网加密通讯或CDN) openssl ecparam -out privatekey.key -name prime256v1 -genkey openssl req -new -key privatekey.key -out request.csr -sha256 openssl x509 -req -days 3650 -in /www/ssl.csr -signkey /www/ssl.key -out /www/ssl.crt 然后在Nginx网站配置的server段加入: listen 443 ssl; ssl certificate /www/ssl.crt; ssl certificate key /www/ssl.key;