Multi-level mnemonic phrase generating system for cold wallet and method thereof

TW202638613AActive Publication Date: 2026-09-16AMIS TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
TW114108529
Authority / Receiving Office
TW · TW
Patent Type
Applications
Current Assignee / Owner
Filing Date
2025-03-07
Publication Date
2026-09-16
Estimated Expiration
2045-03-06

AI Technical Summary

Technical Problem

Existing cold wallet systems face challenges in securely storing mnemonic phrases due to the risk of loss and management difficulties when phrases are divided across multiple locations, leading to potential loss of the entire private key if any part is lost.

Method used

A multi-level mnemonic phrase generation system that uses a first and second secret sharing algorithm to divide entropy values into n parent and N sub-segments, each with unique identifiers, ensuring secure storage across different carriers.

Benefits of technology

Enhances security and management convenience by allowing recovery of the private key even if some segments are lost, while maintaining robust protection against unauthorized access.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure TWG2TA001075697_001
    Figure TWG2TA001075697_001
  • Figure TWG2TA001075697_002
    Figure TWG2TA001075697_002
  • Figure TWG2TA001075697_003
    Figure TWG2TA001075697_003
Patent Text Reader

Abstract

A multi-level mnemonic phrase generating system for cold wallet and method thereof is disclosed. By using a computing device when creating a cold wallet, the entropy of the cold wallet is randomly generated. Then, based on the entropy, the mnemonic phrase, seed, key pair, and wallet address are derived. Next, a first secret sharing algorithm is executed to divide the entropy into n parent shares, which serve as the first-level mnemonic phrase. Subsequently, a second secret sharing algorithm is executed to divide each parent share into N child shares, which serve as the second-level mnemonic phrase. Each child share is then output to a different carrier through an output device, wherein, each child share corresponding to the same parent share is assigned the same identifier for recognizing its associated parent share. The mechanism is help to improve the security and management convenience of the mnemonic phrase for cold wallets.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to a mnemonic phrase generation system and method, particularly a multi-level mnemonic phrase generation system and method for cold wallets. Prior Technology

[0002] In recent years, with the popularization and rapid development of cryptocurrencies, various applications to ensure the security of cryptocurrencies have sprung up like mushrooms after rain. Among them, cold wallets are considered to be one of the more secure storage methods.

[0003] Generally, the security of cold wallets relies on offline storage and self-managed private keys. However, if the mnemonic phrase of a cold wallet is stolen, even if the wallet is stored offline, attackers can still recover the private key and transfer the assets from anywhere. Therefore, how to securely store the mnemonic phrase is one of the problems that various vendors urgently need to solve.

[0004] In light of this, some manufacturers have proposed a technique to store mnemonic phrases in segments, dividing them into several parts and storing them in different secure locations (such as bank safe deposit boxes, different locations in the home, etc.). However, because this method involves storing the phrases in multiple locations, the risk of loss also increases significantly. If one part of the mnemonic phrase is lost, the entire private key cannot be recovered. Furthermore, scattering mnemonic phrases in various locations also creates management difficulties.

[0005] In conclusion, it is clear that previous technologies have long suffered from insufficient security and management convenience of cold wallet mnemonic phrases. Therefore, it is necessary to propose improved technical means to solve this problem. Summary of the Invention

[0006] This invention discloses a multi-level mnemonic phrase generation system and method for cold wallets.

[0007] First, this invention discloses a multi-level mnemonic phrase generation system for cold wallets, installed on a computing device connected to an output device. This system includes: a creation module, a first segmentation module, a second segmentation module, and an output module. The creation module, when creating a cold wallet, randomly generates an entropy value composed of multiple bits, generates a corresponding set of mnemonic phrases based on the entropy value and a dictionary file, calculates a seed from this set of mnemonic phrases using a key derivation function, and then generates a key pair and its corresponding wallet address based on this seed. The first segmentation module, connected to the creation module, executes a first secret sharing algorithm to segment the entropy value into n parent segments, considered as the first-level mnemonic phrases. The m parent segments, combined with a first interpolation algorithm, calculate a constant term whose value equals the entropy value. n and m are positive integers, and n... m; The second segmentation module connects to the first segmentation module and is used to execute the second secret sharing algorithm to segment each parent segment into N sub-segments, which are considered as the second-level mnemonic phrases. The M sub-segments corresponding to the same parent segment, when used with the second interpolation algorithm, calculate a constant term whose value equals the value of the corresponding parent segment. N and M are positive integers, and N... M; and the output module is connected to the second segmentation module to output each sub-segment to a different carrier through the output device, wherein each sub-segment corresponding to the same parent segment has the same mark for identifying its parent segment.

