Transport Layer Security
Algoritma > Anahtar değişimi ve anahtar anlaşması

İstemci ve sunucu TLS tarafından korunan bilgilerin değişimine başlamadan önce, verileri şifreleme için kullanılacak şifreleme algoritması ve şifreleme anahtarı üzerinde anlaşmaları gerekmektedir. Anahtar değişimi için kullanılan metotlar şu şekildedir: açık ve gizli anahtarlar RSA(TLS el sıkışma protokolünde TLS_RSA olarak  ifade edilir), Diffie-Hellman(TLS_DH), ephemeral Diffie-Hellman(TLS_DHE), Eliptik Eğri Diffie-Hellman(Elliptic Curve Diffie-Hellman / TLS_ECDH), ephemeral Elliptic Curve Diffie-Hellman(TLS_ECDHE), isimsiz Diffie-Hellman(anonymous Diffie-Hellman / TLS_DH_anon), önceden paylaştırılan anahtar (TLS_PSK) ve Secure Remote Password(TLS_SRP) ile oluşturulur.
TLS_DH_anon ve TLS_ECDH_anon anahtar değişim metotları sunucu veya kullanıcının kimliğini doğrulamaz. Aynı zamanda, ortadaki adam (MitM) saldırısına açık olduğu için nadiren kullanılmaktadır. Sadece TLS_DHE ve TLS_ECDHE iletme gizliliği sağlar.
Açık anahtar sertifikaları değişim boyunca kullanılır ve aynı zamanda değişim boyunca kullanılan açık ve gizli anahtarların boyutuna göre çeşitlilik gösterir. Bundan dolayı güvenliğin dayanıklılığı sağlanmış olur. Temmuz 2013 yılında, Google artık 1024 bitlik açık anahtarları kullanmak yerine 2048 bit anahtarlara geçerek kullanıcılarına sunduğu TLS şifreleme güvenliğini artırdığını duyurmuştur.
| Algoritma | SSL 2> 0 | SSL 3> 0 | TLS 1> 0 | TLS 1> 1 | TLS 1> 2 | Statü |
| --- | --- | --- | --- | --- | --- | --- |
| RSA | Evet | Evet | Evet | Evet | Evet | RFC dokümanlarında TLS 1.2 için tanımlanmıştır. |
| DH-RSA | Hayır | Evet | Evet | Evet | Evet | RFC dokümanlarında TLS 1.2 için tanımlanmıştır. |
| DHE-RSA | Hayır | Evet | Evet | Evet | Evet | RFC dokümanlarında TLS 1.2 için tanımlanmıştır. |
| ECDH-RSA | Hayır | Hayır | Evet | Evet | Evet | RFC dokümanlarında TLS 1.2 için tanımlanmıştır. |
| ECDHE-RSA | Hayır | Hayır | Evet | Evet | Evet | RFC dokümanlarında TLS 1.2 için tanımlanmıştır. |
| DH-DSS | Hayır | Evet | Evet | Evet | Evet | RFC dokümanlarında TLS 1.2 için tanımlanmıştır. |
| DHE-DSS | Hayır | Evet | Evet | Evet | Evet | RFC dokümanlarında TLS 1.2 için tanımlanmıştır. |
| ECDH-ECDSA | Hayır | Hayır | Evet | Evet | Evet | RFC dokümanlarında TLS 1.2 için tanımlanmıştır. |
| ECDHE-ECDSA | Hayır | Hayır | Evet | Evet | Evet | RFC dokümanlarında TLS 1.2 için tanımlanmıştır. |
| TLS-PSK | Hayır | Hayır | Evet | Evet | Evet | RFC dokümanlarında TLS 1.2 için tanımlanmıştır. |
| PSK-RSA | Hayır | Hayır | Evet | Evet | Evet | RFC dokümanlarında TLS 1.2 için tanımlanmıştır. |
| DHE-PSK | Hayır | Hayır | Evet | Evet | Evet | RFC dokümanlarında TLS 1.2 için tanımlanmıştır. |
| ECDHE-PSK | Hayır | Hayır | Evet | Evet | Evet | RFC dokümanlarında TLS 1.2 için tanımlanmıştır. |
| SRP | Hayır | Hayır | Evet | Evet | Evet | RFC dokümanlarında TLS 1.2 için tanımlanmıştır. |
| SRP-DSS | Hayır | Hayır | Evet | Evet | Evet | RFC dokümanlarında TLS 1.2 için tanımlanmıştır. |
| SRP-RSA | Hayır | Hayır | Evet | Evet | Evet | RFC dokümanlarında TLS 1.2 için tanımlanmıştır. |
| Kerberos | Hayır | Hayır | Evet | Evet | Evet | RFC dokümanlarında TLS 1.2 için tanımlanmıştır. |
| DH-ANON | Hayır | Hayır | Evet | Evet | Evet | RFC dokümanlarında TLS 1.2 için tanımlanmıştır. |
| ECDH-ANON | Hayır | Hayır | Evet | Evet | Evet | RFC dokümanlarında TLS 1.2 için tanımlanmıştır. |
| GOST R 34.10-94 / 34.10-2001 | Hayır | Hayır | Evet | Evet | Evet | RFC tasarılarında önerilmiştir. |