генерации экспортного ключа
TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5 требует пяти случайных байт для каждого из двух ключей шифрования и 16 байт для каждого ключа MAC, что составляет 42 байта ключевого материала. Выход PRF запоминается в key_block. Блок key_block делится, а ключи записи запоминаются, так как это алгоритм экспортного шифрования.
key_block | = PRF(master_secret, |
"key expansion", | |
server_random + | |
client_random)[0..41] | |
client_write_MAC_secret | = key_block[0..15] |
server_write_MAC_secret | = key_block[16..31] |
client_write_key | = key_block[32..36] |
server_write_key | = key_block[37..41] |
final_client_write_key | = PRF(client_write_key, |
"client write key", | |
client_random + | |
server_random)[0..15] | |
final_server_write_key | = PRF(server_write_key, |
"server write key", | |
client_random + | |
server_random)[0..15] | |
iv_block | = PRF("", "IV block", client_random + |
server_random)[0..15] | |
client_write_IV | = iv_block[0..7] |
server_write_IV | = iv_block[8..15] |