Cross-linking technology combined with tandem mass spectrometry (MS-MS) is a powerful method that provides a rapid solution to the discovery of protein-protein interactions and protein structures. We studied the problem of detecting cross-linked peptides and cross-linked amino acids from tandem mass spectral data. Our method consists of two steps: the first step finds two protein subsequences whose mass sum equals a given mass measured from the mass spectrometry; and the second step finds the best cross-linked amino acids in these two peptide sequences that are optimally correlated to a given tandem mass spectrum. We designed fast and space-efficient algorithms for these two steps and implemented and tested them on experimental data of cross-linked hemoglobin proteins. An interchain cross-link between two beta subunits was found in two tandem mass spectra. The length of the cross-linker (7.7 A) is very close to the actual distance (8.18 A) obtained from the molecular structure in PDB.