WO2019111513A1 - 情報処理装置、登録装置、情報処理方法、登録方法、およびプログラム - Google Patents

情報処理装置、登録装置、情報処理方法、登録方法、およびプログラム Download PDF

Info

Publication number
WO2019111513A1
WO2019111513A1 PCT/JP2018/037045 JP2018037045W WO2019111513A1 WO 2019111513 A1 WO2019111513 A1 WO 2019111513A1 JP 2018037045 W JP2018037045 W JP 2018037045W WO 2019111513 A1 WO2019111513 A1 WO 2019111513A1
Authority
WO
WIPO (PCT)
Prior art keywords
algorithm
information processing
algorithms
transaction data
operation mode
Prior art date
Application number
PCT/JP2018/037045
Other languages
English (en)
French (fr)
Inventor
白井 太三
Original Assignee
ソニー株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ソニー株式会社 filed Critical ソニー株式会社
Priority to US16/768,155 priority Critical patent/US11533181B2/en
Priority to CN201880077927.1A priority patent/CN111418182B/zh
Publication of WO2019111513A1 publication Critical patent/WO2019111513A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3239Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/56Financial cryptography, e.g. electronic payment or e-cash

Definitions

  • the present disclosure relates to an information processing device, a registration device, an information processing method, a registration method, and a program.
  • a distributed file system using a P2P network such as a block chain
  • P2P database a distributed file system using a P2P network
  • -It is difficult to falsify or destroy-Central control is unnecessary (basically anyone can participate)
  • High transparency basicically anyone can view the record
  • Low cost no need for expensive systems
  • elliptic curve cryptography is used in bitcoin.
  • elliptic curve cryptography is not an algorithm that can not be solved in polynomial time. Therefore, if a quantum computer (for example, a computer that achieves parallelism using quantum mechanical superposition) is used, the encryption may be easily broken.
  • a quantum computer for example, a computer that achieves parallelism using quantum mechanical superposition
  • the present disclosure proposes a new and improved information processing apparatus, registration apparatus, information processing method, registration method, and program capable of realizing a more secure P2P database.
  • At least one algorithm is an algorithm that can not be solved in polynomial time, and a plurality of algorithms corresponding to each of the plurality of algorithms are used from the secret key corresponding to each of the plurality of algorithms
  • a generation unit configured to generate a plurality of electronic signatures corresponding to each of the plurality of algorithms, a plurality of addresses corresponding to each of the plurality of algorithms, a plurality of generated public keys, a plurality of the addresses,
  • a transmission control unit that causes a P2P network to transmit transaction data including a plurality of the electronic signatures.
  • a verification unit that verifies transaction data including a public key, an address, and an electronic signature transmitted from an external device to the P2P network, and the verified transaction data are registered in the P2P database.
  • a registration unit wherein the transaction data can not be resolved in the public key, the address, and the electronic signature generated from the secret key using the first algorithm that is not an algorithm that can not be solved in polynomial time, and the polynomial time
  • a registration device is provided that includes one or both of a public key, an address, and a digital signature generated from a private key using a second algorithm, which is an algorithm.
  • At least one algorithm is an algorithm that can not be solved in polynomial time, and each of the plurality of algorithms is used to correspond to the plurality of algorithms from the secret key corresponding to each of the plurality of algorithms.
  • Generating a plurality of public keys, a plurality of addresses corresponding to each of the plurality of algorithms, and a plurality of electronic signatures corresponding to the plurality of algorithms, the plurality of generated public keys, and the plurality of addresses And transmitting transaction data including the plurality of electronic signatures to the P2P network.
  • An information processing method to be executed by the information processing apparatus is provided.
  • a step of verifying transaction data including a public key, an address, and an electronic signature transmitted from an external device to the P2P network and a step of registering the verified transaction data in the P2P database
  • the transaction data includes a public key generated from a secret key using a first algorithm that is not an algorithm that can not be solved in polynomial time, an address, and a digital signature, and an algorithm that can not be solved in polynomial time.
  • a registration method implemented by a registration device is provided, which includes one or both of a public key, an address, and a digital signature generated from a private key using a second algorithm that is:
  • At least one algorithm is an algorithm that can not be solved in polynomial time, and each of the plurality of algorithms is used to correspond to the plurality of algorithms from the secret key corresponding to each of the plurality of algorithms.
  • a function of verifying transaction data including an electronic key, an address, and a public key transmitted from an external device to the P2P network, a function of registering the verified transaction data in the P2P database, On the computer, and the transaction data includes the public key, the address, and the electronic signature generated from the secret key using the first algorithm that is not an algorithm that can not be solved in polynomial time, and the algorithm that can not be solved in polynomial time.
  • a program is provided that includes one or both of a public key, an address, and a digital signature generated from a private key using a second algorithm that is
  • a more secure P2P database can be realized.
  • An information processing system according to the present embodiment, an information processing method according to the present embodiment, and a registration method according to the present embodiment [1] Processing in an existing P2P network [2] Configuration of an information processing system according to the present embodiment, Processing to be performed in an apparatus configuring an information processing system [3] Operation of an apparatus configuring an information processing system according to the present embodiment [4] Configuration of an apparatus configuring an information processing system according to the present embodiment [5] present implementation Example of the effect exhibited in the information processing system according to the embodiment Program according to the present embodiment
  • the information processing system according to the present embodiment is a system capable of realizing a P2P database, and a P2P network is formed by configured devices.
  • the P2P database according to the present embodiment is a distributed file system using a P2P network.
  • Examples of P2P databases include block chain data distributed in P2P networks.
  • block chain data concerning this embodiment block chain data used for exchange of data of virtual currency, such as bit coin and ethereal, is mentioned, for example.
  • the block chain data according to the present embodiment is not limited to the block chain data used for exchanging virtual currency data.
  • the block chain data according to the present embodiment includes “education data (for example, data indicating test results, learning unit, etc.)”, “content data such as music data and video data”, and “person's flow line”. It may be block chain data used to exchange various data, such as data used to provide any service, such as data.
  • the P2P database according to the present embodiment for example, payment using virtual currency, exchange of content data, provision of various services such as stamp rally, etc. can be realized.
  • the P2P database according to the present embodiment is not limited to block chain data, and may be any distributed file system capable of realizing a distributed file system using a P2P network.
  • FIG. 2 is an explanatory view showing an example of a P2P database, and shows an example of block chain data.
  • block chain data is data in which a plurality of blocks are included as if they were chained.
  • Each block contains data of one or more transactions.
  • data of the transaction for example, data indicating the contents of the transaction such as the value of the virtual currency that has been traded, or a participant of the P2P network that generates the transaction (an apparatus that configures the P2P network. The same applies hereinafter).
  • Various data such as data indicating an address corresponding to the public key of. Note that data included in transaction data is not limited to the example described above.
  • the transaction data may be block chain data, such as education data, content data, data used to provide a service, etc., instead of the data indicating the content of the transaction or together with the data indicating the content of the transaction.
  • One or more data depending on the application may be included.
  • transaction data data of the above-described transaction is referred to as “transaction data” or simply "transaction”.
  • the block chain data includes, for example, a hash of the immediately preceding block and a value called nonce.
  • the hash of the immediately preceding block is used, for example, to determine whether or not the "right block" is a correct sequence from the immediately preceding block.
  • a nonce is used, for example, to prevent impersonation in authentication using a hash, and tampering is prevented by using the nonce.
  • the nonce includes, for example, data indicating a character string, a number string, or a combination thereof.
  • an electronic signature using an encryption key may be added to the transaction data, and the transaction data is encrypted using an encryption key. May be
  • Each transaction data is published and shared across the P2P network.
  • the same record may not necessarily be held in the entire P2P network.
  • Addition of a new block to block chain data in a P2P network is performed, for example, by a method called PoW (Proof of Work) or a method called PoS (Proof of Stake) .
  • PoW is a method of generating a new block among the participants of the P2P network, the person who solved the mathematical problem at the earliest time (for example, the person who first found a hash satisfying a specific condition).
  • PoS for example, the person who solved the mathematical problem whose degree of difficulty changes according to the asset held by the participant determined by the amount of virtual currency, the period of holding the virtual currency, etc.
  • the person who first finds a hash that satisfies a specific condition according to the degree of difficulty) is a method of generating a new block.
  • the method of adding a new block to block chain data in the P2P network according to this embodiment is not particularly limited.
  • the process of adding a new block to block chain data is called mining. Also, among the participants of the P2P network, the participants who perform processing concerning addition of a new block to block chain data are called minors. In the following, participants of a non-minor P2P network may be indicated as “nodes” and nodes corresponding to minors may be indicated as “mining nodes”.
  • FIG. 3 is an explanatory view showing an example of registration of data in the P2P database in the P2P network, and shows an example of registration of data in block chain data (an example of the P2P database).
  • the participant A of the P2P network digitally signs data to be registered in the block chain data using the participant A's private key.
  • the data registered in the block chain data is digitally signed using the participant A's private key, for example, the data is data originating from the participant A, and the holder of the data is the participant It is secured that it is A, etc.
  • the participant A of the P2P network may encrypt the data registered in the block chain data using the participant A's public key or the like.
  • an electronic signature using a secret key or encryption using a public key may not be performed.
  • participant A broadcasts transaction data including the electronically signed data on the P2P network.
  • the transaction data broadcasted on the P2P network is registered in the block chain data by being included in the block created by any P2P network participant.
  • the registration method of the data to the P2P database in a P2P network is not restricted to the example shown above.
  • a P2P network it is also possible to register data in a P2P database by using side chain technology.
  • FIGS. 4 and 5 are explanatory diagrams for explaining an example of handling of keys in the P2P database, and exemplify handling of keys in bitcoin.
  • FIG. 4 shows an example of a mechanism for generating the Bitcoin address A from the secret key k.
  • FIG. 5 shows an example of a transaction generated based on the secret key k, the public key K, the bitcoin address A and the like.
  • the secret key k is generated, for example, by generating a random number (A in FIG. 4).
  • A in FIG. 4
  • a 256-bit integer represented by 64 hexadecimal numbers can be mentioned as in the following example.
  • ⁇ K 1E99423A4ED27608A15A2616A2B0E9E52CED330AC530EDCC32C8FFC6A526AEDD
  • the public key K is generated by the operation of the following equation 1 using the secret key k (B in FIG. 4).
  • G shown in Equation 1 below is a base point of the elliptic curve.
  • examples of the public key K include the following.
  • ⁇ K (x, y)
  • X F028892BAD7ED57D2FB57BF33081D5CFCF6F9ED3D3D7D159C2E2FFF579DC341A
  • ⁇ Y 07 CF 33 DA 18 BD 734 C 600 B 96 A 72 BBC 4 749 D 514 1 C 90 EC 8 AC 328 AE 52 DDFE 2 E 505 BDB
  • the secret key k, the public key K, and the bitcoin address A generated as described above are stored in the wallet of bitcoin.
  • Examples of bitcoin wallets include software wallets (wallets on a computer, sometimes called desktop wallets), web wallets (wallets on a network), paper wallets (wallets printed on paper), hardware There are various types such as wallet (device dedicated to wallet).
  • Transaction data is generated based on the secret key k, the public key K, and the bitcoin address A.
  • the transaction data includes, as shown in FIG. 5, a digital signature Sig generated based on a public key K, a bitcoin address A, and a secret key k.
  • the digital signature Sig is generated, for example, by multiplying data (for example, transaction data of bitcoin, etc.) with a secret key k.
  • FIG. 6 is an explanatory diagram showing an example of the operation of the mining node in the existing P2P network.
  • the mining node that has received the transaction data (A in FIG. 6) transmitted from each node performs each process shown in B in FIG.
  • the mining node performs “verification of correspondence between public key K and bitcoin address A included in transaction data” and “verification between correspondence between public key K and digital signature Sig included in transaction data”. , Validate transaction data.
  • the mining node accumulates transaction data for which verification has been normally completed, and performs processing concerning addition of a new block to block chain data at a predetermined timing (for example, every 10 minutes).
  • a predetermined timing for example, every 10 minutes.
  • the mining node blocks the new block storing the transaction data for which the verification has been completed successfully (P2P Add to database example) Then, the mining node notifies the P2P network of the addition of the new block.
  • the mining node performs an operation as shown, for example, with reference to FIG.
  • FIG. 7 is an explanatory view showing an example of acquisition of data from a P2P database in a P2P network, and shows an example of acquisition of data from block chain data (an example of a P2P database).
  • the data registered by the P2P network participant in the block chain data is registered in the block chain data as described with reference to FIG. 3, for example, and as a result, the registered data is, for example, all participants in the P2P network. Shared. Therefore, each participant of the P2P network is, for example, a block chain of participants of the P2P network stored in the block chain data by referring to block chain data stored in the recording medium corresponding to each participant. Data registered in data can be acquired.
  • the same record may not necessarily be held in the entire P2P network.
  • the data registered by the P2P network participant in the block chain data is shared by some of the P2P network participants, and some of the participants are block chain data stored in the corresponding recording medium. It is possible to obtain registered data by referring to.
  • the participant who has obtained the registered data is a public key corresponding to the secret key. It is possible to verify the legitimacy of the acquired registered data by using. Also, for example, when encryption using a public key is performed on data registered in block chain data, a participant who has acquired the registered data is a secret corresponding to the public key. By using the key, the acquired registered data is decrypted.
  • FIG. 1 is an explanatory view showing an example of the configuration of an information processing system 1000 according to the present embodiment.
  • the information processing system 1000 includes, for example, an information processing apparatus 100 and a registration apparatus 200.
  • the information processing apparatus 100 and the registration apparatus 200 are connected by, for example, one or both of wireless and wired, and configure a network 300.
  • a network 300 for example, there is a P2P network in which various devices constituting the information processing system 1000 are connected in an autonomous distributed manner.
  • the network 300 is not limited to the P2P network, but may be any distributed network.
  • the number of information processing apparatuses 100 constituting the network 300 in FIG. 1 and the number of registration apparatuses 200 constituting the network 300 in FIG. 1 are each an example, and the numbers of various apparatuses constituting the network 300 are It is not limited to the example shown in 1.
  • FIG. 1 shows the information processing apparatus 100 and the registration apparatus 200 as separate apparatuses, the registration apparatus 200 constituting the network 300 with part or all of the information processing apparatus 100 constituting the network 300. A part or all of the functions may function as the information processing apparatus 100 and the registration apparatus 200.
  • the information processing system 1000 shown in FIG. 1 is mentioned as an example, and the apparatus which comprises the information processing system which concerns on this embodiment is demonstrated.
  • the information processing apparatus 100 is an apparatus that functions as a node of a P2P network.
  • the information processing apparatus 100 performs processing related to the information processing method according to the present embodiment in the information processing system 1000 and plays a role of transmitting transaction data to the P2P network.
  • the information processing apparatus 100 performs generation processing shown in the following (1) and transmission control processing shown in the following (2) as processing related to the information processing method according to the present embodiment.
  • the information processing apparatus 100 generates a plurality of public keys, a plurality of addresses, and a plurality of electronic signatures using each of a plurality of algorithms, which is an algorithm in which at least one algorithm can not be solved in polynomial time. Do. That is, the plurality of algorithms include algorithms that can not be solved in polynomial time.
  • the algorithm that can not be solved in polynomial time includes at least one of an MQ (Multivariate Quadratic) algorithm, an NTRU algorithm, a UOV (Un-balanced Oil and Vinegar) algorithm, an XMSS algorithm, and a McEliece algorithm.
  • MQ Multivariate Quadratic
  • NTRU Network-to-Redge Adaptive Binary Arithmetic
  • UOV Un-balanced Oil and Vinegar
  • XMSS XMSS algorithm
  • McEliece algorithm McEliece algorithm
  • the MQ algorithm is an algorithm that uses a multivariate quadratic polynomial solution problem (MQ problem), and the MQ algorithm is used for authentication and the like.
  • MQ problem multivariate quadratic polynomial solution problem
  • Examples of technology relating to an authentication method using MQ algorithm include the technology described in the following non-patent documents. ⁇ Koichi Sakumoto, Taizo Shirai, Harunaga Hiwatari: Public-Key Identification Schemes Based on Multivariate Quadratic Polynomials, CRYPTO 2011
  • the address which concerns on this embodiment is data which can specify the place in a PSP network.
  • a Bitcoin address, an ethereal wallet address, etc. may be mentioned.
  • the case where the address which concerns on this embodiment is a bit coin address is mentioned as an example.
  • the information processing apparatus 100 detects a plurality of public keys corresponding to a plurality of algorithms, a plurality of public keys corresponding to a plurality of algorithms, a plurality of addresses corresponding to a plurality of algorithms, and a plurality of addresses corresponding to a plurality of algorithms. Generate a digital signature.
  • a secret key corresponding to each of the plurality of algorithms is generated based on one seed value.
  • the seed value is stored, for example, in a recording medium such as a ROM (Read Only Memory) or a storage unit (described later) included in the information processing apparatus 100. Also, the seed value may be stored in a tamper-resistant recording medium.
  • the information processing apparatus 100 generates a random number sequence from one seed value, and cuts out a different part for each algorithm from the generated random number sequence, thereby generating a secret key corresponding to each of the plurality of algorithms. That is, the secret key corresponding to each of the plurality of algorithms is different for each of the plurality of algorithms.
  • an increase in key size can be suppressed, and encryption key management and address management can be simplified. can do.
  • application to a small device such as a wearable device worn on a body, for example, becomes easier.
  • the information processing apparatus 100 can generate the same secret key by a plurality of algorithms. For example, the information processing apparatus 100 generates a secret key by cutting out the same part from the random number sequence generated from one seed value, or uses the random number sequence generated from one seed value as the secret key.
  • FIG. 8 is an explanatory diagram for describing an example of a generation process according to the information processing method according to the present embodiment.
  • FIG. 8 shows “public key K and bitcoin address A corresponding to algorithm of elliptic curve cryptosystem which can not be solved in polynomial time,” and MQ algorithm which is an algorithm which can not solve in polynomial time are disclosed.
  • An example in which the key K ′ and the bitcoin address A ′ ′ ′ are generated from one seed value s is shown.
  • the information processing apparatus 100 generates a random number sequence S from the seed value s (A and B in FIG. 8).
  • the information processing apparatus 100 cuts out a part of the random number sequence S, and sets the cut out part as the secret key k.
  • the information processing apparatus 100 generates the public key K and the bitcoin address A from the secret key k as in the example illustrated in FIG. 4 (C in FIG. 8). Further, although not shown in C of FIG. 8, the information processing apparatus 100 generates a digital signature Sig by multiplying data (for example, transaction data of bitcoin, etc.) by a secret key k.
  • the information processing apparatus 100 cuts out a part different from the random key sequence S from the secret key k, and sets the cut out part as the secret key k '(D in FIG. 8). For example, the information processing apparatus 100 cuts out a portion that does not overlap with the secret key k from the random number sequence S, and sets a portion that has been cut out as the secret key k ′. Note that the information processing apparatus 100 may cut out a portion where the secret key k partially overlaps from the random number sequence S, and use the cut out portion as the secret key k ′.
  • the secret key k and the secret key k ′ are not limited to being obtained by being cut out from the random number sequence S generated from the seed value s.
  • the secret key k and the secret key k ' may be obtained by cutting out from two generated independent random numbers.
  • the independent random number is stored, for example, in the same manner as the seed value s, in a recording medium such as a ROM or a storage unit (described later) included in the information processing apparatus 100.
  • Equation 1 is a function of the MQ signature scheme.
  • the information processing apparatus 100 generates a bitcoin address A ′ using the public key K ′ (D in FIG. 8).
  • the information processing apparatus 100 converts a RIPEMD 160 (SHA 256 (K ′)) by Base 58 Check, as in the bitcoin address A shown in FIG. Do.
  • the information processing apparatus 100 generates a digital signature Sig ′ by multiplying data (for example, transaction data of bitcoin, etc.) by the secret key k ′.
  • the information processing apparatus 100 uses the secret key k corresponding to the algorithm of the elliptic curve cryptography, the public key K, and the bitcoin address A, based on one seed value. , “A private key k ′ corresponding to the MQ algorithm, a public key K ′, and a bitcoin address A ′ ′.
  • the example shown with reference to FIG. 8 shows an example of generating a public key, a bitcoin address, and a digital signature corresponding to each of two algorithms of an elliptic curve cryptosystem algorithm and an MQ algorithm
  • generation process in the processing apparatus 100 is not restricted to the example shown above.
  • the information processing apparatus 100 may generate a public key, a bitcoin address, and a digital signature corresponding to each of three or more algorithms including an algorithm that can not be solved in polynomial time.
  • the private key, the public key, and the bitcoin address generated as described above are stored in the bitcoin wallet.
  • the digital signature is generated as described above, for example, when generating transaction data. Needless to say, the generation timing of the digital signature is not limited to the generation timing of the transaction data.
  • the information processing apparatus 100 may generate a public key, an address, and a digital signature using an algorithm corresponding to the set generation operation mode.
  • Examples of the generation operation mode according to the present embodiment include the following first generation operation mode to third generation operation mode.
  • First generation operation mode An operation mode of generating only a public key, an address, and a digital signature corresponding to an algorithm that is not an algorithm that can not be solved in polynomial time (hereinafter sometimes referred to as "first algorithm")
  • second algorithm Generation operation mode: Correspond to "public key, address and electronic signature corresponding to the first algorithm” and “algorithm which can not be solved in polynomial time (hereinafter sometimes referred to as” second algorithm ")
  • Operation mode for generating both “public key, address and electronic signature” “third generation operation mode: operation mode for generating only public key, address and electronic signature corresponding to the second algorithm
  • the generation operation mode according to the present embodiment is, for example, a signal received via the network 300 or the like based on an operation on an operation device constituting an operation unit (described later) included in the information processing apparatus 100 or an external operation device. Or a program registered in the P2P database and “a program that automatically executes a process set when a set condition is satisfied” is set.
  • the “program that automatically executes the process set when the set conditions are satisfied” corresponds to an agent program for realizing an automatic contract mechanism called a smart contract.
  • the generation operation mode may be set by updating a program for executing a process related to the information processing method according to the present embodiment.
  • the operation of the information processing apparatus 100 in the first generation operation mode may be indicated as “wallet v1". Further, in the following, the fact that the information processing apparatus 100 is operating in the second generation operation mode is referred to as “wallet v2", and the fact that the information processing apparatus 100 is operating in the third generation operation mode is "wallet v3" May be indicated.
  • the information processing apparatus 100 When the information processing apparatus 100 performs generation processing corresponding to the set generation operation mode, it is possible to realize a more secure P2P database while having affinity with the existing P2P network. . In other words, when the generation process corresponding to the set generation operation mode is performed, the information processing apparatus 100 is upward compatible with the existing P2P network.
  • the information processing apparatus 100 transmits, to the P2P network, transaction data including the plurality of public keys, the plurality of addresses, and the plurality of electronic signatures generated in the process (generation process) of (1).
  • the information processing apparatus 100 when processing corresponding to the generation operation mode is performed in the processing (generation processing) of the above (1), the information processing apparatus 100 includes the public key, the address, and the electronic signature generated corresponding to the generation operation mode. Send transaction data to P2P network.
  • the information processing apparatus 100 may include, in the transaction data to be transmitted, generation operation mode identification information (for example, an ID indicating the generation operation mode, etc.) indicating which generation operation mode has been processed. .
  • the information processing apparatus 100 transmits transaction data to the P2P network by controlling a communication device that configures a communication unit (described later) provided or an external communication device.
  • FIG. 9 is an explanatory diagram for describing an example of transmission control processing according to the information processing method according to the present embodiment.
  • the information processing apparatus 100 includes the public keys K and K ′ generated by the process (generation process) of the above (1), bitcoin addresses A and A ′, and digital signatures Sig and Sig ′. Generate transaction data including Then, the information processing apparatus 100 transmits transaction data to the P2P network.
  • the information processing apparatus 100 performs transaction data, for example, by performing the process (generation process) of the above (1) and the process (transmission control process) of the above (2) as the process related to the information processing method according to the present embodiment. Send to P2P network.
  • each process according to the information processing method according to the present embodiment can be regarded as, for example, one process, or can be regarded as two or more processes by an arbitrary separation method.
  • Registration device 200 is a device that functions as a mining node in the P2P network.
  • the registration device 200 performs processing according to the registration method according to the present embodiment in the information processing system 1000, verifies transaction data, and plays a role of registering the verified transaction data in the P2P database.
  • the registration device 200 performs verification processing shown in the following (I) and registration processing shown in the following (II) as processing related to the registration method according to the present embodiment.
  • the registration device 200 verifies transaction data transmitted from an external device such as the information processing device 100 to the P2P network.
  • the transaction data to be verified is "publicly generated from the secret key using the first algorithm (an algorithm that can not be solved in polynomial time).
  • first algorithm an algorithm that can not be solved in polynomial time.
  • second algorithm an algorithm that can not be solved in polynomial time
  • the registration device 200 “verify the correspondence between the public key and the bitcoin address included in the transaction data” and “correspondence between the public key included in the transaction data and the digital signature”. “Verify transaction data by performing” verification ".
  • the registration device 200 may perform verification in a method corresponding to the set verification operation mode, for example.
  • Examples of the verification operation mode according to the present embodiment include the following first to third verification operation modes.
  • First verification operation mode verification operation mode for verifying each of the address and electronic signature corresponding to the first algorithm based on the public key corresponding to the first algorithm
  • Second verification operation mode publication corresponding to the first algorithm
  • Third verification operation mode Verification operation mode for verifying each of the address and the electronic signature corresponding to the second algorithm based on the public key corresponding to the second algorithm
  • the verification operation mode is, for example, a signal received via the network 300 or the like based on an operation on an operation device constituting an operation unit (described later) included in the registration apparatus 200 or an external operation device. It is set based on execution of a program registered in the P2P database or “a program that automatically executes a process set when a set condition is satisfied”.
  • the verification operation mode may be set by updating the program for executing the process related to the registration method according to the present embodiment.
  • the operation of the registration device 200 in the first verification operation mode may be indicated as “mining node v1”. Furthermore, in the following description, the operation of the registration device 200 in the second verification operation mode is referred to as “mining node v2”, and the operation of the registration device 200 in the third verification operation mode is referred to as “mining node v3”. May be indicated.
  • FIG. 10 is an explanatory view showing an example of the relationship between the verification operation mode according to the present embodiment and the situation where the verification operation mode is permitted.
  • a second verification mode of operation and a third verification mode of operation are allowed.
  • the term "germination” means that there is a safety concern although the first algorithm is not broken in practice.
  • that the first algorithm is broken means that it is actually possible to solve the problem of the first algorithm.
  • there is a way to break the algorithm but there is a situation where it can not actually break (for example, because it takes a huge amount of time).
  • the registration device 200 When performing verification in a method corresponding to the verification operation mode set as described above, the registration device 200 does not have to verify transaction data that does not correspond to the set verification operation mode.
  • the registration device 200 selectively determines whether the transaction data is transaction data that does not correspond to the verification operation mode based on the generation operation mode identification information included in the transaction data. For example, when the second verification operation mode or the third verification operation mode is set, the registration device 200 indicates that the generation operation mode identification information indicates the first generation operation mode. Do not validate transaction data. Needless to say, the example in which the verification is not performed is not limited to the example described above.
  • the registration device 200 determines whether transaction data is transaction data not corresponding to the verification operation mode according to the relationship with other registration devices 200 constituting the information processing system 1000 to selectively perform verification. You may go.
  • (II) Registration Process The registration device 200 registers the verified transaction data in the P2P database.
  • FIG. 11 is an explanatory view showing an example of the operation of the registration device 200 according to the present embodiment.
  • the registration apparatus 200 that has received the transaction data (A in FIG. 11) transmitted from each node performs each process shown in B of FIG.
  • the registration device 200 verifies transaction data. At this time, the registration device 200 performs verification in a method corresponding to the set verification operation mode.
  • the registration device 200 “verifies the correspondence between the public key K and the bitcoin address A included in the transaction data” as in the case of the verification in the mining node shown in FIG. “Verify the correspondence between the public key K included in the transaction data and the digital signature Sig”.
  • the registration device 200 adds “a public key K ′ included in transaction data and a bitcoin address in addition to the verification in the case where the first verification operation mode is set. Verification of correspondence of A ′ and “verification of correspondence between the public key K ′ included in the transaction data and the digital signature Sig ′.
  • the registration device 200 checks “verification of correspondence between public key K ′ included in transaction data and bitcoin address A ′” and “public key included in transaction data "Verify the correspondence between K 'and the digital signature Sig'".
  • the registration device 200 When the second verification operation mode is set, the registration device 200 performs the same process as the case where the first verification operation mode is set or the third verification operation mode by the transaction data to be verified. The same processing as when it is set may be performed.
  • the registration device 200 Similar to the verification in the mining node shown in FIG. 6, the registration device 200 accumulates transaction data whose verification has been completed successfully, and adds new blocks to the block chain data at a predetermined timing (for example, every 10 minutes). Perform processing related to addition. If the process related to the addition of a new block to the block chain data is successful, the registration device 200 performs a transaction for which the verification has been completed normally, as shown in C of FIG. 11, as in the case of the verification at the mining node shown in FIG. A new block in which data is stored is added to a block chain (an example of a P2P database). Then, the registration device 200 notifies addition of a new block to the P2P network, similarly to the verification in the mining node illustrated in FIG.
  • a predetermined timing for example, every 10 minutes
  • the registration device 200 performs an operation as shown, for example, with reference to FIG.
  • the registration process in the registration device 200 is not limited to the example described above.
  • transaction data including verification operation mode identification information (for example, an ID indicating the verification operation mode) indicating which verification operation mode has been performed. Good.
  • verification operation mode identification information for example, an ID indicating the verification operation mode
  • the registration apparatus 200 verifies transaction data by performing, for example, the process (verification process) of the above (I) and the process (registration process) of the above (II) as the process related to the registration method according to the present embodiment,
  • the verified transaction data is registered in the P2P database.
  • each process according to the registration method according to the present embodiment can be regarded as, for example, one process, or can be regarded as two or more processes by an arbitrary separation method.
  • a first algorithm that is not an algorithm that can not be solved in polynomial time is denoted as “algorithm X”.
  • the second algorithm which is an algorithm that can not be solved in polynomial time, is referred to as "algorithm X '”.
  • FIG. 12 is an explanatory diagram showing a first example of the operation of the apparatus that constitutes the information processing system 1000 according to the present embodiment.
  • a of FIG. 12 illustrates an example of the operation of the information processing apparatus 100 in which the first generation operation mode is set.
  • B in FIG. 12 illustrates an example of the operation of the registration device 200 in which the first verification operation mode is set.
  • FIG. 12 illustrates an example of the operation in the case where both the information processing apparatus 100 and the registration apparatus 200 correspond to only one type of algorithm called algorithm X (first algorithm). That is, FIG. 12 corresponds to the operation in the existing P2P network.
  • algorithm X first algorithm
  • FIG. 13 is an explanatory view showing a second example of the operation of the apparatus that constitutes the information processing system 1000 according to the present embodiment.
  • the algorithm X (first algorithm) is in a safe state
  • the second verification operation mode is set in some of the registration devices 200 among the registration devices 200 that configure the information processing system 1000. The case is shown.
  • a of FIG. 13 shows an example of the operation of the information processing apparatus 100 in which the first generation operation mode is set and an example of the operation of the information processing apparatus 100 in which the second generation operation mode is set.
  • 13B shows an example of the operation of the registration device 200 in which the first verification operation mode is set and an example of the operation of the registration device 200 in which the second verification operation mode is set.
  • FIG. 14 is an explanatory view showing a third example of the operation of the apparatus that constitutes the information processing system 1000 according to the present embodiment.
  • the algorithm X first algorithm
  • the second verification operation mode is set to a sufficient number of registration devices 200 among the registration devices 200 configuring the information processing system 1000. The case is shown.
  • a of FIG. 14 shows an example of the operation of the information processing apparatus 100 in which the first generation operation mode is set, and an example of the operation of the information processing apparatus 100 in which the second generation operation mode is set.
  • B in FIG. 14 illustrates an example of the operation of the registration device 200 in which the second verification operation mode is set.
  • the registration device 200 performs the following operation. If the transaction data to be verified is data corresponding to only the algorithm X (first algorithm), the registration device 200 verifies the transaction data as in the case where the first verification operation mode is set. . If the transaction data to be verified is data corresponding to algorithm X (first algorithm) and algorithm X ′ (second algorithm), the registration device 200 verifies the transaction data by the second verification operation mode . When the transaction data to be verified is data corresponding to only the algorithm X ′ (second algorithm), the registration device 200 verifies the transaction data as in the case where the third verification operation mode is set. Do.
  • FIG. 15 is an explanatory view showing a fourth example of the operation of the apparatus that constitutes the information processing system 1000 according to the present embodiment.
  • FIG. 15 shows a state in which the algorithm X (first algorithm) is in danger, and a sufficient number of registration devices 200 among the registration devices 200 constituting the information processing system 1000 perform the second verification operation mode. Shows the case where is set.
  • a of FIG. 15 shows an example of the operation of the information processing apparatus 100 in which the first generation operation mode is set, and an example of the operation of the information processing apparatus 100 in which the second generation operation mode is set.
  • B in FIG. 15 illustrates an example of the operation of the registration device 200 in which the second verification operation mode is set.
  • the information processing apparatus 100 in which the second generation operation mode is set performs the following operation.
  • the information processing apparatus 100 transmits transaction data including both data corresponding to the first algorithm and data corresponding to the second algorithm.
  • the information processing apparatus 100 does not transmit transaction data including only data corresponding to the first algorithm.
  • the registration device 200 performs the following operation. If the transaction data to be verified is data corresponding to only the algorithm X (first algorithm), the registration device 200 does not process the transaction data. That is, in the registration device 200, the operation when the first verification operation mode is set is prohibited. If the transaction data to be verified is data corresponding to algorithm X (first algorithm) and algorithm X ′ (second algorithm), the registration device 200 verifies the transaction data by the second verification operation mode . When the transaction data to be verified is data corresponding to only the algorithm X ′ (second algorithm), the registration device 200 verifies the transaction data as in the case where the third verification operation mode is set. Do.
  • FIG. 16 is an explanatory diagram showing a fifth example of the operation of the apparatus that constitutes the information processing system 1000 according to the present embodiment.
  • FIG. 16 shows a state in which the misconception of the algorithm X (first algorithm) is in a serious state, or a state in which the algorithm X is broken, among the registration devices 200 constituting the information processing system 1000, The case where the second verification operation mode is set in a sufficient number of registration devices 200 is shown.
  • a of FIG. 16 illustrates an example of the operation of the information processing apparatus 100 in which the second generation operation mode is set.
  • B in FIG. 16 illustrates an example of the operation of the registration device 200 in which the second verification operation mode is set.
  • the registration device 200 performs the following operation. That is, if the misconception of the algorithm X (first algorithm) is in a serious state, or if the algorithm X is in a broken state, the registration device 200 performs transaction data including data corresponding to the algorithm X Processing is prohibited. If the transaction data to be verified is data corresponding to only the algorithm X (first algorithm), the registration device 200 does not process the transaction data. That is, in the registration device 200, the operation when the first verification operation mode is set is prohibited. If the transaction data to be verified is data corresponding to the algorithm X (first algorithm) and the algorithm X ′ (second algorithm), the registration device 200 does not process the transaction data.
  • the registration device 200 the operation when the second verification operation mode is set is prohibited.
  • the transaction data to be verified is data corresponding to only the algorithm X ′ (second algorithm)
  • the registration device 200 verifies the transaction data as in the case where the third verification operation mode is set. Do.
  • FIG. 17 is an explanatory view showing a sixth example of the operation of the apparatus that constitutes the information processing system 1000 according to the present embodiment.
  • the second generation operation mode or the third generation operation mode is set to a sufficient number of information processing apparatuses 100 among the information processing apparatuses 100 configuring the information processing system 1000, and information In the case where the second verification operation mode or the third verification operation mode is set in a sufficient number of registration devices 200 among the registration devices 200 that configure the processing system 1000, the case is shown.
  • a of FIG. 17 illustrates an example of the operation of the information processing apparatus 100 in which the second generation operation mode is set and an example of the operation of the information processing apparatus 100 in which the third generation operation mode is set.
  • B in FIG. 17 illustrates an example of the operation of the registration device 200 in which the second verification operation mode is set and an example of the operation of the registration device 200 in which the third verification operation mode is set.
  • the information processing apparatus 100 performs the following operation.
  • the information processing apparatus 100 transmits transaction data including only data corresponding to the second algorithm.
  • the registration device 200 performs the following operation.
  • the registration device 200 verifies the transaction data as in the case where the third verification operation mode is set. Do. If the transaction data to be verified is not data corresponding to only the algorithm X ′ (second algorithm), the registration device 200 does not process the transaction data.
  • FIG. 18 is an explanatory view showing a seventh example of the operation of the apparatus configuring the information processing system 1000 according to the present embodiment.
  • the third generation operation mode is set for all the information processing apparatuses 100 configuring the information processing system 1000
  • the third verification operation mode is set for all the registration apparatuses 200 configuring the information processing system 1000. If "is set,” is shown.
  • a of FIG. 18 shows an example of the operation of the information processing apparatus 100 in which the third generation operation mode is set. Further, B in FIG. 18 illustrates an example of the operation of the registration device 200 in which the third verification operation mode is set.
  • the information processing device 100 performs the following operation.
  • the information processing apparatus 100 transmits transaction data including only data corresponding to the second algorithm.
  • the registration device 200 performs the following operation. If the transaction data to be verified is data corresponding to only the algorithm X ′ (second algorithm), the registration device 200 verifies the transaction data in the third verification operation mode. If the transaction data to be verified is not data corresponding to only the algorithm X ′ (second algorithm), the registration device 200 does not process the transaction data.
  • Examples of the operation of the information processing apparatus 100 and the registration apparatus 200 in the information processing system 1000 include, for example, the first examples shown in the above (A) to the seventh examples shown in the above (G). Needless to say, the examples of the operations of the information processing apparatus 100 and the registration apparatus 200 in the information processing system 1000 are not limited to the examples described above.
  • FIG. 19 is a block diagram showing an example of the configuration of the information processing apparatus 100 according to the present embodiment.
  • the information processing apparatus 100 includes, for example, a communication unit 102 and a control unit 104.
  • the information processing apparatus 100 may be, for example, a ROM (not shown), a RAM (Random Access Memory; not shown), a storage unit (not shown), and an operation unit operable by a user of the information processing apparatus 100.
  • the display unit (not shown) may be provided to display various screens on the display screen (not shown).
  • the information processing apparatus 100 connects the above-described components by a bus as a data transmission path.
  • the ROM (not shown) stores programs used by the control unit 104 and control data such as operation parameters.
  • the RAM (not shown) temporarily stores programs and the like executed by the control unit 104.
  • the storage unit is a storage unit included in the information processing apparatus 100, and, for example, various data such as data related to the information processing method according to the present embodiment such as data indicating a seed value and various applications.
  • various data such as data related to the information processing method according to the present embodiment such as data indicating a seed value and various applications.
  • a memory storage part (not shown)
  • non-volatile memories such as magnetic recording media, such as a hard disk, flash memory, etc. are mentioned, for example.
  • the storage unit (not shown) may be removable from the information processing apparatus 100.
  • the information processing apparatus 100 does not include a storage unit (not shown), and various data such as data related to the information processing method according to the present embodiment are stored in a recording medium outside the information processing apparatus 100. It is also good.
  • Examples of the operation unit (not shown) include an operation input device described later. Moreover, as a display part (not shown), the display device mentioned later is mentioned.
  • the information processing apparatus 100 may not include one or both of the operation unit (not shown) and the display unit (not shown).
  • FIG. 20 is an explanatory diagram showing an example of the hardware configuration of the information processing apparatus 100 according to the present embodiment.
  • the information processing apparatus 100 includes, for example, an MPU 150, a ROM 152, a RAM 154, a recording medium 156, an input / output interface 158, an operation input device 160, a display device 162, and a communication interface 164. Further, the information processing apparatus 100 connects the respective constituent elements by, for example, a bus 166 as a data transmission path.
  • the information processing apparatus 100 is driven by, for example, power supplied from an internal power supply such as a battery provided in the information processing apparatus 100 or power supplied from a connected external power supply.
  • the MPU 150 includes, for example, one or more processors configured by arithmetic circuits such as MPU (Micro Processing Unit), and various processing circuits, and functions as a control unit 104 that controls the entire information processing apparatus 100. . Further, in the information processing apparatus 100, the MPU 150 plays a role of, for example, a generation unit 110 and a transmission control unit 112 described later. Note that one or both of the generation unit 110 and the transmission control unit 112 may be configured by a dedicated (or general-purpose) circuit (for example, a processor or the like separate from the MPU 150).
  • a dedicated (or general-purpose) circuit for example, a processor or the like separate from the MPU 150.
  • the ROM 152 stores programs used by the MPU 150 and control data such as calculation parameters.
  • the RAM 154 temporarily stores, for example, a program or the like executed by the MPU 150.
  • the recording medium 156 functions as a storage unit (not shown), and stores various data such as data related to the information processing method according to the present embodiment and various applications.
  • examples of the recording medium 156 include a magnetic recording medium such as a hard disk, and a non-volatile memory such as a flash memory. Also, the recording medium 156 may be removable from the information processing apparatus 100.
  • the input / output interface 158 connects, for example, the operation input device 160 and the display device 162.
  • the operation input device 160 functions as an operation unit (not shown)
  • the display device 162 functions as a display unit (not shown).
  • the input / output interface 158 for example, a USB (Universal Serial Bus) terminal, a DVI (Digital Visual Interface) terminal, an HDMI (High-Definition Multimedia Interface) (registered trademark) terminal, various processing circuits, etc. may be mentioned. .
  • the operation input device 160 is provided, for example, on the information processing apparatus 100, and is connected to the input / output interface 158 inside the information processing apparatus 100.
  • the operation input device 160 may be, for example, a button, a direction key, a rotary selector such as a jog dial, or a combination thereof.
  • the display device 162 is provided, for example, on the information processing apparatus 100, and is connected to the input / output interface 158 inside the information processing apparatus 100.
  • Examples of the display device 162 include a liquid crystal display and an organic EL display.
  • the input / output interface 158 can also be connected to an external device such as an external operation input device (for example, a keyboard or a mouse) of the information processing apparatus 100 or an external display device.
  • an external operation input device for example, a keyboard or a mouse
  • the display device 162 may be a device such as a touch panel capable of display and user operation.
  • the communication interface 164 is a communication unit included in the information processing apparatus 100, and, for example, a communication unit for performing wireless or wired communication with an external apparatus such as the registration apparatus 200 or an apparatus other than the apparatus configuring the information processing system 1000. It functions as 102.
  • the communication interface 164 for example, a communication antenna and an RF (Radio Frequency) circuit (wireless communication), an IEEE 802.15.1 port and a transmitting / receiving circuit (wireless communication), an IEEE 802.11 port and a transmitting / receiving circuit (wireless communication) Or a LAN terminal and a transmission / reception circuit (wired communication).
  • the communication interface 164 may be any configuration capable of communicating with the devices that configure the network 300.
  • the information processing apparatus 100 performs the process according to the information processing method according to the present embodiment described above, for example, by the configuration shown in FIG.
  • the hardware configuration of the information processing apparatus 100 according to the present embodiment is not limited to the configuration shown in FIG.
  • the information processing apparatus 100 may not include the communication interface 164.
  • the communication interface 164 may be configured to be able to communicate with one or more external devices by a plurality of communication methods.
  • the information processing apparatus 100 can have a configuration not including, for example, a part or all of the recording medium 156, the operation input device 160, and the display device 162.
  • the information processing apparatus 100 can have a configuration according to an application example of the information processing apparatus 100 described later, for example.
  • part or all of the configuration (or the configuration according to the modification) illustrated in FIG. 20 may be realized by one or two or more ICs (Integrated Circuits).
  • the communication unit 102 is a communication unit included in the information processing apparatus 100, and communicates with an external device wirelessly or by wire.
  • the communication unit 102 can also communicate wirelessly or by wire with devices other than the devices constituting the information processing system 1000. Communication in the communication unit 102 is controlled by, for example, the control unit 104.
  • the communication unit 102 for example, a communication antenna and an RF circuit, a LAN terminal, a transmission / reception circuit, etc. may be mentioned, but the configuration of the communication unit 102 is not limited to the above.
  • the communication unit 102 may have a configuration compatible with any standard capable of performing communication such as a USB terminal and a transmission / reception circuit, or any configuration capable of communicating with devices included in the network 300. it can.
  • the communication unit 102 may be configured to be able to communicate with one or more external devices and the like by a plurality of communication methods.
  • the control unit 104 is constituted by, for example, an MPU and plays a role of controlling the entire information processing apparatus 100.
  • the control unit 104 includes, for example, the generation unit 110 and the transmission control unit 112, and plays a leading role in performing processing related to the information processing method according to the present embodiment.
  • the generation unit 110 plays a role of performing the process (generation process) of the above (1).
  • the generation unit 110 generates a plurality of public keys, a plurality of addresses, and a plurality of electronic signatures using, for example, a plurality of algorithms including an algorithm (second algorithm) which can not be solved in polynomial time.
  • a plurality of algorithms including an algorithm (second algorithm) which can not be solved in polynomial time.
  • the generation unit 110 may generate a public key, an address, and a digital signature using an algorithm corresponding to the set generation operation mode.
  • the generation operation mode includes, for example, the above-described first generation operation mode, second generation operation mode, and third generation operation mode.
  • the transmission control unit 112 plays a role of performing the processing (transmission control processing) of the above (2), and transmits transaction data including a plurality of generated public keys, a plurality of addresses, and a plurality of electronic signatures to the P2P network.
  • the control unit 104 performs the process related to the information processing method according to the present embodiment by having the generation unit 110 and the transmission control unit 112, for example.
  • control unit 104 The configuration of the control unit 104 is not limited to the example shown in FIG.
  • control unit 104 can have a configuration according to how to separate the processes related to the information processing method according to the present embodiment.
  • the information processing apparatus 100 performs processing according to the above-described information processing method according to the present embodiment, for example, according to the configuration shown in FIG.
  • the configuration of the information processing apparatus according to the present embodiment is not limited to the configuration shown in FIG.
  • the information processing apparatus includes one or both of the generation unit 110 and the transmission control unit 112 shown in FIG. 19 separately from the control unit 104 (for example, the generation unit 110 and the transmission control unit 112).
  • One or both can be realized by another processing circuit).
  • the information processing apparatus when communicating with an external device via an external communication device having the same function and configuration as the communication unit 102, does not include the communication unit 102. It is also good.
  • the information processing apparatus further includes components capable of performing processing according to the registration method according to the present embodiment (for example, a verification unit and a registration unit included in the registration apparatus 200 described later). It may be In this case, the information processing apparatus according to the present embodiment can function as the registration apparatus 200.
  • the information processing device 100 has been described above as the present embodiment, but the present embodiment is not limited to such a form.
  • the information processing apparatus 100 may be, for example, “computer such as PC (Personal Computer) or server”, “smart phone”, “arbitrary wearable device”, “tablet type device”, “game machine”, “car, etc.
  • the present invention can be applied to any device capable of performing the process related to the information processing method according to the above-described embodiment, such as the “mobile body of”.
  • the device according to the present embodiment can also be applied to, for example, an IC that can be incorporated into the above-described device.
  • the information processing apparatus may be applied to a processing system based on connection to a network (or communication between devices), such as cloud computing.
  • a processing system for example, “a part of processing related to the information processing method is performed by one device configuring the processing system, and another processing related to the information processing method is A system in which processing other than the part of processing in processing is performed is mentioned.
  • FIG. 21 is a block diagram showing an example of the configuration of the registration device 200 according to the present embodiment.
  • the registration device 200 includes, for example, a communication unit 202 and a control unit 204.
  • the registration device 200 may be, for example, a ROM (not shown), a RAM (not shown), a storage unit (not shown), an operation unit (not shown) that can be operated by the user of the registration device 200, A display unit (not shown) or the like may be provided to display various screens on the display screen.
  • the registration device 200 connects the above-mentioned components by, for example, a bus as a data transmission path.
  • the ROM (not shown) stores programs used by the control unit 204 and control data such as operation parameters.
  • the RAM (not shown) temporarily stores programs and the like executed by the control unit 204.
  • the storage unit is a storage unit included in the registration apparatus 200, and stores, for example, data related to the registration method according to the present embodiment and various data such as various applications.
  • a memory storage part (not shown)
  • non-volatile memories such as magnetic recording media, such as a hard disk, flash memory, etc. are mentioned, for example.
  • the storage unit (not shown) may be removable from the registration device 200.
  • the registration apparatus 200 may not include a storage unit (not shown), and various data such as data related to the registration method according to the present embodiment may be stored in a recording medium outside the registration apparatus 200.
  • the device similar to the operation input device 160 shown, for example in FIG. 20 is mentioned.
  • a display part the device similar to the display device 162 shown, for example in FIG. 20 is mentioned.
  • the registration device 200 may not include one or both of the operation unit (not shown) and the display unit (not shown).
  • the registration device 200 has, for example, the same hardware configuration (including the modification) as the information processing device 100 shown in FIG.
  • the processing in the registration device 200 is performed by a processor such as the MPU 150 shown in FIG. 20, for example.
  • the registration device 200 is driven by, for example, power supplied from an internal power supply such as a battery included in the registration device 200 or power supplied from a connected external power supply.
  • the hardware configuration of the registration device 200 according to the present embodiment is not limited to the hardware configuration similar to that of the information processing device 100 illustrated in FIG.
  • the registration device 200 can have a configuration according to an application example of the registration device 200 described later.
  • the communication unit 202 is communication means included in the registration device 200, and performs communication with an external device wirelessly or by wire.
  • the communication unit 202 can also communicate wirelessly or by wire with devices other than the devices constituting the information processing system 1000. Communication in the communication unit 202 is controlled by, for example, the control unit 204.
  • the communication unit 202 for example, a communication antenna and an RF circuit, a LAN terminal, a transmission / reception circuit and the like can be mentioned, but the configuration of the communication unit 202 is not limited to the above.
  • the communication unit 202 may have a configuration compatible with any standard capable of performing communication such as a USB terminal and a transmission / reception circuit, or any configuration capable of communicating with devices included in the network 300. it can.
  • the communication unit 202 may be configured to be able to communicate with one or more external devices and the like by a plurality of communication methods.
  • the control unit 204 is configured by, for example, an MPU, and serves to control the entire registration device 200. Further, the control unit 204 includes, for example, a verification unit 210 and a registration unit 212, and plays a leading role in performing processing related to the registration method according to the present embodiment.
  • the verification unit 210 plays a role of performing the process (verification process) described above (I), and verifies transaction data transmitted from the external device to the P2P network.
  • the verification unit 210 performs verification in a method corresponding to, for example, the set verification operation mode.
  • the verification unit 210 may not verify transaction data that does not correspond to the set verification operation mode, as exemplified in the example of the operation shown in FIGS. 12 to 18, for example.
  • the registration unit 212 plays a role of performing the process (registration process) of (II), and registers the verified transaction data in the P2P database.
  • the control unit 204 performs processing relating to the registration method according to the present embodiment, for example, by having the verification unit 210 and the registration unit 212.
  • control unit 204 The configuration of the control unit 204 is not limited to the example shown in FIG.
  • control unit 204 can have a configuration according to how to divide the process related to the registration method according to the present embodiment.
  • the registration device 200 performs processing according to the above-described registration method according to the present embodiment, for example, with the configuration shown in FIG. 21, verifies transaction data, and registers the verified transaction data in the P2P database.
  • the configuration of the registration device according to the present embodiment is not limited to the configuration shown in FIG.
  • the registration apparatus includes one or both of the verification unit 210 and the registration unit 212 shown in FIG. 21 separately from the control unit 204 (for example, one of the verification unit 210 and the registration unit 212 or Both can be realized by different processing circuits).
  • the registration device when communicating with an external device through an external communication device having the same function and configuration as the communication unit 202, the registration device according to the present embodiment does not have the communication unit 202. Good.
  • the registration apparatus according to the present embodiment includes components (for example, the generation unit 110 and the transmission control unit 112 included in the information processing apparatus 100) capable of performing the process according to the information processing method according to the present embodiment You may provide further.
  • the registration device according to the present embodiment can function as the information processing device 100.
  • the registration device 200 has been described above as the present embodiment, but the present embodiment is not limited to such a form.
  • the registration device 200 may be, for example, a “computer such as a PC or server”, a “smart phone”, an “any wearable device”, a “tablet type device”, a “game machine”, an “any mobile such as a car”, etc.
  • the present invention can be applied to any device that can perform the process related to the registration method according to the present embodiment described above.
  • the device according to the present embodiment can also be applied to, for example, an IC that can be incorporated into the above-described device.
  • the registration device may be applied to a processing system that assumes connection to a network (or communication between devices), such as cloud computing, for example.
  • a processing system for example, “a part of the processing according to the registration method is performed by one device configuring the processing system, and the other processing according to the registration method is performed by another device configuring the processing system. A system where processing other than the said partial processing is performed etc. are mentioned.
  • a program for causing a computer system to function as the information processing apparatus according to the present embodiment a program for causing the computer system to function as the information processing apparatus according to the present embodiment (for example, a function of the generation unit 110 and a function of the transmission control unit 112 Can be implemented by a processor or the like in a computer system, whereby a more secure P2P database can be implemented.
  • a computer system according to the present embodiment a single computer or a plurality of computers may be mentioned. A series of processes are performed by the computer system according to the present embodiment.
  • a program for causing a computer system to function as an information processing apparatus according to the present embodiment is executed by the processing according to the above-described information processing method according to the present embodiment by being executed by a processor or the like in the computer system. Effects can be achieved.
  • a software wallet in a virtual currency system is mentioned, for example.
  • a program for causing a computer system to function as a registration device according to the present embodiment A program for causing a computer system to function as a registration device according to the present embodiment can be implemented by a processor or the like in a computer system to realize a more secure P2P database.
  • the program for causing the computer system to function as the processing device according to the present embodiment is executed by a processor or the like in the computer system, thereby achieving the effects exhibited by the processing according to the registration method according to the present embodiment described above. Can play.
  • a program (computer program) for causing the computer system to function as the information processing apparatus according to the present embodiment and a program (computer program) for causing the computer system to function as the registration apparatus according to the present embodiment are provided.
  • a recording medium storing the above-mentioned program or a recording medium storing the above-mentioned program together can be provided together.
  • a generation unit that generates a plurality of addresses corresponding to each of the algorithms and a plurality of electronic signatures corresponding to each of the plurality of the algorithms
  • a transmission control unit that causes a P2P network to transmit transaction data including the plurality of generated public keys, the plurality of addresses, and the plurality of electronic signatures;
  • An information processing apparatus comprising: (2) The information processing apparatus according to (1), wherein a secret key corresponding to each of the plurality of algorithms is generated based on one seed value and is different for each of the plurality of algorithms.
  • the generation unit generates the public key, the address, and the electronic signature using an algorithm corresponding to a set generation operation mode.
  • the transmission control unit causes the P2P network to transmit transaction data including the public key, the address, and the electronic signature generated corresponding to the generation operation mode.
  • the generation mode includes a public key corresponding to a first algorithm that is not an algorithm that can not be solved in polynomial time, the address, and a first generation mode that generates only the electronic signature.
  • Both the public key corresponding to the first algorithm, the address and the electronic signature, and the public key corresponding to the second algorithm that is an algorithm that can not be solved in polynomial time, the address and the electronic signature A second generation operation mode to generate; A third generation operation mode that generates only the public key, the address, and the electronic signature corresponding to the second algorithm;
  • a verification unit that verifies transaction data including a public key, an address, and a digital signature transmitted from an external device to the P2P network;
  • a registration unit that registers the verified transaction data in a P2P database; Equipped with The transaction data includes a first key that is not an algorithm that can not be solved in polynomial time, a public key generated from a secret key using an algorithm and an electronic signature, and a second algorithm that is an algorithm that can not be solved in polynomial time.
  • a registration device which includes one or both of a public key, an address, and a digital signature generated from a private key by using.
  • the verification unit performs verification in a method corresponding to the set verification operation mode, In the verification operation mode, A first verification operation mode for verifying each of the address and the electronic signature corresponding to the first algorithm based on the public key corresponding to the first algorithm; Each of the address and the electronic signature corresponding to the first algorithm is verified based on the public key corresponding to the first algorithm, and the second key is compared based on the public key corresponding to the second algorithm; A second verification operation mode for verifying each of the address and the electronic signature corresponding to two algorithms; A third verification operation mode for verifying each of the address and the electronic signature corresponding to the second algorithm based on the public key corresponding to the second algorithm;
  • the registration device according to (5) which includes (7) The registration device according to (6), wherein the verification unit does not verify the transaction data that does not correspond to the set verification operation mode.
  • Generating a plurality of addresses corresponding to each of the algorithms, and a plurality of electronic signatures corresponding to each of the plurality of the algorithms Sending transaction data including the plurality of generated public keys, the plurality of addresses, and the plurality of electronic signatures to a P2P network
  • An information processing method executed by an information processing apparatus comprising: (9) Verifying transaction data sent from an external device to the P2P network, including public key, address, and electronic signature; Registering the verified transaction data in a P2P database; Have The transaction data includes a first key that is not an algorithm that can not be solved in polynomial time, a public key generated from a secret key using an algorithm and an electronic
  • a registration method performed by a registration device which includes one or both of a public key, an address, and a digital signature generated from a private key by using.
  • a plurality of public keys corresponding to a plurality of the plurality of algorithms, a plurality of public keys corresponding to a plurality of the plurality of algorithms from a secret key corresponding to a plurality of the plurality of algorithms using a plurality of algorithms each being at least one algorithm that can not be solved in polynomial time A function of generating a plurality of addresses corresponding to each of the algorithms, and a plurality of electronic signatures corresponding to each of the plurality of the algorithms;
  • the transaction data includes a first key that is not an algorithm that can not be solved in polynomial time, a public key generated from a secret key using an algorithm and an electronic signature, and a second algorithm that is an algorithm that can not be solved in polynomial time.
  • a program that includes one or both of a public key, an address, and a digital signature that are generated from a private key by using.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

少なくとも1つのアルゴリズムが多項式時間で解けないアルゴリズムである、複数のアルゴリズムそれぞれを利用して、複数のアルゴリズムそれぞれに対応する秘密鍵から、複数のアルゴリズムそれぞれに対応する複数の公開鍵、複数のアルゴリズムそれぞれに対応する複数のアドレス、および複数のアルゴリズムそれぞれに対応する複数の電子署名を生成する生成部と、生成された複数の公開鍵、複数のアドレス、および複数の電子署名を含むトランザクションデータを、P2Pネットワークに送信させる送信制御部と、を備える、情報処理装置が、提供される。

Description

情報処理装置、登録装置、情報処理方法、登録方法、およびプログラム
 本開示は、情報処理装置、登録装置、情報処理方法、登録方法、およびプログラムに関する。
 近年、ビットコイン(bitcoin)やイーサリアム(Ethereum)などの仮想通貨のデータのやり取りが可能な、P2P(Peer to Peer)ネットワークの利用が進んでいる。このような中、仮想通貨の取引に利用されているブロックチェーンに関する技術が、開発されている。デジタル署名の公開鍵と暗号化用の公開鍵との2つの公開鍵ペアを用いる、仮想通貨の取引に利用されているブロックチェーンに関する技術としては、例えば下記の特許文献1に記載の技術が挙げられる。
特開2017-50763号公報
 ブロックチェーンのようなP2Pネットワークを利用した分散ファイルシステムが用いられることによって、例えば下記のような効果が奏される。以下では、P2Pネットワークを利用した分散ファイルシステムを「P2Pデータベース」と示す。
  ・改ざん・破壊が困難である
  ・中央管理が不要である(基本的にだれでも参加できる)
  ・透明性が高い(基本的にだれでも記録を閲覧できる)
  ・低コストである(高価なシステムは不要である)
 例えばビットコインでは、楕円曲線暗号が利用されている。ここで、楕円曲線暗号は、多項式時間で解けないアルゴリズムではない。そのため、量子コンピュータ(例えば、量子力学的な重ね合わせを用いて並列性を実現する計算機)が用いられる場合には、暗号が容易に破られる可能性がある。
 つまり、楕円曲線暗号のような、多項式時間で解けないアルゴリズムではないアルゴリズムを利用する暗号が用いられるP2Pデータベースでは、安全性が十分に確保されているとは限らない。
 本開示では、より安全性の高いP2Pデータベースを実現することが可能な、新規かつ改良された情報処理装置、登録装置、情報処理方法、登録方法、およびプログラムを提案する。
 本開示によれば、少なくとも1つのアルゴリズムが多項式時間で解けないアルゴリズムである、複数のアルゴリズムそれぞれを利用して、複数の上記アルゴリズムそれぞれに対応する秘密鍵から、複数の上記アルゴリズムそれぞれに対応する複数の公開鍵、複数の上記アルゴリズムそれぞれに対応する複数のアドレス、および複数の上記アルゴリズムそれぞれに対応する複数の電子署名を生成する生成部と、生成された複数の上記公開鍵、複数の上記アドレス、および複数の上記電子署名を含むトランザクションデータを、P2Pネットワークに送信させる送信制御部と、を備える、情報処理装置が、提供される。
 また、本開示によれば、外部装置からP2Pネットワークに送信された、公開鍵、アドレス、および電子署名を含むトランザクションデータを検証する検証部と、検証された上記トランザクションデータを、P2Pデータベースに登録する登録部と、を備え、上記トランザクションデータには、多項式時間で解けないアルゴリズムではない第1アルゴリズムを利用して秘密鍵から生成された公開鍵、アドレス、および電子署名と、上記多項式時間で解けないアルゴリズムである第2アルゴリズムを利用して秘密鍵から生成された公開鍵、アドレス、および電子署名との、一方または双方が含まれる、登録装置が、提供される。
 また、本開示によれば、少なくとも1つのアルゴリズムが多項式時間で解けないアルゴリズムである、複数のアルゴリズムそれぞれを利用して、複数の上記アルゴリズムそれぞれに対応する秘密鍵から、複数の上記アルゴリズムそれぞれに対応する複数の公開鍵、複数の上記アルゴリズムそれぞれに対応する複数のアドレス、および複数の上記アルゴリズムそれぞれに対応する複数の電子署名を生成するステップと、生成された複数の上記公開鍵、複数の上記アドレス、および複数の上記電子署名を含むトランザクションデータを、P2Pネットワークに送信させるステップと、を有する、情報処理装置により実行される情報処理方法が、提供される。
 また、本開示によれば、外部装置からP2Pネットワークに送信された、公開鍵、アドレス、および電子署名を含むトランザクションデータを検証するステップと、検証された上記トランザクションデータを、P2Pデータベースに登録するステップと、を有し、上記トランザクションデータには、多項式時間で解けないアルゴリズムではない第1アルゴリズムを利用して秘密鍵から生成された公開鍵、アドレス、および電子署名と、上記多項式時間で解けないアルゴリズムである第2アルゴリズムを利用して秘密鍵から生成された公開鍵、アドレス、および電子署名との、一方または双方が含まれる、登録装置により実行される登録方法が、提供される。
 また、本開示によれば、少なくとも1つのアルゴリズムが多項式時間で解けないアルゴリズムである、複数のアルゴリズムそれぞれを利用して、複数の上記アルゴリズムそれぞれに対応する秘密鍵から、複数の上記アルゴリズムそれぞれに対応する複数の公開鍵、複数の上記アルゴリズムそれぞれに対応する複数のアドレス、および複数の上記アルゴリズムそれぞれに対応する複数の電子署名を生成する機能、生成された複数の上記公開鍵、複数の上記アドレス、および複数の上記電子署名を含むトランザクションデータを、P2Pネットワークに送信させる機能、をコンピュータに実現させるためのプログラムが、提供される。
 また、本開示によれば、外部装置からP2Pネットワークに送信された、公開鍵、アドレス、および電子署名を含むトランザクションデータを検証する機能、検証された上記トランザクションデータを、P2Pデータベースに登録する機能、をコンピュータに実現させ、上記トランザクションデータには、多項式時間で解けないアルゴリズムではない第1アルゴリズムを利用して秘密鍵から生成された公開鍵、アドレス、および電子署名と、上記多項式時間で解けないアルゴリズムである第2アルゴリズムを利用して秘密鍵から生成された公開鍵、アドレス、および電子署名との、一方または双方が含まれる、プログラムが、提供される。
 本開示によれば、より安全性の高いP2Pデータベースを実現することができる。
 なお、上記の効果は必ずしも限定的なものではなく、上記の効果とともに、または上記の効果に代えて、本明細書に示されたいずれかの効果、または本明細書から把握されうる他の効果が奏されてもよい。
本実施形態に係る情報処理システムの構成の一例を示す説明図である。 P2Pデータベースの一例を示す説明図である。 P2PネットワークにおけるP2Pデータベースへのデータの登録の一例を示す説明図である。 P2Pデータベースにおける鍵の扱いの一例を説明するための説明図である。 P2Pデータベースにおける鍵の扱いの一例を説明するための説明図である。 既存のP2Pネットワークにおけるマイニングノードの動作の一例を示す説明図である。 P2PネットワークにおけるP2Pデータベースからのデータの取得の一例を示す説明図である。 本実施形態に係る情報処理方法に係る生成処理の一例を説明するための説明図である。 本実施形態に係る情報処理方法に係る送信制御処理の一例を説明するための説明図である。 本実施形態に係る検証動作モードと、検証動作モードが許容される状況との関係の一例を示す説明図である。 本実施形態に係る登録装置の動作の一例を示す説明図である。 本実施形態に係る情報処理システムを構成する装置の動作の第1の例を示す説明図である。 本実施形態に係る情報処理システムを構成する装置の動作の第2の例を示す説明図である。 本実施形態に係る情報処理システムを構成する装置の動作の第3の例を示す説明図である。 本実施形態に係る情報処理システムを構成する装置の動作の第4の例を示す説明図である。 本実施形態に係る情報処理システムを構成する装置の動作の第5の例を示す説明図である。 本実施形態に係る情報処理システムを構成する装置の動作の第6の例を示す説明図である。 本実施形態に係る情報処理システムを構成する装置の動作の第7の例を示す説明図である。 本実施形態に係る情報処理装置の構成の一例を示すブロック図である。 本実施形態に係る情報処理装置のハードウェア構成の一例を示す説明図である。 本実施形態に係る登録装置の構成の一例を示すブロック図である。
 以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
 また、以下では、下記に示す順序で説明を行う。
  1.本実施形態に係る情報処理システム、本実施形態に係る情報処理方法、および本実施形態に係る登録方法
  [1]既存のP2Pネットワークにおける処理
  [2]本実施形態に係る情報処理システムの構成、および情報処理システムを構成する装置において行われる処理
  [3]本実施形態に係る情報処理システムを構成する装置の動作
  [4]本実施形態に係る情報処理システムを構成する装置の構成
  [5]本実施形態に係る情報処理システムにおいて奏される効果の一例
  2.本実施形態に係るプログラム
(本実施形態に係る情報処理システム、本実施形態に係る情報処理方法、および本実施形態に係る登録方法)
 本実施形態に係る情報処理システムは、P2Pデータベースを実現することが可能なシステムであり、構成される装置によりP2Pネットワークが形成される。
 本実施形態に係るP2Pデータベースとは、上述したように、P2Pネットワークを利用した分散ファイルシステムである。P2Pデータベースとしては、例えば、P2Pネットワークに流通するブロックチェーンデータが挙げられる。本実施形態に係るブロックチェーンデータとしては、例えば、ビットコインやイーサリアムなどの仮想通貨のデータのやり取りに用いられるブロックチェーンデータが挙げられる。なお、本実施形態に係るブロックチェーンデータは、仮想通貨のデータのやり取りに用いられるブロックチェーンデータに限られない。例えば、本実施形態に係るブロックチェーンデータは、“教育データ(例えば、試験結果、学習単位などを示すデータ)”や、“音楽データや映像データなどのコンテンツデータ”、“人の動線を示すデータなどの、任意のサービスの提供に用いられるデータ”など、様々なデータのやり取りに用いられるブロックチェーンデータであってもよい。つまり、本実施形態に係るP2Pデータベースが用いられることによって、例えば、仮想通貨を用いた決済や、コンテンツデータの授受、スタンプラリーなどの様々なサービスの提供などが、実現可能である。また、本実施形態に係るP2Pデータベースは、ブロックチェーンデータに限られず、P2Pネットワークを利用した分散ファイルシステムを実現することが可能な、任意の分散ファイルシステムであってもよい。
 以下では、P2Pデータベースが、ビットコインのブロックチェーンデータである場合を例に挙げる。
[1]既存のP2Pネットワークにおける処理
 本実施形態に係る情報処理システムの構成、および情報処理システムを構成する装置において行われる処理について説明する前に、既存のP2Pネットワークにおける処理について説明する。
 図2は、P2Pデータベースの一例を示す説明図であり、ブロックチェーンデータの一例を示している。
 図2に示すように、ブロックチェーンデータは、複数のブロックがあたかも鎖のように連なって含まれるデータである。それぞれのブロックには、1または2以上のトランザクションのデータが含まれる。また、トランザクションのデータとしては、例えば、取引された仮想通貨の値などの取引の内容を示すデータや、トランザクションを生成するP2Pネットワークの参加者(P2Pネットワークを構成する装置。以下、同様とする。)の公開鍵に対応するアドレスを示すデータなどの、様々なデータが挙げられる。なお、トランザクションのデータに含まれるデータは、上記に示す例に限られない。例えば、トランザクションのデータには、上記取引の内容を示すデータに代えて、または、上記取引の内容を示すデータと共に、教育データ、コンテンツデータ、サービスの提供に用いられるデータなどの、ブロックチェーンデータの用途に応じた1または2以上のデータが、含まれていてもよい。以下では、上記のようなトランザクションのデータを「トランザクションデータ」または単に「トランザクション」と示す。
 ブロックチェーンデータには、例えば、直前のブロックのハッシュと、ナンスとよばれる値が含まれる。直前のブロックのハッシュは、例えば直前のブロックから正しく連なる「正しいブロック」であるか否かを判定するために用いられる。ナンスは、例えばハッシュを用いた認証においてなりすましを防ぐために用いられ、ナンスを用いることによって改ざんが防止される。ナンスとしては、例えば、文字列、数字列、あるいは、これらの組み合わせを示すデータが挙げられる。
 また、後述するように、ブロックチェーンデータでは、トランザクションデータに対して暗号鍵を用いた電子署名が付与されていてもよく、また、トランザクションデータに対して暗号鍵を用いた暗号化が施されていてもよい。
 各トランザクションデータは公開され、P2Pネットワーク全体で共有される。なお、P2Pデータベースの種類によっては、P2Pネットワーク全体で必ずしも同一の記録を保持しない場合もありうる。
 P2Pネットワークにおけるブロックチェーンデータへの新たなブロックの追加(新たなブロックの生成)は、例えば、PoW(Proof of Work)とよばれる手法、または、PoS(Proof of Stake)とよばれる手法によって行われる。PoWとは、P2Pネットワークの参加者のうち、数学的な問題を最も早く解いた者(例えば、特定の条件を満たすハッシュを最初に見つけた者)が、新たなブロックを生成する手法である。また、PoSとは、例えば、仮想通貨の量、仮想通貨を保有している期間などにより決まる参加者が保有する資産に応じて難易度が変わる数学的な問題を、最も早く解いた者(例えば、難易度に応じた特定の条件を満たすハッシュを最初に見つけた者)が、新たなブロックを生成する手法である。なお、本実施形態に係るP2Pネットワークにおけるブロックチェーンデータへの新たなブロックの追加方法は、特に限定されない。
 ブロックチェーンデータへの新たなブロックの追加に係る処理は、マイニングとよばれる。また、P2Pネットワークの参加者のうち、ブロックチェーンデータへの新たなブロックの追加に係る処理を行う参加者は、マイナーとよばれる。以下では、マイナー以外のP2Pネットワークの参加者を「ノード」と示し、マイナーに該当するノードを「マイニングノード」と示す場合がある。
 図3は、P2PネットワークにおけるP2Pデータベースへのデータの登録の一例を示す説明図であり、ブロックチェーンデータ(P2Pデータベースの一例)へのデータの登録の一例を示している。
 例えば、P2Pネットワークの参加者Aは、ブロックチェーンデータに登録するデータを、参加者Aの秘密鍵を用いて電子署名を行う。ブロックチェーンデータに登録するデータが参加者Aの秘密鍵を用いて電子署名が行われることによって、例えば、当該データが参加者Aに起因するデータであることや、当該データの保有者が参加者Aであることなどが、担保される。また、P2Pネットワークの参加者Aは、ブロックチェーンデータに登録するデータを、参加者Aの公開鍵などを用いて暗号化してもよい。なお、P2Pデータベースへのデータの登録の際に、秘密鍵を用いた電子署名や、公開鍵などを用いた暗号化が行われなくてもよいことは、言うまでもない。
 電子署名が行われると、参加者Aは、電子署名されたデータを含むトランザクションデータを、P2Pネットワーク上にブロードキャストする。P2Pネットワーク上にブロードキャストされたトランザクションデータは、いずれかのP2Pネットワークの参加者によって作成されたブロックに含まれることによって、ブロックチェーンデータに登録される。
 なお、P2PネットワークにおけるP2Pデータベースへのデータの登録方法は、上記に示す例に限られない。例えば、P2Pネットワークでは、サイドチェーン技術を利用することによって、P2Pデータベースへデータを登録することも可能である。
 図4、図5は、P2Pデータベースにおける鍵の扱いの一例を説明するための説明図であり、ビットコインにおける鍵の扱いを例示している。図4は、秘密鍵kからビットコインアドレスAが生成される仕組みの一例を示している。また、図5は、秘密鍵k、公開鍵K、およびビットコインアドレスAなどに基づき生成されるトランザクションの一例を示している。
 秘密鍵kは、例えば乱数を発生させることにより生成される(図4のA)。秘密鍵kとしては、例えば下記に示す例のように、64個の16進数で表された256ビットの整数が、挙げられる。
  ・k=1E99423A4ED27608A15A2616A2B0E9E52CED330AC530EDCC32C8FFC6A526AEDD
 公開鍵Kは、秘密鍵kを用いる下記の数式1の演算により生成される(図4のB)。ここで、下記の数式1に示す“G”は、楕円曲線のベースポイントである。
 K=G×k
・・・(数式1)
 一例を挙げると、公開鍵Kとしては、例えば下記に示す例が挙げられる。
  ・K=(x,y)
  ・x=F028892BAD7ED57D2FB57BF33081D5CFCF6F9ED3D3D7F159C2E2FFF579DC341A
  ・y=07CF33DA18BD734C600B96A72BBC4749D5141C90EC8AC328AE52DDFE2E505BDB
 ビットコインアドレスAは、例えば公開鍵Kを用いて生成される(図4のC)。より具体的には、ビットコインアドレスAとしては、例えば、RIPEMD160(SHA256(K))をBase58Checkにより変換した後に先頭に1をつけた文字列が、挙げられる。一例を挙げると、ビットコインアドレスAとしては、例えば下記に示す例が挙げられる。
  ・A=1J7mdg5rbQyUHENYdx39WVWK7fsLpEoXZy
 例えば上記のように生成された秘密鍵k、公開鍵K、およびビットコインアドレスAは、ビットコインのウォレットに保管される。ビットコインのウォレットとしては、例えば、ソフトウェアウォレット(コンピュータ上の財布。デスクトップウォレットとよばれる場合もある。)、ウェブウォレット(ネットワーク上の財布)、ペーパーウォレット(紙に印刷された財布)、ハードウェアウォレット(財布専用装置)など、様々な形式が挙げられる。
 トランザクションデータは、秘密鍵k、公開鍵K、およびビットコインアドレスAに基づき生成される。トランザクションデータには、図5に示すように、公開鍵K、ビットコインアドレスA、および秘密鍵kに基づき生成されるデジタル署名Sigが含まれる。デジタル署名Sigは、例えば、データ(例えばビットコインの取引データなど)に秘密鍵kを掛け合わせることによって、生成される。
 図6は、既存のP2Pネットワークにおけるマイニングノードの動作の一例を示す説明図である。
 各ノードから送信されるトランザクションデータ(図6のA)を受信したマイニングノードは、図6のBに示す各処理を行う。
 例えば、マイニングノードは、“トランザクションデータに含まれる公開鍵KとビットコインアドレスAの対応の検証”、および“トランザクションデータに含まれる公開鍵Kとデジタル署名Sigとの対応の検証”を行うことによって、トランザクションデータを検証する。
 マイニングノードは、検証が正常に完了したトランザクションデータを集積し、所定のタイミング(例えば、10分ごと)に、ブロックチェーンデータへの新たなブロックの追加に係る処理を行う。ブロックチェーンデータへの新たなブロックの追加に係る処理が成功すると、マイニングノードは、図6のCに示すように、検証が正常に完了したトランザクションデータが格納された新規ブロックを、ブロックチェーン(P2Pデータベースの一例)に追加する。そして、マイニングノードは、新規ブロックの追加をP2Pネットワークへ通達する。
 既存のP2Pネットワークにおいてマイニングノードは、例えば図6を参照して示したような動作を行う。
 図7は、P2PネットワークにおけるP2Pデータベースからのデータの取得の一例を示す説明図であり、ブロックチェーンデータ(P2Pデータベースの一例)からのデータの取得の一例を示している。
 P2Pネットワークの参加者がブロックチェーンデータに登録するデータは、例えば図3を参照して説明したようにブロックチェーンデータに登録され、その結果、登録されたデータは、例えばP2Pネットワークの参加者全体で共有される。よって、P2Pネットワークの参加者それぞれは、例えば参加者それぞれに対応する記録媒体に記憶されているブロックチェーンデータを参照することによって、ブロックチェーンデータに記憶されている、P2Pネットワークの参加者がブロックチェーンデータに登録したデータを取得することができる。
 なお、上述したように、P2Pデータベースの種類によっては、P2Pネットワーク全体で必ずしも同一の記録を保持しない場合もありうる。上記の場合、P2Pネットワークの参加者がブロックチェーンデータに登録したデータは、P2Pネットワークの参加者の一部で共有され、一部の参加者は、対応する記録媒体に記憶されているブロックチェーンデータを参照することによって、登録されたデータを取得することが可能である。
 また、例えば、ブロックチェーンデータに登録されているデータに対して秘密鍵を用いた電子署名がされている場合、当該登録されているデータを取得した参加者は、当該秘密鍵に対応する公開鍵を用いることによって、取得した当該登録されているデータの正当性を検証することが可能である。また、例えば、ブロックチェーンデータに登録されているデータに対して公開鍵を用いた暗号化が行われている場合、当該登録されているデータを取得した参加者は、当該公開鍵に対応する秘密鍵を用いることによって、取得した当該登録されているデータを復号化する。
[2]本実施形態に係る情報処理システムの構成、および情報処理システムを構成する装置において行われる処理
 次に、本実施形態に係る情報処理システムの構成の一例を説明しつつ、情報処理システムを構成する装置において行われる処理(本実施形態に係る情報処理方法に係る処理、または、本実施形態に係る登録方法に係る処理)について説明する。
 図1は、本実施形態に係る情報処理システム1000の構成の一例を示す説明図である。情報処理システム1000は、例えば、情報処理装置100と、登録装置200とを有する。
 情報処理装置100と登録装置200とは、例えば無線と有線との一方または双方で接続され、ネットワーク300を構成する。ネットワーク300としては、例えば、情報処理システム1000を構成する各種装置が自律分散的に接続されるP2Pネットワークが挙げられる。なお、ネットワーク300は、P2Pネットワークに限られず、任意の分散型ネットワークであってもよい。
 なお、本実施形態に係る情報処理システムは、図1に示す例に限られない。
 例えば、図1においてネットワーク300を構成する情報処理装置100の数、および図1においてネットワーク300を構成する登録装置200の数それぞれは、一例であり、ネットワーク300を構成する各種装置の数は、図1に示す例に限られない。
 また、図1では、情報処理装置100と登録装置200とを別体の装置として表しているが、ネットワーク300を構成する情報処理装置100の一部または全部と、ネットワーク300を構成する登録装置200の一部または全部とは、情報処理装置100および登録装置200として機能してもよい。
 以下では、図1に示す情報処理システム1000を例に挙げて、本実施形態に係る情報処理システムを構成する装置について、説明する。
[2-1]情報処理装置100
 情報処理装置100は、P2Pネットワークのノードとして機能する装置である。情報処理装置100は、情報処理システム1000において、本実施形態に係る情報処理方法に係る処理を行い、トランザクションデータをP2Pネットワークに送信する役目を果たす。
 上述したように、楕円曲線暗号のような、多項式時間で解けないアルゴリズムではないアルゴリズムを利用する暗号が用いられるP2Pデータベースでは、安全性が十分に確保されているとは限らない。
 そこで、情報処理装置100は、本実施形態に係る情報処理方法に係る処理として下記の(1)に示す生成処理、および下記の(2)に示す送信制御処理を行う。
(1)生成処理
 情報処理装置100は、少なくとも1つのアルゴリズムが多項式時間で解けないアルゴリズムである、複数のアルゴリズムそれぞれを利用して、複数の公開鍵、複数のアドレス、および複数の電子署名を生成する。つまり複数のアルゴリズムには、多項式時間で解けないアルゴリズムが含まれる。
 本実施形態に係る多項式時間で解けないアルゴリズムには、MQ(Multivariate Quadratic)アルゴリズム、NTRUアルゴリズム、UOV(Un-balanced Oil and Vinegar)アルゴリズム、XMSSアルゴリズム、McElieceアルゴリズムの少なくとも1つが、含まれる。なお、多項式時間で解けないアルゴリズムの例が、上記に示す例に限られないことは、言うまでもない。
 以下では、多項式時間で解けないアルゴリズムが、MQアルゴリズムである場合を例に挙げる。MQアルゴリズムとは、多変数二次多項式の求解問題(MQ問題)を利用するアルゴリズムであり、MQアルゴリズムは認証などに用いられている。MQアルゴリズムを利用した認証方式(MQ問題を基にした方式)に係る技術としては、例えば下記の非特許文献に記載の技術が挙げられる。
  ・Koichi Sakumoto, Taizo Shirai, Harunaga Hiwatari: Public-Key Identification Schemes Based on Multivariate Quadratic Polynomials, CRYPTO 2011
 また、本実施形態に係るアドレスとは、PSPネットワークにおける場所を特定することが可能なデータである。本実施形態に係るアドレスとしては、例えば、ビットコインアドレスや、イーサリアムのウォレットアドレスなどが、挙げられる。以下では、本実施形態に係るアドレスがビットコインアドレスである場合を例に挙げる。
 情報処理装置100は、複数のアルゴリズムそれぞれに対応する秘密鍵から、複数のアルゴリズムそれぞれに対応する複数の公開鍵、複数のアルゴリズムそれぞれに対応する複数のアドレス、および複数のアルゴリズムそれぞれに対応する複数の電子署名を生成する。
 ここで、複数のアルゴリズムそれぞれに対応する秘密鍵は、1つのシード値に基づき生成される。シード値は、例えば、情報処理装置100が備えるROM(Read Only Memory)や記憶部(後述する)などの記録媒体に、記憶される。また、シード値は、耐タンパ性を有する記録媒体に記憶されていてもよい。
 情報処理装置100は、1つのシード値から乱数列を生成し、生成された乱数列からアルゴリズムごとに異なる部分を切り出すことによって、複数のアルゴリズムそれぞれに対応する秘密鍵を生成する。つまり、複数のアルゴリズムそれぞれに対応する秘密鍵は、複数のアルゴリズムごとに異なる。
 上記のように、1つのシード値に基づいて、複数のアルゴリズムそれぞれに対応する秘密鍵がそれぞれ生成されることによって、鍵サイズの増大を抑えることができ、暗号鍵管理やアドレス管理をより簡易にすることができる。また、鍵サイズの増大を抑えること、および暗号鍵管理やアドレス管理をより簡易にすることによって、例えば身体に装着して用いられるウェアラブルデバイスなどの、小型デバイスへの適用がより容易となる。
 なお、情報処理装置100が、複数のアルゴリズムで同一の秘密鍵を生成することが可能であることは、言うまでもない。例えば、情報処理装置100は、1つのシード値から生成された乱数列から同一の部分を切り出すことにより秘密鍵を生成し、または、1つのシード値から生成された乱数列を秘密鍵とする。
 図8は、本実施形態に係る情報処理方法に係る生成処理の一例を説明するための説明図である。図8は、“多項式時間で解けないアルゴリズムではない楕円曲線暗号のアルゴリズムに対応する、公開鍵K、およびビットコインアドレスA”と、“多項式時間で解けないアルゴリズムであるMQアルゴリズムに対応する、公開鍵K’、およびビットコインアドレスA’”とを、1つのシード値sから生成する例を、示している。
 情報処理装置100は、シード値sから乱数列Sを生成する(図8のA、B)。
 情報処理装置100は、乱数列Sから一部を切り出し、切り出された一部を秘密鍵kとする。
 そして、情報処理装置100は、図4に示す例と同様に、秘密鍵kから公開鍵Kと、ビットコインアドレスAを生成する(図8のC)。また、図8のCでは示していないが、情報処理装置100は、データ(例えばビットコインの取引データなど)に秘密鍵kを掛け合わせることによって、デジタル署名Sigを生成する。
 また、情報処理装置100は、乱数列Sから秘密鍵kとは異なる一部を切り出し、切り出された一部を秘密鍵k’とする(図8のD)。例えば、情報処理装置100は、秘密鍵kと重複しない部分を乱数列Sから切り出し、切り出された一部を秘密鍵k’とする。なお、情報処理装置100は、秘密鍵kと一部が重複している部分を乱数列Sから切り出し、切り出された一部を秘密鍵k’としてもよい。ここで、秘密鍵kと秘密鍵k’とを決定する際には、秘密鍵kから秘密鍵k’が復元できないように、および秘密鍵k’から秘密鍵kが復元できないように、選択する必要がある。また、秘密鍵k、秘密鍵k’は、シード値sから生成された乱数列Sから切り出されることによって得られることに限られない。例えば、秘密鍵k、秘密鍵k’は、生成された2つの独立な乱数から切り出されることによって得られてもよい。上記独立な乱数は、例えばシード値sと同様に、情報処理装置100が備えるROMや記憶部(後述する)などの記録媒体に、記憶される。
 そして、情報処理装置100は、秘密鍵k’を用いる下記の数式2の演算により生成される(図8のD)。ここで、下記の数式1に示す“MQ( )”は、MQ署名方式の関数である。
 K’=MQ(k’)
・・・(数式2)
 情報処理装置100は、公開鍵K’を用いてビットコインアドレスA’を生成する(図8のD)。情報処理装置100は、図8のCに示すビットコインアドレスAと同様に、RIPEMD160(SHA256(K’))をBase58Checkにより変換した後に先頭に1をつけた文字列を、ビットコインアドレスA’とする。一例を挙げると、ビットコインアドレスA’としては、例えば下記に示す例が挙げられる。
  ・A’=1hvzSofGwT8cjb8JU7nBsCSfEVQX5u9CL
 また、図8のDでは示していないが、情報処理装置100は、データ(例えばビットコインの取引データなど)に秘密鍵k’を掛け合わせることによって、デジタル署名Sig’を生成する。
 情報処理装置100は、例えば図8を参照して示したように、1つのシード値に基づいて、“楕円曲線暗号のアルゴリズムに対応する秘密鍵k、公開鍵K、およびビットコインアドレスA”と、“MQアルゴリズムに対応する秘密鍵k’、公開鍵K’、およびビットコインアドレスA’”とを生成する。
 なお、図8を参照して示した例では、楕円曲線暗号のアルゴリズムおよびMQアルゴリズムという2つのアルゴリズムそれぞれに対応する、公開鍵、ビットコインアドレス、およびデジタル署名を生成する例を示したが、情報処理装置100における生成処理の例は、上記に示す例に限られない。例えば、情報処理装置100は、多項式時間で解けないアルゴリズムを含む3つ以上のアルゴリズムそれぞれに対応する、公開鍵、ビットコインアドレス、およびデジタル署名を、生成してもよい。
 例えば上記のように生成される秘密鍵、公開鍵、およびビットコインアドレスは、ビットコインのウォレットに保管される。また、デジタル署名は、例えばトランザクションデータを生成するときに、上記のように生成される。なお、デジタル署名の生成タイミングが、トランザクションデータを生成するタイミングに限られないことは、言うまでもない。
 なお、本実施形態に係る生成処理は、上記に示す例に限られない。
 例えば、情報処理装置100は、設定されている生成動作モードに対応するアルゴリズムを利用して、公開鍵、アドレス、および電子署名を生成してもよい。
 本実施形態に係る生成動作モードとしては、例えば下記の第1生成動作モード~第3生成動作モードが、挙げられる。
  ・第1生成動作モード:多項式時間で解けないアルゴリズムではないアルゴリズム(以下、「第1アルゴリズム」と示す場合がある。)に対応する公開鍵、アドレス、および電子署名のみを生成する動作モード
  ・第2生成動作モード:“第1アルゴリズムに対応する公開鍵、アドレス、および電子署名”と、“多項式時間で解けないアルゴリズムであるアルゴリズム(以下、「第2アルゴリズム」と示す場合がある。)に対応する公開鍵、アドレス、および電子署名”との双方を生成する動作モード
  ・第3生成動作モード:第2アルゴリズムに対応する公開鍵、アドレス、および電子署名のみを生成する動作モード
 本実施形態に係る生成動作モードは、例えば、情報処理装置100が備える操作部(後述する)を構成する操作デバイスや外部の操作デバイスに対する操作に基づいて、ネットワーク300などを介して受信される信号に基づいて、あるいは、P2Pデータベースに登録されている“設定されている条件が満たされた場合に設定されている処理が自動的に実行されるプログラム”が実行されることによって、設定される。“設定されている条件が満たされた場合に設定されている処理が自動的に実行されるプログラム”は、スマートコントラクトとよばれる自動的な契約の仕組みを実現するためのエージェントプログラムに相当する。
 また、情報処理装置100では、本実施形態に係る情報処理方法に係る処理を実行するためのプログラムが更新されることによって、生成動作モードが設定されてもよい。
 以下では、情報処理装置100が第1生成動作モードで動作していることを「ウォレットv1」と示す場合がある。また、以下では、情報処理装置100が第2生成動作モードで動作していることを「ウォレットv2」と示し、情報処理装置100が第3生成動作モードで動作していることを「ウォレットv3」と示す場合がある。
 情報処理装置100が、設定されている生成動作モードに対応する生成処理を行うことによって、既存のP2Pネットワークとの親和性を持ちつつ、より安全性の高いP2Pデータベースを実現することが可能となる。換言すると、設定されている生成動作モードに対応する生成処理を行う場合、情報処理装置100は、既存のP2Pネットワークに対して上位互換を有する。
(2)送信制御処理
 情報処理装置100は、上記(1)の処理(生成処理)において生成された複数の公開鍵、複数のアドレス、および複数の電子署名を含むトランザクションデータを、P2Pネットワークに送信させる。
 例えば上記(1)の処理(生成処理)において生成動作モードに対応する処理が行われる場合、情報処理装置100は、生成動作モードに対応して生成された公開鍵、アドレス、および電子署名を含むトランザクションデータを、P2Pネットワークに送信させる。この場合、情報処理装置100は、どの生成動作モードに対応する処理が行われたかを示す生成動作モード識別情報(例えば、生成動作モードを示すIDなど)を、送信させるトランザクションデータに含めてもよい。
 情報処理装置100は、備えている通信部(後述する)を構成する通信デバイス、または外部の通信デバイスを制御することにより、トランザクションデータをP2Pネットワークに送信させる。
 図9は、本実施形態に係る情報処理方法に係る送信制御処理の一例を説明するための説明図である。
 情報処理装置100は、例えば図9に示すように、上記(1)の処理(生成処理)により生成された公開鍵K、K’、ビットコインアドレスA、A’、およびデジタル署名Sig、Sig’を含むトランザクションデータを生成する。そして、情報処理装置100は、トランザクションデータをP2Pネットワークに送信させる。
 情報処理装置100は、本実施形態に係る情報処理方法に係る処理として、例えば上記(1)の処理(生成処理)および上記(2)の処理(送信制御処理)を行うことによって、トランザクションデータをP2Pネットワークに送信する。
 なお、上記(1)の処理(生成処理)および上記(2)の処理(送信制御処理)は、便宜上、本実施形態に係る情報処理方法に係る処理を切り分けたものである。よって、本実施形態に係る情報処理方法に係る各処理は、例えば、1つの処理と捉えることも可能であり、または、任意の切り分け方によって2以上の処理と捉えることも可能である。
[2-2]登録装置200
 登録装置200は、P2Pネットワークにおいてマイニングノードとして機能する装置である。登録装置200は、情報処理システム1000において、本実施形態に係る登録方法に係る処理を行い、トランザクションデータを検証し、検証されたトランザクションデータを、P2Pデータベースに登録する役目を果たす。
 登録装置200は、本実施形態に係る登録方法に係る処理として下記の(I)に示す検証処理、および下記の(II)に示す登録処理を行う。
(I)検証処理
 登録装置200は、情報処理装置100などの外部装置からP2Pネットワークに送信されたトランザクションデータを検証する。
 情報処理装置100における生成動作モードの説明において示したように、検証対象のトランザクションデータには、“第1アルゴリズム(多項式時間で解けないアルゴリズムではないアルゴリズム)を利用して秘密鍵から生成された公開鍵、アドレス、および電子署名”と、“第2アルゴリズム(多項式時間で解けないアルゴリズム)を利用して秘密鍵から生成された公開鍵、アドレス、および電子署名”との、一方または双方が含まれる。
 登録装置200は、例えば図6を参照して説明したように、“トランザクションデータに含まれる公開鍵とビットコインアドレスの対応の検証”、および“トランザクションデータに含まれる公開鍵とデジタル署名との対応の検証”を行うことによって、トランザクションデータを検証する。
 また、登録装置200は、例えば、設定されている検証動作モードに対応する方法で検証を行ってもよい。
 本実施形態に係る検証動作モードとしては、例えば下記の第1検証動作モード~第3検証動作モードが、挙げられる。
  ・第1検証動作モード:第1アルゴリズムに対応する公開鍵に基づいて、第1アルゴリズムに対応するアドレスおよび電子署名それぞれを検証する検証動作モード
  ・第2検証動作モード:第1アルゴリズムに対応する公開鍵に基づいて、第1アルゴリズムに対応するアドレスおよび電子署名それぞれを検証し、かつ、第2アルゴリズムに対応する公開鍵に基づいて、第2アルゴリズムに対応するアドレスおよび電子署名それぞれを検証する検証動作モード
  ・第3検証動作モード:第2アルゴリズムに対応する公開鍵に基づいて、第2アルゴリズムに対応するアドレスおよび電子署名それぞれを検証する検証動作モード
 本実施形態に係る検証動作モードは、例えば、登録装置200が備える操作部(後述する)を構成する操作デバイスや外部の操作デバイスに対する操作に基づいて、ネットワーク300などを介して受信される信号に基づいて、あるいは、P2Pデータベースに登録されている“設定されている条件が満たされた場合に設定されている処理が自動的に実行されるプログラム”が実行されることによって、設定される。
 また、登録装置200では、本実施形態に係る登録方法に係る処理を実行するためのプログラムが更新されることによって、検証動作モードが設定されてもよい。
 以下では、登録装置200が第1検証動作モードで動作していることを「マイニングノードv1」と示す場合がある。また、以下では、登録装置200が第2検証動作モードで動作していることを「マイニングノードv2」と示し、登録装置200が第3検証動作モードで動作していることを「マイニングノードv3」と示す場合がある。
 図10は、本実施形態に係る検証動作モードと、検証動作モードが許容される状況との関係の一例を示す説明図である。
 例えば、第1アルゴリズム(多項式時間で解けないアルゴリズムではないアルゴリズム)が安全な状況では、第1検証動作モード、第2検証動作モード、および第3検証動作モードの全ての検証動作モードが、許容される。
 また、例えば、第1アルゴリズムが危胎化している状況では、第2検証動作モード、および第3検証動作モードが、許容される。ここで、危胎化とは、実際には第1アルゴリズムが破れていないが、安全に懸念があることをいう。また、第1アルゴリズムが破れるとは、第1アルゴリズムの問題を解くことが実際に可能であることをいう。危胎化している状況の一例を挙げると、アルゴリズムを破る方法は分かっているが、(例えば膨大な時間がかかるためなどの理由により、)実際に破ることができない状況が、挙げられる。
 また、例えば、第1アルゴリズムが破れている状況では、第3検証動作モードのみが許容される。
 上記のように設定されている検証動作モードに対応する方法で検証を行う場合、登録装置200は、設定されている検証動作モードに対応しないトランザクションデータを検証しなくてよい。
 登録装置200は、例えば、トランザクションデータに含まれる生成動作モード識別情報に基づいて、トランザクションデータが検証動作モードに対応しないトランザクションデータであるか否かを判定して、選択的に検証を行う。検証を行わない例を挙げると、登録装置200は、第2検証動作モードまたは第3検証動作モードが設定されているときに、生成動作モード識別情報が第1生成動作モードを示す場合には、トランザクションデータを検証しない。なお、検証を行わない例が、上記に示す例に限られないことは、言うまでもない。
 また、登録装置200は、情報処理システム1000を構成する他の登録装置200との関係によって、トランザクションデータが検証動作モードに対応しないトランザクションデータであるか否かを判定して、選択的に検証を行ってもよい。
 登録装置200が、設定されている検証動作モードに対応しないトランザクションデータを検証しない例については、後述する情報処理システム1000を構成する装置の動作の例において示す。
(II)登録処理
 登録装置200は、検証されたトランザクションデータを、P2Pデータベースに登録する。
 図11は、本実施形態に係る登録装置200の動作の一例を示す説明図である。
 各ノードから送信されるトランザクションデータ(図11のA)を受信した登録装置200は、図11のBに示す各処理を行う。
 登録装置200は、トランザクションデータを検証する。このとき、登録装置200は、設定されている検証動作モードに対応する方法で検証を行う。
 第1検証動作モードが設定されている場合、登録装置200は、図6に示すマイニングノードにおける検証と同様に、“トランザクションデータに含まれる公開鍵KとビットコインアドレスAの対応の検証”、および“トランザクションデータに含まれる公開鍵Kとデジタル署名Sigとの対応の検証”を行う。
 また、第2検証動作モードが設定されている場合、登録装置200は、第1検証動作モードが設定されている場合における検証に加えて、“トランザクションデータに含まれる公開鍵K’とビットコインアドレスA’の対応の検証”、および“トランザクションデータに含まれる公開鍵K’とデジタル署名Sig’との対応の検証”を行う。
 また、第3検証動作モードが設定されている場合、登録装置200は、“トランザクションデータに含まれる公開鍵K’とビットコインアドレスA’の対応の検証”、および“トランザクションデータに含まれる公開鍵K’とデジタル署名Sig’との対応の検証”を行う。
 なお、第2検証動作モードが設定されている場合、登録装置200は、検証対象のトランザクションデータによって、第1検証動作モードが設定されている場合と同様の処理、または、第3検証動作モードが設定されている場合と同様の処理を、行ってもよい。
 登録装置200は、図6に示すマイニングノードにおける検証と同様に、検証が正常に完了したトランザクションデータを集積し、所定のタイミング(例えば、10分ごと)に、ブロックチェーンデータへの新たなブロックの追加に係る処理を行う。ブロックチェーンデータへの新たなブロックの追加に係る処理が成功すると、登録装置200は、図6に示すマイニングノードにおける検証と同様に、図11のCに示すように、検証が正常に完了したトランザクションデータが格納された新規ブロックを、ブロックチェーン(P2Pデータベースの一例)に追加する。そして、登録装置200は、図6に示すマイニングノードにおける検証と同様に、新規ブロックの追加をP2Pネットワークへ通達する。
 登録装置200は、例えば図11を参照して示したような動作を行う。
 なお、登録装置200における登録処理は、上記に示す例に限られない。
 例えば、登録装置200は、どの検証動作モードに対応する処理が行われたかを示す検証動作モード識別情報(例えば、検証動作モードを示すIDなど)を含むトランザクションデータを、P2Pデータベースに登録してもよい。検証動作モード識別情報がP2Pデータベースに登録されることによって、どのようなアルゴリズムを用いて検証が行われたかが、改ざんが困難な形で記録される。
 登録装置200は、本実施形態に係る登録方法に係る処理として、例えば上記(I)の処理(検証処理)および上記(II)の処理(登録処理)を行うことによって、トランザクションデータを検証し、検証されたトランザクションデータを、P2Pデータベースに登録する。
 なお、上記(I)の処理(検証処理)および上記(II)の処理(登録処理)は、便宜上、本実施形態に係る登録方法に係る処理を切り分けたものである。よって、本実施形態に係る登録方法に係る各処理は、例えば、1つの処理と捉えることも可能であり、または、任意の切り分け方によって2以上の処理と捉えることも可能である。
[3]本実施形態に係る情報処理システムを構成する装置の動作
 上述したように、情報処理装置100は、設定されている生成動作モードに応じた処理を行い、登録装置200は、設定されている検証動作モードに応じた処理を行うことが可能である。そこで、次に、動作モードの組み合わせに応じた情報処理装置100および登録装置200の動作の例を示す。
 以下では、多項式時間で解けないアルゴリズムではない第1アルゴリズムを「アルゴリズムX」と示す。また、以下では、多項式時間で解けないアルゴリズムである第2アルゴリズムを「アルゴリズムX’」と示す。
(A)情報処理システム1000を構成する装置の動作の第1の例
 図12は、本実施形態に係る情報処理システム1000を構成する装置の動作の第1の例を示す説明図である。図12のAは、第1生成動作モードが設定されている情報処理装置100の動作の一例を示している。また、図12のBは、第1検証動作モードが設定されている登録装置200の動作の一例を示している。
 図12は、情報処理装置100と登録装置200との双方が、アルゴリズムX(第1のアルゴリズム)という1種類のアルゴリズムにのみ対応している場合における、動作の一例を示している。つまり、図12は、既存のP2Pネットワークにおける動作に該当する。
(B)情報処理システム1000を構成する装置の動作の第2の例
 図13は、本実施形態に係る情報処理システム1000を構成する装置の動作の第2の例を示す説明図である。図13は、アルゴリズムX(第1のアルゴリズム)が安全な状態であり、情報処理システム1000を構成する登録装置200のうちの一部の登録装置200に、第2検証動作モードが設定されている場合を、示している。
 図13のAは、第1生成動作モードが設定されている情報処理装置100の動作の一例と、第2生成動作モードが設定されている情報処理装置100の動作の一例とを示している。また、図13のBは、第1検証動作モードが設定されている登録装置200の動作の一例と、第2検証動作モードが設定されている登録装置200の動作の一例とを示している。
 図13に示す第2の例の状態である場合、第2検証動作モードが設定されている登録装置200では、アルゴリズムX(第1のアルゴリズム)という1種類のアルゴリズムのみ対応しているトランザクションデータしか、処理されない。ここで、図13に示す動作は、例えば、情報処理システム1000における動作モードの移行の準備期間における動作に該当する。
(C)情報処理システム1000を構成する装置の動作の第3の例
 図14は、本実施形態に係る情報処理システム1000を構成する装置の動作の第3の例を示す説明図である。図14は、アルゴリズムX(第1のアルゴリズム)が安全な状態であり、情報処理システム1000を構成する登録装置200のうちの、十分な数の登録装置200に、第2検証動作モードが設定されている場合を、示している。
 図14のAは、第1生成動作モードが設定されている情報処理装置100の動作の一例と、第2生成動作モードが設定されている情報処理装置100の動作の一例とを示している。また、図14のBは、第2検証動作モードが設定されている登録装置200の動作の一例を示している。
 図14に示す第3の例の状態では、登録装置200は、下記のような動作を行う。
  ・検証対象のトランザクションデータが、アルゴリズムX(第1のアルゴリズム)のみに対応するデータである場合、登録装置200は、第1検証動作モードが設定されているときと同様に、トランザクションデータを検証する。
  ・検証対象のトランザクションデータが、アルゴリズムX(第1のアルゴリズム)およびアルゴリズムX’(第2のアルゴリズム)に対応するデータである場合、登録装置200は、第2検証動作モードによりトランザクションデータを検証する。
  ・検証対象のトランザクションデータが、アルゴリズムX’(第2のアルゴリズム)のみに対応するデータである場合、登録装置200は、第3検証動作モードが設定されているときと同様に、トランザクションデータを検証する。
(D)情報処理システム1000を構成する装置の動作の第4の例
 図15は、本実施形態に係る情報処理システム1000を構成する装置の動作の第4の例を示す説明図である。図15は、アルゴリズムX(第1のアルゴリズム)が危胎化している状態であり、情報処理システム1000を構成する登録装置200のうちの、十分な数の登録装置200に、第2検証動作モードが設定されている場合を、示している。
 図15のAは、第1生成動作モードが設定されている情報処理装置100の動作の一例と、第2生成動作モードが設定されている情報処理装置100の動作の一例とを示している。また、図15のBは、第2検証動作モードが設定されている登録装置200の動作の一例を示している。
 図15に示す第4の例の状態では、第2生成動作モードが設定されている情報処理装置100は、下記のような動作を行う。
  ・情報処理装置100は、第1アルゴリズムに対応するデータと、第2アルゴリズムに対応するデータとの双方を含むトランザクションデータを、送信する。
  ・情報処理装置100は、第1アルゴリズムに対応するデータのみを含むトランザクションデータを、送信しない。
 また、図15に示す第4の例の状態では、登録装置200は、下記のような動作を行う。
  ・検証対象のトランザクションデータが、アルゴリズムX(第1のアルゴリズム)のみに対応するデータである場合、登録装置200は、当該トランザクションデータを処理しない。つまり、登録装置200では、第1検証動作モードが設定されているときの動作が禁止される。
  ・検証対象のトランザクションデータが、アルゴリズムX(第1のアルゴリズム)およびアルゴリズムX’(第2のアルゴリズム)に対応するデータである場合、登録装置200は、第2検証動作モードによりトランザクションデータを検証する。
  ・検証対象のトランザクションデータが、アルゴリズムX’(第2のアルゴリズム)のみに対応するデータである場合、登録装置200は、第3検証動作モードが設定されているときと同様に、トランザクションデータを検証する。
(E)情報処理システム1000を構成する装置の動作の第5の例
 図16は、本実施形態に係る情報処理システム1000を構成する装置の動作の第5の例を示す説明図である。図16は、アルゴリズムX(第1のアルゴリズム)の危胎化が深刻化している状態、または、アルゴリズムXが破られている状態であり、情報処理システム1000を構成する登録装置200のうちの、十分な数の登録装置200に、第2検証動作モードが設定されている場合を、示している。
 図16のAは、第2生成動作モードが設定されている情報処理装置100の動作の一例を示している。また、図16のBは、第2検証動作モードが設定されている登録装置200の動作の一例を示している。
 図16に示す第5の例の状態では、登録装置200は、下記のような動作を行う。つまり、アルゴリズムX(第1のアルゴリズム)の危胎化が深刻化している状態、または、アルゴリズムXが破られている状態である場合、登録装置200では、アルゴリズムXに対応するデータを含むトランザクションデータの処理が禁止される。
  ・検証対象のトランザクションデータが、アルゴリズムX(第1のアルゴリズム)のみに対応するデータである場合、登録装置200は、当該トランザクションデータを処理しない。つまり、登録装置200では、第1検証動作モードが設定されているときの動作が禁止される。
  ・検証対象のトランザクションデータが、アルゴリズムX(第1のアルゴリズム)およびアルゴリズムX’(第2のアルゴリズム)に対応するデータである場合、登録装置200は、当該トランザクションデータを処理しない。つまり、登録装置200では、第2検証動作モードが設定されているときの動作が禁止される。
  ・検証対象のトランザクションデータが、アルゴリズムX’(第2のアルゴリズム)のみに対応するデータである場合、登録装置200は、第3検証動作モードが設定されているときと同様に、トランザクションデータを検証する。
(F)情報処理システム1000を構成する装置の動作の第6の例
 図17は、本実施形態に係る情報処理システム1000を構成する装置の動作の第6の例を示す説明図である。図17は、“情報処理システム1000を構成する情報処理装置100のうちの、十分な数の情報処理装置100に、第2生成動作モードまたは第3生成動作モードが設定されており、かつ、情報処理システム1000を構成する登録装置200のうちの、十分な数の登録装置200に、第2検証動作モードまたは第3検証動作モードが設定されている場合”を、示している。
 図17のAは、第2生成動作モードが設定されている情報処理装置100の動作の一例と、第3生成動作モードが設定されている情報処理装置100の動作の一例とを示している。また、図17のBは、第2検証動作モードが設定されている登録装置200の動作の一例と、第3検証動作モードが設定されている登録装置200の動作の一例とを示している。
 図17に示す第6の例の状態では、情報処理装置100は、下記のような動作を行う。
  ・情報処理装置100は、第2アルゴリズムに対応するデータのみを含むトランザクションデータを、送信する。
 また、図17に示す第6の例の状態では、登録装置200は、下記のような動作を行う。
  ・検証対象のトランザクションデータが、アルゴリズムX’(第2のアルゴリズム)のみに対応するデータである場合、登録装置200は、第3検証動作モードが設定されているときと同様に、トランザクションデータを検証する。
  ・検証対象のトランザクションデータが、アルゴリズムX’(第2のアルゴリズム)のみに対応するデータではない場合、登録装置200は、当該トランザクションデータを処理しない。
(G)情報処理システム1000を構成する装置の動作の第7の例
 図18は、本実施形態に係る情報処理システム1000を構成する装置の動作の第7の例を示す説明図である。図18は、“情報処理システム1000を構成する全ての情報処理装置100に第3生成動作モードが設定されており、かつ、情報処理システム1000を構成する全ての登録装置200に第3検証動作モードが設定されている場合”を、示している。
 図18のAは、第3生成動作モードが設定されている情報処理装置100の動作の一例とを示している。また、図18のBは、第3検証動作モードが設定されている登録装置200の動作の一例を示している。
 図18に示す第7の例の状態では、情報処理装置100は、下記のような動作を行う。
  ・情報処理装置100は、第2アルゴリズムに対応するデータのみを含むトランザクションデータを、送信する。
 また、図18に示す第7の例の状態では、登録装置200は、下記のような動作を行う。
  ・検証対象のトランザクションデータが、アルゴリズムX’(第2のアルゴリズム)のみに対応するデータである場合、登録装置200は、第3検証動作モードによりトランザクションデータを検証する。
  ・検証対象のトランザクションデータが、アルゴリズムX’(第2のアルゴリズム)のみに対応するデータではない場合、登録装置200は、当該トランザクションデータを処理しない。
 情報処理システム1000における情報処理装置100および登録装置200の動作の例としては、例えば上記(A)に示す第1の例~上記(G)に示す第7の例が挙げられる。なお、情報処理システム1000における情報処理装置100および登録装置200の動作の例が、上記に示す例に限られないことは、言うまでもない。
[4]本実施形態に係る情報処理システムを構成する装置の構成
 次に、情報処理システム1000を構成する情報処理装置100、および登録装置200それぞれの構成の一例を示す。
[4-1]情報処理装置100の構成
 図19は、本実施形態に係る情報処理装置100の構成の一例を示すブロック図である。情報処理装置100は、例えば、通信部102と、制御部104とを備える。
 また、情報処理装置100は、例えば、ROM(図示せず)や、RAM(Random Access Memory。図示せず)、記憶部(図示せず)、情報処理装置100の使用者が操作可能な操作部(図示せず)、様々な画面を表示画面に表示する表示部(図示せず)などを備えていてもよい。情報処理装置100は、例えば、データの伝送路としてのバスにより上記各構成要素間を接続する。
 ROM(図示せず)は、制御部104が使用するプログラムや演算パラメータなどの制御用データを記憶する。RAM(図示せず)は、制御部104により実行されるプログラムなどを一時的に記憶する。
 記憶部(図示せず)は、情報処理装置100が備える記憶手段であり、例えば、シード値を示すデータなどの本実施形態に係る情報処理方法に係るデータや、各種アプリケーションなどの、様々なデータを記憶する。ここで、記憶部(図示せず)としては、例えば、ハードディスクなどの磁気記録媒体や、フラッシュメモリなどの不揮発性メモリなどが挙げられる。また、記憶部(図示せず)は、情報処理装置100から着脱可能であってもよい。なお、情報処理装置100は、記憶部(図示せず)を備えず、本実施形態に係る情報処理方法に係るデータなどの各種データは、情報処理装置100の外部の記録媒体に記憶されていてもよい。
 操作部(図示せず)としては、後述する操作入力デバイスが挙げられる。また、表示部(図示せず)としては、後述する表示デバイスが挙げられる。なお、情報処理装置100は、操作部(図示せず)と表示部(図示せず)との一方または双方を備えていなくてもよい。
 図20は、本実施形態に係る情報処理装置100のハードウェア構成の一例を示す説明図である。情報処理装置100は、例えば、MPU150と、ROM152と、RAM154と、記録媒体156と、入出力インタフェース158と、操作入力デバイス160と、表示デバイス162と、通信インタフェース164とを備える。また、情報処理装置100は、例えば、データの伝送路としてのバス166で各構成要素間を接続する。また、情報処理装置100は、例えば、情報処理装置100が備えているバッテリなどの内部電源から供給される電力、または、接続されている外部電源から供給される電力などによって、駆動する。
 MPU150は、例えば、MPU(Micro Processing Unit)などの演算回路で構成される、1または2以上のプロセッサや、各種処理回路などで構成され、情報処理装置100全体を制御する制御部104として機能する。また、MPU150は、情報処理装置100において、例えば、後述する生成部110および送信制御部112の役目を果たす。なお、生成部110および送信制御部112の一方または双方は、専用の(または汎用の)回路(例えば、MPU150とは別体のプロセッサなど)で構成されていてもよい。
 ROM152は、MPU150が使用するプログラムや演算パラメータなどの制御用データなどを記憶する。RAM154は、例えば、MPU150により実行されるプログラムなどを一時的に記憶する。
 記録媒体156は、記憶部(図示せず)として機能し、例えば本実施形態に係る情報処理方法に係るデータや各種アプリケーションなどの、様々なデータを記憶する。ここで、記録媒体156としては、例えば、ハードディスクなどの磁気記録媒体や、フラッシュメモリなどの不揮発性メモリが挙げられる。また、記録媒体156は、情報処理装置100から着脱可能であってもよい。
 入出力インタフェース158は、例えば、操作入力デバイス160や、表示デバイス162を接続する。操作入力デバイス160は、操作部(図示せず)として機能し、また、表示デバイス162は、表示部(図示せず)として機能する。ここで、入出力インタフェース158としては、例えば、USB(Universal Serial Bus)端子や、DVI(Digital Visual Interface)端子、HDMI(High-Definition Multimedia Interface)(登録商標)端子、各種処理回路などが挙げられる。
 また、操作入力デバイス160は、例えば、情報処理装置100上に備えられ、情報処理装置100の内部で入出力インタフェース158と接続される。操作入力デバイス160としては、例えば、ボタンや、方向キー、ジョグダイヤルなどの回転型セレクタ、あるいは、これらの組み合わせなどが挙げられる。
 また、表示デバイス162は、例えば、情報処理装置100上に備えられ、情報処理装置100の内部で入出力インタフェース158と接続される。表示デバイス162としては、例えば、液晶ディスプレイや有機ELディスプレイなどが挙げられる。
 なお、入出力インタフェース158が、情報処理装置100の外部の操作入力デバイス(例えば、キーボードやマウスなど)や外部の表示デバイスなどの、外部デバイスと接続することも可能であることは、言うまでもない。また、表示デバイス162は、例えばタッチパネルなど、表示とユーザ操作とが可能なデバイスであってもよい。
 通信インタフェース164は、情報処理装置100が備える通信手段であり、例えば、登録装置200や情報処理システム1000を構成する装置以外の装置などの外部装置と、無線または有線で通信を行うための通信部102として機能する。ここで、通信インタフェース164としては、例えば、通信アンテナおよびRF(Radio Frequency)回路(無線通信)や、IEEE802.15.1ポートおよび送受信回路(無線通信)、IEEE802.11ポートおよび送受信回路(無線通信)、あるいはLAN端子および送受信回路(有線通信)などが挙げられる。また、通信インタフェース164は、ネットワーク300を構成する装置と通信することが可能な任意の構成であってもよい。
 情報処理装置100は、例えば図20に示す構成によって、上述した本実施形態に係る情報処理方法に係る処理を行う。なお、本実施形態に係る情報処理装置100のハードウェア構成は、図20に示す構成に限られない。
 例えば、情報処理装置100は、接続されている外部の通信デバイスを介して外部装置などと通信を行う場合には、通信インタフェース164を備えていなくてもよい。また、通信インタフェース164は、複数の通信方式によって、1または2以上の外部装置などと通信を行うことが可能な構成であってもよい。
 また、情報処理装置100は、例えば、記録媒体156、操作入力デバイス160、および表示デバイス162のうちの一部または全部を備えない構成をとることが可能である。
 また、情報処理装置100は、例えば、後述する情報処理装置100の適用例に応じた構成をとることが可能である。
 また、例えば、図20に示す構成(または変形例に係る構成)の一部または全部は、1、または2以上のIC(Integrated Circuit)で実現されてもよい。
 再度図19を参照して、情報処理装置100の構成の一例について説明する。通信部102は、情報処理装置100が備える通信手段であり、外部装置と無線または有線で通信を行う。また、通信部102は、情報処理システム1000を構成する装置以外の装置と、無線または有線で通信を行うことも可能である。通信部102における通信は、例えば制御部104により制御される。
 ここで、通信部102としては、例えば、通信アンテナおよびRF回路や、LAN端子および送受信回路などが挙げられるが、通信部102の構成は、上記に限られない。例えば、通信部102は、USB端子および送受信回路などの通信を行うことが可能な任意の規格に対応する構成や、ネットワーク300を構成する装置と通信することが可能な任意の構成をとることができる。また、通信部102は、複数の通信方式によって、1または2以上の外部装置などと通信を行うことが可能な構成であってもよい。
 制御部104は、例えばMPUなどで構成され、情報処理装置100全体を制御する役目を果たす。また、制御部104は、例えば生成部110と送信制御部112とを有し、本実施形態に係る情報処理方法に係る処理を主導的に行う役目を果たす。
 生成部110は、上記(1)の処理(生成処理)を行う役目を果たす。
 生成部110は、例えば、多項式時間で解けないアルゴリズム(第2アルゴリズム)を含む複数のアルゴリズムそれぞれを利用して、複数の公開鍵、複数のアドレス、および複数の電子署名を生成する。
 また、生成部110は、設定されている生成動作モードに対応するアルゴリズムを利用して、公開鍵、アドレス、および電子署名を生成してもよい。生成動作モードとしては、例えば上述した第1生成動作モード、第2生成動作モード、および第3生成動作モードが、挙げられる。
 送信制御部112は、上記(2)の処理(送信制御処理)を行う役目を果たし、生成された複数の公開鍵、複数のアドレス、および複数の電子署名を含むトランザクションデータを、P2Pネットワークに送信させる。
 制御部104は、例えば生成部110および送信制御部112を有することによって、本実施形態に係る情報処理方法に係る処理を行う。
 なお、制御部104の構成は、図19に示す例に限られない。
 例えば、制御部104は、本実施形態に係る情報処理方法に係る処理の切り分け方に応じた構成を有することが可能である。
 情報処理装置100は、例えば図19に示す構成によって、上述した本実施形態に係る情報処理方法に係る処理を行い、トランザクションデータをP2Pネットワークに送信する。
 なお、本実施形態に係る情報処理装置の構成は、図19に示す構成に限られない。
 例えば、本実施形態に係る情報処理装置は、図19に示す生成部110および送信制御部112の一方または双方を、制御部104とは個別に備えること(例えば、生成部110および送信制御部112の一方または双方を別の処理回路で実現すること)ができる。
 また、例えば、通信部102と同様の機能、構成を有する外部の通信デバイスを介して外部装置と通信を行う場合には、本実施形態に係る情報処理装置は、通信部102を備えていなくてもよい。
 また、本実施形態に係る情報処理装置は、本実施形態に係る登録方法に係る処理を行うことが可能な構成要素(例えば、後述する登録装置200が備える検証部および登録部)を、さらに備えていてもよい。この場合、本実施形態に係る情報処理装置は、登録装置200として機能しうる。
[4-2]情報処理装置100の適用例
 以上、本実施形態として情報処理装置100を挙げて説明したが、本実施形態は、かかる形態に限られない。情報処理装置100は、例えば、“PC(Personal Computer)やサーバなどのコンピュータ”や、“スマートフォン”、“任意のウェアラブルデバイス”、“タブレット型の装置”、“ゲーム機”、“自動車などの任意の移動体”など、上述した本実施形態に係る情報処理方法に係る処理を行うことが可能な、任意の機器に適用することができる。また、本実施形態に係るじょう装置は、例えば、上記のような機器に組み込むことが可能なICに適用することもできる。
 また、本実施形態に係る情報処理装置は、例えばクラウドコンピューティングなどのように、ネットワークへの接続(または各装置間の通信)を前提とした処理システムに適用されてもよい。上記処理システムの一例としては、例えば“処理システムを構成する一の装置によって、情報処理方法に係る処理の一部の処理が行われ、処理システムを構成する他の装置によって、情報処理方法に係る処理における当該一部の処理以外の処理が行われるシステム”などが、挙げられる。
[4-3]登録装置200の構成
 図21は、本実施形態に係る登録装置200の構成の一例を示すブロック図である。登録装置200は、例えば、通信部202と、制御部204とを備える。
 また、登録装置200は、例えば、ROM(図示せず)や、RAM(図示せず)、記憶部(図示せず)、登録装置200の使用者が操作可能な操作部(図示せず)、様々な画面を表示画面に表示する表示部(図示せず)などを備えていてもよい。登録装置200は、例えば、データの伝送路としてのバスにより上記各構成要素間を接続する。
 ROM(図示せず)は、制御部204が使用するプログラムや演算パラメータなどの制御用データを記憶する。RAM(図示せず)は、制御部204により実行されるプログラムなどを一時的に記憶する。
 記憶部(図示せず)は、登録装置200が備える記憶手段であり、例えば、本実施形態に係る登録方法に係るデータや、各種アプリケーションなどの、様々なデータを記憶する。ここで、記憶部(図示せず)としては、例えば、ハードディスクなどの磁気記録媒体や、フラッシュメモリなどの不揮発性メモリなどが挙げられる。また、記憶部(図示せず)は、登録装置200から着脱可能であってもよい。なお、登録装置200は、記憶部(図示せず)を備えず、本実施形態に係る登録方法に係るデータなどの各種データは、登録装置200の外部の記録媒体に記憶されていてもよい。
 操作部(図示せず)としては、例えば図20に示す操作入力デバイス160と同様のデバイスが挙げられる。また、表示部(図示せず)としては、例えば図20に示す表示デバイス162と同様のデバイスが挙げられる。なお、登録装置200は、操作部(図示せず)と表示部(図示せず)との一方または双方を備えていなくてもよい。
 登録装置200は、例えば図20に示す情報処理装置100と同様のハードウェア構成(変形例も含む)をとる。登録装置200における処理は、例えば図20に示すMPU150のようなプロセッサにより行われる。登録装置200は、例えば、登録装置200が備えているバッテリなどの内部電源から供給される電力、または、接続されている外部電源から供給される電力などによって、駆動する。なお、本実施形態に係る登録装置200のハードウェア構成は、図20に示す情報処理装置100と同様のハードウェア構成に限られない。例えば、登録装置200は、後述する登録装置200の適用例に応じた構成をとることが可能である。
 通信部202は、登録装置200が備える通信手段であり、外部装置と無線または有線で通信を行う。また、通信部202は、情報処理システム1000を構成する装置以外の装置と、無線または有線で通信を行うことも可能である。通信部202における通信は、例えば制御部204により制御される。
 ここで、通信部202としては、例えば、通信アンテナおよびRF回路や、LAN端子および送受信回路などが挙げられるが、通信部202の構成は、上記に限られない。例えば、通信部202は、USB端子および送受信回路などの通信を行うことが可能な任意の規格に対応する構成や、ネットワーク300を構成する装置と通信することが可能な任意の構成をとることができる。また、通信部202は、複数の通信方式によって、1または2以上の外部装置などと通信を行うことが可能な構成であってもよい。
 制御部204は、例えばMPUなどで構成され、登録装置200全体を制御する役目を果たす。また、制御部204は、例えば検証部210と登録部212とを有し、本実施形態に係る登録方法に係る処理を主導的に行う役目を果たす。
 検証部210は、上記(I)の処理(検証処理)を行う役目を果たし、外部装置からP2Pネットワークに送信されたトランザクションデータを検証する。検証部210は、例えば、設定されている検証動作モードに対応する方法で検証を行う。このとき、検証部210は、例えば図12~図18に示す動作の例に例示するように、設定されている検証動作モードに対応しないトランザクションデータを検証しなくてもよい。
 登録部212は、上記(II)の処理(登録処理)を行う役目を果たし、検証されたトランザクションデータを、P2Pデータベースに登録する。
 制御部204は、例えば検証部210および登録部212を有することによって、本実施形態に係る登録方法に係る処理を行う。
 なお、制御部204の構成は、図21に示す例に限られない。
 例えば、制御部204は、本実施形態に係る登録方法に係る処理の切り分け方に応じた構成を有することが可能である。
 登録装置200は、例えば図21に示す構成によって、上述した本実施形態に係る登録方法に係る処理を行い、トランザクションデータを検証して、検証されたトランザクションデータを、P2Pデータベースに登録する。
 なお、本実施形態に係る登録装置の構成は、図21に示す構成に限られない。
 例えば、本実施形態に係る登録装置は、図21に示す検証部210および登録部212の一方または双方を、制御部204とは個別に備えること(例えば、検証部210および登録部212の一方または双方を別の処理回路で実現すること)ができる。
 また、例えば、通信部202と同様の機能、構成を有する外部の通信デバイスを介して外部装置と通信を行う場合には、本実施形態に係る登録装置は、通信部202を備えていなくてもよい。
 また、本実施形態に係る登録装置は、本実施形態に係る情報処理方法に係る処理を行うことが可能な構成要素(例えば、情報処理装置100が備える生成部110および送信制御部112)を、さらに備えていてもよい。この場合、本実施形態に係る登録装置は、情報処理装置100として機能しうる。
[4-4]登録装置200の適用例
 以上、本実施形態として登録装置200を挙げて説明したが、本実施形態は、かかる形態に限られない。登録装置200は、例えば、“PCやサーバなどのコンピュータ”や、“スマートフォン”、“任意のウェアラブルデバイス”、“タブレット型の装置”、“ゲーム機”、“自動車などの任意の移動体”など、上述した本実施形態に係る登録方法に係る処理を行うことが可能な、任意の機器に適用することができる。また、本実施形態に係るじょう装置は、例えば、上記のような機器に組み込むことが可能なICに適用することもできる。
 また、本実施形態に係る登録装置は、例えばクラウドコンピューティングなどのように、ネットワークへの接続(または各装置間の通信)を前提とした処理システムに適用されてもよい。上記処理システムの一例としては、例えば“処理システムを構成する一の装置によって、登録方法に係る処理の一部の処理が行われ、処理システムを構成する他の装置によって、登録方法に係る処理における当該一部の処理以外の処理が行われるシステム”などが、挙げられる。
[5]本実施形態に係る情報処理システムにおいて奏される効果の一例
 本実施形態に係る情報処理システムが用いられることによって、例えば下記に示す効果が奏される。なお、本実施形態に係る情報処理システムが用いられることにより奏される効果が、下記に示す例に限られないことは、言うまでもない。
  ・量子コンピュータの出現にも耐えうる長期間に安定的に利用可能な、仮想通貨システムやブロックチェーンを、実現することができる。
  ・小型のウェアラブルデバイス上でも仮想通貨のウォレットを実現することが可能である。
(本実施形態に係るプログラム)
[I]本実施形態に係る情報処理装置として機能させるためのプログラム
 コンピュータシステムを、本実施形態に係る情報処理装置として機能させるためのプログラム(例えば、生成部110の機能および送信制御部112の機能を実現することが可能なプログラム)が、コンピュータシステムにおいてプロセッサなどにより実行されることによって、より安全性の高いP2Pデータベースを実現することができる。ここで、本実施形態に係るコンピュータシステムとしては、単体のコンピュータ、または、複数のコンピュータが挙げられる。本実施形態に係るコンピュータシステムによって、一連の処理が行われる。
 また、コンピュータシステムを、本実施形態に係る情報処理装置として機能させるためのプログラムが、コンピュータシステムにおいてプロセッサなどにより実行されることによって、上述した本実施形態に係る情報処理方法に係る処理によって奏される効果を、奏することができる。
 本実施形態に係る情報処理装置として機能させるためのプログラムの一例としては、例えば、仮想通貨システムにおけるソフトウェアウォレットが、挙げられる。
[II]本実施形態に係る登録装置として機能させるためのプログラム
 コンピュータシステムを、本実施形態に係る登録装置として機能させるためのプログラム(例えば、検証部210の機能、および登録部212の機能を実現することが可能なプログラム)が、コンピュータシステムにおいてプロセッサなどにより実行されることによって、より安全性の高いP2Pデータベースを実現することができる。
 また、コンピュータシステムを、本実施形態に係る処理装置として機能させるためのプログラムが、コンピュータシステムにおいてプロセッサなどにより実行されることによって、上述した本実施形態に係る登録方法に係る処理によって奏される効果を、奏することができる。
 本実施形態に係る登録装置として機能させるためのプログラムの一例としては、例えば、仮想通貨システムにおけるマイニングを行うプログラムが、挙げられる。
 以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
 例えば、上記では、コンピュータシステムを、本実施形態に係る情報処理装置として機能させるためのプログラム(コンピュータプログラム)、および本実施形態に係る登録装置として機能させるためのプログラム(コンピュータプログラム)がそれぞれ提供されることを示したが、本実施形態は、上記プログラムをそれぞれ記憶させた記録媒体、あるいは、上記プログラムを共に記憶させた記録媒体を、併せて提供することができる。
 上述した構成は、本実施形態の一例を示すものであり、当然に、本開示の技術的範囲に属するものである。
 また、本明細書に記載された効果は、あくまで説明的または例示的なものであって限定的ではない。つまり、本開示に係る技術は、上記の効果とともに、または上記の効果に代えて、本明細書の記載から当業者には明らかな他の効果を奏しうる。
 なお、以下のような構成も本開示の技術的範囲に属する。
(1)
 少なくとも1つのアルゴリズムが多項式時間で解けないアルゴリズムである、複数のアルゴリズムそれぞれを利用して、複数の前記アルゴリズムそれぞれに対応する秘密鍵から、複数の前記アルゴリズムそれぞれに対応する複数の公開鍵、複数の前記アルゴリズムそれぞれに対応する複数のアドレス、および複数の前記アルゴリズムそれぞれに対応する複数の電子署名を生成する生成部と、
 生成された複数の前記公開鍵、複数の前記アドレス、および複数の前記電子署名を含むトランザクションデータを、P2Pネットワークに送信させる送信制御部と、
 を備える、情報処理装置。
(2)
 複数の前記アルゴリズムそれぞれに対応する秘密鍵は、1つのシード値に基づき生成され、複数の前記アルゴリズムごとに異なっている、(1)に記載の情報処理装置。
(3)
 前記生成部は、設定されている生成動作モードに対応するアルゴリズムを利用して、前記公開鍵、前記アドレス、および前記電子署名を生成し、
 前記送信制御部は、前記生成動作モードに対応して生成された前記公開鍵、前記アドレス、および前記電子署名を含むトランザクションデータを、前記P2Pネットワークに送信させ、
 前記生成動作モードには、前記多項式時間で解けないアルゴリズムではない第1アルゴリズムに対応する前記公開鍵、前記アドレス、および前記電子署名のみを生成する第1生成動作モードと、
 前記第1アルゴリズムに対応する前記公開鍵、前記アドレス、および前記電子署名と、前記多項式時間で解けないアルゴリズムである第2アルゴリズムに対応する前記公開鍵、前記アドレス、および前記電子署名との双方を生成する第2生成動作モードと、
 前記第2アルゴリズムに対応する前記公開鍵、前記アドレス、および前記電子署名のみを生成する第3生成動作モードと、
 が含まれる、(1)または(2)に記載の情報処理装置。
(4)
 前記多項式時間で解けないアルゴリズムには、MQアルゴリズム、NTRUアルゴリズム、UOVアルゴリズム、XMSSアルゴリズム、McElieceアルゴリズムの少なくとも1つが、含まれる、(1)~(3)のいずれか1つに記載の情報処理装置。
(5)
 外部装置からP2Pネットワークに送信された、公開鍵、アドレス、および電子署名を含むトランザクションデータを検証する検証部と、
 検証された前記トランザクションデータを、P2Pデータベースに登録する登録部と、
 を備え、
 前記トランザクションデータには、多項式時間で解けないアルゴリズムではない第1アルゴリズムを利用して秘密鍵から生成された公開鍵、アドレス、および電子署名と、前記多項式時間で解けないアルゴリズムである第2アルゴリズムを利用して秘密鍵から生成された公開鍵、アドレス、および電子署名との、一方または双方が含まれる、登録装置。
(6)
 前記検証部は、設定されている検証動作モードに対応する方法で検証を行い、
 前記検証動作モードには、
 前記第1アルゴリズムに対応する前記公開鍵に基づいて、前記第1アルゴリズムに対応する前記アドレスおよび前記電子署名それぞれを検証する第1検証動作モードと、
 前記第1アルゴリズムに対応する前記公開鍵に基づいて、前記第1アルゴリズムに対応する前記アドレスおよび前記電子署名それぞれを検証し、かつ、前記第2アルゴリズムに対応する前記公開鍵に基づいて、前記第2アルゴリズムに対応する前記アドレスおよび前記電子署名それぞれを検証する第2検証動作モードと、
 前記第2アルゴリズムに対応する前記公開鍵に基づいて、前記第2アルゴリズムに対応する前記アドレスおよび前記電子署名それぞれを検証する第3検証動作モードと、
 が含まれる、(5)に記載の登録装置。
(7)
 前記検証部は、設定されている前記検証動作モードに対応しない前記トランザクションデータを検証しない、(6)に記載の登録装置。
(8)
 少なくとも1つのアルゴリズムが多項式時間で解けないアルゴリズムである、複数のアルゴリズムそれぞれを利用して、複数の前記アルゴリズムそれぞれに対応する秘密鍵から、複数の前記アルゴリズムそれぞれに対応する複数の公開鍵、複数の前記アルゴリズムそれぞれに対応する複数のアドレス、および複数の前記アルゴリズムそれぞれに対応する複数の電子署名を生成するステップと、
 生成された複数の前記公開鍵、複数の前記アドレス、および複数の前記電子署名を含むトランザクションデータを、P2Pネットワークに送信させるステップと、
 を有する、情報処理装置により実行される情報処理方法。
(9)
 外部装置からP2Pネットワークに送信された、公開鍵、アドレス、および電子署名を含むトランザクションデータを検証するステップと、
 検証された前記トランザクションデータを、P2Pデータベースに登録するステップと、
 を有し、
 前記トランザクションデータには、多項式時間で解けないアルゴリズムではない第1アルゴリズムを利用して秘密鍵から生成された公開鍵、アドレス、および電子署名と、前記多項式時間で解けないアルゴリズムである第2アルゴリズムを利用して秘密鍵から生成された公開鍵、アドレス、および電子署名との、一方または双方が含まれる、登録装置により実行される登録方法。
(10)
 少なくとも1つのアルゴリズムが多項式時間で解けないアルゴリズムである、複数のアルゴリズムそれぞれを利用して、複数の前記アルゴリズムそれぞれに対応する秘密鍵から、複数の前記アルゴリズムそれぞれに対応する複数の公開鍵、複数の前記アルゴリズムそれぞれに対応する複数のアドレス、および複数の前記アルゴリズムそれぞれに対応する複数の電子署名を生成する機能、
 生成された複数の前記公開鍵、複数の前記アドレス、および複数の前記電子署名を含むトランザクションデータを、P2Pネットワークに送信させる機能、
 をコンピュータに実現させるためのプログラム。
(11)
 外部装置からP2Pネットワークに送信された、公開鍵、アドレス、および電子署名を含むトランザクションデータを検証する機能、
 検証された前記トランザクションデータを、P2Pデータベースに登録する機能、
 をコンピュータに実現させ、
 前記トランザクションデータには、多項式時間で解けないアルゴリズムではない第1アルゴリズムを利用して秘密鍵から生成された公開鍵、アドレス、および電子署名と、前記多項式時間で解けないアルゴリズムである第2アルゴリズムを利用して秘密鍵から生成された公開鍵、アドレス、および電子署名との、一方または双方が含まれる、プログラム。
 100  情報処理装置
 102、202  通信部
 104、204  制御部
 110  生成部
 112  送信制御部
 200  登録装置
 210  検証部
 212  登録部
 300  ネットワーク
 1000  情報処理システム

Claims (11)

  1.  少なくとも1つのアルゴリズムが多項式時間で解けないアルゴリズムである、複数のアルゴリズムそれぞれを利用して、複数の前記アルゴリズムそれぞれに対応する秘密鍵から、複数の前記アルゴリズムそれぞれに対応する複数の公開鍵、複数の前記アルゴリズムそれぞれに対応する複数のアドレス、および複数の前記アルゴリズムそれぞれに対応する複数の電子署名を生成する生成部と、
     生成された複数の前記公開鍵、複数の前記アドレス、および複数の前記電子署名を含むトランザクションデータを、P2P(Peer to Peer)ネットワークに送信させる送信制御部と、
     を備える、情報処理装置。
  2.  複数の前記アルゴリズムそれぞれに対応する秘密鍵は、1つのシード値に基づき生成され、複数の前記アルゴリズムごとに異なっている、請求項1に記載の情報処理装置。
  3.  前記生成部は、設定されている生成動作モードに対応するアルゴリズムを利用して、前記公開鍵、前記アドレス、および前記電子署名を生成し、
     前記送信制御部は、前記生成動作モードに対応して生成された前記公開鍵、前記アドレス、および前記電子署名を含むトランザクションデータを、前記P2Pネットワークに送信させ、
     前記生成動作モードには、前記多項式時間で解けないアルゴリズムではない第1アルゴリズムに対応する前記公開鍵、前記アドレス、および前記電子署名のみを生成する第1生成動作モードと、
     前記第1アルゴリズムに対応する前記公開鍵、前記アドレス、および前記電子署名と、前記多項式時間で解けないアルゴリズムである第2アルゴリズムに対応する前記公開鍵、前記アドレス、および前記電子署名との双方を生成する第2生成動作モードと、
     前記第2アルゴリズムに対応する前記公開鍵、前記アドレス、および前記電子署名のみを生成する第3生成動作モードと、
     が含まれる、請求項1に記載の情報処理装置。
  4.  前記多項式時間で解けないアルゴリズムには、MQ(Multivariate Quadratic)アルゴリズム、NTRUアルゴリズム、UOV(Un-balanced Oil and Vinegar)アルゴリズム、XMSSアルゴリズム、McElieceアルゴリズムの少なくとも1つが、含まれる、請求項1に記載の情報処理装置。
  5.  外部装置からP2P(Peer to Peer)ネットワークに送信された、公開鍵、アドレス、および電子署名を含むトランザクションデータを検証する検証部と、
     検証された前記トランザクションデータを、P2Pデータベースに登録する登録部と、
     を備え、
     前記トランザクションデータには、多項式時間で解けないアルゴリズムではない第1アルゴリズムを利用して秘密鍵から生成された公開鍵、アドレス、および電子署名と、前記多項式時間で解けないアルゴリズムである第2アルゴリズムを利用して秘密鍵から生成された公開鍵、アドレス、および電子署名との、一方または双方が含まれる、登録装置。
  6.  前記検証部は、設定されている検証動作モードに対応する方法で検証を行い、
     前記検証動作モードには、
     前記第1アルゴリズムに対応する前記公開鍵に基づいて、前記第1アルゴリズムに対応する前記アドレスおよび前記電子署名それぞれを検証する第1検証動作モードと、
     前記第1アルゴリズムに対応する前記公開鍵に基づいて、前記第1アルゴリズムに対応する前記アドレスおよび前記電子署名それぞれを検証し、かつ、前記第2アルゴリズムに対応する前記公開鍵に基づいて、前記第2アルゴリズムに対応する前記アドレスおよび前記電子署名それぞれを検証する第2検証動作モードと、
     前記第2アルゴリズムに対応する前記公開鍵に基づいて、前記第2アルゴリズムに対応する前記アドレスおよび前記電子署名それぞれを検証する第3検証動作モードと、
     が含まれる、請求項5に記載の登録装置。
  7.  前記検証部は、設定されている前記検証動作モードに対応しない前記トランザクションデータを検証しない、請求項6に記載の登録装置。
  8.  少なくとも1つのアルゴリズムが多項式時間で解けないアルゴリズムである、複数のアルゴリズムそれぞれを利用して、複数の前記アルゴリズムそれぞれに対応する秘密鍵から、複数の前記アルゴリズムそれぞれに対応する複数の公開鍵、複数の前記アルゴリズムそれぞれに対応する複数のアドレス、および複数の前記アルゴリズムそれぞれに対応する複数の電子署名を生成するステップと、
     生成された複数の前記公開鍵、複数の前記アドレス、および複数の前記電子署名を含むトランザクションデータを、P2P(Peer to Peer)ネットワークに送信させるステップと、
     を有する、情報処理装置により実行される情報処理方法。
  9.  外部装置からP2P(Peer to Peer)ネットワークに送信された、公開鍵、アドレス、および電子署名を含むトランザクションデータを検証するステップと、
     検証された前記トランザクションデータを、P2Pデータベースに登録するステップと、
     を有し、
     前記トランザクションデータには、多項式時間で解けないアルゴリズムではない第1アルゴリズムを利用して秘密鍵から生成された公開鍵、アドレス、および電子署名と、前記多項式時間で解けないアルゴリズムである第2アルゴリズムを利用して秘密鍵から生成された公開鍵、アドレス、および電子署名との、一方または双方が含まれる、登録装置により実行される登録方法。
  10.  少なくとも1つのアルゴリズムが多項式時間で解けないアルゴリズムである、複数のアルゴリズムそれぞれを利用して、複数の前記アルゴリズムそれぞれに対応する秘密鍵から、複数の前記アルゴリズムそれぞれに対応する複数の公開鍵、複数の前記アルゴリズムそれぞれに対応する複数のアドレス、および複数の前記アルゴリズムそれぞれに対応する複数の電子署名を生成する機能、
     生成された複数の前記公開鍵、複数の前記アドレス、および複数の前記電子署名を含むトランザクションデータを、P2P(Peer to Peer)ネットワークに送信させる機能、
     をコンピュータに実現させるためのプログラム。
  11.  外部装置からP2P(Peer to Peer)ネットワークに送信された、公開鍵、アドレス、および電子署名を含むトランザクションデータを検証する機能、
     検証された前記トランザクションデータを、P2Pデータベースに登録する機能、
     をコンピュータに実現させ、
     前記トランザクションデータには、多項式時間で解けないアルゴリズムではない第1アルゴリズムを利用して秘密鍵から生成された公開鍵、アドレス、および電子署名と、前記多項式時間で解けないアルゴリズムである第2アルゴリズムを利用して秘密鍵から生成された公開鍵、アドレス、および電子署名との、一方または双方が含まれる、プログラム。
PCT/JP2018/037045 2017-12-08 2018-10-03 情報処理装置、登録装置、情報処理方法、登録方法、およびプログラム WO2019111513A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US16/768,155 US11533181B2 (en) 2017-12-08 2018-10-03 Information processing apparatus, registration apparatus, information processing method, and registration method
CN201880077927.1A CN111418182B (zh) 2017-12-08 2018-10-03 信息处理装置、登记装置、信息处理方法、登记方法和计算机程序

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2017-236037 2017-12-08
JP2017236037 2017-12-08

Publications (1)

Publication Number Publication Date
WO2019111513A1 true WO2019111513A1 (ja) 2019-06-13

Family

ID=66750939

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2018/037045 WO2019111513A1 (ja) 2017-12-08 2018-10-03 情報処理装置、登録装置、情報処理方法、登録方法、およびプログラム

Country Status (3)

Country Link
US (1) US11533181B2 (ja)
CN (1) CN111418182B (ja)
WO (1) WO2019111513A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021130968A1 (ja) * 2019-12-26 2021-07-01 富士通株式会社 送信制御方法、送信制御プログラム及び情報処理装置

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11188897B2 (en) * 2018-02-13 2021-11-30 Bank Of America Corporation Multi-tiered digital wallet security
JP2022002351A (ja) * 2018-09-20 2022-01-06 ソニーグループ株式会社 情報処理装置、情報処理方法、およびプログラム
US11138598B2 (en) * 2018-12-17 2021-10-05 Mastercard International Incorporated Method and system for consent to time-bound queries in a blockchain

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002207427A (ja) * 2001-01-10 2002-07-26 Sony Corp 公開鍵証明書発行システム、公開鍵証明書発行方法、および情報処理装置、情報記録媒体、並びにプログラム記憶媒体
US20160300234A1 (en) * 2015-04-06 2016-10-13 Bitmark, Inc. System and method for decentralized title recordation and authentication
US9660978B1 (en) * 2016-08-08 2017-05-23 ISARA Corporation Using a digital certificate with multiple cryptosystems
JP2017123116A (ja) * 2016-01-08 2017-07-13 日本電気株式会社 負荷分散システム、負荷分散装置、負荷分散方法、および、プログラム

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008042318A2 (en) * 2006-09-29 2008-04-10 Cipheroptics, Inc. Systems and methods for management of secured networks with distributed keys
CN101741545B (zh) * 2008-11-13 2014-03-26 中国科学院计算机网络信息中心 一种互联网主机命名和通信方法及***
CN102195957B (zh) * 2010-03-19 2014-03-05 华为技术有限公司 一种资源共享方法、装置及***
US20120331308A1 (en) * 2011-06-22 2012-12-27 Media Patents, S.L. Methods, apparatus and systems to improve security in computer systems
USRE48644E1 (en) * 2012-04-12 2021-07-13 Jintai Ding Cryptographic system using pairing with errors
JP6452156B2 (ja) 2015-09-03 2019-01-16 日本電信電話株式会社 許諾情報管理システム、利用者端末、権利者端末、許諾情報管理方法、および、許諾情報管理プログラム
US11354658B2 (en) * 2016-02-11 2022-06-07 Mastercard International Incorporated Method and system for offline blockchain exchanges
CN107094148A (zh) * 2017-05-09 2017-08-25 电子科技大学 一种抗量子计算攻击的无人机区块链管控策略

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002207427A (ja) * 2001-01-10 2002-07-26 Sony Corp 公開鍵証明書発行システム、公開鍵証明書発行方法、および情報処理装置、情報記録媒体、並びにプログラム記憶媒体
US20160300234A1 (en) * 2015-04-06 2016-10-13 Bitmark, Inc. System and method for decentralized title recordation and authentication
JP2017123116A (ja) * 2016-01-08 2017-07-13 日本電気株式会社 負荷分散システム、負荷分散装置、負荷分散方法、および、プログラム
US9660978B1 (en) * 2016-08-08 2017-05-23 ISARA Corporation Using a digital certificate with multiple cryptosystems

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021130968A1 (ja) * 2019-12-26 2021-07-01 富士通株式会社 送信制御方法、送信制御プログラム及び情報処理装置
JPWO2021130968A1 (ja) * 2019-12-26 2021-07-01
JP7298716B2 (ja) 2019-12-26 2023-06-27 富士通株式会社 送信制御方法、送信制御プログラム及び情報処理装置

Also Published As

Publication number Publication date
US11533181B2 (en) 2022-12-20
CN111418182B (zh) 2023-10-27
CN111418182A (zh) 2020-07-14
US20200322164A1 (en) 2020-10-08

Similar Documents

Publication Publication Date Title
WO2019111513A1 (ja) 情報処理装置、登録装置、情報処理方法、登録方法、およびプログラム
WO2020147489A1 (zh) 区块链交易的生成方法和装置
CN109756582A (zh) 区块链网络中的信息记录方法、装置、节点及存储介质
US20180013728A1 (en) Method for secure communication using asymmetric & symmetric encryption over insecure communications
US9590807B2 (en) Identity based public key cryptosystem
CN109672539A (zh) Sm2算法协同签名及解密方法、装置及***
CN107682141A (zh) 用于数据传输的数据加密方法和***
US20110055585A1 (en) Methods and Systems to Create Big Memorizable Secrets and Their Applications in Information Engineering
US20210357914A1 (en) Constructing a Distributed Ledger Transaction on a Cold Hardware Wallet
US8687812B2 (en) Method and apparatus for public key cryptography
EP2961094A1 (en) System and method for generating a random number
US20130028419A1 (en) System and a method for use in a symmetric key cryptographic communications
CN103701598B (zh) 一种基于sm2签名算法的复核签名方法和数字签名设备
US10476672B2 (en) Fragmented encryption of a secret
TWM542178U (zh) 隱藏及還原區塊鏈交易中交易方資訊之裝置
WO2021231087A1 (en) Constructing a distributed ledger transaction on a cold hardware wallet
TWI637619B (zh) 隱藏還原區塊鏈交易中交易方資訊之裝置及其方法
CN112784284B (zh) 加密处理***、加密处理方法以及记录介质
CN114785524B (zh) 电子***生成方法、装置、设备和介质
WO2021098152A1 (zh) 基于区块链的数据处理方法、装置及计算机设备
US20210083853A1 (en) Key distribution system, terminal device, key distribution method, and program
WO2018105038A1 (ja) 通信装置及び分散型元帳システム
US11595216B2 (en) Electronic apparatus and method for signing a message
CN116455561A (zh) 用于轻量装置的嵌入式tls协议
US20140089668A1 (en) Transmitting device, receiving device, transmitting method, receiving method, and program

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 18885541

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18885541

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP