Verification system, verification method, and verification program

The verification system addresses the inefficiency of existing methods by employing distributed computing across multiple terminals to reliably identify the password of an encrypted crypto asset private key, enhancing decryption efficiency and security.

WO2026009467A1PCT designated stage Publication Date: 2026-01-08DAISYDIGITAL INC
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
PCT/JP2024/041019
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-07-01
Filing Date
2024-11-19
Publication Date
2026-01-08

AI Technical Summary

Technical Problem

Existing methods, including AI-based wallet recovery services and brute force methods, are inefficient and impractical for reliably identifying the password of an encrypted private key of a crypto asset.

Method used

A verification system utilizing a server connected to a network and multiple verification terminals, where a request terminal sends decryption requests to the server, which manages all character string patterns and distributes verification tasks to the terminals, enabling distributed computing to verify unverified strings and send results back to the server.

Benefits of technology

The system effectively and reliably identifies the password of an encrypted private key using a brute force method, reducing processing load and ensuring secure, efficient decryption.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure JP2024041019_08012026_PF_FP_ABST
    Figure JP2024041019_08012026_PF_FP_ABST
Patent Text Reader

Abstract

Provided is a verification system capable of reliably specifying a password of an encrypted secret key of a crypto-asset by an exhaustive key search method. A verification system 1 comprises: a server 5 connected to a network 9; and a plurality of verification terminals 7 and a request terminal 3 which are capable of communicating with the server 5 via the network 9. The request terminal 3 transmits, to the server 5, a decryption request of a secret key of a crypto-asset encrypted with a password. The server 5 manages character strings of all patterns for verifying the password in response to the decryption request, and transmits a verification request including different unverified character strings to at least a part of the plurality of verification terminals 7. Receiving the verification request, each of the plurality of verification terminals 7 verifies the unverified character strings in accordance with the received verification request, and transmits a result of the verification to the server 5.
Need to check novelty before this filing date? Find Prior Art

Description

Verification system, verification method, and verification program

[0001] The present invention relates to a verification system, a verification method, and a verification program for verifying the decryption of a private key of a cryptographic asset encrypted with a password.

[0002] Some cryptocurrencies, such as Bitcoin (registered trademark), use public key cryptography, which uses two pairs of keys to encrypt and decrypt data.

[0003] For example, when sending crypto assets, the sender holds a pair of a private key and a public key created from the private key, and encrypts the recipient's crypto asset address and the amount to be sent using the private key. The encrypted information is sent to the recipient, where it is decrypted using a public key sent separately from the sender. This allows the crypto asset to be sent.

[0004] Since crypto assets can be transferred using private keys, managing the private keys of crypto assets is extremely important. It is known that wallets are used to manage these private keys.

[0005] Wallets come in the form of data files that store private and public keys. Many of these wallets have encryption functions to prevent fraudulent transfers. When encrypting a wallet, the private key may be encrypted with a password, but if the password is lost, it will become impossible to transfer crypto assets.

[0006] For example, the number of crypto-assets that cannot be transferred is nearly 20% of the total number of Bitcoins issued. For this reason, wallet recovery services that restore wallets have become a hot topic. For example, there are services that use AI to predict passwords, as described in Non-Patent Document 1.

[0007] However, these wallet recovery services only succeeded in decrypting around 20% of wallets, and were unable to fully restore wallets.

[0008] On the other hand, if the password is identified using a brute force method, it is expected that the wallet can be sufficiently restored, but considering the number of digits in the wallet password, this would take a long time to calculate, making it unrealistic.

[0009] https: / / jp.cointelegraph.com / press-releases / keychainx-uses-ai-algorithms-to-simplify-cryptocurrency-wallet-recovery

[0010] The problem that the present invention aims to solve is that it has not been possible to reliably identify the password of an encrypted private key of a crypto asset using a brute force method.

