A method for transmitting a transaction message from a transaction device having a transaction device identifier I D to a transaction processing system , wherein the transaction message conforms to an EMV standard for payment processing in which the transaction message comprises, at least, a first data field configured to hold a transaction device identifier I D , a second data field configured to hold supplementary data, a third data field, and other data fields for conveying transaction data, the method comprising: receiving, at the transaction device , transaction data from a transaction processing server of the transaction processing system ; receiving, at the transaction device , a public key P S for the transaction processing server generated based on a cyclic group G and a private key d S for the transaction processing server ; calculating, at the transaction device , a hash value h by inputting a hashing key K, known to both the transaction device and the transaction processing server , and a concatenation of the transaction device identifier I D and the transaction data for a transaction; generating, at the transaction device , an ephemeral public key P D for the transaction device using the hash value h and the cyclic group G; generating, at the transaction device , a shared secret S using the hash value h and the public key P S for the transaction processing server ; encrypting, at the transaction device , the transaction device identifier I D for the transaction device using the shared secret S to generate an encrypted transaction device identifier C; generating, at the transaction device , the transaction message for the transaction system ; and sending the transaction message to the transaction processing system , wherein the generation of the transaction message comprises providing data in the first data field of the transaction message that does not identify the transaction device , providing the encrypted transaction device identifier C in the second data field of the transaction message, providing the ephemeral public key P D in the third data field. receiving, at the transaction device , transaction data from a transaction processing server of the transaction processing system ; receiving, at the transaction device , a public key P S for the transaction processing server generated based on a cyclic group G and a private key d S for the transaction processing server ; calculating, at the transaction device , a hash value h by inputting a hashing key K, known to both the transaction device and the transaction processing server , and a concatenation of the transaction device identifier I D and the transaction data for a transaction; generating, at the transaction device , an ephemeral public key P D for the transaction device using the hash value h and the cyclic group G; generating, at the transaction device , a shared secret S using the hash value h and the public key P S for the transaction processing server ; encrypting, at the transaction device , the transaction device identifier I D for the transaction device using the shared secret S to generate an encrypted transaction device identifier C; generating, at the transaction device , the transaction message for the transaction system ; and sending the transaction message to the transaction processing system , wherein the generation of the transaction message comprises providing data in the first data field of the transaction message that does not identify the transaction device , providing the encrypted transaction device identifier C in the second data field of the transaction message, providing the ephemeral public key P D in the third data field. <EOS>