A method of indexing and searching a database comprising: providing a database of iris templates, wherein each template in the database comprises a barcode representing an iris image including information in a number of bits; grouping the iris templates in the database into a plurality of datasets (81, 83, 85) based on radial ranges of information and angular ranges of information of the iris image represented as a barcode, wherein each iris template in the datasets (81, 83, 85) comprises a segment corresponding to a fraction of the bits forming the iris template barcode corresponding to radial ranges of information and angular ranges of information of an iris image and the sum of the all the fractions of the segments of the iris template barcodes in the datasets (81, 83, 85) represents all the iris templates in the database; providing a barcode of an additional iris image for matching to an iris template in the database, wherein the barcode of the additional iris image for matching includes information in bits grouped in a similar manner as the iris templates of the dataset (81, 83, 85); selecting a segment (82, 84, 86) of the barcode of the iris image that corresponds to a segment of the iris templates in a dataset (81, 83, 85); comparing the selected segment (82, 84, 86) of the barcode of the iris image to a corresponding dataset (81, 83, 85) of all iris templates to eliminate iris templates whose corresponding dataset (81, 83, 85) does not match the selected segment (82, 84, 86) of the barcode of the iris image; selecting a subsequent segment (82, 84, 86) of the barcode of the iris image that corresponds to another segment of the iris templates in a dataset (81, 83, 85); comparing the selected subsequent segment (82, 84, 86) of the barcode of the iris image to a corresponding dataset (81, 83, 85) of only those iris templates that have not been eliminated to eliminate additional iris templates whose corresponding dataset (81, 83, 85) does not match the selected subsequent segment (82, 84, 86) of the barcode of the iris image; and repeating the steps of selecting a subsequent segment (82, 84, 86) and comparing the selected subsequent segment (82, 84, 86) until all but one iris template has been eliminated thereby indicating a match. providing a database of iris templates, wherein each template in the database comprises a barcode representing an iris image including information in a number of bits; grouping the iris templates in the database into a plurality of datasets (81, 83, 85) based on radial ranges of information and angular ranges of information of the iris image represented as a barcode, wherein each iris template in the datasets (81, 83, 85) comprises a segment corresponding to a fraction of the bits forming the iris template barcode corresponding to radial ranges of information and angular ranges of information of an iris image and the sum of the all the fractions of the segments of the iris template barcodes in the datasets (81, 83, 85) represents all the iris templates in the database; providing a barcode of an additional iris image for matching to an iris template in the database, wherein the barcode of the additional iris image for matching includes information in bits grouped in a similar manner as the iris templates of the dataset (81, 83, 85); selecting a segment (82, 84, 86) of the barcode of the iris image that corresponds to a segment of the iris templates in a dataset (81, 83, 85); comparing the selected segment (82, 84, 86) of the barcode of the iris image to a corresponding dataset (81, 83, 85) of all iris templates to eliminate iris templates whose corresponding dataset (81, 83, 85) does not match the selected segment (82, 84, 86) of the barcode of the iris image; selecting a subsequent segment (82, 84, 86) of the barcode of the iris image that corresponds to another segment of the iris templates in a dataset (81, 83, 85); comparing the selected subsequent segment (82, 84, 86) of the barcode of the iris image to a corresponding dataset (81, 83, 85) of only those iris templates that have not been eliminated to eliminate additional iris templates whose corresponding dataset (81, 83, 85) does not match the selected subsequent segment (82, 84, 86) of the barcode of the iris image; and repeating the steps of selecting a subsequent segment (82, 84, 86) and comparing the selected subsequent segment (82, 84, 86) until all but one iris template has been eliminated thereby indicating a match.