tl;dr;

  • 加密算法(用于机密性) + 杂凑函数(用于完整性) + 数字签名 (用于认证和不可否认性)
  • 摘要不等同于加密,消息摘要算法也被称为哈希(Hash)算法或散列算法
  • 杂凑函数(又称散列函数、哈希函数),哈希函数不是指某种特定的函数,而是一类函数
  • 對稱密鑰加密,Symmetric-key algorithm,加密和解密使用同一个密钥,也称为单密钥加密
  • 公开密钥密码学(英語:Public-key cryptography)也称非對稱式密碼學(英語:Asymmetric cryptography)
  • Block cipher 和 Stream Cipher 都是对称加密方法
  • Keyed-hash message authentication code),又稱雜湊訊息鑑別碼(Hash-based message authentication code,縮寫為HMAC
  • 伪随机数生成算法,承担了密钥生成的重要职责
Base64
MD5
##############################
DES(Data Encryption Standard)
IDEAInternational Data Encryption Algorithm
ssh -Q cipher
cat /etc/ssh/ssh_config |grep -C2 Ciphers
$ openssl version
OpenSSL 1.0.2k-fips  26 Jan 2017
$ openssl ciphers -V|column -t
0xC0,0x30  -  ECDHE-RSA-AES256-GCM-SHA384    TLSv1.2  Kx=ECDH        Au=RSA    Enc=AESGCM(256)    Mac=AEAD
0xC0,0x2C  -  ECDHE-ECDSA-AES256-GCM-SHA384  TLSv1.2  Kx=ECDH        Au=ECDSA  Enc=AESGCM(256)    Mac=AEAD
0xC0,0x28  -  ECDHE-RSA-AES256-SHA384        TLSv1.2  Kx=ECDH        Au=RSA    Enc=AES(256)       Mac=SHA384
0xC0,0x24  -  ECDHE-ECDSA-AES256-SHA384      TLSv1.2  Kx=ECDH        Au=ECDSA  Enc=AES(256)       Mac=SHA384
0xC0,0x14  -  ECDHE-RSA-AES256-SHA           SSLv3    Kx=ECDH        Au=RSA    Enc=AES(256)       Mac=SHA1
0xC0,0x0A  -  ECDHE-ECDSA-AES256-SHA         SSLv3    Kx=ECDH        Au=ECDSA  Enc=AES(256)       Mac=SHA1
0x00,0xA5  -  DH-DSS-AES256-GCM-SHA384       TLSv1.2  Kx=DH/DSS      Au=DH     Enc=AESGCM(256)    Mac=AEAD
0x00,0xA3  -  DHE-DSS-AES256-GCM-SHA384      TLSv1.2  Kx=DH          Au=DSS    Enc=AESGCM(256)    Mac=AEAD
0x00,0xA1  -  DH-RSA-AES256-GCM-SHA384       TLSv1.2  Kx=DH/RSA      Au=DH     Enc=AESGCM(256)    Mac=AEAD
0x00,0x9F  -  DHE-RSA-AES256-GCM-SHA384      TLSv1.2  Kx=DH          Au=RSA    Enc=AESGCM(256)    Mac=AEAD
0x00,0x6B  -  DHE-RSA-AES256-SHA256          TLSv1.2  Kx=DH          Au=RSA    Enc=AES(256)       Mac=SHA256
0x00,0x6A  -  DHE-DSS-AES256-SHA256          TLSv1.2  Kx=DH          Au=DSS    Enc=AES(256)       Mac=SHA256
0x00,0x69  -  DH-RSA-AES256-SHA256           TLSv1.2  Kx=DH/RSA      Au=DH     Enc=AES(256)       Mac=SHA256
0x00,0x68  -  DH-DSS-AES256-SHA256           TLSv1.2  Kx=DH/DSS      Au=DH     Enc=AES(256)       Mac=SHA256
0x00,0x39  -  DHE-RSA-AES256-SHA             SSLv3    Kx=DH          Au=RSA    Enc=AES(256)       Mac=SHA1
0x00,0x38  -  DHE-DSS-AES256-SHA             SSLv3    Kx=DH          Au=DSS    Enc=AES(256)       Mac=SHA1
0x00,0x37  -  DH-RSA-AES256-SHA              SSLv3    Kx=DH/RSA      Au=DH     Enc=AES(256)       Mac=SHA1
0x00,0x36  -  DH-DSS-AES256-SHA              SSLv3    Kx=DH/DSS      Au=DH     Enc=AES(256)       Mac=SHA1
0x00,0x88  -  DHE-RSA-CAMELLIA256-SHA        SSLv3    Kx=DH          Au=RSA    Enc=Camellia(256)  Mac=SHA1
0x00,0x87  -  DHE-DSS-CAMELLIA256-SHA        SSLv3    Kx=DH          Au=DSS    Enc=Camellia(256)  Mac=SHA1
0x00,0x86  -  DH-RSA-CAMELLIA256-SHA         SSLv3    Kx=DH/RSA      Au=DH     Enc=Camellia(256)  Mac=SHA1
0x00,0x85  -  DH-DSS-CAMELLIA256-SHA         SSLv3    Kx=DH/DSS      Au=DH     Enc=Camellia(256)  Mac=SHA1
0xC0,0x32  -  ECDH-RSA-AES256-GCM-SHA384     TLSv1.2  Kx=ECDH/RSA    Au=ECDH   Enc=AESGCM(256)    Mac=AEAD
0xC0,0x2E  -  ECDH-ECDSA-AES256-GCM-SHA384   TLSv1.2  Kx=ECDH/ECDSA  Au=ECDH   Enc=AESGCM(256)    Mac=AEAD
0xC0,0x2A  -  ECDH-RSA-AES256-SHA384         TLSv1.2  Kx=ECDH/RSA    Au=ECDH   Enc=AES(256)       Mac=SHA384
0xC0,0x26  -  ECDH-ECDSA-AES256-SHA384       TLSv1.2  Kx=ECDH/ECDSA  Au=ECDH   Enc=AES(256)       Mac=SHA384
0xC0,0x0F  -  ECDH-RSA-AES256-SHA            SSLv3    Kx=ECDH/RSA    Au=ECDH   Enc=AES(256)       Mac=SHA1
0xC0,0x05  -  ECDH-ECDSA-AES256-SHA          SSLv3    Kx=ECDH/ECDSA  Au=ECDH   Enc=AES(256)       Mac=SHA1
0x00,0x9D  -  AES256-GCM-SHA384              TLSv1.2  Kx=RSA         Au=RSA    Enc=AESGCM(256)    Mac=AEAD
0x00,0x3D  -  AES256-SHA256                  TLSv1.2  Kx=RSA         Au=RSA    Enc=AES(256)       Mac=SHA256
0x00,0x35  -  AES256-SHA                     SSLv3    Kx=RSA         Au=RSA    Enc=AES(256)       Mac=SHA1
0x00,0x84  -  CAMELLIA256-SHA                SSLv3    Kx=RSA         Au=RSA    Enc=Camellia(256)  Mac=SHA1
0x00,0x8D  -  PSK-AES256-CBC-SHA             SSLv3    Kx=PSK         Au=PSK    Enc=AES(256)       Mac=SHA1
0xC0,0x2F  -  ECDHE-RSA-AES128-GCM-SHA256    TLSv1.2  Kx=ECDH        Au=RSA    Enc=AESGCM(128)    Mac=AEAD
0xC0,0x2B  -  ECDHE-ECDSA-AES128-GCM-SHA256  TLSv1.2  Kx=ECDH        Au=ECDSA  Enc=AESGCM(128)    Mac=AEAD
0xC0,0x27  -  ECDHE-RSA-AES128-SHA256        TLSv1.2  Kx=ECDH        Au=RSA    Enc=AES(128)       Mac=SHA256
0xC0,0x23  -  ECDHE-ECDSA-AES128-SHA256      TLSv1.2  Kx=ECDH        Au=ECDSA  Enc=AES(128)       Mac=SHA256
0xC0,0x13  -  ECDHE-RSA-AES128-SHA           SSLv3    Kx=ECDH        Au=RSA    Enc=AES(128)       Mac=SHA1
0xC0,0x09  -  ECDHE-ECDSA-AES128-SHA         SSLv3    Kx=ECDH        Au=ECDSA  Enc=AES(128)       Mac=SHA1
0x00,0xA4  -  DH-DSS-AES128-GCM-SHA256       TLSv1.2  Kx=DH/DSS      Au=DH     Enc=AESGCM(128)    Mac=AEAD
0x00,0xA2  -  DHE-DSS-AES128-GCM-SHA256      TLSv1.2  Kx=DH          Au=DSS    Enc=AESGCM(128)    Mac=AEAD
0x00,0xA0  -  DH-RSA-AES128-GCM-SHA256       TLSv1.2  Kx=DH/RSA      Au=DH     Enc=AESGCM(128)    Mac=AEAD
0x00,0x9E  -  DHE-RSA-AES128-GCM-SHA256      TLSv1.2  Kx=DH          Au=RSA    Enc=AESGCM(128)    Mac=AEAD
0x00,0x67  -  DHE-RSA-AES128-SHA256          TLSv1.2  Kx=DH          Au=RSA    Enc=AES(128)       Mac=SHA256
0x00,0x40  -  DHE-DSS-AES128-SHA256          TLSv1.2  Kx=DH          Au=DSS    Enc=AES(128)       Mac=SHA256
0x00,0x3F  -  DH-RSA-AES128-SHA256           TLSv1.2  Kx=DH/RSA      Au=DH     Enc=AES(128)       Mac=SHA256
0x00,0x3E  -  DH-DSS-AES128-SHA256           TLSv1.2  Kx=DH/DSS      Au=DH     Enc=AES(128)       Mac=SHA256
0x00,0x33  -  DHE-RSA-AES128-SHA             SSLv3    Kx=DH          Au=RSA    Enc=AES(128)       Mac=SHA1
0x00,0x32  -  DHE-DSS-AES128-SHA             SSLv3    Kx=DH          Au=DSS    Enc=AES(128)       Mac=SHA1
0x00,0x31  -  DH-RSA-AES128-SHA              SSLv3    Kx=DH/RSA      Au=DH     Enc=AES(128)       Mac=SHA1
0x00,0x30  -  DH-DSS-AES128-SHA              SSLv3    Kx=DH/DSS      Au=DH     Enc=AES(128)       Mac=SHA1
0x00,0x9A  -  DHE-RSA-SEED-SHA               SSLv3    Kx=DH          Au=RSA    Enc=SEED(128)      Mac=SHA1
0x00,0x99  -  DHE-DSS-SEED-SHA               SSLv3    Kx=DH          Au=DSS    Enc=SEED(128)      Mac=SHA1
0x00,0x98  -  DH-RSA-SEED-SHA                SSLv3    Kx=DH/RSA      Au=DH     Enc=SEED(128)      Mac=SHA1
0x00,0x97  -  DH-DSS-SEED-SHA                SSLv3    Kx=DH/DSS      Au=DH     Enc=SEED(128)      Mac=SHA1
0x00,0x45  -  DHE-RSA-CAMELLIA128-SHA        SSLv3    Kx=DH          Au=RSA    Enc=Camellia(128)  Mac=SHA1
0x00,0x44  -  DHE-DSS-CAMELLIA128-SHA        SSLv3    Kx=DH          Au=DSS    Enc=Camellia(128)  Mac=SHA1
0x00,0x43  -  DH-RSA-CAMELLIA128-SHA         SSLv3    Kx=DH/RSA      Au=DH     Enc=Camellia(128)  Mac=SHA1
0x00,0x42  -  DH-DSS-CAMELLIA128-SHA         SSLv3    Kx=DH/DSS      Au=DH     Enc=Camellia(128)  Mac=SHA1
0xC0,0x31  -  ECDH-RSA-AES128-GCM-SHA256     TLSv1.2  Kx=ECDH/RSA    Au=ECDH   Enc=AESGCM(128)    Mac=AEAD
0xC0,0x2D  -  ECDH-ECDSA-AES128-GCM-SHA256   TLSv1.2  Kx=ECDH/ECDSA  Au=ECDH   Enc=AESGCM(128)    Mac=AEAD
0xC0,0x29  -  ECDH-RSA-AES128-SHA256         TLSv1.2  Kx=ECDH/RSA    Au=ECDH   Enc=AES(128)       Mac=SHA256
0xC0,0x25  -  ECDH-ECDSA-AES128-SHA256       TLSv1.2  Kx=ECDH/ECDSA  Au=ECDH   Enc=AES(128)       Mac=SHA256
0xC0,0x0E  -  ECDH-RSA-AES128-SHA            SSLv3    Kx=ECDH/RSA    Au=ECDH   Enc=AES(128)       Mac=SHA1
0xC0,0x04  -  ECDH-ECDSA-AES128-SHA          SSLv3    Kx=ECDH/ECDSA  Au=ECDH   Enc=AES(128)       Mac=SHA1
0x00,0x9C  -  AES128-GCM-SHA256              TLSv1.2  Kx=RSA         Au=RSA    Enc=AESGCM(128)    Mac=AEAD
0x00,0x3C  -  AES128-SHA256                  TLSv1.2  Kx=RSA         Au=RSA    Enc=AES(128)       Mac=SHA256
0x00,0x2F  -  AES128-SHA                     SSLv3    Kx=RSA         Au=RSA    Enc=AES(128)       Mac=SHA1
0x00,0x96  -  SEED-SHA                       SSLv3    Kx=RSA         Au=RSA    Enc=SEED(128)      Mac=SHA1
0x00,0x41  -  CAMELLIA128-SHA                SSLv3    Kx=RSA         Au=RSA    Enc=Camellia(128)  Mac=SHA1
0x00,0x8C  -  PSK-AES128-CBC-SHA             SSLv3    Kx=PSK         Au=PSK    Enc=AES(128)       Mac=SHA1
0xC0,0x12  -  ECDHE-RSA-DES-CBC3-SHA         SSLv3    Kx=ECDH        Au=RSA    Enc=3DES(168)      Mac=SHA1
0xC0,0x08  -  ECDHE-ECDSA-DES-CBC3-SHA       SSLv3    Kx=ECDH        Au=ECDSA  Enc=3DES(168)      Mac=SHA1
0x00,0x16  -  EDH-RSA-DES-CBC3-SHA           SSLv3    Kx=DH          Au=RSA    Enc=3DES(168)      Mac=SHA1
0x00,0x13  -  EDH-DSS-DES-CBC3-SHA           SSLv3    Kx=DH          Au=DSS    Enc=3DES(168)      Mac=SHA1
0x00,0x10  -  DH-RSA-DES-CBC3-SHA            SSLv3    Kx=DH/RSA      Au=DH     Enc=3DES(168)      Mac=SHA1
0x00,0x0D  -  DH-DSS-DES-CBC3-SHA            SSLv3    Kx=DH/DSS      Au=DH     Enc=3DES(168)      Mac=SHA1
0xC0,0x0D  -  ECDH-RSA-DES-CBC3-SHA          SSLv3    Kx=ECDH/RSA    Au=ECDH   Enc=3DES(168)      Mac=SHA1
0xC0,0x03  -  ECDH-ECDSA-DES-CBC3-SHA        SSLv3    Kx=ECDH/ECDSA  Au=ECDH   Enc=3DES(168)      Mac=SHA1
0x00,0x0A  -  DES-CBC3-SHA                   SSLv3    Kx=RSA         Au=RSA    Enc=3DES(168)      Mac=SHA1
0x00,0x07  -  IDEA-CBC-SHA                   SSLv3    Kx=RSA         Au=RSA    Enc=IDEA(128)      Mac=SHA1
0x00,0x8B  -  PSK-3DES-EDE-CBC-SHA           SSLv3    Kx=PSK         Au=PSK    Enc=3DES(168)      Mac=SHA1
0x00,0x21  -  KRB5-IDEA-CBC-SHA              SSLv3    Kx=KRB5        Au=KRB5   Enc=IDEA(128)      Mac=SHA1
0x00,0x1F  -  KRB5-DES-CBC3-SHA              SSLv3    Kx=KRB5        Au=KRB5   Enc=3DES(168)      Mac=SHA1
0x00,0x25  -  KRB5-IDEA-CBC-MD5              SSLv3    Kx=KRB5        Au=KRB5   Enc=IDEA(128)      Mac=MD5
0x00,0x23  -  KRB5-DES-CBC3-MD5              SSLv3    Kx=KRB5        Au=KRB5   Enc=3DES(168)      Mac=MD5
0xC0,0x11  -  ECDHE-RSA-RC4-SHA              SSLv3    Kx=ECDH        Au=RSA    Enc=RC4(128)       Mac=SHA1
0xC0,0x07  -  ECDHE-ECDSA-RC4-SHA            SSLv3    Kx=ECDH        Au=ECDSA  Enc=RC4(128)       Mac=SHA1
0xC0,0x0C  -  ECDH-RSA-RC4-SHA               SSLv3    Kx=ECDH/RSA    Au=ECDH   Enc=RC4(128)       Mac=SHA1
0xC0,0x02  -  ECDH-ECDSA-RC4-SHA             SSLv3    Kx=ECDH/ECDSA  Au=ECDH   Enc=RC4(128)       Mac=SHA1
0x00,0x05  -  RC4-SHA                        SSLv3    Kx=RSA         Au=RSA    Enc=RC4(128)       Mac=SHA1
0x00,0x04  -  RC4-MD5                        SSLv3    Kx=RSA         Au=RSA    Enc=RC4(128)       Mac=MD5
0x00,0x8A  -  PSK-RC4-SHA                    SSLv3    Kx=PSK         Au=PSK    Enc=RC4(128)       Mac=SHA1
0x00,0x20  -  KRB5-RC4-SHA                   SSLv3    Kx=KRB5        Au=KRB5   Enc=RC4(128)       Mac=SHA1
0x00,0x24  -  KRB5-RC4-MD5                   SSLv3    Kx=KRB5        Au=KRB5   Enc=RC4(128)       Mac=MD5

ref