[0011] The present invention provides a verification system comprising a server connected to a network, and a plurality of verification terminals and request terminals capable of communicating with the server via the network, wherein the request terminal sends a decryption request to the server for a private key of a cryptographic asset encrypted with a password, the server manages all patterns of character strings for verifying the password in response to the decryption request, and sends verification requests including different unverified character strings to at least some of the plurality of verification terminals, and upon receiving the verification request, each of the plurality of verification terminals verifies the unverified character string based on the received verification request and sends the results of the verification to the server.

[0012] The present invention also provides a verification method that uses a server connected to a network and a plurality of verification terminals and request terminals that can communicate with the server via the network, wherein the request terminal sends a decryption request to the server for a private key of a cryptographic asset encrypted with a password, the server manages all pattern strings for verifying the password for the decryption request, and sends verification requests including different unverified strings to at least some of the plurality of verification terminals, and when the plurality of verification terminals each receive the verification request, they verify the unverified strings based on the received verification request and send the results of the verification to the server.

[0013] Furthermore, the present invention provides a verification program for decrypting a private key of a cryptographic asset encrypted with a password, which causes a computer to realize a request receiving function for receiving a verification request from a server via a network, the verification request including an unverified string among the strings for verifying the password, a verification function for verifying the unverified string based on the verification request, and a result sending function for sending the results of the verification to the previous server.

[0014] The present invention can reliably identify the password of the encrypted private key of a crypto asset using a brute force method.

[0015] Fig. 1 is an overall diagram showing a schematic configuration of a verification system according to a first embodiment of the present invention, Fig. 2 is a block diagram showing the configuration of a wallet file, and Fig. 3 is a flowchart showing a password verification process performed by the verification system.

[0016] The goal of reliably identifying the password for the encrypted private key of a cryptocurrency using a brute force method was achieved through distributed computing.

[0017] The verification system 1 includes a server 5 connected to a network 9 , and a plurality of verification terminals 7 and request terminals 3 that can communicate with the server 5 via the network 9 .

[0018] The request terminal 3 sends a request to the server 5 to decrypt the private key of the cryptographic asset encrypted with a password. The server 5 manages all patterns of character strings for verifying the password for the decryption request, and sends verification requests including different unverified character strings to at least some of the multiple verification terminals 7. When the multiple verification terminals 7 each receive a verification request, they verify the unverified character string based on the received verification request and send the verification results to the server 5.

[0019] The request terminal 3 may transmit a wallet file storing the encrypted private key and encryption information for password encryption at the time of the decryption request to the server 5. In this case, the server 5 extracts the encrypted private key and encryption information from the wallet file and includes them in the verification request together with the unverified character string.

[0020] The server 5 preferably deletes the wallet file from which it extracted the encrypted information.

[0021] When requesting decryption, the requesting terminal 3 may send the crypto asset address of the crypto asset along with the wallet file to the server 5, and the server 5 may be able to send a verification request if the crypto asset address obtained from the wallet file matches the crypto asset address received from the requesting terminal 3.

[0022] The server 5 may manage an unverified character string for which a verification result has not been received within a predetermined period of time since the transmission of the verification request as a request target that can be included in another verification request.

[0023] The plurality of verification terminals 7 may each be capable of transmitting a verification intention to the server 5. In this case, when the server 5 receives a verification intention, it transmits a verification request to the verification terminal 7 that has transmitted the verification intention.

[0024] The transmission of the verification intention may be performed by consuming a transmission right, which is granted according to the degree of contribution to the verification, for example.

[0025] If the server 5 successfully decrypts the private key, the server 5 may receive a reward from the cryptocurrency using the decrypted private key.

[0026] In this case, the server 5 may distribute rewards to the users of the multiple verification terminals who performed the verification according to the number of verifications performed. In one embodiment, the server 5 may grant predetermined points to the users of the verification terminals 7 who performed the verification, and distribute rewards to the users of the multiple verification terminals 7 who performed the verification according to the ratio of the points they own to the total number of points issued.

[0027] The server 5 may notify the request terminal 3 of the decrypted private key after receiving the reward.

