Encryption is the process of scrambling or enciphering data so it can be read only by someone with the means to return it to its original state.

End-to-end encryption is any form of encryption in which only the sender and intended recipient can read the message.

No third party, even the party providing the communication service, has knowledge of the encryption key.

End-to-end encryption is the most secure form of encryption that you can use. So where possible, always use end-to-end encryption to protect yourself and your data.


1. 密码编码学(Cryptography),对信息进行编码实现隐蔽信息的一门学问。
2. 密码分析学(Cryptanalytics),研究分析破译密码的学问。


在1970年代中期,“强加密”(Strong Encryption)的使用开始从政府保密机构延伸至公共领域,并且目前已经成为保护许多广泛使用系统的方法,比如因特网电子商务、手机网络和银行自动取款机等[1]。


加密或软件编码隐匿(Code Obfuscation)同时也在软件版权保护中,用于对付反向工程,未授权的程序分析,破解和软件盗版及数字内容的数字版权管理(DRM)等。


Name URL Description
TrueCrypt https://truecrypt.ch/ Free open-source disk encryption software for Windows 7/Vista/XP, Mac OS X, and Linux, Old URL: http://www.truecrypt.org/ github
TCnext https://truecrypt.ch/ TCnext: Site dedicated to the next “truecrypt”
VeraCrypt https://veracrypt.codeplex.com/ VeraCrypt is a free disk encryption software brought to you by IDRIX (http://www.idrix.fr) and that is based on TrueCrypt.
The GNU Privacy Guard http://www.gnupg.org/ GnuPG is the GNU project's complete and free implementation of the OpenPGP standard as defined by RFC4880
AxCrypt http://www.axantum.com/axcrypt/ AxCrypt is the leading open source file encryption software for Windows.


Name URL Description
OpenSSL http://www.openssl.org/ OpenSSL is an open source project that provides a robust, commercial-grade, and full-featured toolkit for the Transport Layer Security (TLS) and Secure Sockets Layer (SSL) protocols.
PolarSSL https://polarssl.org/ SSL Library PolarSSL
mbed TLS https://tls.mbed.org/ mbed TLS (formerly known as PolarSSL) makes it trivially easy for developers to include cryptographic and SSL/TLS capabilities in their (embedded) products, facilitating this functionality with a minimal coding footprint.
CyaSSL https://github.com/cyassl/cyassl CyaSSL is a small, fast, portable implementation of TLS/SSL for embedded devices to the cloud
wolfSSL https://www.wolfssl.com/ wolfSSL (formerly CyaSSL) is a small, fast, portable implementation of TLS/SSL for embedded devices to the cloud. github
LibreSSL http://www.libressl.org/ LibreSSL is a version of the TLS/crypto stack forked from OpenSSL in 2014, with goals of modernizing the codebase, improving security, and applying best practice development processes.
BoringSSL https://boringssl.googlesource.com/boringssl/ BoringSSL is a fork of OpenSSL that is designed to meet Google’s needs.
GmSSL http://gmssl.org/ 支持国密SM2、SM3、SM4算法的OpenSSL分支 github
TASSL https://github.com/jntass/TASSL 支持SM2 SM3 SM4国密算法和国密openssl协议的TASSL
MatrixSSL http://www.matrixssl.org/ Lightweight Embedded SSL/TLS Implementation for IoT Devices github
Rustls https://github.com/ctz/rustls A modern TLS library in Rust
MesaLink https://mesalink.io/ MesaLink is a memory-safe and OpenSSL-compatible TLS library. github
Forge https://github.com/digitalbazaar/forge A native implementation of TLS in Javascript and tools to write crypto-based and network-heavy webapps
GnuTLS https://www.gnutls.org/ GnuTLS is a secure communications library implementing the SSL, TLS and DTLS protocols and technologies around them.







算法 密钥长度 块大小 说明
DES 56 64 Data Encryption Standard
3DES 56, 112, 168 64 Triple DES
AES 128, 192, 256 128 Advanced Encryption Standard
Twofish 128, 192, 256 128 -
Blowfish 1 ~ 448 64 -
IDEA 128 64 International Data Encryption Algorithm
RC4 4 ~ 2048 ? -
RC5 4 ~ 2040 32, 64, 128 -
RC6 128, 192, 256 128 -


RSA、ElGamal、背包算法、Rabin(Rabin的加密法可以說是RSA方法的特例)、Diffie-Hellman (D-H) 密钥交换协议中的公钥加密算法、Elliptic Curve Cryptography(ECC, 椭圆曲线加密算法)。

http://www.secg.org/ - Standards for Efficient Cryptography Group
https://www.w3.org/TR/WebCryptoAPI/ - Web Cryptography API
https://w3c.github.io/webauthn/ - Web Authentication: A Web API for accessing scoped credentials
https://fidoalliance.org/ - FIDO Alliance
https://www.engelke.com/fluent/ - Web Cryptography Resources

Programming Libraries - https://webencrypt.org/library/

https://www.w3.org/TR/WebCryptoAPI/ - Web Cryptography API
https://www.w3.org/TR/webauthn/ - Web Authentication: A Web API for accessing scoped credentials
https://en.wikipedia.org/wiki/PKCS - Public Key Cryptography Standards
https://tools.ietf.org/html/rfc4880 - OpenPGP Message Format
https://tools.ietf.org/html/rfc5751 - Secure/Multipurpose Internet Mail Extensions (S/MIME)
https://en.wikipedia.org/wiki/Cryptography_standards - Cryptography standards

https://github.com/sobolevn/awesome-cryptography - A curated list of cryptography resources and links