Key exchange problem I've found the following problem in one of my courses. Any tips on how to solve this would be appreciated!


  Alice has the key pair $(pka,ska)$. Bob has the pair keys $(pkb,skb)$. They want to establish a secret common key $k$ for a fast encryption (using $AES$).
  
  
  How?
  How if both want to participate in choosing the key (none of them trusts the other)
Depends how secure you want it to be. Do you want to be safe against MITM, against passive attackers, against active attackers, against replay attacks, ... and so on.

Even though that posting links is not that good, I would strongly suggest to read that paper:
http://cs.unc.edu/~fabian/course_papers/needham.pdf
"Using Encryption for Authentication in Large Networks of Computers" - Needham, 1978. 

On the second page it has a nice description of quite a secure protocol for that. ("Protocol 2. With Public-Key Algorithms "), though you would have to modify it since you don't have a CA which both parties trust. (and, as a result, be vulnerable to some attacks)

Also, take a look on TLS. TLS could be with server authentication, client authentication, or both present or both missing. Option 4 is for you, since you do not have any CA's mentioned in your question.