[0028] The verification method uses a server 5, multiple verification terminals 7, and a request terminal 3. The request terminal 3 sends a decryption request to the server 5 for the private key of a cryptographic asset encrypted with a password. The server 5 manages all patterns of character strings for verifying the password in response to the decryption request, and sends verification requests including different unverified character strings to at least some of the multiple verification terminals 7. When the multiple verification terminals 7 each receive a verification request, they verify the unverified character strings based on the received verification request and send the verification results to the server 5.

[0029] The verification program causes the computer to realize a request receiving function for receiving a verification request including an unverified character string among the character strings for verifying a password from the server 5 via the network 9, a verification function for verifying the unverified character string based on the verification request, and a result sending function for sending the verification result to the server 5.

[0030] [Verification System] FIG. 1 is an overall diagram showing a schematic configuration of a verification system according to a first embodiment of the present invention.

[0031] The verification system 1 decrypts the private key of a cryptographic asset encrypted with a password, and is configured with a request terminal 3, a server 5, and a plurality of verification terminals 7.

[0032] The request terminal 3 is a well-known computer equipped with a processor (CPU) and memory (ROM, RAM, HDD, SSD, etc.). The request terminal 3 in this embodiment is a so-called smartphone, but it can also be other mobile terminals, personal computers, etc. The request terminal 3 is capable of communicating with other devices, etc. via a network 9 such as the Internet or a telephone line.

[0033] The request terminal 3 is a user terminal operated by a user who is requesting the decryption of a private key, and realizes the identity verification request function, personal information registration function, and decryption request function by executing a decryption request application program (hereinafter referred to as the decryption request application) stored in memory. Note that these functions can also be realized by the request terminal 3 accessing a decryption request website.

[0034] The identity verification request function is a function for making an identity verification request using a well-known method such as eKYC (Electronic Know Your Customer). In this identity verification request function, for example, an identity verification request, which is data including information necessary for identity verification, is transmitted to an eKYC business operator or the like.

[0035] The personal information registration function is realized after the completion of identity verification, and a request is made to register personal information such as the client's address, name, email address, and telephone number. This registration request is data including personal information and is sent to the server 5. The server 5 registers the personal information in response to the received registration request.

[0036] The decryption request function sends a request to the server to decrypt the private key of the crypto asset, which has been encrypted with a password. The decryption request is data that requests the decryption of the encrypted private key (encrypted private key).

[0037] Crypto assets, such as Bitcoin and Ethereum, are electronically recorded and transferable financial assets. The crypto assets of this embodiment employ public key cryptography, and can be recorded and transferred using a private key and a public key generated from the private key. Both the private key and the public key are data for controlling the procedure of the encryption algorithm. A wallet file is a data file that stores these private keys and public keys. An example of a wallet file is shown in FIG. 2.

[0038] In this embodiment, the private key is encrypted, and the wallet file stores this encrypted private key, public key (crypto asset address), and other encrypted information.

[0039] A crypto asset address is a string generated from a public key and functions similarly to an account number. Encryption information includes information such as parameters used for encryption and a master key. The master key is data for controlling the procedure of the private key encryption algorithm and is encrypted using a password. Therefore, the private key is indirectly encrypted using a password. The parameters of the encryption information include parameters for encryption using a password and parameters for encryption using a master key. Note that the private key may also be directly encrypted using a password.

[0040] In the decryption request function of this embodiment, when a decryption request is sent, the crypto asset address of the crypto asset that has been separately accepted is sent to the server 5 along with the wallet file. The crypto asset address is separately accepted through the user interface of the request terminal 3, etc.

[0041] The server 5 is a well-known computer equipped with a processor and memory. Although only one server 5 is shown in FIG. 1, it is preferable that the system be configured with multiple servers 5. The server 5 executes programs in its memory to realize functions of user management, request acceptance, verification request, reward management, and result processing.

[0042] The user management function manages each user of the request terminal 3 and the verification terminal 7. This management is performed, for example, based on a user ID or the like for each user that is set in advance from the request terminal 3 and the verification terminal 7. This user management function manages personal information and other necessary information received from the request terminal 3 in association with the user ID.

