When someone uses a browser to connect to https://google.com via Tor network, the client needs to exchange a key with Google in order to keep all the data hidden from the exit node, right? Otherwise, when the exit node unencrypts the message, he could read all the data in it, or also read the session cookies returned by the server.
If this is correct, how this key exchange is made without the exit node knowing what is the key that the client and the server will use?