[0008] Furthermore, this invention discloses a multi-level mnemonic phrase generation method for cold wallets, executed by a computing device connected to an output device. The steps include: when establishing a cold wallet, the computing device randomly generates an entropy value composed of multiple bits, and generates a corresponding set of mnemonic phrases based on the entropy value and a dictionary file; it then calculates a corresponding seed from this set of mnemonic phrases using a key derivation function, and generates a set of key pairs and their corresponding wallet addresses based on this seed; the computing device executes a first secret sharing algorithm to divide the entropy value into n parent fragments, which are considered as the first-level mnemonic phrases, where m parent fragments, combined with a first interpolation algorithm, calculate a constant term whose value equals the entropy value, and n and m are positive integers. m; The computing device executes the second secret sharing algorithm to divide each parent segment into N sub-segments, which are considered as the second-level mnemonic words. The M sub-segments corresponding to the same parent segment, combined with the second interpolation algorithm, calculate a constant term whose value is equal to the value of the corresponding parent segment. N and M are positive integers, and N... M; and the computing device drives the output device to output each sub-slice to a different carrier, wherein each sub-slice corresponding to the same parent slice has the same mark for identifying its parent slice.

[0009] The apparatus and method disclosed in this invention are as described above. The difference between this invention and the prior art is that, when establishing a cold wallet, the cold wallet's entropy value, mnemonic phrase, seed, key pair, and wallet address are randomly generated by a computing device. Then, a first secret sharing algorithm is executed to divide the entropy value into n parent segments, which are regarded as the first layer of mnemonic phrases. A second secret sharing algorithm is then executed to divide the parent segments into N child segments, which are regarded as the second layer of mnemonic phrases. Each child segment is output to a different carrier through an output device. Each child segment corresponding to the same parent segment has the same label for identifying its parent segment.

[0010] Through the above-mentioned technical means, the present invention can achieve the technical effect of improving the security and management convenience of the mnemonic phrase of the cold wallet. Simple Explanation of the Diagram

[0011] Figure 1 is a block diagram of the multi-level mnemonic word generation system for the cold wallet of the present invention. Figures 2A to 2C are flowcharts of the multi-level mnemonic phrase generation method for the cold wallet of the present invention. Figure 3 is a schematic diagram of generating multi-level mnemonic words using the present invention. Figure 4 is a schematic diagram of the multi-level mnemonic words output using the present invention. Implementation

[0012] The following will describe the implementation of the present invention in detail with reference to the drawings and embodiments, so that the process of how the present invention uses technical means to solve technical problems and achieve technical effects can be fully understood and implemented accordingly.

[0013] Before describing the multi-level mnemonic phrase generation system and method for cold wallets disclosed in this invention, let's first explain the terms defined in this invention. The parent fragments mentioned in this invention can be considered as the first-level mnemonic phrases. They are generated by dividing the entropy value using a first secret sharing algorithm. From the generated n parent fragments, m parent fragments are selected and combined with a first interpolation algorithm to calculate the value of a constant term, which is equal to the entropy value. Here, n and m are positive integers, and n... m. Furthermore, the sub-segments can be considered as a second-layer mnemonic phrase. They are generated by dividing each parent segment separately using a second secret-sharing algorithm. From the generated N sub-segments, M sub-segments are selected and combined with a second interpolation algorithm to calculate the value of a constant term. This value is equal to the value of the parent segment from which the segmentation was based, where N and M are positive integers and N... M. In this way, a multi-layered mnemonic phrase can be formed.

