A computer-implemented method for determining the authenticity of products, the method comprising: receiving images of authentic products, at a server; processing the received images at the server including: detecting, for each authentic product, a region of interest which includes a feature set of points constituting a unique signature representing natural chaos in one or more images associated with that authentic product; detecting, within the region of interest, anchor points present in one or more images of every authentic product, the anchor points defining points of interest representing features having a common position on all products in a given line of products; and calculating relative positions between the points of the feature set of the unique signature in the region of interest and a plurality of surrounding anchor points; storing the unique signatures and the calculated relative positions associated with the points of the feature set in the region of interest in a database; receiving at the server, an authenticity request for a given product from a remote computing device, the authenticity request comprising an image of the given product; performing a search within the image of the given product for anchor points, and searching within the stored relative positions from the anchor points for a given unique signature that matches one of the unique signatures stored in the database; determining the authenticity of the given product based on a result of the search. receiving images of authentic products, at a server; processing the received images at the server including: detecting, for each authentic product, a region of interest which includes a feature set of points constituting a unique signature representing natural chaos in one or more images associated with that authentic product; detecting, within the region of interest, anchor points present in one or more images of every authentic product, the anchor points defining points of interest representing features having a common position on all products in a given line of products; and calculating relative positions between the points of the feature set of the unique signature in the region of interest and a plurality of surrounding anchor points; detecting, for each authentic product, a region of interest which includes a feature set of points constituting a unique signature representing natural chaos in one or more images associated with that authentic product; detecting, within the region of interest, anchor points present in one or more images of every authentic product, the anchor points defining points of interest representing features having a common position on all products in a given line of products; and calculating relative positions between the points of the feature set of the unique signature in the region of interest and a plurality of surrounding anchor points; storing the unique signatures and the calculated relative positions associated with the points of the feature set in the region of interest in a database; receiving at the server, an authenticity request for a given product from a remote computing device, the authenticity request comprising an image of the given product; performing a search within the image of the given product for anchor points, and searching within the stored relative positions from the anchor points for a given unique signature that matches one of the unique signatures stored in the database; determining the authenticity of the given product based on a result of the search.