Secret key agreement by public discussion