[0043] When the request reception function receives a decryption request from the request terminal 3, it is able to send a verification request if the crypto asset address obtained from the wallet file matches the crypto asset address received from the request terminal 3. The crypto asset address obtained from the wallet file refers to a crypto asset address generated from the public key stored in the wallet file. Note that if a crypto asset address is held in the wallet file, it is also possible to obtain this crypto asset address directly.

[0044] To enable the transmission of a verification request, the request reception function assigns a reception ID in response to the decryption request and constructs a data structure that covers all patterns of character strings for verifying the password for decrypting the private key. This data structure makes it possible to manage all patterns of character strings for verifying the password for decrypting the private key. The reception ID is notified to the request terminal 3 when construction of the data structure is complete.

[0045] The request acceptance function extracts the encrypted private key and encrypted information from the wallet file. The wallet file from which the encrypted information has been extracted is deleted so that it is not retained on the server 5.

[0046] The crypto asset address, encrypted private key, public key, encryption information, constructed data structure, and reception ID obtained from the wallet file are managed as wallet management information by the user management function in association with the user ID of the requesting user.

[0047] The verification request function sends verification requests including different unverified character strings to at least some of the multiple verification terminals 7. The verification requests are data for requesting verification of the unverified character strings. In this embodiment, the verification requests include the encrypted private key, encrypted information, public key (crypto asset address), and reception ID along with the unverified character strings.

[0048] In character string management, the following status is managed for the character string: unverified, verification requesting, verified, or decrypted. A character string being verification requested is managed as unverified if the verification result is not received within a predetermined period from the transmission of the verification request. In other words, an unverified character string for which the verification result is not received within a predetermined period from the transmission of the verification request is managed as a request target that can be included in another verification request.

[0049] The verification request is sent to the verification terminal 7 that sent the verification intention in response to receiving the verification intention. However, the verification request may be sent simultaneously to multiple verification terminals 7 or sent randomly, regardless of the verification intention.

[0050] If the private key is successfully decrypted, the reward management function uses the decrypted private key to receive rewards from the client's crypto asset. That is, a crypto asset address for rewards is prepared, and the rewards are transferred from the client's crypto asset address to this crypto asset address for rewards and pooled.

[0051] The reward management function enables the distribution of rewards to multiple verification terminals 7 that have performed verifications, depending on the number of verifications performed. In this embodiment, a predetermined number of points are awarded to each verification terminal 7 that has performed verifications for each verification performed. Rewards can then be distributed to multiple verification terminals 7 that have performed verifications, depending on the ratio of points owned to the total number of points issued. Points are managed by the user management function in association with user IDs.

[0052] The result processing function receives the verification result from the verification terminal 7 that performed the verification. The verification result is data indicating the result of verifying an unverified character string. Based on the received verification result, the character string is managed. After receiving the reward, the result processing function notifies the request terminal 3 of the decrypted private key.

[0053] The multiple verification terminals 7 are each a well-known computer equipped with a processor and memory. In this embodiment, the verification terminal 7 is a so-called smartphone, but it can also be another mobile terminal, a personal computer, etc. The verification terminal 7 is capable of communicating with other devices, etc. via a network 9 such as the Internet or a telephone line.

[0054] This verification terminal 7 is a user terminal operated by a user who is the verifier who verifies the password, and realizes the request receiving function, verification function, and result sending function by executing a verification application program (hereinafter referred to as the verification app) in memory.

[0055] The request receiving function receives a verification request including an unverified character string among the character strings for verifying a password from the server 5 via the network 9. In this embodiment, the request receiving function transmits a verification intention to the server 5 and receives the verification request transmitted from the server 5 in response to the verification intention.

[0056] The verification intention is data indicating the intention to perform verification, and may be received, for example, by selecting a button on the user interface of the verification terminal 7. The transmission of the verification intention consumes a transmission right. The transmission right is granted according to the degree of contribution to verification, such as the results of verifications already performed and the total number of verifications. The transmission right can also be purchased through the verification terminal 7.

[0057] When the verification function receives a verification request from the server 5, it verifies the unverified character string based on the received verification request. The verification method will be described later, but any known method may be used.

