1. A method for challenge-response authentication, the method comprising: receiving, from an external terminal over a communication network, a request for access to a service; presenting to a user, via a display, a plurality of images; receiving, via the external terminal, an arrangement of the plurality of images; receiving, over the communication network, a plurality of codes based on the arrangement of the plurality of images, each of the plurality of codes corresponding to an image of the plurality of images and to an alphanumeric character of a plurality of alphanumeric characters, the plurality of codes being distinct from the plurality of alphanumeric characters; matching the plurality of codes to the plurality of alphanumeric characters based on a predetermined one-time use table, wherein the one-time use table associates each image of the plurality of images with a corresponding code of the plurality of codes and with a corresponding alphanumeric character of the plurality of alphanumeric characters, wherein each of the plurality of codes is generated, by a pseudorandom number generator, independently from the plurality of alphanumeric characters; generating an alphanumeric string from the plurality of alphanumeric characters based on the matching; comparing the alphanumeric string to an alphanumeric user identifier stored in a database; and determining whether to grant the user access to the service based on a result of the comparing.