[0014] The following description, in conjunction with the accompanying drawings, further illustrates the multi-level mnemonic phrase generation system and method for cold wallets of the present invention. Please refer to "Figure 1" first. "Figure 1" is a block diagram of the multi-level mnemonic phrase generation system for cold wallets of the present invention, which is disposed on the computing device 110. The computing device is connected to the output device 120. This system includes: a creation module 111, a first segmentation module 112, a second segmentation module 113, and an output module 114. Module 111 is used to randomly generate an entropy value (composed of multiple bits, such as 128 bits, 256 bits, etc.) when creating a cold wallet. Based on the entropy value and a dictionary file, a corresponding set of mnemonic phrases is generated. Assuming the entropy value is 128 bits, it can be combined with its 4-bit checksum into 132 bits using the BIP39 protocol, and then divided into 12 segments (each segment being 11 bits). Then, the corresponding words for each segment are retrieved from the dictionary file (a total of 12 words), forming a set of mnemonic phrases. Next, this set of mnemonic phrases is used to calculate the corresponding seed using a key derivation function (such as PBKDF2), and then a key pair (containing a public key and its corresponding private key) and its corresponding wallet address are generated using this seed according to the BIP32 protocol. It should be noted that although the above example uses the generation of a key pair and its corresponding wallet address, in practice, this seed can generate multiple key pairs and their corresponding wallet addresses. Furthermore, according to the BIP44 protocol, the cold wallet can support wallet addresses of different currencies and formats.

[0015] The first segmentation module 112 connects to the establishment module 111 and is used to execute the first secret sharing algorithm to segment the entropy value into n parent segments, which are considered as the first layer of mnemonic words. The m parent segments, combined with the first interpolation algorithm, calculate a constant term whose value equals the entropy value. n and m are positive integers, and n... m. In practical implementation, when the first secret sharing algorithm divides the entropy value into n parent partitions, it can randomly generate n corresponding polynomials, and let For differential Polynomials of degree 1, and let For the polynomial to take values ​​in The point, among which, Representing the The holder of each parent's share, Represents the degree of differentiation and the level of the parent slice. And it is a positive integer. The constant term of the polynomial, which is an integer, is calculated using a first interpolation algorithm to obtain a value identical to the entropy value by satisfying all conditions. Furthermore, the first secret sharing algorithm can be chosen directly from either Shamir's Secret Sharing (SSS) algorithm or a hierarchical secret sharing algorithm. If Shamir's Secret Sharing algorithm is chosen, the first interpolation algorithm can be the Lagrange interpolation algorithm; if the hierarchical secret sharing algorithm is chosen, the first interpolation algorithm can be the Birkhoff interpolation algorithm.

[0016] The second segmentation module 113 is connected to the first segmentation module 112 and is used to execute the second secret sharing algorithm to segment each parent segment into N sub-segments, which are considered as the second-level mnemonic words. The M sub-segments corresponding to the same parent segment are used in conjunction with the second interpolation algorithm to calculate a constant term whose value is equal to the value of the corresponding parent segment. N and M are positive integers, and N... M. In practical implementation, the second secret sharing algorithm can randomly generate N corresponding polynomials when dividing the parent partition into N sub-parts, and let For differential Polynomials of degree 1, and let For the polynomial to take values ​​in The point, among which, Representing the The holder of each piece of material, Represents the degree of differentiation and the level of sub-slicing. And it is a positive integer. The constant term of the polynomial, which is an integer, is calculated using a second interpolation algorithm to obtain the same value as the parent partition. Alternatively, the second secret-sharing algorithm can be chosen directly from either the Samor secret-sharing algorithm or the hierarchical secret-sharing algorithm, similar to the first secret-sharing algorithm. For example, if the Samor secret-sharing algorithm is chosen, the second interpolation algorithm can be the Lagrange interpolation algorithm; if the hierarchical secret-sharing algorithm is chosen, the second interpolation algorithm can be the Birkhoff interpolation algorithm.

[0017] Output module 114 connects to the second segmentation module 113, and is used to output each sub-segment to different carriers via output device 120. Each sub-segment corresponding to the same parent segment has the same mark for identification of its parent segment. In practice, the carrier can be paper, metal, hardware devices (such as USB flash drives, memory cards), cloud hard drives, etc. Taking paper as an example, output device 120 can be a printer, and each sub-segment (which can be regarded as a mnemonic phrase) is printed on paper, and then provided to each user for safekeeping after being sheathed. When it is necessary to operate the cold wallet, M sub-segments are obtained by obtaining M carriers with the same mark. These sub-segments are then fed into the second interpolation algorithm to calculate the value of the constant term to generate the parent segment. When m parent segments are obtained, the value of the constant term is calculated using the first interpolation algorithm to obtain a value with the same entropy value, which is used to restore the key pair and obtain control of the cold wallet.

