8.1. Master Secret を計算する Englishコネクションの防護を開始するために、TLS Record プロトコルは、アルゴリズムの suite、master secret、および、そのクライアントおよびサーバの random 値の仕様を要求する。認証(authentication)、暗号化および MAC のアルゴリズムは、そのサーバによって選択され、ServerHello メッセージ中に現れた cipher_suite によって決定される。その圧縮アルゴリズムは、その hello メッセージにおいて交渉される。そして、その random 値は、その hello メッセージにおいて交換される。残るは、その master secret を計算することである。
8.1.1. RSA Englishすべての鍵交換手法用に、同一のアルゴリズムが pre_master_secret を master_secretに変換するために使われる。pre_master_secret は、ひとたび、その master_secret が計算されたらメモリから削除される必要がある。
master_secret = PRF(pre_master_secret, "master secret", ClientHello.random + ServerHello.random) [0..47];master secret の長さは、常に、ちょうど 48 byte である。premaster secret の長さは、鍵交換手法によって多様である。
8.1.2. Diffie-Hellman EnglishRSA が、サーバ認証用および鍵交換用に使われるとき、48 byte の pre_master_secret は、そのクライアントによって生成され、 サーバの公開鍵のもとで暗号化され、サーバ宛に送られる。そのサーバは、そのプライベート鍵を、その pre_master_secret を復号するために使う。そして、両者は、上記規定のように、 pre_master_secret を master_secret に変換する。
慣習的(conventional)な Diffie-Hellman 演算が行われる。その交渉された鍵 (Z) が pre_master_secret として使われ、上記規定のように、master_secret に変換される。all zero bits を含む Leading bytes of Z は、それが pre_master_secret として使われる前に外される。
注: Diffie-Hellman パラメータは、そのサーバによって規定され、ephemeral であるか、あるいは、そのサーバの証明書中に含まれるか、のいずれかである可能性がある。