[0058] The result transmission function transmits to the server 3 the result of the verification as to whether the private key was successful in decrypting the verified character string.

[0059] [Verification Process] FIG. 3 is a flowchart showing the password verification process performed by the verification system 1.

[0060] When verifying a password, first in step S1, a request to decrypt the encrypted private key is made from the verification terminal 7. When requesting decryption, the crypto asset address of the crypto asset accepted on the user interface of the verification terminal 7 is sent to the server 5 along with a wallet file containing the encrypted private key.

[0061] In addition, the verification terminal 7 that issues the decryption request has completed identity verification and personal information registration in advance, which makes it possible to prevent fraudulent decryption requests.

[0062] In step S2, the decryption request is accepted by the server 5. That is, upon receiving the decryption request, the server 5 compares the crypto asset address included in the received decryption request with the crypto asset address obtained from the wallet file.

[0063] If the two crypto asset addresses match, the decryption request is deemed valid and step S3 is executed. On the other hand, if the two crypto asset addresses do not match, the decryption request is deemed invalid and the process ends.

[0064] In step S3, wallet management information is generated in the server 5. That is, the server 5 extracts parameters and the encrypted master key as encryption information from the wallet file, as well as the encrypted private key and public key. The extracted wallet file is deleted from the server 5. The server 5 also assigns a reception ID to the decryption request and constructs a data structure that covers all character string patterns for verifying the password for decrypting the private key. To generate the wallet management information, the reception ID is associated with the data structure and the information extracted from the wallet file. The reception ID is notified to the request terminal 3 when construction of the data structure is complete.

[0065] In step S4, the server 5 determines whether or not it has received a verification intention. The verification intention is issued by consuming a transmission right through an operation on the verification terminal 7. If the verification intention has been received (YES), in step S5 a verification request is sent to the verification terminal 7 that sent the verification intention. Unless the server 5 receives the verification intention (NO), the process does not proceed from step S4.

[0066] When making a verification request, the server 5 extracts strings with a status of unverified from those managed by the server 5. If conditions are specified in the verification intent, the extracted string will be a string that conforms to those conditions; if not, a random string will be used. The extracted string's status is updated from unverified to verification request status, and it is included in the verification request. The verification request also includes the encrypted private key, encryption information, public key (cryptocurrency address), and reception ID along with the unverified string.

[0067] In step S6, the password is verified at the verification terminal 7. That is, the verification terminal 7 that has received the verification request verifies the unverified character string included in the received verification request.

[0068] In this embodiment, verification attempts to decrypt the master key of the encrypted information using the unverified character string included in the verification request, referencing the parameters of the encrypted information. Once the master key is decrypted, the private key is decrypted by referencing the parameters of the encrypted information, and a public key (cryptoasset address) is generated from the decrypted private key. If the public key (cryptoasset address) generated here matches the public key (cryptoasset address) included in the verification request, the private key has been successfully decrypted.

[0069] In addition, if the master key is omitted and the private key is encrypted directly using a password, the private key is decrypted instead of the master key, and the public key (crypto asset address) can be generated from this decrypted private key in the same manner as above.

[0070] In step S7, the verification result is transmitted from the verification terminal 7. That is, the verification terminal 7 that performed the verification transmits to the server as the verification result whether the private key for the verified character string was successfully decrypted, together with the reception ID.

[0071] In step S8, the server 5 determines whether the verification result has been received within a predetermined period of time. That is, the server 5 determines whether the verification result has been received from the verification terminal 7 within a predetermined period of time from the transmission of the corresponding verification request.

[0072] If the verification result is received within the predetermined period (YES), the server 5 reflects the verification result in the wallet management information based on the reception ID. That is, the status of the verified character string is updated to verified or decrypted. Then, the process proceeds to step S9.

[0073] If the verification result is not received within the predetermined period (NO), the server 5 determines that the verification corresponding to the verification request has failed, and changes the status of the unverified character string included in the verification request from verification request pending to unverified. Then, the process returns to step S4.