[0018] It should be further explained that the fragments mentioned in this invention, such as parent fragments and child fragments, may have the same level or different levels. Having the same level means that if the private key can be recovered by randomly selecting M fragments from N fragments, then these fragments all have the same level. If the fragments have different levels, it means that it is not possible to recover the private key by randomly selecting M fragments, but rather that a specific fragment (such as a fragment with a higher level) must be held in these fragments to recover the private key. Next, the principle of shards having different levels will be explained. In actual implementation, the shards (e.g., parent shards, child shards) described in this invention are generated in a manner similar to those generated through the Secret Sharing Algorithm. The main difference lies in the fact that, in order to give shards different levels, the corresponding polynomials are differentiated to different degrees according to different levels during the shard generation process. For example, the symbol "σi,j" represents a polynomial of degree "j" with "f^j(x)" differentiated, and "f^j(i) = σi,j" represents the polynomial at the point "x = i". Here, "i" represents the holder of the "i"th shard (the holder may be a hardware wallet device on the server or client side), and "j" represents the degree of differentiation, which also represents the level of the shard. The larger the value of "j", the more degrees of differentiation the polynomial undergoes, and the lower the level of the generated shard. In practice, given the polynomial "f(x) = x^3 + 1", we know that the value of "σ3,2" is "18". This is because the polynomial is quadratic (i.e., f^2(x) = 6x) and "x = 3", thus we know that "σ3,2 = f^2(3) = 6 * 3". Conversely, if we know the form (Basis) of the polynomial and the values ​​of "i" and "j" in the symbol "σi,j", we can use Birkhoff interpolation to calculate the polynomial "f(x)" that satisfies all the conditions. The constant term in this polynomial represents the secret, that is, the value before segmentation, such as the entropy value or the value of the parent segment. For example, suppose we have "σ1,0 = 6", "σ2,1 = 7", and "σ3,2 = 2", and the polynomial is in the form "{1, x, x^2}". Using Birkhoff interpolation, we can calculate the polynomial "f(x) = 2 + 3x + x^2" that satisfies all the conditions. The constant term "2" represents the ciphertext (which can be determined from "f(0)"). Furthermore, since the fragments are derived from the polynomial values, although differentiating the polynomial and taking its values ​​can also yield fragments, the polynomial corresponding to these fragments will have a lower exponent due to differentiation (i.e., a lower order). In this case, even with a sufficient number of fragments, we may only be able to reconstruct the polynomial after differentiation, and not be able to use the interpolation algorithm to calculate the ciphertext. Therefore, the number of fragments is no longer the sole condition for calculating the correct ciphertext.For example, suppose the polynomial "f(x) = x + 3" is differentiated once to obtain "f^1(x) = 1". Therefore, all shards at this level will have the value "1", and no matter how many shards of this level are present, the original ciphertext of "f(x)" (i.e., the value "3") cannot be calculated. In other words, because shards have different levels, even with a sufficient number of shards, it may be impossible to obtain the result "f(0)" using interpolation algorithms. Therefore, assigning different levels of shards based on different identities requires satisfying both the quantity and level criteria when restoring the private key to calculate the correct ciphertext, unlike traditional secret-sharing algorithms that use the threshold quantity as the sole condition. This makes it more manageable and secure.

[0019] It is particularly noted that, in practical embodiment, each of the units described in the present invention may be implemented using various means, comprising software, firmware, hardware or arbitrary combinations thereof, e.g., in certain embodiments, the modules may be implemented using software, firmware and hardware or one of them, in addition, the invention may be implemented partially or completely based on hardware, e.g Programmable Logic Device (CPLD), Field Programmable Gate Array (FPGA), etc. to implement. The invention may be devices, methods and / or computer programs. The computer program may include computer-readable storage media uploaded with computer-readable program instructions for enabling the processor to implement various aspects of the invention, the computer-readable storage media may be a tangible device that can hold and store instructions for use by the command-executing device. Computer-readable storage media may be, but are not limited to, electrical storage equipment, magnetic storage equipment, optical storage equipment, electromagnetic storage equipment, semiconductor storage equipment, or any suitable combination of the foregoing. More specific examples of computer-readable storage media (not an exhaustive list) include: hard drives, random access memory, read-only memory, flash memory, optical discs, floppy disks, and any suitable combination of the above. The computer-readable storage media used here is not construed as instantaneous signals themselves, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagated through waveguides or other transmission media (e.g., optical signals via fiber optic cables), or electrical signals transmitted through wires. In addition, the computer-readable program instructions described here can be downloaded from computer-readable storage media to various computing / processing equipment, or to external computer equipment or external storage equipment via a network, such as: Internet, LAN, WAN and / or wireless network. The network can include copper transmission cables, fiber optic transmission, wireless transmission, routers, firewalls, switches, hubs and / or gateways. The network card or network interface in each computing / processing equipment receives computer-readable program instructions from the network and forwards these computer-readable program instructions for storage in the computer-readable storage media in the respective computing / processing equipment.The computer program instructions that execute the operations of this invention can be assembly language instructions, instruction set architecture instructions, machine instructions, machine-dependent instructions, microinstructions, firmware instructions, or source code or object code written in any combination of one or more programming languages. These programming languages ​​include object-oriented programming languages ​​such as Common Lisp, Python, C++, Objective-C, Smalltalk, Delphi, Java, Swift, C#, Perl, Ruby, and PHP, as well as conventional procedural programming languages ​​such as C or similar languages. The computer-readable program instructions can be executed entirely on the computer, partially on the computer, as a standalone software, partially on a client computer and partially on a remote computer, or entirely on a remote computer or server.

