US President Barack Obama on Tuesday shook hands with Raul Castro, leader of long-time Cold War foe Cuba, at the Nelson Mandela memorial service in Soweto. Obama offered the handshake before taking the stage to give his speech at the ceremony, in a new sign of his willingness to reach out to US enemies, a US official told AFP.