Why is imKey so "slow" when creating a wallet?

Why is imKey so "slow" when creating a wallet?

The imKey hardware wallet takes longer to create a new wallet compared to other wallets due to its security-focused approach. To ensure maximum security, the wallet generates the root key by performing 2048 HMAC-SHA512 hash operations inside the SE chip, rather than relying on external MCU chips to perform the operations and then write the result to the SE chip. The SE chip has a lower computing power compared to general-purpose MCU chips because each operation is encrypted before computation to prevent physical or side-channel attacks. Therefore, the SE chip may appear slower when generating the wallet root key according to BIP39 specifications. However, imKey believes that the extra 20-30 seconds spent waiting for the wallet to be created is worth the higher level of security provided.

Why is creating a wallet with imKey slower than with other wallets?

Creating a new wallet with imKey takes longer than with other wallets, which may seem "slow", but this is a necessary choice made by imKey to prioritize security during key generation.

So why is "slower" safer?

According to the BIP39 specification, the generation of the root key requires 2048 HMAC-SHA512 operations on the entropy (as shown in the figure).

[ BIP39 Specification, see https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki#from-mnemonic-to-seed ]

To maximize the security of the root key, all operations and results should be completed independently within the SE chip during the key generation process, rather than relying on external computation (such as an MCU chip) and then writing the result to the SE chip.

The SE chip is more focused on security, and its computing power is relatively low compared to a general-purpose MCU chip (because each operation of the SE chip must encrypt the data before computation to prevent physical or side-channel attacks; similarly, the SE chip cannot add a coprocessor to accelerate hash computations), so the SE chip may appear to be somewhat slower when generating the wallet root key according to the BIP39 specification.

imKey follows this principle and sets all 2048 hash operations required for root key generation within the SE chip, rather than relying on external computations (such as an MCU chip). The imKey Pro hardware wallet uses the SLE 78CLUFX5000PH secure chip produced by the well-known chip manufacturer Infineon. A single HMAC-SHA512 hash computation using this chip takes about 13-14ms, which is generally imperceptible to users in daily use. However, during wallet creation, because it is necessary to perform 2048 hash computations continuously, the time required is about 20-30s (2048 * 14ms), which may seem "slow" compared to other hot wallets or non-secure chip-based hardware wallets.

imKey always regards "security" as the core value. During wallet creation, it requires users to wait for only about 30 seconds, but it provides a higher level of security for the wallet root key. The imKey team believes that this is a very valuable "trade-off" and a more responsible "choice" for users.

Definitions:

SE:Secure Element, which refers to a secure chip that is a security module and a microcomputer that implements functions such as secure data storage and encryption/decryption through a secure chip and chip operating system (COS). The SE can be packaged in various forms, including smart cards and embedded secure modules (eSE).
    MCU:Microcontroller Unit, also known as a "microcontrol unit", is a microchip that integrates the CPU frequency and specifications to reduce the size, and integrates memory, counters, USB, A/D conversion, UART, PLC, DMA and other peripheral interfaces, and even LCD driver circuits on a single chip, forming a chip-level computer for different application scenarios.
      BIP39:Bitcoin Improvement Proposal 39 is one of the Bitcoin Improvement Proposals, which proposes a wallet backup and recovery solution based on mnemonic words, so that users no longer need to remember and store a long string of random characters, but only need to remember a set of mnemonic words to back up and restore their wallet. The BIP39 specification defines the generation method of wallet mnemonic words, the algorithm for deriving wallet seeds from mnemonic words, etc., and is a standard used by many wallet software and hardware wallets.