[0020] Please refer to Figures 2A to 2C, which are flowcharts of the multi-level mnemonic phrase generation method for cold wallets according to the present invention. This method is executed by a computing device 110, which is connected to an output device 120. The steps include: when establishing a cold wallet, the computing device 110 randomly generates an entropy value composed of multiple bits, generates a corresponding set of mnemonic phrases based on the entropy value and a dictionary file, calculates a corresponding seed from this set of mnemonic phrases using a key derivation function, and then generates a set of key pairs and their corresponding wallet addresses based on this seed (step 210); the computing device 110 executes a first secret sharing algorithm to divide the entropy value into n parent fragments considered as the first-level mnemonic phrases, where m parent fragments, combined with a first interpolation algorithm, calculate a constant term whose value equals the entropy value, and n and m are positive integers. m(Step 220); The computing device 110 executes the second secret sharing algorithm to divide each parent segment into N sub-segments, which are regarded as the second-level mnemonic words. Among them, the M sub-segments corresponding to the same parent segment are used in conjunction with the second interpolation algorithm to calculate the value of the constant term, which is equal to the value of the corresponding parent segment. N and M are positive integers and N M (step 230); and the computing device 110 drives the output device 120 to output each sub-shard to a different carrier, wherein each sub-shard corresponding to the same parent shard has the same tag for identifying its parent shard (step 240). Through the above steps, when establishing a cold wallet, the computing device can randomly generate the entropy value, mnemonic phrase, seed, key pair, and wallet address of the cold wallet. Then, the first secret sharing algorithm is executed to divide the entropy value into n parent shards, which are regarded as the first layer of mnemonic phrases. Then, the second secret sharing algorithm is executed to divide the parent shards into N sub-shards, which are regarded as the second layer of mnemonic phrases. And each sub-shard is output to a different carrier through the output device, wherein each sub-shard corresponding to the same parent shard has the same tag for identifying its parent shard.

[0021] The first secret-sharing algorithm in step 220 can be illustrated as shown in Figure 2B. When dividing the entropy value into n parent partitions, n corresponding polynomials are randomly generated, and let... For differential Polynomials of degree 1, and let For the polynomial to take values ​​in The point, among which, Representing the The holder of each parent's share, Represents the degree of differentiation and the level of the parent slice. And it is a positive integer. For integers, the polynomial is used to calculate the values ​​of the polynomial constant terms that satisfy all conditions through the first interpolation algorithm to obtain the same value as the entropy value (step 221); and then, according to the generated polynomial and its corresponding... and Calculate the polynomial value, and... and The polynomial values ​​are used together as the corresponding parent partitions, where, The size of the partition is positively correlated with the level of the parent partition (step 222). Similarly, the second secret sharing algorithm in step 230 can be as shown in "Figure 2C". When dividing the parent partition into N sub-parts, N corresponding polynomials are randomly generated, and let... For differential Polynomials of degree 1, and let For the polynomial to take values ​​in The point, among which, Representing the The holder of each piece of material, Represents the degree of differentiation and the level of sub-slicing. And it is a positive integer. For integers, the polynomial is used to calculate the value of the constant term of the polynomial that satisfies all conditions through the second interpolation algorithm to obtain the same value as the parent segment (step 231); and then, according to the generated polynomial and its corresponding... and Calculate the polynomial value, and... and And polynomial values ​​are also used as corresponding sub-partitions, where, The size of the sub-partition is positively correlated with its level (step 232). In this way, sub-partitions with different levels can be generated according to the different degrees of differentiation, such as parent sub-partitions and child sub-partitions.

