A mobile device (100, 200) comprising: a user interface (108, 216) operable to provide a submitted password value based on a user interaction; a co-processor (106, 238, 240) operable to evaluate a co-processor function; a main processor (104, 202) communicably coupled to the co-processor; and a computer-readable medium (102, 206, 208) storing instructions that are executable by the main processor to perform operations comprising: calling the co-processor of the mobile device to provide a hash chain input value based on the submitted password value; evaluating, at the mobile device, a hash chain based on the hash chain input value provided by the co-processor, wherein evaluating the hash chain generates a submitted password verification value; wherein evaluating the hash chain includes evaluating a first iteration of a cryptographic hashing function H based on the hash chain input value provided by the co-processor; and evaluating subsequent iterations of the cryptographic hashing function H based on an output of one or more prior iterations of the cryptographic hashing function H; and comparing, at the mobile device, the submitted password verification value to a stored password verification value stored on the mobile device. a user interface (108, 216) operable to provide a submitted password value based on a user interaction; a co-processor (106, 238, 240) operable to evaluate a co-processor function; a main processor (104, 202) communicably coupled to the co-processor; and a computer-readable medium (102, 206, 208) storing instructions that are executable by the main processor to perform operations comprising: calling the co-processor of the mobile device to provide a hash chain input value based on the submitted password value; evaluating, at the mobile device, a hash chain based on the hash chain input value provided by the co-processor, wherein evaluating the hash chain generates a submitted password verification value; wherein evaluating the hash chain includes evaluating a first iteration of a cryptographic hashing function H based on the hash chain input value provided by the co-processor; and evaluating subsequent iterations of the cryptographic hashing function H based on an output of one or more prior iterations of the cryptographic hashing function H; and comparing, at the mobile device, the submitted password verification value to a stored password verification value stored on the mobile device. calling the co-processor of the mobile device to provide a hash chain input value based on the submitted password value; evaluating, at the mobile device, a hash chain based on the hash chain input value provided by the co-processor, wherein evaluating the hash chain generates a submitted password verification value; wherein evaluating the hash chain includes evaluating a first iteration of a cryptographic hashing function H based on the hash chain input value provided by the co-processor; and evaluating subsequent iterations of the cryptographic hashing function H based on an output of one or more prior iterations of the cryptographic hashing function H; and comparing, at the mobile device, the submitted password verification value to a stored password verification value stored on the mobile device.