Announcements

Viewing topic 1 (of 1 total)
Viewing topic 1 (of 1 total)

Chris Torr

Forum Replies Created

Viewing 15 posts - 1 through 15 (of 21 total)
  • Author
    Posts
  • in reply to: Up-to-date list of primitives for MUtil.ini #4979
    Chris Torr
    Keymaster
    August 7, 2020

    You’re welcome. Please check back here regularly for further additions.

    • This reply was modified 7 months, 2 weeks ago by Chris Torr.
    in reply to: Up-to-date list of primitives for MUtil.ini #4922
    Chris Torr
    Keymaster
    August 7, 2020

    This is the latest list of primitives for MULTOS 4.5.5 products.

    [PRIMITIVES]
    ;Format is =
    0001=Check Case
    0002=Reset WWT
    0003=Get Session Size
    0004=Update Session Size
    0005=Load CCR
    0006=Store CCR
    0007=Set ATR File Record
    0008=Set ATR Historical Characters
    0009=Get Memory Reliability
    000A=Lookup
    000B=Memory Compare
    000C=Memory Copy
    000D=Query Interface Type
    000E=Set ATS Historical Characters
    000F=Memory Copy Non-Atomic
    0010=Control Auto Reset WWT
    0011=Set FCI File Record
    0012=Set AFI
    0013=Card Unblock
    0014=Lookup Word
    0015=Get Configuration Data
    0016=Get Transaction State
    0017=Exit to MULTOS and Restart
    0018=Update Process Events
    0019=Memory Fill
    0080=Delegate
    0081=Reset Session Data
    0082=Checksum
    0083=Call Codelet
    0084=Query Codelet
    0085=Exchange Data
    0086=Query Channel
    0087=Get FCI State
    008A=Query Cryptographic Algorithm
    0089=Platform Optimised Checksum
    00C1=DES ECB Encipher
    00C2=Modular Multiplication
    00C3=Modular Reduction
    00C4=Get Random Number
    00C5=DES ECB Decipher
    00C6=Generate DES CBC Signature
    00C7=Generate Triple DES CBC Signature
    00C8=Modular Exponentiation / RSA Sign
    00C9=Modular Exponentiation CRT / RSA Sign CRT
    00CA=SHA-1
    00CB=GSM Authenticate
    00CC=Generate Random Prime
    00CD=SEED ECB Decipher
    00CE=SEED ECB Encipher
    00CF=Secure Hash
    00D0=ECC Addition
    00D1=ECC Convert Representation
    00D2=ECC Equality Test
    00D3=ECC Inverse
    00D4=ECC Scalar Multiplication
    00D6=AES Decipher
    00D7=AES Encipher
    00D8=Triple DES ECB Decipher
    00D9=Triple DES ECB Encipher
    00DA=Check BCD
    00DB=Get Replaced Application State
    00DC=Modular Exponentiation CRT Protected / RSA Sign CRT Protected
    00DD=Get AID
    00E4=Secure Hash IV
    00E5=Initialise PIN
    00E6=Read PIN
    00E7=Verify PIN
    00E8=Get Process Event
    00E9=Reject Process Event
    00EB=RSA Verify
    00EC=Flush Public
    0100=Query0
    0101=Query1
    0102=Query2
    0103=Query3
    0104=Update Static Size
    0105=Memory Compare Enhanced
    0106=Memory Copy From Replaced Application
    0107=Manage Stack
    0108=DivideN
    0109=Get DIR File Record
    010A=Get File Control Information
    010B=Get Manufacturer Data
    010C=Get MULTOS Data
    010D=Get Purse Type
    010E=Memory Copy Fixed Length
    010F=Memory Compare Fixed Length
    0110=MultiplyN
    0111=Add BCDN
    0112=Subtract BCDN
    0113=Memory Copy Non-Atomic Fixed Length
    0114=Convert BCD
    0115=Pad
    0116=Unpad
    0117=Get Available Interface Types
    0118=Control Atomic Writes
    0180=Set Transaction Protection
    0181=Get Delegator AID
    0185=Set PIN Data
    0186=Get PIN Data
    0187=Get Data
    01C4=Generate Asymmetric Hash General
    01C6=Generate MAC
    01D0=Modular Inverse
    01D1=ECC Verify Point
    01DC=Configure Read Binary
    01DD=Memory Copy Additional Static
    01DE=Memory Fill Additional Static
    01DF=Get Static Size
    01E1=Generate Asymmetric Signature General
    01E2=Verify Asymmetric and Retrieve General
    01E3=Set Silent Mode
    01E4=Initialise PIN Extended
    01E5=ECC Generate Signature
    01E6=ECC Verify Signature
    01E7=ECC Generate Key Pair
    01E8=ECC Elliptic Curve Diffie Hellman
    01E9=ECC ECIES Decipher
    01EA=ECC ECIES Encipher
    0201=Bit Manipulate Byte
    0202=Shift Left
    0203=Shift Right
    0204=SetSelectSW
    0205=CardBlock
    0206=SetContactlessSelectSW
    0207=ShiftRotate
    0280=Return From Codelet
    02DA=Block Decipher
    02DB=Block Encipher
    02E0=Generate RSA Key Pair
    0301=Bit Manipulate Word
    0380=Call Extension 0
    0381=Call Extension 1
    0382=Call Extension 2
    0383=Call Extension 3
    0384=Call Extension 4
    0385=Call Extension 5
    0386=Call Extension 6

    in reply to: How to do an ECC signature? #4921
    Chris Torr
    Keymaster
    August 7, 2020

    These are just fragments of code that you can add to your own application.

    in reply to: “Nothing to build” error in Eclipse #3497
    Chris Torr
    Keymaster
    August 7, 2020

    The same solutions also work if the MULTOS project type is not visible (under Others) when creating a new C Project in Eclipse.

    in reply to: Multos Trust Anchor in contact smart card mode and GPIO? #387
    Chris Torr
    Keymaster
    August 7, 2020

    Hi Damien,

    If you’re interested to know why, the attributes are part of the debug file (.hzx) and can be picked up by the tools in Smartdeck, e.g. hterm and melcertgen.

    MUtil does not read the debug files, only the final release code (.alu files) so you have to specify the ALC parameters manually in MUtil (or in the KMA interface when using live cards).

    Regards,
    Chris.

    in reply to: Multos Trust Anchor in contact smart card mode and GPIO? #385
    Chris Torr
    Keymaster
    August 7, 2020

    Hi, yes it is possible. You will however get an abend if you don’t set the correct access_list bit or if you initialise the GPIO pins more than once between resets, but those wouldn’t be firewall violations. Look for bad array indexing or bad pointers, anything that produces an out of bounds memory read/write.

    Regards,
    Chris

    Chris Torr
    Keymaster
    August 7, 2020

    Hi Damien,

    Try connecting Vcc (pin 11 on breakout board) as well as Vcc_ISO. That works for me. I do also have all the GND pins connected to GND.

    Regards,
    Chris.

    in reply to: How to load MULTOS OS into a smart card ? #382
    Chris Torr
    Keymaster
    August 7, 2020

    Hi. In answer to your questions…

    1,2 & 3) You buy the chip with the OS already loaded.

    4) Some MULTOS cards with contactless support already support MIFARE

    Regards,
    Chris.

    in reply to: Version of IC on Multos IoT Trust Anchor? #381
    Chris Torr
    Keymaster
    August 7, 2020

    The Infineon product name is SLE78CLUFX5000PHM. I will update the page linked to above to make that much clearer.

    in reply to: Version of IC on Multos IoT Trust Anchor? #379
    Chris Torr
    Keymaster
    August 7, 2020

    Hi Damien,

    You can find more details on the IC here.

    To get information on the implementation you can use the hterm options -multos and -manufacturer.

    Hope that helps.
    Chris.

    in reply to: Multos Trust Anchor and maximum key size for ECC #378
    Chris Torr
    Keymaster
    August 7, 2020

    Hi Damien,

    The prime length range supported is 21 – 66 bytes inclusive. That rules out the smaller curves you tried.

    Domain parameters must also be consistent with Short Weierstrass equation representation (y^2 = x^3 + A.x +B). Perhaps that is why some of the others didn’t work?

    Chris.

    in reply to: Load Live is failing with MUTIL 2.6 and higher. #364
    Chris Torr
    Keymaster
    August 7, 2020

    You have uncovered a couple of issues here, thanks. The core one though is that when block-mode loading of data was introduced the functionality wasn’t included for AUR files. To be honest, I didn’t know anyone was still using AUR files!

    The cards you are using don’t support block-mode loading anyway, so deselect that option in StepXpress for your application and get new ALCs. Hopefully then all should be fine with the interim version of MUtil I have sent to you. I will do a formal release including these changes (and others) when I know all is OK.

    Thanks for your input.
    Chris.

    in reply to: Load Live is failing with MUTIL 2.6 and higher. #363
    Chris Torr
    Keymaster
    August 7, 2020

    Hi Bernard, I’ll have a look and see what may be causing that. MUtil 2.2 is REALLY old!

    Thanks,
    Chris.

    in reply to: Performance tips #362
    Chris Torr
    Keymaster
    August 7, 2020

    If you need to clear a block of memory, use multosClear() rather than memset(). This works for up to 255 byte buffer and is a single MEL instruction so is much quicker.

    in reply to: Card Free Space APDU #344
    Chris Torr
    Keymaster
    August 7, 2020

    Hi Bernard,

    The APDU to use is Get Configuration Data.

    CLA=80
    INS=10
    P1=01
    P2=00
    Le=03

    See the MDRM for more details. You can also use the Remaining E2 Size button in MUtil.

    Cheers,
    Chris.

Viewing 15 posts - 1 through 15 (of 21 total)