iF1

iF1 on SLE66CL80PEM

Application Related Characteristics | Primitive Support  | Implementation Specific Characteristics | Codelets Available

 

External Characteristics

 

Data Item

Value

Comments

External Specification

MULTOS step/one Version

1.3

 

Silicon Provider / manufacturer_id

Infineon / 0x05

 

Implementer / implementer_id

Keycorp / 0x02

 

Mask / ic_type(s)

iF1-0611 / 0x86

 

Technical Data

Power / External Clock

2.7V to 5.5V / 1 to 7.5 MHz

 

Transport Protocol

T = 0, T = 1, T=CL

Type A supports 106kbps, 424 kbps and 848 kbps

Type B supports 106kbps, 424 kbps and 848 kbps

FI/DI

0x01, 0x02, 0x03, 0x08, 0x11, 0x12, 0x13, 0x18, 0x32, 0x33, 0x34, 0x38, 0x92, 0x93, 0x94, 0x95, 0x96, 0xA3, 0xA4, 0xA5, 0xA6, 0xA8

 

Dual ATR

Supported

Pre-enablement ATR: 3BFF9600FFC00A31FE4D8031E06B061105028655555555555572

Pre-enablement ATS: 14800B8028031E06B061105028655555555555556A4

PPS

Supported

max speed 446kbps @ 3.58MHz

ATR Character Convention Direct LSB (3B)

Supported

 

ATR Character Convention Indirect MSB (3F)

Supported

 

Memory Area Sizes

AMD

0085v001

 

ROM

92K

 

RAM Public

308 bytes

 

RAM Dynamic

512 bytes

 

EEPROM Total

8K

 

EEPROM available for applications

6534 bytes

 

 

Application Related Characteristics

 

Data Item

Value

Comments

Application EEPROM Loading Requirements

Application Header

51 bytes

Applies to all masks

Total temporary space per protected ALU

none in EEPROM

8 bytes of RAM

 

Total temporary space per confidential ALU

none in EEPROM

 

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

0 bytes

Can be modified via AMD. Note that the Get MULTOS Data command incorrectly reports a value of 0x20 regardless of actual value.

Maximum ATR Historical Byte record size

15 bytes

 

Maximum DIR File record size

255 bytes

 

Maximum FCI record size

255 bytes

 

Maximum inbound TPDU size

260 bytes

 

Maximum outbound TPDU size

291 bytes

 

Maximum delegation nest count

Limited by available EEPROM

 

Maximum application history list entries

Limited by available EEPROM

 

Retry Counters

Enablement

31

 

Create MEL Application

32

 

Delete MEL Application

32

 

 


Primitive Support

The primitives listed here are those that were included in the target specification. For MULTOS step/one all primitives are optional.

 

Primitive

Supported

Comment

Add BDCN

Yes

 

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

Limited to 12 byte operands

ECC Addition

No

 

ECC Convert Representation

No

 

ECC Equality Test

No

 

ECC Inverse

No

 

ECC Scalar Multiplication

No

 

ECC Verify Point

No

 

Exchange Data

No

 

Generate Asymmetric Hash General

No

 

Generate Asymmetric Signature General

No

 

Generate DES CBC Signature

Yes

 

Generate Random Prime

No

 

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 Card Data

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

No

 

Modular Exponentiation CRT

No

 

Modular Inverse

No

 

Modular Multiplication

No

 

Modular Reduction

No

 

MultiplyN

Yes

Limited to 12 byte operands

Process Proprietary Extension Primitives (0-6)

No

Extension 2 is used for SEED implementation

Query Channel

Yes

 

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

 

SEED ECB Encipher

Yes

 

Set AFI

No

 

Set ATR File Record

Yes

 

Set ATR Historical Characters

Yes

 

Set ATS Historical Characters

Yes

 

Set FCI Record

Yes

 

Set Select SW

Yes

 

Set Transaction Protection

Yes

 

SHA-1

Yes

 

Shift Left

Yes

 

Shift Right

Yes

 

Store CCR

Yes

 

Subtract BCDN

Yes

 

Verify Asymmetric And Retrieve General

No

 

 

 

Implementation Specific Characteristics

Zero Block Size

The following instructions and primitives have the block size specified in the code (as opposed to being run-time 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
GetFileControlInformation

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
GetMULTOSData
GetCardData

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.

 

 

 


Important Remarks

This section contains important remarks about the Primitives and IFD commands of this implementation.

 

Functionality

Operation

Automated sending of Work  Wait Time extension

The chip returns WWT extension request bytes 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 functionality is supported

DivideN

The length of each operand must not be greater than 12 bytes

Get Manufacturer Data

Get MULTOS Data

Get Card Data

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.

MultiplyN

The length of each operand must not be greater than 12 bytes

Proprietary Primitive Extension

None

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

  • With b2 > 0, if b3 = 0, C= 0 and Z is set appropriately.
    The output block is equal to the input block (the input block is not changed).
  • With b2 > 0, if b3 > 8 * b2, C = 0 and Z = 1.
    The output block is zero.

 

Codelets Available

There are six codelets available:

  • 0051 MULTOS MICA 1412 v0.2
  • 003C PayPass M/Chip 4 v0.2
  • 0035 iSmart VSDC  v2.0
  • 0037 Welcome Real Time XLS v1.0
  • 003B Transcend Pocket Server v1.0
  • 0060 CardisRel2 DES Codelet V1.05

 

ROMlets Available

None.