[0022] The following description, in conjunction with Figures 3 and 4, illustrates an embodiment. Please refer to Figure 3 first, which is a schematic diagram of generating multi-level mnemonic phrases using this invention. In practical implementation, the parent and child segments generated by this invention can be considered as multi-level mnemonic phrases (310, 320), and the index value "i" (which can be considered as coordinate x) and polynomial value (which can be considered as coordinate y) can be recorded in JSON format, such as multi-level mnemonic phrase 310. Furthermore, if it is a multi-level mnemonic phrase 320 with hierarchical distinctions, it further includes the derivative degree "j". The parent segment can be considered as the first-level mnemonic phrase, and the child segments can be considered as the second-level mnemonic phrase. When enough child segments are obtained, the corresponding parent segment can be reconstructed, and when enough parent segments are obtained, the corresponding entropy value can be reconstructed. In this way, control of the cold wallet can be obtained through the entropy value.

[0023] As shown in Figure 4, Figure 4 is a schematic diagram of the multi-level mnemonic phrase output using the present invention. In practical implementation, assuming the carrier 400 is paper, the output device 120 can print the sub-segments on the carrier 400 as two-dimensional barcodes 401. Furthermore, when the output device 120 outputs each sub-segment to different carriers 400, each sub-segment corresponding to the same parent segment has the same mark to identify its parent segment. For example, using the letter "A" as the mark, carriers 400 with the same mark belong to the same parent segment. In fact, the mark can be presented as the mark message 402 shown in Figure 4, and can even be combined with numbers for differentiation, such as "A-01". It should be noted that although the above examples illustrate the form of the mark, the present invention is not limited thereto. Any marking method that can identify the parent segment and the sub-segments belonging to the same parent segment does not depart from the scope of application of the present invention. In this way, when funds need to be transferred from the cold wallet, a QR code 401 can be scanned to obtain a sub-shard, and the mnemonic phrase can be retrieved and entered into the cold wallet device to broadcast the transaction to the blockchain network. The actual withdrawal process is as follows:

[0024] 1. The bank receives the customer's withdrawal instruction;

[0025] 2. The customer goes to the bank with a 400 card;

[0026] 3. Bank staff used a separate computer and scanner to scan and process the data on carrier 400;

[0027] 4. Sequentially reconstruct the parent segment from the child segment, and then reconstruct the mnemonic phrase from the parent segment.

[0028] 5. Input the recovered mnemonic phrase into the cold wallet device to verify the transaction instructions.

[0029] 6. Broadcasting transactions on the blockchain; and

[0030] 7. Clear the data generated by the cold wallet device and computer during this process.

[0031] In summary, the difference between this invention and prior art lies in the fact that, when establishing a cold wallet, the computing device randomly generates the entropy value, mnemonic phrase, seed, key pair, and wallet address of the cold wallet. Then, a first secret sharing algorithm is executed to divide the entropy value into n parent fragments, considered as the first layer of mnemonic phrases. A second secret sharing algorithm is then executed to divide the parent fragments into N child fragments, considered as the second layer of mnemonic phrases. Each child fragment is output to a different carrier via an output device. Each child fragment corresponding to the same parent fragment has the same tag for identifying its parent fragment. This technical approach solves the problems existing in prior art, thereby improving the security and management convenience of the cold wallet's mnemonic phrase.

[0032] Although the present invention has been disclosed above with reference to the foregoing embodiments, it is not intended to limit the present invention. Anyone skilled in the art can make some modifications and refinements without departing from the spirit and scope of the present invention. Therefore, the scope of patent protection of the present invention shall be determined by the scope of the patent application attached to this specification.

