UBM21-G21

UBM21-G21 on SC23Z018

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

  

External Characteristics

 

Data Item

Value

Comments

External Specification

MULTOS Version

4.3.1

 

Silicon Provider / manufacturer_id

STMicroelectronics / 0x02

 

Implementers / implementer_id

UBIVELOX / 0x07

 

Mask / ic_type

UBM21-G21 / 0x0F

 

Technical Data

Power / External Clock

3V to 5V / 1 to 10 MHz

 

Transport Protocol

T=0, T=1

 

FI/DI

0x01, 0x02, 0x03, 0x08,

0x11, 0x12, 0x13, 0x18,

0x32, 0x33, 0x34, 0x38,

0x92, 0x93, 0x94, 0x95,

0x96

 

Dual ATR

Not Supported

 

PPS

Supported

 

ATR Character Convention Direct LSB (3B)

Supported

 

ATR Character Convention Indirect MSB (3F)

Supported

 

Memory Area Sizes

AMD

0138v0001

 

ROM

252K

 

RAM Public

529 bytes

 

RAM Dynamic

1280 bytes

 

EEPROM Total

Variable

18K on UBM21-G21

EEPROM available for applications

Variable

12143 bytes on UBM21-G21


Application Related Characteristics

 

Data Item

Value

Comments

Application EEPROM Loading Requirements

Application Header

70 Bytes

 

Total temporary space per protected ALU

Variable

It is dependent on application provider key size.

Total temporary space per confidential ALU

Variable

It is depends on KTU Size.

MULTOS Application Function

Static Page Size (1 page)

64 Bytes

 

Maximum write size in pages

At least 9 pages

Limited by free EEPROM

Maximum ATR File record size

32 Bytes

 

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

261 Bytes

 

Maximum delegation nest count

Limited by available

EEPROM

 

Maximum application history list entries

10

 

Retry Counters

Set MSM Controls

30

 

Create MEL Application

15

 

Delete MEL Application

20

 

Key Lengths

KCK Public Key length

128 Bytes

 

Permitted Application Provider Public Key lengths

32 to 128 bytes

 

MULTOS TKCK length

128 bytes

 

 


 

Primitive Support

The primitives listed here are those that were included in the target specification.

 

Primitive

Supported

Optional / Mandatory

3DES ECB Decipher

No

 

3DES ECB Encipher

No

 

Add BCDN

Yes

 

AES ECB Decipher

No

 

AES ECB Encipher

No

 

Block Decipher

Yes

 

Block Encipher

Yes

 

Bit Manipulate Byte

Yes

 

Bit Manipulate Word

Yes

 

Call Codelet

Yes

 

Call Extension

No

 

Card Block

Yes

 

Card Unblock

Yes

 

Check Case

Yes

 

Checksum

Yes

 

Configure Read Binary

No

 

Control Auto Reset WWT

Yes

 

Convert BCDN

Yes

 

Delegate

Yes

 

DES ECB Decipher

Yes

 

DES ECB Encipher

Yes

 

DivideN

Yes

 

ECC Addition

Yes(partially)

Available only affine(point1_representation can use between 0x00 and 0x7F).

ECC Convert Representation

Yes

 

ECC ECIES Decipher

No

 

ECC ECIES Encipher

No

 

ECC Elliptic Curve Diffie Hellman

No

 

ECC Equality Test

Yes

 

ECC Generate Key Pair

No

 

ECC Generate Signature

No

 

ECC Inverse

Yes

 

ECC Scalar Multiplication

Yes

 

ECC Verify Point

Yes

 

ECC Verify Signature

No

 

Exchange Data

No

 

Exit to MULTOS and Restart

No

 

Generate Asymmetric Hash General

Yes

 

Generate Asymmetric Signature General

Yes

 

Generate DES CBC Signature

Yes

 

Generate Random Prime

Yes

 

Generate RSA Key Pair

Yes(partially)

Available only method = 0

and mode = 0(Performance Mode)

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

Yes

 

Get Purse Type

Yes

 

Get Random Number

Yes

 

Get Static Size

No

 

GSM Authenticate

No

 

Initialise PIN

Yes

 

Load CCR

Yes

 

Lookup

Yes

 

Memory Compare

Yes

 

Memory Compare Fixed Length

Yes

 

Memory Copy

Yes

 

Memory Copy Additional Static

No

 

Memory Copy Fill Additional Static

No

 

Memory Copy Fixed Length

Yes

 

Memory Copy Non-Atomic

Yes

 

Memory Copy Non-Atomic Fixed Length

Yes

 

Memory Fill Additional Static

No

 

Modular Exponentiation/RSA Sign

Yes

 

Modular Exponentiation CRT/RSA Sign CRT

Yes

 

Modular Exponentiation CRT Protected/RSA Sign Protected

Yes

 

Modular Inverse

Yes

 

Modular Multiplication

Yes

 

Modular Reduction

Yes

 

MultiplyN

Yes

 

Pad

Yes

 

Platform Optimized Checksum

Yes

 

Query Channel

No

 

Query Codelet

Yes

 

Query Cryptographic Algorithm

Yes

 

Query Interface Type

Yes

 

Query 0, Query1, Query2, Query3

Yes

 

Read PIN

Yes

 

Reset Session Data

Yes

 

Reset WWT

Yes

 

Return from Codelet

Yes

 

RSA Verify

Yes

 

Secure Hash

Yes

 

Secure Hash IV

No

 

SEED ECB Decipher

Yes

 

SEED ECB Encipher

Yes

 

Set AFI

Yes

 

Set ATR File Record

Yes

 

Set ATR Historical Characters

Yes

 

Set ATS Historical Characters

Yes

 

Set Contactless Select SW

No

 

Set FCI Record

Yes

 

Set PIN Data

Yes

 

Set Select SW

Yes

 

Set Silent Mode

No

 

Set Transaction Protection

Yes

 

SHA-1

Yes

 

Shift Left

Yes

 

Shift Right

Yes

 

Store CCR

Yes

 

Subtract BCDN

Yes

 

Unpad

Yes

 

Verify PIN

Yes

 

Verify Asymmetric And Retrieve General

                                Yes

 

 

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.

 

 

Type

Instruction / Primitive

Operation

Instruction

LOAD, STORE, LOADI, STOREI, CLEAN

No operation

TESTN, INCN, DECN, NOTN

ANDN, ORN, XORN

Z=1

CMPN, ADDN, SUBN

C=0, Z=1

Primitive

MultiplyN

Z=1

DivideN

C=1, Z=Unchanged

ShiftLeft, ShiftRight

C=0, Z=1

GetDIRFileRecord

GetFCIContolInformation

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

GetPurseType

One byte set to zero pushed onto stack, C = 0

MemoryCompareFixedLength

DT’ = DT - 4, Z = 1

MemoryCopyFixedLength

DT’ = DT - 4

 

Maximum Number of Pages Permitted in a Single Write

The maximum number of pages is at least sixteen when transaction protection is used. It is possible to write more than twenty pages if there is free EEPROM. Note that if an attempt is made to write more than 16 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

Delegate

When the application issues the Delegate primitive, Dynamic (Only the part used) and application control information on the issued application save once to area of EEPROM(Delegation stack).

Therefore, the application developer should consider EEPROM writes in every Delegate primitive issuance.

ECC Addition

When the application use for this primitive, Can use only affine coordinates.

Generate RSA Key Pair

When the application use for this primitive, Can use only method = 0 and mode = 0(Performance Mode).

 

Codelets Available

There is one codelet available:

0062 MULTOS MICA Codelet 1414 Release 2 Update 1