I4E
I4E (0xx) on
SLE66CX80PE / 162PE / 360PE / 680PE
Application Related Characteristics  Primitive Support  Implementation Specific Characteristics  Codelets Available
External Characteristics
Data Item 
Value 
Comments 

External Specification 

MULTOS Version 
4.2.1 

Silicon Provider / manufacturer_id 
Infineon / 0x05 

Implementer / implementer_id 
Keycorp / 0x02 

Mask / ic_type 
I4E (011) / 0x45, 0x46 (80PE, 162PE) I4E (012) / 0x47 (360PE) I4E (013) / 0x58 (360PE) I4E (054) / 0x52 (680PE) I4E (015) / 0x5B, 0x5C (80PE, 162PE) I4E (016) / 0x5D (680PE)


Technical Data 

Power / External Clock 
2.7V to 5.5V / 1 to 7.5 MHz 
Applies to all masks 
Transport Protocol 
T = 0, T = 1 
Applies to all masks 
FI/DI 
0x01, 0x02, 0x03, 0x08, 0x11, 0x12, 0x13, 0x18, 0x32, 0x33, 0x34, 0x38, 0x92, 0x93, 0x94, 0x95, 0x96, 0xA3, 0xA4, 0xA5, 0xA6, 0xA8 
Applies to all masks 
Dual ATR 
Supported 
For all masks Preenablement ATR: 3BFF9600FFC00A31FE4D8031E06B04200502xx555555555555yy
For I4E (011) on 80PE xx = 45, yy = 82 For I4E (011) on 162PE xx = 46, yy = 81 For I4E (012) on 360PE xx = 47, yy = 80 For I4E(013) on 360PE xx = 58, yy = 9F For I4E (054) on 680PE xx = 52, yy = 95 For I4E (015) on 80PE xx = 5B, yy = 9C For I4E (015) on 162PE xx = 5C, yy = 9B For I4E (016) on 80PE xx = 5D, yy = 9A 
PPS 
Supported, max speed 223kbps @ 3.58MHz 
Applies to all masks 
ATR Character Convention Direct LSB (3B) 
Supported 
Applies to all masks 
ATR Character Convention Indirect MSB (3F) 
Supported 
Applies to all masks 
Memory Area Sizes 

AMD 
0064v001 
Applies to all masks 
ROM 
96K, 196K or 208K 
96K for 80PE and 162PE I4E(011) & I4E(015), 196K for 360PE I4E(012) & I4E(013) 208K for 680PE I4E(054) & I4E(016) 
RAM Public 
530 bytes 
Applies to all masks 
RAM Dynamic 
960 bytes 
Applies to all masks 
EEPROM Total 
variable 
8K on 80PE, 16K on 162PE, 36K or 360PE and 64K on 680PE 
EEPROM available for applications 
variable 
5680 bytes on 80PE 13872 bytes on 162PE 34352 bytes on 360PE 63024 bytes on 680PE – maximum single application size is 31.5K (using AMD 0064V001) 
Application Related Characteristics
Data Item 
Value 
Comments 

Application EEPROM Loading Requirements 

Application Header 
229 bytes 
Applies to all masks 
Total temporary space per protected ALU 
128 bytes 
This represents the maximum size. Applies to all masks 
Total temporary space per confidential ALU 
128 bytes 
Applies to all masks 
MULTOS Application Function 

Static logical page size with Transaction Protection on 
32 bytes 
Applies to all masks 
Maximum write size in logical pages with Transaction Protection on 
at least 9 pages 
Limited by available EEPROM. Applies to all masks 
Physical Static page size (of underlying chip)  64 bytes  The start of Static (SB) is aligned to a physical page for all masks. 
Maximum ATR File record size 
32 bytes 
Applies to all masks 
Maximum ATR Historical Byte record size 
15 bytes 
Applies to all masks 
Maximum DIR File record size 
255 bytes 
Applies to all masks 
Maximum FCI record size 
255 bytes 
Applies to all masks 
Maximum inbound TPDU size 
260 bytes 
Applies to all masks 
Maximum outbound TPDU size 
261 bytes 
Applies to all masks 
Maximum delegation nest count 
Limited by available EEPROM 
Applies to all masks 
Maximum application history list entries 
Limited by available EEPROM 
Applies to all masks 
Retry Counters 

Set MSM Controls 
32 
Test cards set to 255. Applies to all masks 
Create MEL Application 
32 
Test cards set to 255. Applies to all masks 
Delete MEL Application 
32 
Test cards set to 255. Applies to all masks 
Key Lengths 