[0033] 110: Computing device 111: Create a module 112: First Segmentation Module 113: Second Segmentation Module 114: Output Module 120: Output device 310, 320: Multi-level mnemonic words 400: Carrier 401: Two-dimensional barcode 402: Marked Message Step 210: When establishing a cold wallet, the computing device randomly generates an entropy value consisting of multiple bits, and generates a corresponding set of mnemonic words based on the entropy value and a dictionary file. It then calculates a seed from the mnemonic words using a key derivation function, and generates a key pair and its corresponding wallet address based on the seed. Step 220: The computing device executes a first secret sharing algorithm to divide the entropy value into n parent segments, which are considered as the first layer of mnemonic words. The m parent segments, combined with a first interpolation algorithm, calculate a constant term equal to the entropy value. n and m are positive integers, and n ≥ m. Step 221: When dividing the entropy value into the n parent segments, randomly generate the corresponding n polynomials, and let For differential The polynomial of degree, and let For the polynomial to take values ​​in The point, among which, Representing the The holder of the aforementioned parent fragment, This represents the degree of differentiation and the level of the parent segment. And it is a positive integer. The constant term of the polynomial, which is an integer, is calculated using the first interpolation algorithm to obtain a value that is the same as the entropy value. Step 222: Based on the generated polynomials and their corresponding... and Calculate the value of a polynomial, and then... and The polynomial values ​​are used together as the corresponding parent partitions, wherein, The size is positively correlated with the level of the parent fragment. Step 230: The computing device executes a second secret-sharing algorithm to divide each parent segment into N sub-segments, which are considered as second-level mnemonic words. M sub-segments corresponding to the same parent segment are combined with a second interpolation algorithm to calculate a constant term whose value is equal to the value of the corresponding parent segment. N and M are positive integers, and N ≥ M. Step 231: When dividing the parent partition into the N sub-parts, randomly generate the corresponding N polynomials, and let For differential The polynomial of degree, and let For the polynomial to take values ​​in The point, among which, Representing the The holder of each sub-segment, This represents the degree of differentiation and the level of the sub-slice. And it is a positive integer. The constant term of the polynomial is calculated using the second interpolation algorithm to obtain a value that is the same as that of the parent segment. Step 232: Based on the generated polynomials and their corresponding... and Calculate the value of a polynomial, and then... and The polynomial values ​​are together with the corresponding sub-partitions, wherein, The size is positively correlated with the level of the sub-fragment. Step 240: The computing device drives the output device to output each sub-segment to a different carrier, wherein each sub-segment corresponding to the same parent segment has the same tag for identifying its parent segment.

Claims

1. A multi-level mnemonic phrase generation system for a cold wallet, disposed in a computing device connected to an output device, the system comprising: a creation module, configured to, when creating a cold wallet, randomly generate an entropy value composed of multiple bits, and generate a corresponding set of mnemonic phrases based on the entropy value and a dictionary file, and calculate a corresponding seed from the set of mnemonic phrases using a key derivation function, and then generate a set of key pairs and their corresponding wallet addresses based on the seed; a first segmentation module, connected to the creation module, configured to execute a first secret sharing algorithm to segment the entropy value into n parent segments considered as the first-level mnemonic phrases, wherein... The m parent segments, combined with a first interpolation algorithm, calculate a constant term whose value equals the entropy value, where n and m are positive integers and nm; a second segmentation module, connected to the first segmentation module, is used to execute a second secret sharing algorithm to segment each parent segment into N sub-segments, which are considered as second-level mnemonic words, wherein the M sub-segments corresponding to the same parent segment, combined with a second interpolation algorithm, calculate a constant term whose value equals the value of the corresponding parent segment, where N and M are positive integers and NM; and an output module, connected to the second segmentation module, is used to output each sub-segment to a different carrier through the output device, wherein each sub-segment corresponding to the same parent segment has the same tag for identifying its parent segment.

2. The multi-level mnemonic phrase generation system for cold wallets as described in Request 1, wherein the first secret sharing algorithm and the second secret sharing algorithm are both selected from Shamir's Secret Sharing (SSS) algorithm and hierarchical secret sharing algorithm, and at least one of the Lagrange interpolation algorithm and Birkhoff interpolation algorithm is selected based on the selection result to serve as the first interpolation algorithm and the second interpolation algorithm.

3. As in Request 1, a multi-level mnemonic phrase generation system for a cold wallet, wherein the first secret sharing algorithm comprises: when dividing the entropy value into the n parent segments, randomly generating corresponding n polynomials, and letting be the polynomial of degree differential, and letting be the point where the polynomial takes values ​​at , wherein The first interpolation algorithm is used to calculate the value of the constant term of the polynomial that satisfies all conditions, which is the same as the entropy value. The algorithm also calculates a polynomial value for each generated polynomial and its corresponding value, and uses the polynomial value and the corresponding value as the corresponding parent segment, where the magnitude of the value is positively correlated with the level of the parent segment.

