Secret Key Generation From Correlated Sources