Side-Channel Attack Steals Crypto Key from Co-Located Virtual Machines