Information processing method, information processing device, and computer program
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- EVANTEC CO LTD
- Filing Date
- 2024-11-29
- Publication Date
- 2026-06-04
Smart Images

Figure JP2024042376_04062026_PF_FP_ABST
Abstract
Description
Information processing method, information processing device, and computer program
[0001] This disclosure relates to an information processing method, an information processing device, and a computer program.
[0002] Patent Document 1 discloses an information processing method that generates a public key for a device based on the device's private key, generates a hash value based on the generated public key and a predetermined hash function, and determines the device's IP address based on the generated hash value.
[0003] Such hash functions convert data of arbitrary length (such as messages or files) into a fixed-length hash value, and are used for a variety of purposes, including data integrity, password storage, and database indexing.
[0004] Japanese Patent Publication No. 2024-149592
[0005] There are several representative types of hash functions, but currently, SHA-256 is commonly used. However, quantum computers may be able to decrypt the original data input to a hash function based on the hash value generated by the hash function, which is a one-way function. In other words, there are concerns that the security of technologies using hash functions will become vulnerable with the advent of quantum computers.
[0006] This disclosure is made in view of the above circumstances and aims to provide an information processing method, an information processing device, and a computer program that can realize a hash function with strong unidirectional properties that would be difficult to decipher even by a quantum computer with advanced computing power.
[0007] The present invention includes several means for solving the above problem, but to give one example, the information processing method acquires target input data, acquires a first parameter, a second parameter, and a third parameter, converts the acquired input data into an irrational number using the first parameter, identifies a number of digits from the fractional part of the converted irrational number that is the sum of the number of digits represented by the second parameter and the number of digits represented by the third parameter, and uses the identified number as the hash value of the input data using a hash function.
[0008] According to this disclosure, it is possible to realize a hash function with strong unidirectional properties that would be difficult to decipher even for quantum computers with advanced computing power.
[0009] This figure shows an example of the functions of the information processing device of this embodiment. This figure shows an example of the configuration of the information processing device of this embodiment. This figure shows an example of a method for generating a hash value based on the identification of the fractional part of an irrational number. This figure shows an example of storing an irrational number converted by the irrational number conversion unit into memory. This figure shows an example of a method for calculating a hash value by the information processing device of this embodiment. This figure shows an example of a method for generating a hash value when a fourth parameter indicating significant digits is used. This figure shows an example of generating different hash values using different first parameters by the information processing device of this embodiment. This figure shows an example of a method for identifying a private blockchain with a hash function by the information processing device of this embodiment. This figure shows an example of a private blockchain. This figure shows an example of generating different hash values using different second parameters by the information processing device of this embodiment. This figure shows an example of a method for identifying a private blockchain with a hash function by the information processing device of this embodiment. This figure shows an example of a processing procedure by the information processing device of this embodiment.
[0010] Hereinafter, the present disclosure will be described based on drawings illustrating its embodiments. Figure 1 is a diagram showing an example of the functions of the information processing device 100 of this embodiment. The information processing device 100 has the function of a hash function. The information processing device 100 includes an input data acquisition unit 10, a first parameter acquisition unit 11, a second parameter acquisition unit 12, a third parameter acquisition unit 13, a fourth parameter acquisition unit 14, an irrational number conversion unit 20, a rational number determination unit 21, an irrational number processing unit 22, a decimal part identification unit 30, a hash value output unit 31, and a character conversion unit 32, etc.
[0011] The input data acquisition unit 10 may be configured as a buffer (input buffer) or as a register or the like. The input data acquisition unit 10 acquires the input data to be hashed. The target input data includes data such as strings, electronic document files, emails, messages, and passwords. If the bit length of the input data is, for example, 1024 bits, it will be a real number with approximately 309 digits as a positive integer when expressed in decimal. Although the numerical value can be expressed in base p (where p is any natural number greater than or equal to 2), for convenience, this specification uses base 10, but is not limited to base 10.
[0012] The first parameter acquisition unit 11 acquires the first parameter. The first parameter is used when the input data acquired by the input data acquisition unit 10 is converted into an irrational number by the irrational number conversion unit 20. The first parameter may be a fixed value or a variable value. That is, the first parameter can be set to a required value in advance, and the first parameter acquisition unit 11 can acquire the set first parameter. The first parameter acquisition unit 11 outputs the first parameter to the irrational number conversion unit 20.
[0013] The second parameter acquisition unit 12 acquires the second parameter. The second parameter identifies the number of digits N from the first decimal place of the irrational number converted by the irrational number conversion unit 20. That is, the second parameter identifies the number of digits N in the decimal part of the irrational number converted by the irrational number conversion unit 20. The second parameter may be a fixed value or a variable value. That is, the second parameter can be set to a required value in advance, and the second parameter acquisition unit 12 can acquire the set second parameter. The second parameter acquisition unit 12 outputs the second parameter to the decimal part identification unit 30 and the irrational number conversion unit 20.
[0014] The third parameter acquisition unit 13 acquires the third parameter. The third parameter identifies the digit width W from the number of digits N represented by the second parameter of the fractional part of the irrational number converted by the irrational number conversion unit 20. The third parameter acquisition unit 13 outputs the third parameter to the fractional part identification unit 30 and the irrational number conversion unit 20.
[0015] The fourth parameter acquisition unit 14 acquires the fourth parameter. The fourth parameter identifies multiple significant digits from each digit of the fractional part of the irrational number converted by the irrational number conversion unit 20, from the number of digits N represented by the second parameter to the number of digits width W represented by the third parameter. The fourth parameter acquisition unit 14 outputs the fourth parameter to the fractional part identification unit 30. Note that the fourth parameter acquisition unit 14 is not a mandatory configuration. The first parameter acquisition unit 11, the second parameter acquisition unit 12, the third parameter acquisition unit 13, and the fourth parameter acquisition unit 14 can be configured as, for example, registers. The first parameter acquisition unit 11, the second parameter acquisition unit 12, the third parameter acquisition unit 13, and the fourth parameter acquisition unit 14 may be configured as a single register or as multiple registers.
[0016] The first, second, third, and fourth parameters may be stored in advance in the storage unit of the information processing device 100 and retrieved from said storage unit, or they may be retrieved from an external storage device.
[0017] The irrational number conversion unit 20 is composed of, for example, an arithmetic circuit (first arithmetic circuit) and converts the input data acquired by the input data acquisition unit 10 into an irrational number using the first parameter acquired by the first parameter acquisition unit 11. An irrational number is a real number that is not a rational number and cannot be expressed as a ratio of integers. An irrational number has an infinitely long decimal part after the decimal point. Details of irrational number conversion will be described later.
[0018] The rational number determination unit 21 determines whether the number converted by the irrational number conversion unit 20 is a rational number.
[0019] The irrational number conversion processing unit 22 performs a process to convert a rational number to an irrational number if the number converted by the irrational number conversion unit 20 is a rational number. Details of the irrational number conversion process will be described later.
[0020] The decimal part identification unit 30 is composed of, for example, an arithmetic circuit (second arithmetic circuit) and identifies a numerical value from the decimal part of an irrational number converted by the irrational number conversion unit 20 or an irrational number processing unit 22, from the number of digits N represented by the second parameter to the number of digits W represented by the third parameter. Details of the method for identifying the numerical value will be described later.
[0021] The hash value output unit 31 consists of an output circuit and outputs the decimal part of the numerical value identified by the decimal part identification unit 30 as a hash value.
[0022] The character conversion unit 32 converts the hash value output by the hash value output unit 31 into a string.
[0023] Figure 2 shows an example of the configuration of the information processing device 100 in this embodiment. The information processing device 100 includes a control unit 51 that controls the entire device, an acquisition unit 52, a memory 53, a display unit 54, an operation unit 55, a storage unit 56, and a recording medium reading unit 57, etc.
[0024] The control unit 51 may be configured by incorporating a required number of CPUs (Central Processing Units), MPUs (Micro-Processing Units), GPUs (Graphics Processing Units), etc. Alternatively, the control unit 51 may be configured by combining DSPs (Digital Signal Processors), FPGAs (Field-Programmable Gate Arrays), etc.
[0025] The acquisition unit 52 is equipped with a communication module for wireless or wired communication and acquires the first parameter, second parameter, third parameter, and fourth parameter. The acquisition unit 52 stores the acquired first parameter, second parameter, third parameter, and fourth parameter in the storage unit 56.
[0026] The display unit 54 is composed of a liquid crystal display or an organic EL display, and provides a user interface (UI) to the user by displaying the required information. The display unit 54 is equipped with a microphone and a speaker, and can input and output audio. An external display device may be used instead of the display unit 54.
[0027] The operation unit 55 is, for example, configured as a touch panel and can perform operations such as manipulating icons displayed on the display unit 54, moving and manipulating the cursor, and inputting text. The operation unit 55 may be configured as buttons or switches, or as a keyboard or mouse. The operation unit 55 provides a user interface (UI) to the user by receiving user input. Alternatively, an external terminal device for operation may be provided instead of the operation unit 55.
[0028] The storage unit 56 can be made up of a semiconductor memory or a hard disk, and stores a computer program (program product) 60, a first parameter 61, a second parameter 62, a third parameter 63, a fourth parameter 64, and other necessary information.
[0029] The computer program 60 can be read by the recording medium reading unit 57 from a recording medium (e.g., an optically readable disc storage medium such as a CD-ROM) M and stored in the storage unit 56. The computer program 60 may also be read from a recording medium such as a storage device (semiconductor memory such as an SSD (Solid State Drive)) connected by a standard for connecting to a computer (e.g., USB (Universal Serial Bus) or other standards) and stored in the storage unit 56. Alternatively, the computer program 60 may be downloaded from an external device via the acquisition unit 52 and stored in the storage unit 56.
[0030] The memory 53 can be composed of semiconductor memory such as SRAM (Static Random Access Memory), DRAM (Dynamic Random Access Memory), or flash memory. The computer program 60 can be loaded into the memory 53, and the control unit 51 can execute the computer program 60. The control unit 51 can execute the processing defined in the computer program 60. In other words, the processing performed by the control unit 51 is also the processing performed by the computer program 60. The control unit 51 can perform the functions of the irrational number conversion unit 20, rational number determination unit 21, irrational number processing unit 22, decimal part identification unit 30, hash value output unit 31, and character conversion unit 32 as illustrated in Figure 1.
[0031] Next, we will explain the irrational number conversion performed by the irrational number conversion unit 20. There are several ways to convert the input data into an irrational number. These will be explained in order below.
[0032] The rational number determination unit 21 determines whether a number is rational based on whether a specific pattern is repeated in the sequence of digits after the decimal point. In other words, the rational number determination unit 21 determines that a number is rational if a specific pattern is repeated in the sequence of digits after the decimal point.
[0033] Irrational numbers include algebraic irrational numbers, which are algebraic numbers, and transcendental numbers, which are not algebraic numbers. Algebraic irrational numbers are irrational numbers expressed as the roots of algebraic polynomials = 0. For example, there are infinitely many such as √2, √3, 5 1 / 4 and so on. First, algebraic irrational numbers will be explained.
[0034] When the input data is represented by D and the first parameter is represented by n / m, the irrational number conversion unit 20 converts the input data D into an irrational number A according to the formula n / m . Here, n and m are natural numbers, n < m, and m ≥ 3.
[0035] The reason for m ≥ 3 is as follows. That is, when the number converted by the irrational number conversion unit 20 is a rational number, it can be made into an irrational number by adding 1 to the input data D and taking the (n / m)-th power. Also, the process of adding 1 to the input data D is performed by the irrational number conversion processing unit 22. Specifically, let 1 / m D = a / b. a and b are relatively prime and in irreducible fraction form. At this time, when 1 is added to D, D + 1 = (a / b) m + 1 = (a m + b m ) / b m However, if (a m + b m ) is not the m-th power of an integer, then (D + 1) 1 / m is not a rational number but an irrational number. This is shown by Fermat's Last Theorem (there are no integer solutions for a m + b m = c m when m ≥ 3). Therefore, m ≥ 3.
[0036] As described above, when the control unit 51 represents the input data by D, it can convert the input data D into an irrational number A according to the formula n / m . Here, the first parameter is represented by n / m, n and m are natural numbers, n < m, and m ≥ 3.
[0037] Also, when the number obtained by converting the input data D using the first parameter is a rational number, the control unit 51 can add 1 to the input data D to convert it into an irrational number.
[0038] Next, we will explain the case of transcendental numbers.
[0039] If the input data is represented by D and the first parameter is represented by n / m, then the irrational number conversion unit 20 is D m Alternatively, the input data D can be converted to an irrational number using the following formula. In other words, an irrational number can be converted from an exponential function.
[0040] As described above, the control unit 51, when the input data is represented by D, m The input data D can be converted to an irrational number using the following formula. Here, the first parameter is represented by m, and m is a natural number.
[0041] Furthermore, if the input data is represented by D and the first parameter by n / m, the irrational number conversion unit 20 is log mD The input data can also be converted to an irrational number using the following formula. In other words, it is also possible to convert from a logarithmic function to an irrational number.
[0042] As described above, the control unit 51 can convert the input data D into an irrational number using the formula log mD, where D represents the input data. Here, the first parameter is represented by m, and m is a natural number.
[0043] Furthermore, irrational numbers can be generated using a variety of composite functions, such as loglogD. Thus, the irrational number conversion unit 20 can use any conversion formula as long as it can convert the input data D into an irrational number A. While it is thought that the encryption strength increases as the function composition deepens, the computational complexity also increases, so it is preferable to keep the computational complexity at a practical level.
[0044] The first parameter can be a variable value and can be adjusted to the required value. For example, the first parameter adjusted to the required value may be acquired via the acquisition unit 52, or the first parameter may be adjusted from the operation unit 55. By changing the value of the first parameter, the same input data D can be converted into irrational numbers of different values. That is, by adjusting the first parameter, different irrational numbers can be generated, and as a result, different hash values can be generated. This means that the hash function of the information processing device 100 in this embodiment can construct different hash functions corresponding to the first parameter by adjusting the first parameter. In other words, by making the first parameter changeable, it can be used as an identifier to individually classify hash functions.
[0045] Next, we will explain how to determine the fractional part of an irrational number.
[0046] Figure 3 shows an example of a method for generating a hash value based on the identification of the fractional part of an irrational number. Let A be the irrational number converted by the irrational number conversion unit 20 (or output by the irrational number processing unit 22). An irrational number can be represented by an integer part and a fractional part, where A = a 0 a 1 a 2 a 3 ...a N a N+1 ...a N+W-2 a N+W-1 a N+W ...a n a n+1 ...can be expressed as follows. Each a i is a decimal number from 0 to 9.
[0047] The fractional part identification unit 30 identifies the Nth digit of the fractional part of the irrational number A based on the second parameter (representing the number of digits N). The Nth digit is a N The decimal part identification unit 30 identifies the number of digits (N + W - 1) obtained by adding the number of digits width W from the Nth digit, based on the third parameter (representing the number of digits width W). The (N + W - 1)th digit is a N+W-1 The decimal part identification unit 30 identifies the numerical value from the Nth digit to the (N+W-1)th digit. The identified numerical value is a N a N+1 ...a N+W-2 a N+W-1 This is the result.
[0048] The hash value output unit 31 outputs the identified numerical value as a hash value obtained by applying a hash function to the input data D.
[0049] Figure 4 shows an example of storing an irrational number converted by the irrational number conversion unit 20 into the memory 53. Let A be the irrational number converted by the irrational number conversion unit 20 (or output by the irrational number processing unit 22), and A = a 0 a 1 a 2 a 3 ...a N a N+1 ...a N+W-2 a N+W-1 a N+W ...a n a n+1 ...Let's represent it as follows. In a predetermined address space of memory 53, if we associate addresses with digits and the data stored at those addresses are numerical values for each digit, then as shown in Figure 4, digit 1 contains the numerical value a 1 The value a is stored in digit 2. 2 The value a is stored in digit 3. 3 The number a is stored in digit N. N The value a is stored in digit N+1. N+1 The number a is stored in digit N+W-2. N+W-2 The value a is stored in digit N+W-1. N+W-1 The number a is stored in digit N+W. N+W The number a is stored in digit n. n The value a is stored in digit n+1. n+1 This is stored. Specifically, the number of digits in the fractional part of the irrational number converted by the irrational number conversion unit 20 is used as an address, and the numerical value of each digit is stored as the numerical value to be stored at that address. The number of digits and the numerical value of each digit are then associated and stored in the memory 53.
[0050] The decimal part identification unit 30 identifies the numerical value a stored in digit N based on the second parameter (representing the number of digits N). N Therefore, based on the third parameter (representing the digit width W), the number a stored in the number of digits (N + W - 1) obtained by adding the digit width W from the Nth digit. N+W-1 up to the numerical value a N aN+1 ...a N+W-2 a N+W-1 The fractional part identification unit 30 can identify the numerical value stored between the address of memory 53 corresponding to the number of digits represented by the second parameter read from the second parameter acquisition unit (register) 12 and the address of memory 53 corresponding to the number of digits including the width of the number of digits represented by the third parameter read from the third parameter acquisition unit (register) 13.
[0051] In the example described above, the irrational number conversion unit 20 is configured to calculate the fractional part of the converted irrational number. However, calculating an infinitely long fractional part increases the computational complexity and is not practical. Therefore, the irrational number conversion unit 20 should acquire the second and third parameters and, when converting to an irrational number, calculate the number of digits in the fractional part to be calculated up to (N + W - 1) digits based on the second parameter (number of digits N) and the third parameter (width of digits W). This suppresses the increase in computational complexity and speeds up processing.
[0052] As described above, the control unit 51 acquires the target input data D, obtains the first parameter, the second parameter, and the third parameter, converts the acquired input data D into an irrational number A using the first parameter, identifies the number of digits (N + W - 1) from the fractional part of the converted irrational number A, which is the sum of the number of digits N represented by the second parameter and the number of digit width W represented by the third parameter, and can use the identified number as the hash value of the input data D using a hash function.
[0053] The second parameter can be a variable value and can be adjusted to the required value. For example, the second parameter adjusted to the required value may be obtained via the acquisition unit 52, or the second parameter may be adjusted from the operation unit 55. By changing the value of the second parameter, it is possible to identify numerical values that start with different numbers of decimal places N in the fractional part of an irrational number. In other words, by adjusting the second parameter, different hash values can be generated. This means that the hash function of the information processing device 100 in this embodiment can construct different hash functions corresponding to the second parameter by adjusting the second parameter. That is, by making the second parameter changeable, it can be used as an identifier to individually classify hash functions.
[0054] The hash function of the information processing device 100 of this embodiment is a strongly unidirectional hash function that is difficult to decipher even by a quantum computer with advanced computing power, as follows:
[0055] In other words, for a given irrational number A, if we consider the decimal representation of each digit after the decimal point (not limited to decimal, but can be in base p) as a sequence, and call the sequence with a width W from digit N to digit (N + W - 1) the window value K(W), then given that the window value K(W) is known, it is almost impossible to identify the irrational number A on which the window value K was calculated, for the following reasons.
[0056] One reason for this is that for any irrational number, there may be a sequence that matches the window value K(W), but since an irrational number A has an infinite number of decimal places, it is thought that there may be infinitely many sequences that match the window value K(W). In other words, the number of digits N cannot be determined.
[0057] Secondly, since there are infinitely many irrational numbers A, it is difficult to identify them. Even if a highly powerful computer were to attempt to detect irrational numbers that meet the conditions, it would logically be difficult to search for all infinitely many irrational numbers because the computer would have to calculate each step individually.
[0058] The above properties directly translate to the difficulties in attempting to decode the method of this embodiment using a computer. In particular, (1) even if a computer tries to detect the relevant irrational number, it is logically difficult because the computer would need to sequentially scan for irrational numbers. (2) The scan area for decoding is determined by the number of decimal places, but since irrational numbers have an infinite number of decimal places, there is a possibility that the sequence of numbers that matches a specific window value will be infinite, making it difficult to determine the starting digit N of the window.
[0059] Therefore, even if a quantum computer with advanced computing power were used, it would be extremely difficult to decipher the original input data entered into the hash function based on the hash value generated by the hash function of the information processing device 100 of this embodiment. In practical terms, it is possible to provide a hash function with strong unidirectional properties that makes deciphering difficult even for quantum computers with advanced computing power.
[0060] Next, we will explain how to calculate the hash value.
[0061] Figure 5 shows an example of a hash value calculation method by the information processing device 100 of this embodiment. First, (1) the input data D is converted to an irrational number A. For example, the irrational number A is the input data D raised to the power of 1 / m (D 1 / m ) is possible, but is not limited to this.
[0062] (2) If A is an irrational number, then A = a 0 a 1 a 2 a 3 ...a n a n+1 Let's assume that it can be expressed as follows. Each a i is a decimal number from 0 to 9.
[0063] (3) The value of an irrational number A up to N digits N Let's assume the value A has up to N digits. N is, A N = a 0 a 1 a 2 a 3 ...a Ncan be represented as A N From A N+1 calculate A, and calculate the irrational number A by repeating this process sequentially. That is, calculate the value of A up to the (N + 1)th digit from the value of A up to the Nth digit N from the value of A up to the Nth digit N+1 to the value of A up to the (N + 1)th digit
[0064] (4) Set the decimal value of a N+1 to increase sequentially from 0 by 1
[0065] (5) Calculate B = {A N + a N+1 / (10) N+1 }. Increase the decimal value of a N+1 by +1 one by one, and set the decimal value a N+1 before B exceeds the value of the input data D as the value of A at the (N + 1)th digit N+1 . Thereafter, replace N with (N + 1) and repeat the above processes (4) and (5). For example, a hash value with a window width W is obtained by a N a N+1 …a N+W-2 a N+W-1
[0066] The hash values illustrated in FIGS. 3 and 4 are configured to use numerical values for all digits within the window width W, but are not limited thereto. For example, significant digits may be specified for each digit within the window width W, and a hash value may be generated using the numerical values corresponding to the significant digits. This will be described below
[0067] FIG. 6 is a diagram showing an example of a method for generating a hash value when using a fourth parameter indicating significant digits. As shown in FIG. 6, let the number of digits specified by the second parameter be N, and let the digit width (also referred to as the "window width") W specified by the third parameter be W = 9. Let the numerical values specified in the fractional part of the irrational number be a N a N+1 a N+2 a N+3 a N+4 a N+5 a N+6 a N+7 a N+8 and represent them as such
[0068] The fourth parameter, which specifies multiple significant digits from the number of digits represented by the second parameter to the number of digits including the width of the number of digits represented by the third parameter, is, for example, "111001011". Here, "1" indicates a significant digit. Numerical value a N a N+1 a N+2 a N+3 a N+4 a N+5 a N+6 a N+7 a N+8 If we extract only the significant digits from it, the hash value will be a N a N+1 a N+2 a N+5 a N+7 a N+8 This can be obtained. Note that the fourth parameter is not limited to the example in Figure 6.
[0069] As described above, the control unit 51 obtains a fourth parameter that identifies multiple significant digits from each digit up to the sum of the number of digits represented by the second parameter and the number of digits width represented by the third parameter, identifies the numerical value for each significant digit identified by the fourth parameter, and can use the identified numerical value as the hash value of the input data using a hash function.
[0070] The control unit 51 can output the identified hash value as a hash value of a fixed length, such as 224, 256, 384, or 512 bits.
[0071] The control unit 51 can convert the identified hash value into a string.
[0072] Limitations relating to the implementation of the hash function (hereinafter also referred to as "this method") by the information processing device 100 of this embodiment will be explained. When implementing this method on a computer, the following matters must be considered. That is, since this method deals with numbers in a very small range of irrational numbers, it is necessary to consider the limits of the precision of the small range that a computer can handle. For example, when performing double-precision 64-bit calculations according to IEEE 754 (a global standard for floating-point arithmetic established by the IEEE in 1985), the representation of the decimal part targeted by this method is represented in a part called the mantissa, and is represented by 52 bits. That is, the precision is at least 2 -52 It does not reach this level (let's call this the minimum precision limit of a computer). Broadly speaking, this method involves specifying a rational number and detecting an irrational number that fits this method; therefore, the cryptographic design must take into account the following "Diophantine approximation."
[0073] Diophantine approximation states that if X is an irrational number and a / b (where a and b are natural numbers) is a rational number that approximates it, then for any small ε, there exists a rational number a / b such that |X - a / b| < ε. In other words, if we approximate an irrational number X with a rational number, there will always be a rational number that is close to the irrational number X. When we consider this equation in terms of the internal representation of a computer, it becomes as follows: that is, ε is the minimum precision limit of the computer 2. -52 In this case, the internal representation of the computer in this domain can be said to be X ≈ a / b. That is, if a rational number is specified in this domain, there is no need to search for an irrational number, and a / b itself becomes the corresponding irrational number.
[0074] However, in this method, the rational numbers considered in the above discussion are sequences within the window width, numbers from digit number N to digit number (N + W - 1), and not a / b itself. If N is set to 0, then W = a / b, and the above design constraints will apply. Nevertheless, when implementing this method on a computer, the precision limit should be set to a region close to the computer's internal precision. On the other hand, reducing the window width increases the number of candidate irrational numbers, leading to more collisions (where the same hash value is obtained for different inputs), which is a problem for hash functions. Also, increasing the number of digits N increases the computational complexity and slows down processing speed. Therefore, the number of digits N and the window width W must be designed with a balance in mind.
[0075] The hash function of the information processing device 100 in this embodiment, like conventional hash functions, converts data of arbitrary length (such as messages or files) into a hash value (or hash code), which is a fixed-length data sequence. It can be used for various purposes, such as verifying data integrity, guaranteeing data integrity, strengthening the security of passwords and confidential data, indexing databases, and efficient data management. In particular, the hash function of the information processing device 100 in this embodiment is intended for application in blockchain and other applications, specifically for ensuring data integrity. The application to blockchain will be described below.
[0076] As described above, the hash function of the information processing device 100 of this embodiment can be used as an identifier to individually classify hash functions by using adjustable first and second parameters. In this respect, conventional hash functions (for example, SHA256) do not have an identification function in the function itself. There are three types of blockchains: public blockchains, private blockchains, and consortium blockchains, but for example, private blockchains need to be separated individually. When using conventional hash functions in a private blockchain, it is necessary to add an individual identifier to the input of the hash function, but in this case, there is a possibility of collisions in the hash function (the same hash value is generated), which can cause confusion in the blockchain. On the other hand, according to this embodiment, since the hash function itself has an identification function, it is not necessary to add an individual identifier to the input of the hash function, which is advantageous in terms of usability. This point will be explained below.
[0077] Figure 7 shows an example of generating different hash values using different first parameters by the information processing device 100 of this embodiment. As shown in Figure 7, the different first parameters are n / m and n' / m'. When the first parameter n / m is used, an irrational number A is calculated from the input data D, and a hash value H is generated. In this case, the hash function is HF. Similarly, when the first parameter n' / m' is used, an irrational number A' is calculated from the input data D, and a hash value H' is generated. In this case, the hash function can be HF'. In this way, by simply changing the first parameter, different hash functions can be defined, and different hash values can be generated for the same input data D.
[0078] Figure 8 shows an example of a method for identifying private blockchains using a hash function by the information processing device 100 of this embodiment. As shown in Figure 8, let's represent each different private blockchain as BC1, BC2, ... In this case, for private blockchain BC1, a first parameter n / m is associated, and private blockchain BC1 can be identified by the hash function HF specified by the first parameter n / m. Similarly, for private blockchain BC2, a first parameter n' / m' is associated, and private blockchain BC2 can be identified by the hash function HF' specified by the first parameter n' / m'. The same applies to other private blockchains.
[0079] Figure 9 shows an example of a private blockchain. A private blockchain is a distributed system that uses a P2P network, where nodes (computers) on the P2P network share the same data (ledger). A private blockchain is a technology that manages a ledger through distributed sharing.
[0080] As shown in Figure 9, each block in a private blockchain contains information such as the hash value of the previous block, transaction data, and a nonce value. The transaction data includes a record of all transactions that took place during the block's duration. The nonce value is used to calculate the hash value based on the information in the current block when adding the next block.
[0081] In the private blockchain BC1, the hash function HF is used. A hash value is generated based on information such as the hash value of the current block, transaction data, and nonce value, and this is recorded in the next block.
[0082] In the private blockchain BC2, the hash function HF' is used, and a hash value is generated based on information such as the hash value of the current block, transaction data, and nonce value, and recorded in the next block.
[0083] As described above, the control unit 51 obtains a first parameter determined in association with the private blockchain, and uses the hash value obtained by a hash function using the first parameter to identify the private blockchain using the hash function.
[0084] This means that by simply adjusting (determining) the first parameter in relation to a private blockchain, the hash function itself possesses identification capabilities, allowing the hash function to identify the private blockchain, which offers advantages in terms of usability.
[0085] Figure 10 shows an example of generating different hash values using different second parameters by the information processing device 100 of this embodiment. As shown in Figure 10, the different second parameters are N and N'. When using the second parameter N, a hash value H is generated from the input data D. In this case, the hash function is HF. Similarly, when using the second parameter N', a hash value H' is generated from the input data D. In this case, the hash function can be HF'. In this way, by simply changing the second parameter, different hash functions can be defined, and different hash values can be generated for the same input data D.
[0086] Figure 11 shows an example of a method for identifying private blockchains using a hash function by the information processing device 100 of this embodiment. As shown in Figure 11, let's represent each different private blockchain as BC1, BC2, ... In this case, for private blockchain BC1, a second parameter N is associated, and private blockchain BC1 can be identified by the hash function HF specified by the second parameter N. Similarly, for private blockchain BC2, a second parameter N' is associated, and private blockchain BC2 can be identified by the hash function HF' specified by the second parameter N'. The same applies to other private blockchains.
[0087] As explained in Figure 9, the private blockchain BC1 uses the hash function HF, which generates a hash value based on information such as the hash value of the current block, transaction data, and nonce value, and records it in the next block.
[0088] Furthermore, in the private blockchain BC2, the hash function HF' is used, and a hash value is generated based on information such as the hash value of the current block, transaction data, and nonce value, and recorded in the next block.
[0089] As described above, the control unit 51 obtains a second parameter determined in association with the private blockchain, and uses the hash value obtained by a hash function using the obtained second parameter to identify the private blockchain using a hash function.
[0090] This means that by simply adjusting (determining) the second parameter in relation to the private blockchain, the hash function itself possesses identification capabilities, allowing the hash function to identify the private blockchain, which offers advantages in terms of usability.
[0091] Figure 12 shows an example of the processing procedure by the information processing device 100 of this embodiment. The control unit 51 acquires input data D (S11) and acquires the first parameter, second parameter, and third parameter (S12). The control unit 51 uses the first parameter to convert the input data D into an irrational number A (S13).
[0092] The control unit 51 determines whether the converted number is a rational number (S14), and if it is a rational number (YES in S14), it converts the converted number to an irrational number (S15) and performs the process in step S16 described later.
[0093] If the converted number is not rational, i.e., irrational (NO in S14), the control unit 51 uses the second and third parameters to identify the fractional part of the irrational number (S16). Specifically, it identifies the number of digits from the number of digits represented by the second parameter to the number of digits with a width represented by the third parameter within the fractional part of the converted irrational number. The control unit 51 uses the identified number as a hash value (S17) and terminates the process.
[0094] With the advancement of quantum computing, threats to conventional hash functions are increasing. As described above, according to this embodiment, a new hash function with quantum resistance can be realized, and a hash function with strong unidirectional properties that cannot be logically solved even by quantum computers with advanced computing power can be realized.
[0095] (Note 1) The information processing method involves acquiring the target input data, acquiring the first parameter, the second parameter, and the third parameter, converting the acquired input data into an irrational number using the first parameter, identifying the number of digits from the fractional part of the converted irrational number from the number of digits represented by the second parameter to the number of digits width represented by the third parameter, and using the identified number as the hash value of the input data using a hash function.
[0096] (Note 2) The information processing method involves obtaining the first parameter determined in association with the private blockchain in Note 1, and using the hash value obtained by the hash function using the obtained first parameter on the private blockchain to identify the private blockchain with the hash function.
[0097] (Note 3) The information processing method obtains the second parameter determined in association with the private blockchain in Note 1 or Note 2, and uses the hash value obtained by the hash function using the obtained second parameter to identify the private blockchain with the hash function.
[0098] (Note 4) The information processing method obtains a fourth parameter in any one of Notes 1 to 3 that identifies multiple significant digits from each digit from the number of digits represented by the second parameter to the number of digits including the width of the number of digits represented by the third parameter, identifies the numerical value of each significant digit identified by the fourth parameter, and uses the identified numerical values as the hash value of the input data using a hash function.
[0099] (Note 5) The information processing method is as follows: In any one of Notes 1 to 4, the first parameter is expressed as n / m, where n and m are natural numbers, n < m, and m ≥ 3, and the input data is represented by D, then D n / m The input data is converted to an irrational number using the following formula.
[0100] (Note 6) The information processing method is such that, in any one of Notes 1 to 4, the first parameter is represented by m, where m is a natural number, and the input data is represented by D, then D m The input data is converted to an irrational number using the following formula.
[0101] (Note 7) The information processing method is as follows: In any one of Notes 1 to 4, the first parameter is represented by m, where m is a natural number, and if the input data is represented by D, then log mD The input data is converted to an irrational number using the following formula.
[0102] (Note 8) In the information processing method, if the number obtained by converting the input data using the first parameter in any one of Notes 1 to 7 is a rational number, then 1 is added to the input data to convert it to an irrational number.
[0103] (Note 9) The information processing device includes a control unit, which acquires the target input data, acquires a first parameter, a second parameter, and a third parameter, converts the acquired input data into an irrational number using the first parameter, identifies a number of digits from the fractional part of the converted irrational number that is the sum of the number of digits represented by the second parameter and the number of digits represented by the third parameter, and uses the identified number as the hash value of the input data using a hash function.
[0104] (Note 10) The information processing device includes an input buffer that holds target input data, registers that hold a first parameter, a second parameter, and a third parameter, a first arithmetic circuit that converts the input data read from the input buffer into an irrational number using the first parameter read from the register, a memory that stores each digit of the fractional part of the irrational number converted by the first arithmetic circuit as an address, and stores the numerical value of each digit as a numerical value stored at the address, associating each digit with the numerical value of each digit, a second arithmetic circuit that identifies a numerical value stored between the memory address corresponding to the number of digits represented by the second parameter read from the register and the memory address corresponding to the number of digits plus the width of the number of digits represented by the third parameter read from the register, and an output circuit that outputs the numerical value identified by the second arithmetic circuit as a hash value of the input data using a hash function.
[0105] (Note 11) The computer program is instructed to perform the following steps: obtain the target input data, obtain the first parameter, the second parameter, and the third parameter, convert the input data obtained using the first parameter into an irrational number, identify the number of digits in the fractional part of the converted irrational number from the number of digits represented by the second parameter to the number of digits width represented by the third parameter, and use the identified number as the hash value of the input data using a hash function.
[0106] The matters described in each embodiment can be combined with each other. Furthermore, the independent and dependent claims described in the claims can be combined with each other in any combination, regardless of the form of reference. In addition, the claims use a form in which claims referencing two or more other claims (multi-claim form), but are not limited to this. A form in which multi-claims referencing at least one multi-claim (multi-multi-claim) may also be used.
[0107] 10 Input data acquisition unit 11 First parameter acquisition unit 12 Second parameter acquisition unit 13 Third parameter acquisition unit 14 Fourth parameter acquisition unit 20 Irrational number conversion unit 21 Rational number determination unit 22 Irrational number processing unit 30 Decimal part identification unit 31 Hash value output unit 32 Character conversion unit 51 Control unit 52 Acquisition unit 53 Memory 54 Display unit 55 Operation unit 56 Storage unit 57 Recording medium reading unit 60 Computer program 61 First parameter 62 Second parameter 63 Third parameter 64 Fourth parameter 100 Information processing device
Claims
1. An information processing method comprising: acquiring target input data; acquiring a first parameter, a second parameter, and a third parameter; converting the acquired input data into an irrational number using the first parameter; identifying a numerical value from the fractional part of the converted irrational number, ranging from the number of digits represented by the second parameter to the sum of the number of digits represented by the third parameter; and using the identified numerical value as the hash value of the input data using a hash function.
2. The information processing method according to claim 1, wherein the private blockchain is identified by the hash function by obtaining the first parameter determined in association with the private blockchain, and using the hash value obtained by the hash function using the first parameter on the private blockchain.
3. The information processing method according to claim 1, wherein the private blockchain is identified by the hash function by obtaining the second parameter determined in association with the private blockchain, and using the hash value obtained by the hash function using the second parameter on the private blockchain.
4. An information processing method according to any one of claims 1 to 3, comprising: obtaining a fourth parameter that identifies multiple significant digits from the number of digits represented by the second parameter to the number of digits obtained by adding the width of the number of digits represented by the third parameter; identifying the numerical value of each significant digit identified by the fourth parameter; and using the identified numerical values as the hash value of the input data by a hash function.
5. The first parameter is expressed as n / m, where n and m are natural numbers such that n < m and m ≥ 3. If the input data is represented by D, then D n / m The information processing method according to any one of claims 1 to 3, wherein the input data is converted to an irrational number using the following formula.
6. The first parameter is represented by m, where m is a natural number, and the input data is represented by D, then D m The information processing method according to any one of claims 1 to 3, wherein the input data is converted to an irrational number using the following formula.
7. The first parameter is represented by m, where m is a natural number, and if the input data is represented by D, then log mD The information processing method according to any one of claims 1 to 3, wherein the input data is converted to an irrational number using the following formula.
8. If the number obtained by converting the input data using the first parameter is a rational number, the information processing method according to any one of claims 1 to 3, wherein 1 is added to the input data to convert it to an irrational number.
9. An information processing device comprising a control unit, the control unit acquires target input data, acquires a first parameter, a second parameter, and a third parameter, converts the acquired input data into an irrational number using the first parameter, identifies a numerical value from the fractional part of the converted irrational number from the number of digits represented by the second parameter to the number of digits plus the width of digits represented by the third parameter, and sets the identified numerical value as a hash value of the input data using a hash function.
10. An information processing device comprising: an input buffer for holding target input data; registers for holding a first parameter, a second parameter, and a third parameter; a first arithmetic circuit for converting the input data read from the input buffer into an irrational number using the first parameter read from the register; a memory for storing the numerical values of each digit as an address, with each digit being an address and the numerical value of each digit being stored at the address; a second arithmetic circuit for identifying a numerical value stored between the memory address corresponding to the number of digits represented by the second parameter read from the register and the memory address corresponding to the number of digits plus the width of the digits represented by the third parameter read from the register; and an output circuit for outputting the numerical value identified by the second arithmetic circuit as a hash value of the input data using a hash function.
11. A computer program that causes a computer to perform the following processing: acquire target input data, acquire a first parameter, a second parameter, and a third parameter, convert the acquired input data into an irrational number using the first parameter, identify the number of digits in the fractional part of the converted irrational number from the number of digits represented by the second parameter to the number of digits width represented by the third parameter, and use the identified number as the hash value of the input data using a hash function.