4. The multi-level mnemonic phrase generation system for cold wallets as described in request item 1, wherein the second secret sharing algorithm comprises: when dividing the parent fragment into the N sub-fragments, randomly generating corresponding N polynomials, and letting be the polynomial of degree differential, and letting be the point where the polynomial takes values ​​at , wherein The value of the polynomial constant term that satisfies all conditions is calculated by the second interpolation algorithm to obtain the same value as the parent segment. And calculate a polynomial value one by one based on the generated polynomial and its corresponding , and take the and the polynomial value together as the corresponding sub-partition, wherein the size of is positively correlated with the level of the sub-partition.

5. A multi-level mnemonic phrase generation system for a cold wallet as described in Request 1, wherein when restoring the cold wallet, M sub-shards are obtained by acquiring M carriers with the same tag, and the M sub-shards are fed into the second interpolation algorithm to calculate the value of a constant term to generate the parent shard. When m parent shards are obtained, the value of a constant term is calculated using the first interpolation algorithm to obtain a value that is the same as the entropy value, which is used to restore the key pair and obtain control of the cold wallet.

6. A method for generating multi-level mnemonic phrases for a cold wallet, executed by a computing device connected to an output device, comprising the following steps: When establishing a cold wallet, the computing device randomly generates an entropy value composed of multiple bits, and generates a corresponding set of mnemonic phrases based on the entropy value and a dictionary file. It then calculates a seed from the mnemonic phrases using a key derivation function, and generates a key pair and its corresponding wallet address based on the seed. The computing device executes a first secret sharing algorithm to divide the entropy value into n parent segments, which are considered as the first layer of mnemonic phrases. The m parent segments, combined with a first interpolation algorithm, calculate a constant term whose value equals the entropy value. n and m are positive integers, and nm is not specified. The computing device executes a second secret-sharing algorithm to divide each parent segment into N sub-segments, which are considered as second-level mnemonic words. M sub-segments corresponding to the same parent segment are combined with a second interpolation algorithm to calculate a constant term whose value is equal to the value of the corresponding parent segment. N and M are positive integers and N = M. The computing device drives the output device to output each sub-segment to a different carrier. Each sub-segment corresponding to the same parent segment has the same tag for identifying its parent segment.

7. The multi-level mnemonic phrase generation method for cold wallets as described in Request 6, wherein the first secret sharing algorithm and the second secret sharing algorithm are both selected from Shamir's Secret Sharing (SSS) algorithm and hierarchical secret sharing algorithm, and at least one of the Lagrange interpolation algorithm and Birkhoff interpolation algorithm is selected based on the selection result to serve as the first interpolation algorithm and the second interpolation algorithm.

8. The multi-level mnemonic phrase generation method for cold wallets as described in request item 6, wherein the first secret sharing algorithm comprises: when dividing the entropy value into the n parent segments, randomly generating corresponding n polynomials, and letting be the polynomial of degree differential, and letting be the point where the polynomial takes values ​​at , wherein Let represent the holder of the i-th parent segment, represent the degree of differentiation and the level of the parent segment, and be positive integers and be integers. The polynomial is calculated by the first interpolation algorithm to obtain the value of the polynomial constant term that satisfies all conditions, so as to obtain the same value as the entropy value. And calculate a polynomial value one by one according to the generated polynomial and its corresponding , and take and the polynomial value together as the corresponding parent segment, wherein the size of is positively correlated with the level of the parent segment.

9. The multi-level mnemonic phrase generation method for cold wallets as described in request item 6, wherein the second secret sharing algorithm comprises: when dividing the parent fragment into the N sub-fragments, randomly generating corresponding N polynomials, and letting be the polynomial of degree differential, and letting be the point where the polynomial takes values ​​at , wherein The value of the polynomial constant term that satisfies all conditions is calculated by the second interpolation algorithm to obtain the same value as the parent segment. And calculate a polynomial value one by one based on the generated polynomial and its corresponding , and take the and the polynomial value together as the corresponding sub-partition, wherein the size of is positively correlated with the level of the sub-partition.

10. The multi-level mnemonic phrase generation method for a cold wallet as described in claim 6, wherein when restoring the cold wallet, M sub-shards are obtained by acquiring M carriers with the same tag, and the M sub-shards are fed into the second interpolation algorithm to calculate the value of a constant term to generate the parent shard. When m parent shards are obtained, the value of a constant term is calculated using the first interpolation algorithm to obtain a value that is the same as the entropy value, which is used to restore the key pair and obtain control of the cold wallet.