You don't need anything as complex as public-key crypto, you can simply use a symmetric key algorithm like 3-DES or AES in hardware. If you wanted door control with this scheme, you can then use a challenge from a central server, and verify if the response if valid for a card in the system. Now you can arbitrarily add or remove cards from the central database.