Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 3231192
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 17, 20262026-05-17T17:00:58+00:00 2026-05-17T17:00:58+00:00

I have a small confusion on SSL handshake between browser and server in a

  • 0

I have a small confusion on SSL handshake between browser and server in a typical https web scenario:

What I have understood so far is that in the process of SSL handshake, client (browser in this case) encrypts a randomly selected symmetric key with the public key (certificate received from server). This is sent back to the server, server decrypts it (symmetric key) with the private key. This symmetric key is now used during rest of the session to encrypt/decrypt the messages at both the ends. One of main reasons to do so is given as faster encryption using symmetric keys.

Questions

1) How does browser pick and generates this “randomly” selected symmetric key?

2) Do developers (or/and browser users) have control on this mechanism of generating symmetric keys?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-17T17:00:59+00:00Added an answer on May 17, 2026 at 5:00 pm

    Here is a very good description of how HTTPS connection establishment works. I will provide summary how session key is acquired by both parties (client and server), this process is known as “a key agreement protocol”, here how it works:

    1. The client generates the 48 byte “pre-master secret” random value.
    2. The client pads these bytes with random data to make the input equal to 128 bytes.
    3. The client encrypts it with server’s public key and sends it to the server.
    4. Then master key is produced by both parties in following manner:

      master_secret = PRF(
         pre_master_secret, 
         "master secret", 
         ClientHello.random + ServerHello.random
      )
      

    The PRF is the “Pseudo-Random Function” that’s also defined in the
    spec and is quite clever. It combines the secret, the ASCII label, and
    the seed data we give it by using the keyed-Hash Message
    Authentication Code (HMAC) versions of both MD5 and SHA-1 hash
    functions. Half of the input is sent to each hash function. It’s
    clever because it is quite resistant to attack, even in the face of
    weaknesses in MD5 and SHA-1. This process can feedback on itself and
    iterate forever to generate as many bytes as we need.

    Following this procedure, we obtain a 48 byte “master secret”.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I have small web app that generate PDF files as a report. I'm trying
I have a small confusion in the dynamic memory allocation concept. If we declare
I have a small confusion. When I print my array in tableView dataSource method
I have a small test application that executes two threads simultaneously. One increments a
I have a small problem in coding confusion 3x3 matrix by using matlab... I
I have a small confusion in my application. How can I check whether an
All, I Have a small confusion about Case sensitivity of ODBC DSN names. Say,
I have a small program that which is confusing me. I am trying using
I have a small confusion with the IDisposable interface and the using keyword in
have small problem, and would very much appreciate help :) I should convert byte

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.