[0074] In step S9, points are awarded. That is, the server 5 awards points to the user of the verification terminal 7 who has performed the verification according to the number of verifications. In this embodiment, in addition to the awarding of points, various items such as transmission rights and bonus points are awarded according to the degree of contribution to verification, such as the results of verifications already performed and the total number of verifications. The items and bonus points are recognized on the verification app of the verification terminal 7, and are registered by user operation.

[0075] In step S10, it is determined whether the private key has been successfully decrypted. That is, the server 5 refers to the wallet management information to determine whether the private key has been successfully decrypted. If the private key has been successfully decrypted, the server 5 receives a reward in step S11. On the other hand, if the private key has not been successfully decrypted, the process returns to step S4.

[0076] To receive the reward, the server 5 uses the decrypted private key to transfer the reward from the corresponding cryptocurrency. It is preferable to have permission from the request terminal 3 in advance for the transfer. For example, the server 5 notifies the request terminal 3 that the decryption is complete, and the request terminal 3 accepts confirmation of the remittance of the reward. The remittance destination is a cryptocurrency address managed by the server 5 for receiving the reward.

[0077] The rewards received by the server 5 are pooled and can be distributed to the users of the multiple verification terminals 7 who performed the verification according to the ratio of owned points to the total number of issued points. The distribution destination of the reward may be a cryptocurrency address temporarily associated with the user ID and registered. For example, distribution of the reward is requested from the verification terminal 7, and the cryptocurrency address is entered at that time.

[0078] In step S12, the password is notified. That is, after receiving the reward, the server 5 notifies the request terminal 3 of the password used to decrypt the private key (master key).

[0079] As described above, the verification system 1 of this embodiment comprises a server 5 connected to a network 9, and a plurality of verification terminals 7 and a request terminal 3 that can communicate with the server 5 via the network 9. The request terminal 3 sends a decryption request to the server 5 for a private key of a cryptographic asset encrypted with a password, and the server 5 manages all patterns of character strings for verifying the password for the decryption request and sends verification requests including different unverified character strings to at least some of the plurality of verification terminals 7, and when each of the plurality of verification terminals 7 receives a verification request, it verifies the unverified character string based on the received verification request and sends the results of this verification to the server 5.

[0080] Therefore, in this embodiment, by using distributed computing in which multiple verification terminals 7 each verify a different unverified string, the password of the encrypted private key of the cryptographic asset can be reliably identified using a brute force method.

[0081] In addition, the request terminal 3 transmits to the server 5 a wallet file that stores the encrypted private key and encryption information for password encryption at the time of the decryption request, and the server 5 extracts the encrypted private key and encryption information from the wallet file and includes them in the verification request together with the unverified character string.

[0082] Therefore, in this embodiment, the password can be verified more easily and reliably.

[0083] The server 5 deletes the wallet file from which the encrypted information has been extracted, thereby improving security.

[0084] When making a decryption request, the requesting terminal 3 transmits the crypto asset address of the crypto asset along with the wallet file to the server 5, and the server 5 is able to send a verification request if the crypto asset address obtained from the wallet file matches the crypto asset address received from the requesting terminal 3.

[0085] Therefore, it is possible to make it possible to send a verification request only in response to a valid decryption request.

[0086] The server 5 manages unverified character strings for which the verification result has not been received within a predetermined period of time since the transmission of the verification request as request targets that can be included in another verification request. Therefore, in this embodiment, brute force password verification can be more reliably achieved.

[0087] The plurality of verification terminals 7 can each transmit a verification intention to the server 5, and when the server 5 receives a verification intention, it transmits a verification request to the verification terminal 7 that has transmitted the verification intention.

[0088] Therefore, in this embodiment, since the verification request is sent in response to the intention to verify, the processing load on the server 5 when the verification request is sent can be reduced. Also, the processing capacity of the verification terminal 7 can be prevented from being strained by unintended verification requests.

[0089] The transmission of the verification intention consumes a transmission right, and the transmission right can be granted according to the degree of contribution to the verification. Therefore, it is possible to prevent the verification intention from being transmitted unnecessarily.