KCK Public Key length 
128 bytes 
Applies to all masks 
Permitted Application Provider Public Key lengths 
32 to 128 bytes 
KMA accepts APPK lengths between 72 and 128 bytes inclusive. Applies to all masks 
MULTOS TKCK length 
128 bytes 
Maximum size. Applies to all masks 
Primitive Support
The primitives listed here are those that were included in the target specification.
Primitive 
Supported 
Optional / Mandatory 

Add BDCN 
No 
Optional 
Bit Manipulate Byte 
Yes 

Bit Manipulate Word 
Yes 

Call Codelet 
Yes 

Call Extension 0, 1, 2, 3, 4, 5, 6 
Yes 

Card Block 
Yes 

Check Case 
Yes 

Checksum 
Yes 

Control Auto Reset WWT 
Yes 

Delegate 
Yes 

DES ECB Decipher 
Yes 

DES ECB Encipher 
Yes 

DivideN 
Yes 

ECC Addition 
No 
Optional 
ECC Convert Representation 
No 
Optional 
ECC Equality Test 
No 
Optional 
ECC Inverse 
No 
Optional 
ECC Scalar Multiplication 
No 
Optional 
ECC Verify Point 
No 
Optional 
Exchange Data 
No 
Optional 
Generate Asymmetric Hash General 
Yes 

Generate Asymmetric Signature General 
No 
Optional 
Generate DES CBC Signature 
Yes 

Generate Random Prime 
Yes 
Optional 
Generate Triple DES CBC Signature 
Yes 

Get Data 
Yes 

Get Delegator AID 
Yes 

Get DIR File Record 
Yes 

Get File Control Information 
Yes 

Get Manufacturer Data 
Yes 

Get Memory Reliability 
Yes 

Get MULTOS Data 
Yes 

Get Purse Type 
Yes 

Get Random Number 
Yes 

Load CCR 
Yes 

Lookup 
Yes 

Memory Compare 
Yes 

Memory Compare Fixed Length 
Yes 

Memory Copy 
Yes 

Memory Copy Fixed Length 
Yes 

Modular Exponentiation 
Yes 

Modular Exponentiation CRT 
Yes 

Modular Inverse 
No 
Optional 
Modular Multiplication 
Yes 
Optional 
Modular Reduction 
Yes 
Optional 
MultiplyN 
Yes 

Process Proprietary Extension Primitives (06) 
Yes 
Extension used is 2 
Query Channel 
No 
Optional 
Query Codelet 
Yes 

Query Interface Type 
Yes 

Query0, Query1, Query2, Query3 
Yes 

Reset Session Data 
Yes 

Reset WWT 
Yes 

Return from Codelet 
Yes 

SEED ECB Decipher 
Yes 
Optional 
SEED ECB Encipher 
Yes 
Optional 
Set AFI 
No 
Optional 
Set ATR File Record 
Yes 

Set ATR Historical Characters 
Yes 

Set ATS Historical Characters 
No 
Optional 
Set FCI Record 
Yes 

Set Select SW 
Yes 

Set Transaction Protection 
Yes 

SHA1 
Yes 

Shift Left 
Yes 

Shift Right 
Yes 

