NEO 2 Interface Developer’s Guide
Copyright © 2019, International Technologies & Systems Corporation. All rights reserved.
334
8.22.5.
Padding of Data Fields
Padding is usually required for the Cipher Block Chaining (CBC) algorithm, because Triple DES
will require that data blocks be a multiple of 8 bytes long (whereas AES will require data blocks
to be a multiple of 16 bytes). Padding consists of null bytes (0x00) added to the end of the
data, to give data with a length that's a multiple of 8 (for TDES) or 16 (for AES).
The order of operations for sending frames:
1.
Add padding so that data length is a multiple of 8.
2.
Blockwise encrypt, using CBC.
The order of operations for receiving frames:
1.
Decrypt using CBC.
2.
Remove pads.
8.22.6.
Get Data Encryption Key Variant Type (C7-30)
Command Frame
Byte 0-9
Byte 10
Byte 11
Byte 12
Byte 13
Byte 14
Byte15
Header Tag &
Protocol Version
Command
Sub-
Command
Data length
(MSB)
Data
length
(LSB)
CRC
(MSB)
CRC
(LSB)
ViVOtech2\0
C7h
30h
00
00
Response Frame
Byte 0-9
Byte 10
Byte 11
Byte 12
Byte 13
Byte14
Byte 15
Byte16
Header Tag &
Protocol
Version
Command
Status
Data
length
(MSB)
Data
length
(LSB)
Data1
CRC
(MSB)
CRC
(LSB)
ViVOtech2\0
C7h
00
01
Key Variant
Type
Encryption Type Description
0
Data Variant
1
Pin Variant
8.22.7.
Set DUKPT Key Encryption Type (C7-32)
This command exists to specify the encryption type of Data encryption Key, and MUST be used
before the initial loading of the Data encryption Key into the device. The encryption type
CANNOT be changed after the Data encryption Key is present. It must remain either TDES or
AES.
Note:
This command is only supported in non-SRED devices. In SRED device, only TDES
algorithm is used to encrypt transaction output sensitive data.