[0090] If the server 5 successfully decrypts the private key, the server 5 receives a reward from the crypto asset using the decrypted private key. Therefore, in this embodiment, the server 5 can easily receive and pool the reward.

[0091] In this embodiment, the pooled reward can be distributed to the users of the multiple verification terminals 7 who performed the verifications according to the number of verifications they performed. In particular, in this embodiment, predetermined points are awarded to the users of the verification terminals 7 who performed the verifications, and the reward can be distributed according to the ratio of the owned points to the total number of issued points.

[0092] Therefore, in this embodiment, rewards can be distributed easily and reliably.

[0093] After receiving the reward, the server 5 notifies the request terminal 3 of a password that can decrypt the private key. Therefore, the receipt of the reward can be included in the decryption process that is completed by notifying the request terminal 3 of the password.

[0094] 1 Verification system 3 Request terminal 5 Server 7 Verification terminal 9 Network

Claims

1. A verification system comprising: a server connected to a network; and a plurality of verification terminals and request terminals capable of communicating with the server via the network; the request terminal sends a decryption request to the server for a private key of a cryptographic asset encrypted with a password; the server manages all patterns of character strings for verifying the password in response to the decryption request, and sends verification requests including different unverified character strings to at least some of the plurality of verification terminals; and upon receiving the verification request, each of the plurality of verification terminals verifies the unverified character string based on the received verification request and sends the verification results to the server.

2. A verification system according to claim 1, wherein the requesting terminal transmits to the server a wallet file storing the encrypted private key and encryption information for encryption using the password at the time of the decryption request, and the server extracts the encrypted private key and the encryption information from the wallet file and includes them in the verification request together with the unverified character string.

3. The verification system of claim 2, wherein the server deletes the wallet file from which the encrypted information has been extracted.

4. A verification system according to claim 2, wherein the requesting terminal transmits the crypto asset address of the crypto asset along with the wallet file to the server when making the decryption request, and the server is able to send the verification request if the crypto asset address obtained from the wallet file matches the crypto asset address received from the requesting terminal.

5. A verification system according to claim 1, wherein the server manages an unverified character string for which the verification result has not been received within a predetermined period of time since the transmission of the verification request as a request target that can be included in another verification request.

6. A verification system according to claim 1, wherein the plurality of verification terminals are each capable of transmitting a verification intention to the server, and when the server receives the verification intention, it transmits the verification request to the verification terminal that sent the verification intention.

7. A verification system according to claim 6, wherein the transmission of the verification intention is performed by consuming a transmission right, and the transmission right is granted according to the degree of contribution to the verification.

8. A verification system according to any one of claims 1 to 7, wherein, if the private key is successfully decrypted, the server receives a reward from the crypto asset using the decrypted private key.

9. The verification system according to claim 8, wherein the server is capable of distributing the reward to the users of the plurality of verification terminals who performed the verification in accordance with the number of verifications performed.

10. A verification system according to claim 9, wherein the server awards a predetermined number of points to the user of the verification terminal that performed the verification, and enables the distribution of the reward to the users of the multiple verification terminals that performed the verification in accordance with the ratio of the points owned to the total number of points issued.

11. The verification system according to claim 8, wherein the server notifies the request terminal of the password capable of decrypting the private key after receiving the reward.

12. A verification method using a server connected to a network and a plurality of verification terminals and request terminals capable of communicating with the server via the network, wherein the request terminal sends a decryption request to the server for a private key of a cryptographic asset encrypted with a password, the server manages all patterns of character strings for verifying the password in response to the decryption request, and sends verification requests including different unverified character strings to at least some of the plurality of verification terminals, and when the plurality of verification terminals each receive the verification request, they verify the unverified character strings based on the received verification request and send the verification results to the server.

13. A verification program for decrypting a private key of a cryptographic asset encrypted with a password, the verification program having a request receiving function that receives a verification request from a server via a network, the verification request including an unverified string among the strings used to verify the password; a verification function that verifies the unverified string based on the verification request; and a result sending function that sends the results of the verification to the server.

Citation Information

Patent Citations

  • Use of graphics processors as parallel math co-processors for password recovery

    US7787629B1