1. A mobile device case for securely inputting user data from a user, the case comprising: a microcontroller; a communication module; and a user interface, wherein the user interface of the mobile device case enables the user to input the user data; and wherein the microcontroller of the mobile device case is configured to: receive the user data which is selected for input by the user via the user interface, wherein following selection of each character of user data the microcontroller is configured to communicate with a mobile device held in the mobile device case to cause the mobile device to visually indicate selection of said character, process said user data to create processed data, wherein the user data cannot be determined from the processed data by said mobile device or third party, wherein the microcontroller is configured to process the user data by: verifying the user data and the processed data indicates whether or not the user data has been verified, said verifying comprising (i) comparing the user data with a passcode stored in the microcontroller, or (ii) applying a one-way function to the user data and matching the processed data to stored data created from the same user data to which the same one-way function has been applied; or encrypting the user data, and output said processed data to said mobile device or said third party whereby said user data is securely communicated to said mobile device or said third party without said mobile device or said third party being able to interpret the user data which was entered via the user interface.