While much research has been done on finding similarities between protein sequences, there has not been the same progress on finding similarities between protein structures. Here we report a new algorithm (SBLAST) which discovers the largest common substructures between two proteins using a trianglebased variant of the geometric hashing of protein structures algorithm. The algorithm selects triples (triangles) of selected Cα atoms from all proteins in a protein structure database and creates a hash table using a key based on the three inter-atomic distances. Hash table hits from the triangles of a query protein are extended recursively to determine the largest common substructures less than a threshold deviation level (rmsd). Comparisons between a query protein and a preprocessed protein database can be performed in parallel. Because SBLAST does not rely on protein sequence alignment, common substructures can be detected in the absence of sequence conservation. SBLAST has been tested...