REGISTER_ENCRYPTION
Last updated: 23-Jul-2025
This command is used when full packet encryption is to be implemented.
Device UI Required
Display | User Action | Terminal Action |
---|---|---|
![]() |
Enter the PIN for POS paring. | The device displays POS paring screen. |
![]() |
Select the Enter button. |
Request Packet
Field | Rule | Type | Minimum | Maximum | Value(s) | Description |
---|---|---|---|---|---|---|
FUNCTION_TYPE | Required | Static Value | N/A | N/A | SECURITY | Type of function. |
COMMAND | Required | Static Value | N/A | N/A | REGISTER_ENCRYPTION | Command name |
KEY | Required | Base64 Encoded Data | RSA 2048-bit public key pair signed by a (possibly) self-signed certificate. This is used to decrypt the MAC_KEY returned in the response. This value is Base64 encoded. | |||
REG_VER | Conditional | List | 1 | 2 |
|
If REG_VER is not sent, then it will be treated as REG_VER 1. |
Example
Following is an example of request packet
<TRANSACTION>
<FUNCTION_TYPE>SECURITY</FUNCTION_TYPE>
<COMMAND>REGISTER_ENCRYPTION</COMMAND>
<KEY> … </KEY>
<REG_VER>2</REG_VER>
</TRANSACTION>
Response Packet
Field | Type | Value | Description |
---|---|---|---|
RESPONSE_TEXT | Character | Registered | Processor response text. |
RESULT | Character | Valid values: OK or ERROR | This indicates the Result details. |
RESULT_CODE | Numeric |
|
This indicates the result code. Refer to Result/Error Codes for details. |
TERMINATION_STATUS | Character | SUCCESS or FAILURE | This indicates the transaction termination status. This is the overall status of the transaction irrespective of approved or declined. Like, if the output is generated then the status is SUCCESS and if no output is generated then the status will be FAILURE. |
TERMINAL_KEY | Base64 Encoded Data | Encrypted AES-128 with Public Key | This is the terminal key used to encrypt and decrypt the transaction data. It will appear as Base64 data. The decoded, decrypted TERMINAL_KEY is to be used as the MAC Key when encryption is enabled. |
MAC_LABEL | Character | P_<Random String> | Value to be stored by POS |
ENTRY_CODE | Character | Value entered by user | Appears as a Base64 encoded, encrypted value representing 8-character code sent in response for POS to validate. |
Example
Following is an example of response packet
<RESPONSE>
<RESPONSE_TEXT>Registered</RESPONSE_TEXT>
<RESULT>OK</RESULT>
<RESULT_CODE>-1</RESULT_CODE>
<TERMINATION_STATUS>SUCCESS</TERMINATION_STATUS>
<TERMINAL_KEY> … </TERMINAL_KEY>
<MAC_LABEL>aBC124</MAC_LABEL>
<ENTRY_CODE>…</ENTRY_CODE>
</RESPONSE>
Note
The COUNTER resets to 0 with each REGISTER command.
Sample for Register Encryption 1.0:
SCI_REQUEST
<TRANSACTION>
<FUNCTION_TYPE>SECURITY</FUNCTION_TYPE>
<COMMAND>REGISTER_ENCRYPTION</COMMAND>
<REG_VER>1</REG_VER>
<KEY>MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsnM6CnGUBdIjvs0Li5S349c1S1pL1n7tQVmQZSpN1PDl6jL2sBp2KeqQcVa/PkYb7n5o0LFK9oHCurn/MQf3AEWeEK7pIsmjXG2NhUnoC1Qrzk23aS9iQhircSnzluQiAqxsRerImN+NTq1q6kdQ61MpPuk6Z/Md9JR93CDwSLyN0KqAX84GEPIP0m6AjFzaJirMPSsRAI4VcO13Dc2r94jeT1rR20yohnV3RCTznknujwBA/uUARWT68X1L3Bs9YmM+EU5NW33GofkMjGoiEK3RZqpLp4lXA61xkCXAugNWiIkBFCGV26TsDiU2iddBn9d2Laz2SmmNGvlrbNUZCQIDAQAB</KEY>
</TRANSACTION>
SCI_RESPONSE
<RESPONSE>
<RESPONSE_TEXT>Registered P_YI1SWE</RESPONSE_TEXT>
<RESULT>OK</RESULT>
<RESULT_CODE>-1</RESULT_CODE>
<TERMINATION_STATUS>SUCCESS</TERMINATION_STATUS>
<MAC_LABEL>P_YI1SWE</MAC_LABEL>
<ENTRY_CODE>UuSMf+Rs/fE1RH23YO7R4r/U3OTu153A+2zOSA/NE203WcL9+aP/aAyoYTaeFl4K6yNQdYSZuQWaSHR0FmI8moohe+n4QGPYWipHv9AZ1Ps1Ac+Yb5PA612mLZ8gsahXdImFSJlxhNuT7Te8gciqZDe+47fNL/uzzIwOl8SaepVyz9/lGGlHXQla73eaMsPg8NcDbErTProXeahAVZCYik3VI0BHCT3ZfHAKQAvTdTArO9p+U7v70vlV6Le5sDrxLLIMrdGMEnvN60BskpUgGGElR2wlTZN/b4oc7lzyhxO30gEj2hsr/n+h7fE1+y7y81Lla8avvzsSoop85FH3iw==</ENTRY_CODE>
<TERMINAL_KEY>U7GsMtv3Gd3ZIb2j0/0/9CTdiBrKRJROdoyslluTQ250hGADEMlYD954BD7v8r5WQUcOMYfV+v9GW0lY9Md4iyBnUmOqaz7h41qAM+WJPo/1+Bh3H4DNzM56FKxHG0mFPVGg3yqabOYltKrvbW515vEg8GNw/a7lSHj3T9UzhO9dDWCDkgl9XNyedd8hoIdJoorK2vaEvr7MmqfcZzE6Xqm+LBKeUoLb0RrkXchigHZczKDPGq9qAaV9hbko5NzyBEnTbxEeNKyP27BN9rX0Bjld3IyjjiuvT3AM1cjQ+UO8GZ+ivHVOD0jeJJcHB5dbUpTI6IHC++LlW8ULIebBKA==</TERMINAL_KEY>
</RESPONSE>
Explanation:
Private key in base 64 : MIIEpAIBAAKCAQEAs4gXJt6dfXNi6L3UmGZ0eG/phIZdqfVpQROXyyGULpZ2iI7cllQ4XOLxH1L68VjGtdoa/pgYYU0SyuekHdt2dErcAX1K/upkTkYG1f4RWKQYW1GGxUfd8afdnuxgIQzk8QIT09F2gJfBcdgri7vRKCGd8jyMKyIiQ01HYsXFDga7eoJExGVvVmIWHrN9WlOvgxFoMiR0oxiPWliWT5Lsg//2/yPV0MeAH2ypNptlb2Qr2o4IdxDu4nGVHk7CMp8COwKxpljY+RaFqkTYM+hPiwDPLodD3IKhi/ZBc7cUUFRr5jIbHyybaknRCWxYV2hOXuM5DoSQM5Fqy29cTMQIDAQABAoIBAGqgGff44RpfzE+kZr44o1XgSZVu4/QMD/4Zb96xy7s7m5yRFIun622nT0OmWem7KxFYPw4UMO6hAtdFaiBddmWtDCtKSZ/jS+s3OI0M2yQCXPOwHaH6Ep1ldtG8tvg4DBXnqHPKBhdrrxnUhyQMNgjROeusicLExbZ4BKLON9/GTqYr30W8CnDaFaE+qfol+Ryu+Gbkrf09w8W6nL2+a4nlVqx0J/Ray0Y0l4222iLpIKdsvvGQ9wNVgVfw3rdDclsp4lZgaJ0FXXC5zn+R4/71RgY+wLulBV4kT1oPlmIeLNel38fiKyKjQPYeC37k0SZG1NIuNvIT7YvpESdN40CgYEAwZqzWVLe3p0YnvgEY/xb5//7zgoXXHKS3ZOQfIy/1ZfA4hjZyStzpn7mdAT6RctwfrQgoGcYkwgTtywbts9tQeQmK4oY7sUShX3iju9UDw1bXQ6VCNhb4JOGcayOztlrNxjPnCmnuzpm/5Lp1mZ1/keJ88/x0Trv91L6+zND6ycCgYEA7WRS4tt6UaYYBni/829rp+dmmaHuktDstLm/hSjIWmKFC207zccIBpCCizRhyz6C7oRpfUF72vXY2jx6bc79MHpfSFS2x2/selEqZFCey/CXycbD9Y5aDmAq1jZg+8saaZrOjxCZKYsoTXM40CKCPK3gSz3HEFaOMZU+15as5ecCgYEAsz3JnAIoSovBFrRiRDuIz1Lkys328OU2aaPL2jPpCxPzRKBjSWdMLDJCo9lT6DhAT13u8vJgAwgwUJ6qjeaeralPWXICQVT9H8/7Z//VoBXqp03v1v+QmGucxjNPB9ys8Zar51V9b87TOvzGN3Qm+6M56ht0MxTQw/b0XIsK73MCgYEA2UF5gdivZ04EqteThGyyL+Xcxjmmp4LBPtzH5EvgoKeNb1m246qFM8zJTDDSVzmMhlF0YYeunENnBMNYoGpQ2S8FSKMO7BMIbyEdFNWbnrU/lRBtgquWy5VDXuxBce786y0cYV4lbhnG9qq+ke0jF/lhTjrplZBBbitSaeehsH0CgYBEZUs3hXpgy29HLCBuRwjbZ3HqbVWBLs6unscmZuvvnjAjdXVrU0kcu9up7oslqqMedH5LjC8XCMUn4CYN/+uDOIvBqk8aNUl0mCXrwIH0zXTRr/1ZFItR6aTwl75oXIvGgI8pJE1vasFSkWRk+O8Ze+n0Y03fXkoKfcDOTI1VZA==
Private key in base 64 length : 1592
Public key in base 64 : MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAs4gXJt6dfXNi6L3UmGZ0eG/phIZdqfVpQROXyyGULpZ2iI7cllQ4XOLxH1L68VjGtdoa/pgYYU0SyuekHdt2dErcAX1K/upkTkYG1f4RWKQYW1GGxUfd8afdnuxgIQzk8QIT09F2gJfBcdgri7vRKCGd8jyMKyIiQ01HYsXFDga7eoJExGVvVmIWHrN9WlOvgxFoMiR0oxiPWliWT5Lsg//2/yPV0MeAH+2ypNptlb2Qr2o4IdxDu4nGVHk7CMp8COwKxpljY+RaFqkTYM+hPiwDPLodD3IKhi/ZBc7cUUFRr5jIbHyybaknRCWxYV2hOXuM5DoSQM5Fqy29cTMQIDAQAB
Public key in base 64 length : 392
Register Request:
<TRANSACTION>
<FUNCTION_TYPE>SECURITY</FUNCTION_TYPE>
<COMMAND>REGISTER_ENCRYPTION</COMMAND> <KEY>MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAs4gXJt6dfXNi6L3UmGZ0eG/phIZdqfVpQROXyyGULpZ2iI7cllQ4XOLxH1L68VjGtdoa/pgYYU0SyuekHdt2dErcAX1K/upkTkYG1f4RWKQYW1GGxUfd8afdnuxgIQzk8QIT09F2gJfBcdgri7vRKCGd8jyMKyIiQ01HYsXFDga7eoJExGVvVmIWHrN9WlOvgxFoMiR0oxiPWliWT5Lsg//2/yPV0MeAH+2ypNptlb2Qr2o4IdxDu4nGVHk7CMp8COwKxpljY+RaFqkTYM+hPiwDPLodD3IKhi/ZBc7cUUFRr5jIbHyybaknRCWxYV2hOXuM5DoSQM5Fqy29cTMQIDAQAB</KEY>
</TRANSACTION>
Register Response:
<RESPONSE>
<RESPONSE_TEXT>Registered P_KD1S7Y</RESPONSE_TEXT>
<RESULT>OK</RESULT>
<RESULT_CODE>-1</RESULT_CODE>
<TERMINATION_STATUS>SUCCESS</TERMINATION_STATUS>
<MAC_LABEL>P_KD1S7Y</MAC_LABEL> <ENTRY_CODE>rkr8DDwPyhWSffdAUs9AG20LCo8DtKnxezV9DPigwBJ8BLojQeixBpZAoj1DwJoJ4jY28T5kK3ueIM8kotAq0CE/S8bgK3lCRn/MZyPVxdke1VjxVvlU0eBUbW/982882NYVxISSkZRrIiUgW/p+AQHeTNKT7sumWypPx7P9dsT1n84U5JY/8bEkmnz36FTLKs2AdiTQhPxYljK3ax8tlukXUpdaPPgOdArtjl9QMhIYx5gMwrO2t5CKjVHkL1f4Yg0BLPHeKTDwkiyXoL2lDJUb4f/j0AhavX7BnYJr8o3k7NPdQlLREoDe6r15aMmdJ7cP5dQPDjm/B+0RnP80MQ==</ENTRY_CODE>
<TERMINAL_KEY>l5hEg80188g1KBQL0lOSxtPQtbvCenMjCMhDhz68QuZZCpml08BHVI+yVUXYC9GrQe/HqYVaC+nCt/Ub20ImimsxWagufD0PMYwORq7ZAnDI/l3zqmKjKrxJ6MWJJhDnPQmyk+IgaDmOY/OoowehJVXvOFiTYb0eQ8aIKNiaFo5h7oNdSJoIwJSTNOWiIkvhMpgv4aMuD8CwC4ixUMZEyIrki0Pr1oPXWCx2giSCXcE0DzJNS8Bn7+slW4ywRdOoeh3FbG8tylHU4ihLRSaobjpzhD4w/JHWBzMjwjOmv7jdV6NSQvsQ8a3sogpgqfFrt5584ffAi2KQZvx76wyl6g==</TERMINAL_KEY>
</RESPONSE>
encryptedMacKey : l5hEg80188g1KBQL0lOSxtPQtbvCenMjCMhDhz68QuZZCpml08BHVI+yVUXYC9GrQe/HqYVaC+nCt/Ub20ImimsxWagufD0PMYwORq7ZAnDI/l3zqmKjKrxJ6MWJJhDnPQmyk+IgaDmOY/OoowehJVXvOFiTYb0eQ8aIKNiaFo5h7oNdSJoIwJSTNOWiIkvhMpgv4aMuD8CwC4ixUMZEyIrki0Pr1oPXWCx2giSCXcE0DzJNS8Bn7+slW4ywRdOoeh3FbG8tylHU4ihLRSaobjpzhD4w/JHWBzMjwjOmv7jdV6NSQvsQ8a3sogpgqfFrt5584ffAi2KQZvx76wyl6g==
The Requested entry code was: FAAE4612
The Returned entry code was: FAAE4612
The Entry Codes match.
decoded macKey in base64 :JKG+pFJEbWwWNeZtGfae/Q==
Sample for Register Encryption 2.0:
SCI_REQUEST
<TRANSACTION>
<FUNCTION_TYPE>SECURITY</FUNCTION_TYPE>
<COMMAND>REGISTER_ENCRYPTION</COMMAND>
<REG_VER>2</REG_VER>
<KEY>MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsoZ8CoiZl/QBTq71BrW3q5Ay14OQyL5r6/zxz67WsFhIi3uzQma3iHdyJQG9Nxjh5q52IZrA7Ss2JgKK2oaMyqTrZFXuU+dg9tHYf6xb55RyYF98J8fwAG+4eoOH/T61ztgn0FX6Ab/duraDdv521rMz2zPHCISpPS/kpkS+3MNEmDsZca7M/EAFjlok3xl2K5np6M7lgoFKTp2ktgzMKtD+Ej4RLc8Nfu5puaSpTInpYKlKFglMuknH7yeXsnAEbGBpQXZ2rwGoECXgxY1mYxqL7d7YwmSK+pPhEIjcu18/a6I96htrMMcL+OJIvZDC/foqgbkC1tmVuHgwk3wuAQIDAQAB</KEY>
</TRANSACTION>
SCI_RESPONSE
<RESPONSE>
<RESPONSE_TEXT>Registered P_VS2NXH</RESPONSE_TEXT>
<RESULT>OK</RESULT>
<RESULT_CODE>-1</RESULT_CODE>
<TERMINATION_STATUS>SUCCESS</TERMINATION_STATUS>
<MAC_LABEL>P_VS2NXH</MAC_LABEL>
<ENTRY_CODE>isIfyQwgacj5lAA7ixeRS1Nw1W2leWMvSF4lz7j+Ryu9VAtuglZrnlcuBtUbJx16Lj+TW0A/ju5rxL/CRSlzEr9S268hoxhZaHUK09PSR5ExSwcZYF1qOurGer7dicXjNE+5KcfWaej3ifmzHA/tv+hTD6pgmOiWHaLZ/pFdEwGhynX+7MAJE+NOPeO367hPHFOfRyTge9Ras1jj9rWIPxzsMCZHnQaOhIQNe1vW5BJrmQQOISwYV8jGeKNW7m3zYY3inhliW76xZSFGMYNuXJ5MQziUwz+EpWqX6Z2ffTL/9eebHoArnFq3MEequOsRrieXCzKMH4djA2WL6t+IlA==</ENTRY_CODE> <TERMINAL_KEY>BVchapq1WiAnWmD31uPlBrmxNdRlCLiAD+4QM40ALl16KKNyHi/V/EXaZfjXbZ17ysCizrbaPrKwR/0E2wjSA/07a+oPPagqPpcHfBZXVQNFUK6gJ3p5f+/pEfR4HRlc91BwqpnaUbywud1h5wrTR7tQeyEyOksc1PBwrx4n1Oegn0WwJv1qmL59sHjpVNZZgAcjOL3ra1LoUaRk9jsdConvbkqkAqYTGpigD+oDh0sV1OPRdA4WDJN4cLQv3+cf20A71B26AeW0qmHzvdIuNC7gRkne7iOPOnj7tBG6aIjgtl4Nx3vTQyLDpxeVTgVhE1xY9/f62ndAfL6cgAXkRQ==</TERMINAL_KEY>
</RESPONSE>
Rate this article: