1. A computing device comprising: a processor; and a non-transitory computer-readable medium comprising code executable by the processor for implementing a method comprising: determining an image-based derived key using an image-based derived key function, wherein the image-based derived key is generated from a selection of authentication images displayed on a user interface and chosen by a user, and image identifiers of the authentication images are concatenated to form an image value that is used as an image input value to the image-based derived key function, wherein each image identifier is unique to the corresponding authentication image, and each image identifier being concatenated has a value that is independent of where the corresponding authentication image is displayed on the user interface, and wherein the image-based derived key is further generated based on: an adjustable iteration count value being an input to the image-based derived key function indicating a number of repetitions that the image-based derived key function is performed to generate the image-based derived key; an adjustable key length indicating a length of the image-based derived key; and a salt value that includes a user identifier identifying the user; encrypting data using the image-based derived key; and transmitting the encrypted data.