ISO/IEC 7816-4
Identification cards — Integrated circuit cards — Part 4: Organization, security and commands for interchange
Cartes d’identification — Cartes à circuit intégré — Partie 4: Organisation, sécurité et commandes pour les échanges

Instruction byte
INS indicates the command to process. Due to specifications in ISO/IEC 7816-3, the values ’6X’ and ’9X’ are invalid.
Table 4 lists all the commands specified in ISO/IEC 7816 at the time of publication.
–Table 4.1, i.e., the left side, lists the command names in the alphabetic order.
–Table 4.2, i.e., the right side, lists the INS codes in the numeric order.
Table 4.1 — Commands in the alphabetic order Table 4.2 — Commands in the numeric order

Command name INS See   INS Command name See
ACTIVATE FILE ’44′  Part 9 ’04′ DEACTIVATE FILE  Part 9
APPEND RECORD ‘E2′  7.3.7   ’0C’ ERASE RECORD (S) 7.3.8
CHANGE REFERENCE DATA ’24′  7.5.7   ’0E’, ’0F’ ERASE BINARY  7.2.7
CREATE FILE ‘E0′  Part 9   ’10′ PERFORM SCQL OPERATION  Part 7
DEACTIVATE FILE ’04′  Part 9   ’12′ PERFORM TRANSACTION OPERATION  Part 7
DELETE FILE ‘E4′  Part 9   ’14′ PERFORM USER OPERATION  Part 7
DISABLE VERIFICATION REQUIREMENT ’26′  7.5.9   ’20′, ’21′ VERIFY  7.5.6
ENABLE VERIFICATION REQUIREMENT ’28′  7.5.8   ’22′ MANAGE SECURITY ENVIRONMENT  7.5.11
ENVELOPE ‘C2′, ‘C3′ 7.6.2   ’24′ CHANGE REFERENCE DATA  7.5.7
ERASE BINARY ’0E’, ’0F’ 7.2.7   ’26′ DISABLE VERIFICATION REQUIREMENT  7.5.9
ERASE RECORD (S) ’0C’  7.3.8   ’28′ ENABLE VERIFICATION REQUIREMENT  7.5.8
EXTERNAL (/ MUTUAL) AUTHENTICATE ’82′  7.5.4   ’2A’ PERFORM SECURITY OPERATION  Part 8
GENERAL AUTHENTICATE ’86′, ’87′ 7.5.5   ’2C’ RESET RETRY COUNTER  7.5.10
GENERATE ASYMMETRIC KEY PAIR ’46′  Part 8   ’44′ ACTIVATE FILE  Part 9
GET CHALLENGE ’84′  7.5.3   ’46′ GENERATE ASYMMETRIC KEY PAIR  Part 8
GET DATA ‘CA’, ‘CB’ 7.4.2   ’70′ MANAGE CHANNEL  7.1.2
GET RESPONSE ‘C0′  7.6.1   ’82′ EXTERNAL (/ MUTUAL) AUTHENTICATE  7.5.4
INTERNAL AUTHENTICATE ’88′  7.5.2   ’84′ GET CHALLENGE  7.5.3
MANAGE CHANNEL ’70′  7.1.2   ’86′, ’87′ GENERAL AUTHENTICATE  7.5.5
MANAGE SECURITY ENVIRONMENT ’22′  7.5.11   ’88′ INTERNAL AUTHENTICATE  7.5.2
PERFORM SCQL OPERATION ’10′ Part 7   ‘A0′, ‘A1′ SEARCH BINARY  7.2.6
PERFORM SECURITY OPERATION ’2A’ Part 8   ‘A2′ SEARCH RECORD  7.3.7
PERFORM TRANSACTION OPERATION ’12′  Part 7   ‘A4′ SELECT  7.1.1
PERFORM USER OPERATION ’14′ Part 7   ‘B0′, ‘B1′ READ BINARY  7.2.3
PUT DATA ‘DA’, ‘DB’ 7.4.3   ‘B2′, ‘B3′ READ RECORD (S) 7.3.3
READ BINARY ‘B0′, ‘B1′ 7.2.3   ‘C0′ GET RESPONSE  7.6.1
READ RECORD (S) ‘B2′, ‘B3′ 7.3.3   ‘C2′, ‘C3′ ENVELOPE  7.6.2
RESET RETRY COUNTER ’2C’  7.5.10   ‘CA’, ‘CB’ GET DATA  7.4.2
SEARCH BINARY ‘A0′, ‘A1′ 7.2.6   ‘D0′, ‘D1′ WRITE BINARY  7.2.6
SEARCH RECORD ‘A2′  7.3.7   ‘D2′ WRITE RECORD  7.3.4
SELECT ‘A4′  7.1.1   ‘D6′, ‘D7′ UPDATE BINARY  7.2.5
TERMINATE CARD USAGE ‘FE’ Part 9   ‘DA’, ‘DB’ PUT DATA  7.4.3
TERMINATE DF ‘E6′ Part 9   ‘DC’, ‘DD’ UPDATE RECORD  7.3.5
TERMINATE EF ‘E8′  Part 9   ‘E0′ CREATE FILE  Part 9
UPDATE BINARY ‘D6′, ‘D7′ 7.2.5   ‘E2′ APPEND RECORD  7.3.6
UPDATE RECORD ‘DC’, ‘DD’ 7.3.5   ‘E4′ DELETE FILE  Part 9
VERIFY ’20′, ’21′ 7.5.6   ‘E6′ TERMINATE DF  Part 9
WRITE BINARY ‘D0′, ‘D1′ 7.2.4   ‘E8′ TERMINATE EF  Part 9
WRITE RECORD ‘D2′  7.3.4   ‘FE’ TERMINATE CARD USAGE  Part 9
In the interindustry class, any valid INS code not defined in ISO/IEC 7816 is reserved for future use by ISO/IEC JTC 1/SC 17.

ISO/IEC 7816 specifies the use of those commands in the interindustry class.
–This document (see 7) specifies commands for interchange.
–ISO/IEC 7816-7[4] specifies commands for structured card query language (SCQL).
–ISO/IEC 7816-8[4] specifies commands for security operations.
–ISO/IEC 7816-9[4] specifies commands for card management.
In the interindustry class, bit 1 of INS indicates a data field format as follows.
–If bit 1 is set to 0 (even INS code), then no indication is provided.
–If bit 1 is set to 1 (odd INS code), then BER-TLV encoding (see 5.2.2) shall apply as follows.
In unchained commands with SW1 not set to ’61′, data fields, if any, shall be encoded in BER-TLV.
Command chaining and / or the use of SW1 set to ’61′ allow the transmission of data strings too long for a single command. Such a process may split data objects in data fields consecutively sent as a sequence in one direction, i.e., while sending no data field in the opposite direction. When chaining commands and / or using SW1 set to ’61′, the concatenation of all the consecutive data fields in the same direction in the same sequence shall be encoded in BER-TLV.