Store CCR 
Yes 
` 
Subtract BCDN 
No 
Optional 
Verify Asymmetric And Retrieve General 
No 
Optional 
Implementation Specific Characteristics
Zero Block Size
The following instructions and primitives have the block size specified in the code (as opposed to being runtime data). The following table shows how each will perform if a zero block size is specified. Applies to all masks.
Type 
Instruction / Primitive 
Operation 

Instruction 
LOAD, STORE, LOADI, STOREI 
no operation 
CLEARN 
no operation 

TESTN, INCN, DECN, NOTN 
Z = 1 

CMPN, ADDN, SUBN 
C = 0, Z = 1 

ANDN, ORN, XORN 
Z = 1 

Primitive 
MultiplyN 
Z = 1 
DivideN 
C = 1, Z = unchanged 

ShiftLeft, ShiftRight 
C = 0, Z = 1 

GetDIRFileRecord 
One byte set to zero pushed onto stack, If the application specified does not exist, C = 1, Z = 1 If the application specified exists, C = 0, Z = 0 

GetManufacturerData 
One byte set to zero pushed onto stack, C = 0 Undefined: implementation specific handling Undefined: implementation specific handling 

MemoryCompareFixedLength 
DT’ = DT  4, C = 0, Z = 1 

MemoryCopyFixedLength 
DT’ = DT  4 
Maximum Number of Pages Permitted in a Single Write
The maximum number of pages is at least nine when transaction protection is used. It is possible to write more than nine pages if there is free EEPROM. Note that if an attempt is made to write more than 9 pages and if there is insufficient free EEPROM, then an abnormal end to processing to will occur.
Condition Code Register
This implementation does support signed arithmetic. The N and V flags are present in the CCR, and they may be changed by some instructions. However, signed arithmetic is not guaranteed and should be avoided. They may be used by an application using the Load CCR and Store CCR primitives, but this may affect the portability of the application.
Supported Modulus Lengths of Cryptographic Primitives
All values given are in bytes.
Primitive 
Lengths supported 

Modular Exponentiation, public exponent not 3 
Greater than 0, but less than or equal to 256 bytes 
Modular Exponentiation, public exponent of 3 
Greater than 0, but less than or equal to 256 bytes 
Modular Exponentiation CRT 
Between 2 and 256 bytes inclusive 
Modular Multiplication 
Greater than 0, but less than or equal to 256 bytes 
Modular Reduction 
Greater than 0, but less than or equal to 256 bytes 
Generate Random Prime 
Prime must be > 5 bytes and less than or equal to 128 bytes 
RSA key pair Generation 
Modulus size must be less than or equal to 256 bytes 
Important Remarks
This section contains important remarks about the Primitives and IFD commands of this implementation. Applies to all masks.
Functionality 
Operation 

Automated sending of Work Wait Time extension 
The chip returns WWT extension request bytes up to when 75% of the WWT has expired. 
Bit Manipulate Byte Bit Manipulate Word 
Bits 6 to 2 of b2 are ignored. That is, the primitives return the expected result regardless of the value of bits 6 to 2 of b2. 
Checksum 
If the checksummed area includes the parameters (the top four bytes of Dynamic), the checksum will be correctly calculated. 
Default Application 
This version 4.2.1 functionality is supported 
DivideN 
The length of each operand must not be greater than 128 bytes 
Generate Asymmetric Hash General 
If b2 (mode) takes an unsupported value, this primitive performs no operation. In particular, no bytes are popped from the stack.
This primitive supports a hash modulus length of 72 bytes in conjunction with a 16byte hash digest or a 128byte modulus with a hash chain length of 20 bytes. 
Generate Random Prime 
To avoid abend:
Note: Conf = 80 ensures probability of prime being composite is <= 2^{80} If suitable prime is not found function does not return (abend) 
Get Manufacturer Data Get MULTOS Data Get Purse Type 
If the destination is stack top, the last byte of retrieved data will be overwritten by the length of data retrieved. That is, the number of bytes copied is always returned on the stack regardless of the destination segment address.

Get Memory Reliability 
MULTOS 4 always indicates memory is reliable: C = 0, Z = 0. 
Lookup 
If the target value appears more than once in the list, the location of the first is reported. The list need not be sorted. If the target value is not found, it is left unchanged on the stack. 
Modular Exponentiation 
The least significant bit of the modulus must be 1. The exponent length and value must be greater than 0. The modulus length must be greater than 0 and less than or equal to 256 bytes. The modulus must not contain any full byte zeros at the most significant end. Modulus Length must be >= Exponent Length If Modulus Length is > 128 bytes then Exponent Length must not be > 4 bytes If any of the conditions above are not met, an abnormal end will occur.

Modular Exponentiation CRT 
The modulus length must be greater than 0, but not greater than 256 bytes. The length must also be an even number. The length of each item must be modulus length divided by 2. The most significant byte of primes p and q must not be 0. The least significant bits of the primes p and q must be 1. X (in calculation Y=X^{d}modN) must not be equal to 0. If any of these conditions are not met, an abnormal end to processing will occur. X (in calculation Y=X^{d}modN) must not be equal to 1. If the above condition is not met, undefined results will occur. 
Modular Multiplication 
The modulus length must be greater than 0 and less than or equal to 256 bytes. Note this length does not include any leading zero bytes. 
Modular Reduction 
The modulus length must be greater than 0 and less than or equal to 256 bytes. The data length must be equal to or greater than the modulus length. The modulus must not have any leading zero bytes. If any of these conditions are not met, an abnormal end will occur. 
MultiplyN 
The length of each operand must not be greater than 128 bytes 
Proprietary Primitive Extension 
There are four such primitives. They are:
Note that the Query function sets CCR Z = 1 if the proprietary primitive is supported, otherwise CCR Z = 0 
RSA Key Pair Generation (proprietary) 
To avoid abend:

Set Transaction Protection 
Bits 7 to 2 of b2 are ignored. That is, the primitive returns the expected result regardless of the value of bits 7 to 2 of b2. Infineon chips copy the source data to a temporary store and any updates are made to the source data. In the case of a rollback, the copy of the original source data is written to the source. 
Shift Left and Shift Right 

Codelets Available
For I4E(011) on 80PE and 162PE, the following codelets are available:
 0022 Korean Digital ID Application for MULTOS
 0007 M/Chip Select v 2.0.5
 0026 M/Chip 4 version v 1.1
 0032 MasterCard Open Data Storage Release 5
 0037 Welcome Real Time XLS v 1.0
 003B Transend PocketServer codelet v 1.0
 0035 iSmart VSDC v 1.0
For I4E(012) on 360PE, the following codelets are available:
 0025 J/Smart 2.0
 0022 Korean Digital ID Application for MULTOS
 0026 M/Chip 4 version v 1.1
 0007 M/Chip Select v 2.0.5
 0032 MasterCard Open Data Storage Release 5
 0005 MXI crypto codelet version v 0.3
 002F Precise Biometrics ‘Match On Card’ v 1.00
 000F Keycorp PKI Filesys Application V1.01
 000E Keycorp PKI Signing Application V1.04
 0037 Welcome Real Time XLS v 1.0
 003B Transend PocketServer codelet v 1.0
 003F Korean ATM cash codelet
 0035 iSmart VSDC v 1.0
 0020 Mondex purse codelet 2+ SR2
For I4E(013) on 360PE, the following codelets are available:
 0026 M/Chip 4 v1.1
 0007 M/Chip v2.05
 0035 iSmart VSDC codelet v2.0
 0032 MasterCard Open Data Storage MODS Release 5
 0037 Welcome Real Time XLS codelet v1.0
 0014 Mondex Purse 2+ SR2
 0005 Mondex Ocrypto V0.3
 000E Keycorp PKI Signing V1.04
 000F Keycorp PKI File system V1.01
 0022 Korean ID (Keycorp ID) V1.00
 002F Precise Biometrics "MatchOn_Card" v1.00
 0045 Precise Biometrics "MatchOn_Card" v3.00
 003B Pocket Sever
 0025 J/Smart v2.00
 0046 Buypass PKI BEID
 0047 Buypass ID BID
 0048 Eastcompeace PBOC20 v1.0
 0049 Eastcompeace PSE v1.0
 0043 Mastercard MICA 1411 v0.1
For I4E(054) on 680PE, the following codelets are available:
 0025 J/Smart 2.0
 0022 Korean Digital ID Application for MULTOS
 0026 M/Chip 4 version v 1.1
 0007 M/Chip Select v 2.0.5
 0032 MasterCard Open Data Storage Release 5
 0005 MXI crypto codelet version v 0.3
 002F Precise Biometrics ‘Match On Card’ v 1.00
 0045 Biometrics API  Matchoncard codelet v3.0
 000F Keycorp PKI Filesys Application V1.01
 000E Keycorp PKI Signing Application V1.04
 0037 Welcome Real Time XLS v 1.0
 0031 MULTOS License Management System Application v1.00
 0030 MULTOS License Management System Interface Library v 1.00
 0020 Mondex purse codelet 2+ SR2
For I4E(015) on 80PE and 162PE, the following codelets are available:
 0022 Korean Digital ID Application for MULTOS
 0050 M/Chip Select v 2.0.6
 0043 MasterCard MICA 1411 v 0.1
 0037 Welcome Real Time XLS v 1.0
 003B Transend PocketServer codelet v 1.0
 0035 iSmart VSDC v 2.0
For I4E(016) on 680PE, the following codelets are available:
 0007 M/Chip v2.05
 0026 M/Chip 4 v1.1
 0043 MasterCard MICA 1411 v 0.1
 0051 MasterCard MICA 1412 v 0.2
 0050 M/Chip Select v 2.0.6
 0035 iSmart VSDC codelet v2.0
 0032 MasterCard Open Data Storage MODS Release 5
 0037 Welcome Real Time XLS codelet v1.0
 0014 Mondex Purse 2+ SR2
 0005 Mondex Ocrypto V0.3
 000E Keycorp PKI Signing V1.04
 000F Keycorp PKI File system V1.01
 0022 Korean ID (Keycorp ID) V1.00
 002F Precise Biometrics "MatchOn_Card" v1.00
 0045 Precise Biometrics "MatchOn_Card" v3.00
 003B Transend PocketServer codelet v 1.0
 0046 Buypass PKI BEID
 0047 Buypass ID BID
 0048 Eastcompeace PBOC20 v1.0
 0049 Eastcompeace PSE v1.0