WO2016103952A1 - 暗号化装置 - Google Patents

暗号化装置 Download PDF

Info

Publication number
WO2016103952A1
WO2016103952A1 PCT/JP2015/081756 JP2015081756W WO2016103952A1 WO 2016103952 A1 WO2016103952 A1 WO 2016103952A1 JP 2015081756 W JP2015081756 W JP 2015081756W WO 2016103952 A1 WO2016103952 A1 WO 2016103952A1
Authority
WO
WIPO (PCT)
Prior art keywords
conversion
information
encryption
unit
unitized
Prior art date
Application number
PCT/JP2015/081756
Other languages
English (en)
French (fr)
Inventor
小川 秀明
Original Assignee
株式会社Dnpハイパーテック
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 株式会社Dnpハイパーテック filed Critical 株式会社Dnpハイパーテック
Priority to KR1020177019281A priority Critical patent/KR20170094395A/ko
Priority to EP15872521.8A priority patent/EP3239962A4/en
Priority to US15/539,961 priority patent/US20170352296A1/en
Publication of WO2016103952A1 publication Critical patent/WO2016103952A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation

Definitions

  • the present invention relates to an encryption apparatus that encrypts information to generate encrypted information.
  • an encryption device for encrypting information In general, an encryption device for encrypting information is known.
  • the encryption device has a function for protecting against the risk of decryption by a third party. This is because the purpose of encryption is to provide confidentiality to information. However, if the decryption by a third party is easy, the confidentiality is lowered and the purpose of encryption is not achieved.
  • the method of decryption by a third party intercepts communication about encrypted information, and (1) performs a reverse conversion of a fixed function already held on the acquired encrypted information and ( 2)
  • a general method is to estimate an encryption function from a combination of information to be encrypted and encryption information, and to perform inverse transformation thereof.
  • Patent Document 1 is cited as a prior art document describing a device.
  • Patent Document 1 adds a function for inputting an encryption key to the encryption processing unit, and is input each time. The encryption function and method are changed according to the encryption key information.
  • the encryption function is different for each input information of the encryption key, even if a third party intercepts the communication and acquires the encryption information, the inverse conversion of the fixed function already held is performed.
  • the method of implementation will not be able to decrypt the code.
  • Patent Document 1 there is a risk that the encryption function is decrypted depending on the decryption level of a third party. Specifically, since Patent Document 1 does not have any characteristics regarding the unit for conversion in the encryption process, it is assumed that conversion is performed in units of 4 bytes as in the past. If it is verified by a method of inputting information known in advance of “2 to the 32nd power” and viewing the conversion result, it is possible to specify the conversion content of the encryption. The problem was that it was possible in practice.
  • the present invention provides an encryption apparatus that makes it impossible to decrypt a cipher by devising an encryption unit. Furthermore, by devising the content of the encryption function, it has a function that cannot be deciphered by the method of “(2) estimating the encryption function from the combination of the information to be encrypted and the encryption information”.
  • An encryption device is provided.
  • an encryption device an encryption method, and an encryption program having the following characteristics are provided.
  • the contents of the present invention will be enumerated as an encryption device, but the present application also includes an encryption method and an encryption program having similar characteristics.
  • it is an encryption device that encrypts information to obtain encrypted information, and is an information acquisition unit that acquires information, and unitized information in units of 16 bytes that is a unit for converting the acquired information by a conversion unit described later
  • a conversion unitizing unit that converts the unitized information into unitized information, and a conversion unit that converts the unitized information unitized by the conversion unitizing unit into a unitized information by converting the unitized information by a function that cannot be expressed by one primary expression; Is an encryption device.
  • the encryption apparatus further includes an encrypted information combining unit that combines all the converted unitized information obtained by the conversion unit into encrypted information.
  • the conversion unit is an encryption device including a composite conversion unit that executes composite conversion in which forward conversion and reverse conversion for the same conversion are combined with adjacent original conversion.
  • the conversion unit may perform the exclusive OR process on a plurality of forward conversion results that are the operation results of the previous stage that combines the forward conversion with respect to the input value, and then perform the reverse conversion and the subsequent stage.
  • the conversion unit is an encryption device that holds conversion means for performing conversion using a conversion table that is a table that defines a relationship between conversion input and conversion output that cannot be expressed by a linear expression. .
  • the conversion unit is an encryption device having a table application unit that applies a conversion table only to a part of a plurality of conversion rules to be executed by the conversion unit.
  • the conversion unit is an encryption device further including an application table control unit that dynamically controls a table to be applied to a plurality of processing stages.
  • the conversion unit is an encryption device further including an application position control unit that dynamically controls an application position of a table to be applied to an input value.
  • the reverse conversion unitization unit for unitizing into unitized encryption information in units of 16 bytes, which is a unit to be converted by the reverse conversion unit, and the unitized encryption information unitized by the reverse conversion unitization unit
  • the reverse conversion unit is converted to the reverse unitized information by performing reverse conversion with the conversion of the conversion unit, and all the reverse converted unitized information obtained by the reverse conversion unit is combined to generate the original encrypted information.
  • a source information combining unit that is source information that is information that becomes.
  • FIG. 1 Contents of encryption when an arbitrary function is used in the first embodiment
  • Functional block of encryption apparatus according to embodiment 2 The figure which shows the hardware constitutions of the encryption apparatus concerning Example 2.
  • FIG. The figure which shows the flow of a process at the time of using the encryption apparatus concerning Example 2.
  • Embodiment 3 Diagram showing the flow of conventional compound conversion
  • the figure which shows the content of the composite conversion in Example 3 The figure which shows the hardware constitutions of the encryption apparatus concerning Example 3.
  • FIG. 4 The figure which shows the flow of a process at the time of using the encryption apparatus concerning Example 3.
  • Functional block of encryption apparatus according to embodiment 4 The figure which shows the contents of many-to-one conversion on both sides of the conventional XOR operation
  • FIG. The figure which shows the flow of a process at the time of using the encryption apparatus concerning Example 4.
  • Functional block of encryption apparatus Diagram showing the contents of conversion using conversion table The figure which shows the hardware constitutions of the encryption apparatus concerning Example 5.
  • FIG. The figure which shows the flow of a process at the time of using the encryption apparatus concerning Example 5.
  • FIG. Functional block of encryption apparatus according to embodiment 6 The figure which shows the hardware constitutions of the encryption apparatus concerning Example 6.
  • FIG. The figure which shows the flow of a process at the time of using the encryption apparatus concerning Example 6.
  • Functional block of encryption apparatus according to embodiment 7 The figure which shows the hardware constitutions of the encryption apparatus concerning Example 7.
  • Functional block of encryption apparatus according to embodiment 8 The figure which shows the hardware constitutions of the encryption apparatus concerning Example 8.
  • FIG. 9 The figure which shows the flow of a process at the time of using the encryption apparatus concerning Example 8.
  • Example 1 mainly relates to claims 1, 10, and 19, Example 2 mainly relates to claims 2, 11, and 20, Example 3 mainly relates to claims 3, 12, and 21, and Example 4 mainly applies.
  • the fifth embodiment is mainly related to claims 5, 14, and 23, the sixth embodiment is mainly related to claims 6, 15, and 24, and the seventh embodiment is mainly related to claims 7, With regard to 16, 25, Example 8 mainly relates to claims 8, 17, 26, and Example 9 mainly relates to claims 9, 18, 27.
  • this invention is not limited to these Examples at all, and can be implemented in various modes without departing from the gist thereof.
  • the encryption device is an encryption device including an information acquisition unit, a conversion unitization unit, and a conversion unit.
  • the encryption apparatus according to the present embodiment is the most basic configuration of the present invention.
  • the function of the conversion unitization unit is characteristic.
  • the encryption apparatus according to the present embodiment will be described below by dividing it into a functional configuration, a hardware configuration, and a processing method.
  • FIG. 1 is a functional block diagram of the encryption apparatus according to the first embodiment.
  • the encryption device (0101) includes an information acquisition unit (0102), a conversion unitization unit (0103), and a conversion unit (0104). Each function will be described below.
  • the “information acquisition unit” is a function for acquiring information.
  • the information here is information to be encrypted.
  • As an acquisition method a method of directly inputting using a keyboard or the like, a method of transferring existing information, or other methods may be used.
  • the text information stored in the HDD of the server or external device is transferred to the encryption device to acquire the information.
  • the “conversion unitization unit” is a function for unitizing acquired information into unitization information in units of 16 bytes, which is a unit for conversion by a conversion unit described later.
  • the 16 bytes As described above, in encryption, it was usual to divide the 16 bytes into four small units of 4 bytes (32 bits) and perform encryption conversion, but this 16 bytes (128 bits).
  • the number of variables to be input is "2 to the 128th power". Therefore, in order to specify the encryption conversion content, it is necessary to input a known value of the astronomical number “2 to the power of 128” and verify the conversion result. It becomes virtually impossible to specify the contents.
  • the realization method is realized by arithmetic processing by the CPU in the encryption apparatus.
  • the “conversion unit” is a function of converting the unitized information unitized by the conversion unitizing unit into a converted unitized information by converting it with a function that cannot be expressed by one primary expression.
  • “A function that cannot be expressed by a single linear expression” refers to irregular conversion by a “conversion table” and operation between constituent bytes on byte data constituting unitization information, which will be described later in a fifth embodiment. Is a typical embodiment, but is not limited thereto.
  • FIG. 2 is a diagram illustrating conversion when the function f (x) exemplified as the encryption function is applied once.
  • a nonlinear function such as the function described in FIG. 2 may be used as an encryption function.
  • the method of realizing the conversion unit is realized by arithmetic processing by the CPU in the encryption apparatus.
  • FIG. 3 is a diagram illustrating a hardware configuration of the encryption device according to the present embodiment. Hereinafter, description will be made with reference to this figure.
  • the encryption apparatus includes a “CPU (central processing unit)” (0301) for performing various arithmetic processes and a “main memory” (0302).
  • “HDD” (0303) that holds acquired information and the like
  • “I / O (input / output)” (0304) that transmits / receives information to / from an external device
  • “network interface” that transmits / receives information to / from a server (0308). Then, they are connected to each other through a data communication path such as a “system bus” (0305) to perform transmission / reception and processing of information.
  • server and “network interface” are not indispensable components in the present invention.
  • the “main memory” provides a work area that is also a work area of the program at the same time as reading a program for performing various processes for the CPU to execute.
  • a plurality of addresses are assigned to each of the “main memory” and “HDD”, and programs executed by the “CPU” exchange data with each other by specifying and accessing the addresses. Processing can be performed.
  • the programs stored in the “main memory” are an information acquisition program, a conversion unitization program, and a conversion program.
  • the “I / O” of the encryption device acquires information transmitted from, for example, the “UI (user interface)” (0307) of the external device (0306) by the information acquisition program stored in the “main memory”. To do.
  • information is acquired from the “server” (0309) through the “network interface”.
  • the acquired information is stored in “HDD”.
  • the acquired information is unitized into unitized information in units of 16 bytes, which is a unit to be converted, by arithmetic processing of “CPU” using a conversion unitization program stored in “main memory”. .
  • This unitized unitization information is stored in the “main memory”.
  • this unitization information is converted into a unitized information that has been converted by a function that cannot be expressed by one primary expression by an arithmetic process of “CPU” using a conversion program stored in “main memory”. Become. This converted unitized information is stored in the “main memory”.
  • FIG. 4 is a diagram illustrating the flow of processing when the encryption apparatus according to the present embodiment is used.
  • the processing flow of the encryption apparatus according to the present embodiment is divided into an information acquisition step, a conversion unitization step, and a conversion step.
  • an information acquisition step a conversion unitization step
  • a conversion step a conversion step
  • the “information acquisition step” (S0401) is a stage of acquiring information.
  • the information here is information to be encrypted.
  • As an acquisition method a method of directly inputting using a keyboard or the like, a method of transferring existing information, or other methods may be used.
  • the “conversion unitization step” is a step of unitizing the acquired information into unitization information in units of 16 bytes, which is a unit for conversion in the conversion step described later.
  • the “conversion unitization step” is a step of unitizing the acquired information into unitization information in units of 16 bytes, which is a unit for conversion in the conversion step described later.
  • the number of variables to be input is "2 to the 128th power”. Therefore, in order to specify the encryption conversion content, it is necessary to input a known value of the astronomical number “2 to the power of 128” and verify the conversion result. It becomes virtually impossible to specify the contents.
  • the realization method is realized by arithmetic processing by the CPU in the encryption apparatus.
  • the “conversion step” is a step of converting the unitized information unitized in the unitizing step for conversion into a converted unitized information by converting it with a function that cannot be expressed by one primary expression.
  • “A function that cannot be expressed by a single linear expression” refers to irregular conversion by a “conversion table” and operation between constituent bytes on byte data constituting unitization information, which will be described later in a fifth embodiment. Is a typical embodiment, but is not limited thereto.
  • the acquired information may all be converted into units after being unitized in units of 16 bytes, or converted in the order in which units are converted into units of 16 bytes. You may do it.
  • FIG. 5 is a diagram showing a conversion mode in the latter case. Of the acquired information, some of the information has been converted, but some has not yet been converted. For this reason, a process for converting the unfinished portion is also required.
  • the encryption apparatus according to the present embodiment is an encryption apparatus that further includes an encrypted information combining unit in addition to the features of the first embodiment.
  • FIG. 6 is a diagram illustrating a functional configuration of the encryption device according to the present embodiment.
  • the encryption apparatus (0601) according to the present embodiment includes an information acquisition unit (0602), a conversion unitization unit (0603), and a conversion unit (0604), as in the first embodiment. These functional configurations are the same as those in the first embodiment.
  • the function of the encrypted information combining unit (0605) added in the present embodiment will be described.
  • the “encrypted information combining unit” is a function of converting all converted unitized information obtained by the converting unit into encrypted information.
  • the realization method is such that the combination is executed by arithmetic processing of “CPU” described later.
  • the converted unitized information is combined into encrypted information, so that it can be sent and received as one piece of information.
  • FIG. 7 is a schematic diagram illustrating an example of the configuration of the encryption device when the functional components are realized as hardware.
  • the encryption device includes “CPU (central processing unit)” (0701), “main memory” (0702), “HDD” (0703), “I / O (input / output)” (0704), “system bus” “(0705)” and “Network Interface” (0708) for transmitting / receiving information to / from the server (0709), and "External Device” (0706) has “UI” (0707).
  • programs stored in the “main memory” are an information acquisition program, a conversion unitization program, a conversion program, and an encrypted information combination program.
  • converted unitized information is generated by the encryption apparatus.
  • Such converted unitized information is combined with the operation processing of the “CPU” using the encrypted information combining program stored in the “main memory” to be encrypted information.
  • This encryption information is stored in “HDD”.
  • the converted unitized information is combined into encrypted information, so that it can be sent and received as one piece of information.
  • FIG. 8 is a flowchart illustrating an example of a processing flow in the encryption apparatus according to the present embodiment. Since there are two types of processing flow (a) and (b) in this embodiment, they will be described in order.
  • (a) an information acquisition step (S0801), a conversion unitization step (S0802), a conversion step (S0803), an encrypted information combination step (S0805), and a determination step (S0806) of whether or not all are completed.
  • (b) an information acquisition step (S0801), a conversion unitization step (S0802), a conversion step (S0803), a determination step of whether or not all conversion is completed (S0804), and an encrypted information combination step (S0805).
  • S0805 an encrypted information combination step
  • the “encrypted information combining step” is a stage in which the converted unitized information obtained in the converting step is combined into encrypted information. In (a), every time converted unitized information is received, it is sequentially combined as encrypted information, and this is repeated until all converted unitized information is received. In (b), all the combinations are executed when all the conversions have already been completed.
  • the converted unitized information is combined into encrypted information, so that it can be sent and received as one piece of information.
  • the encryption apparatus is an encryption apparatus in which the conversion unit further includes composite conversion means in addition to the features of the first or second embodiment.
  • FIG. 9 is a diagram illustrating a functional configuration of the encryption device according to the present embodiment.
  • the encryption apparatus (0901) according to the present embodiment includes an information acquisition unit (0902), a conversion unitization unit (0903), and a conversion unit (0904), as in the first embodiment. These functional configurations are the same as those in the first embodiment.
  • the function of the composite conversion means (0905) added in the present embodiment will be described.
  • the conversion unit of the encryption apparatus includes a composite conversion unit.
  • the “composite conversion means” is a function for executing a composite conversion in which forward conversion and reverse conversion for the same conversion are combined with adjacent original conversion.
  • FIG. 10 is a diagram showing the flow of conventional composite conversion.
  • FIG. 11 is a diagram showing the contents of the composite conversion in this embodiment.
  • a description will be given on the assumption that the conversion unit performs conversion by multiplication processing twice.
  • FIG. 10 shows a flow when the acquired information x is converted by the first function A and the second function B.
  • a case where A is “multiply an input value” and B is “double an input value” is an example.
  • the function of A is applied to “9”, and the function of B is applied to “18”.
  • the function A is applied to “3”, and the function B is applied to “6”.
  • the function of A is applied to “6”, and the function of B is applied to “12”.
  • FIG. 11 shows the contents of the composite conversion in this embodiment.
  • A is “triple the input value” and B is “double the input value”.
  • the function used for the conversion is “A ′” obtained by multiplying A by an arbitrary function, and the inverse of the arbitrary function obtained by multiplying A by B. “B ′” multiplied by the function.
  • a ′ becomes “multiply the input value by 6”
  • B ′ becomes “multiply the input value by 1”.
  • the acquired information x is “3”
  • the function of A ′ is applied to “18”
  • the function of B ′ is applied to “18”.
  • the present invention is effective not for a decryption method for estimating an encryption function from a combination of information to be encrypted and encrypted information but for a decryption method for directly specifying the contents of the function.
  • FIG. 12 is a schematic diagram showing an example of the configuration of the encryption device when the above functional components are realized as hardware.
  • the encryption device includes “CPU (central processing unit)” (1201), “main memory” (1202), “HDD” (1203), “I / O (input / output)” (1204), “system bus” ”(1205) and a server (1209) and a“ network interface ”(1208) for transmitting and receiving information, and an“ external device ”(1206) has a“ UI ”(1207).
  • the programs stored in the “main memory” are an information acquisition program, a conversion unitization program, and a conversion program.
  • the conversion program has a composite conversion means.
  • Such an encryption information generation method further complicates the aspect of encryption and makes decryption by a third party more difficult.
  • the present invention is effective not for a decryption method for estimating an encryption function from a combination of information to be encrypted and encrypted information but for a decryption method for directly specifying the contents of the function.
  • FIG. 13 is a flowchart illustrating an example of the flow of processing in the encryption apparatus according to the present embodiment. It has an information acquisition step (S1301), a conversion unitization step (S1302), a conversion step (S1303), a composite conversion substep (S1304), and a determination step (S1305) as to whether or not it is complete.
  • S1301 information acquisition step
  • S1302 conversion unitization step
  • S1303 conversion step
  • S1304 composite conversion substep
  • S1305 determination step
  • the “composite conversion sub-step” is a stage of executing a composite conversion in which forward conversion and reverse conversion for the same conversion are combined with the adjacent original conversion.
  • the contents of the composite conversion are as described in the functional configuration of this embodiment. These are realized by arithmetic processing by the CPU.
  • Such an encryption information generation method further complicates the aspect of encryption and makes decryption by a third party more difficult.
  • the present invention is effective not for a decryption method for estimating an encryption function from a combination of information to be encrypted and encrypted information but for a decryption method for directly specifying the contents of the function.
  • the encryption device is an encryption device in which the conversion unit further includes exclusive OR processing means.
  • FIG. 14 is a diagram illustrating a functional configuration of the encryption device according to the present embodiment.
  • the encryption device (1401) according to the present embodiment includes an information acquisition unit (1402), a conversion unitization unit (1403), a conversion unit (1404), and a composite conversion unit (1405). Have. These functional configurations are the same as those in the third embodiment.
  • the function of the exclusive OR processing means (1406) added in the present embodiment will be described.
  • the conversion unit has exclusive OR processing means.
  • the “exclusive OR processing means” is based on a subsequent stage in which the inverse transformation is combined after performing an exclusive OR process on a plurality of forward conversion results that are calculation results by the preceding stage that combines the forward conversion with respect to an input value. This is a function for executing a conversion process for obtaining the same number of conversion processes as the input value.
  • “Exclusive OR processing” means addition / subtraction processing in a remainder field modulo 2 for each bit of a numerical value expressed in binary.
  • FIG. 15 is a diagram illustrating the contents of many-to-one conversion with a normal XOR operation interposed therebetween.
  • FIG. 16 is a diagram showing the contents of the many-to-one conversion with the XOR operation in the present embodiment.
  • FIG. 15 shows the contents of many-to-one conversion with a normal XOR operation interposed therebetween.
  • P is “double the input value”
  • Q is “multiple the input value”
  • R is “multiply the input value”.
  • x 1 is “4” and x 2 is “3” in the acquired information
  • X 1 becomes “8” by applying the P function
  • X 2 applies the Q function.
  • the value of “44” is obtained by applying the R function to the total “11”.
  • X 1 is “1” and x 2 is “2”
  • X 1 is “2” by applying the function of P
  • X 2 is the function of Q. Apply to "2”.
  • the value of “16” is obtained by applying the R function to “4” which is the sum.
  • FIG. 16 shows the contents of the many-to-one conversion with the XOR operation in the present embodiment.
  • P doubles the input value” and Q “input”
  • the function used for the conversion is obtained by multiplying P and Q by any common function, even in the case where R is “multiply the input value by four”, and R is “multiply the input value by four”.
  • P ′ and “Q ′”, and “R ′” obtained by multiplying R by an inverse function of any common function multiplied by P and Q. Based on these assumptions, for example, when the “arbitrary function” is “2”, P ′ becomes “multiply the input value by four”, Q ′ becomes “double the input value”, R ′ becomes “double the input value”.
  • Such an encryption information generation method further complicates the aspect of encryption and makes decryption by a third party more difficult.
  • the present invention is effective not for a decryption method for estimating an encryption function from a combination of information to be encrypted and encrypted information but for a decryption method for directly specifying the contents of the function.
  • FIG. 17 is a schematic diagram showing an example of the configuration of the encryption device when the above functional components are realized as hardware.
  • the encryption device includes “CPU (central processing unit)” (1701), “main memory” (1702), “HDD” (1703), “I / O (input / output)” (1704), “system bus” ”(1705) and a server (1709) and a“ network interface ”(1708) for transmitting and receiving information, and an“ external device ”(1706) has a“ UI ”(1707).
  • the programs stored in the “main memory” are an information acquisition program, a conversion unitization program, and a conversion program.
  • the conversion program has a composite conversion unit and an exclusive OR processing unit.
  • the forward conversion result which is the calculation result by the previous stage that combines the forward conversion with respect to the input value
  • the exclusive OR process is performed on a plurality of the above, a conversion process by a subsequent stage that combines the inverse conversion is performed so as to obtain the same number as the input value.
  • the converted unitized information obtained by this processing is stored in the “main memory”.
  • Such an encryption information generation method further complicates the aspect of encryption and makes decryption by a third party more difficult.
  • the present invention is effective not for a decryption method for estimating an encryption function from a combination of information to be encrypted and encrypted information but for a decryption method for directly specifying the contents of the function.
  • FIG. 18 is a flowchart illustrating an example of the flow of processing in the encryption apparatus according to the present embodiment.
  • Information acquisition step (S1801), conversion unitization step (S1802), conversion step (S1803), composite conversion sub-step (S1804), exclusive OR processing sub-step (S1805), completion determination step (S1806) ) have.
  • “Exclusive OR processing sub-step” is a subsequent stage in which the inverse transformation is combined after performing an exclusive OR process on a plurality of forward conversion results that are the operation results of the previous stage that combines the forward conversion on the input value. Is a step of executing a conversion process for obtaining the same number of conversion processes as the input value.
  • “Exclusive OR processing” means addition / subtraction processing in a remainder field modulo 2 for each bit of a numerical value expressed in binary. The contents are as described in the functional configuration of the present embodiment.
  • Such an encryption information generation method further complicates the aspect of encryption and makes decryption by a third party more difficult.
  • the present invention is effective not for a decryption method for estimating an encryption function from a combination of information to be encrypted and encrypted information but for a decryption method for directly specifying the contents of the function.
  • the encryption device is an encryption device in which the conversion unit further includes conversion means using a conversion table.
  • FIG. 19 is a diagram illustrating a functional configuration of the encryption device according to the present embodiment.
  • the encryption device (1901) according to the present embodiment includes an information acquisition unit (1902), a conversion unitization unit (1903), and a conversion unit (1904). These functional configurations are the same as those in the first embodiment. Below, the function of the conversion means (1905) using the conversion table added in the present embodiment will be described.
  • the conversion unit has conversion means.
  • the “conversion unit” is a function that performs conversion using a conversion table that is a table that defines a relationship between a conversion input and a conversion output that cannot be expressed by a linear expression. By using the conversion table, conversion without regularity can be realized. This is realized by a process of reading from the conversion table in the CPU.
  • FIG. 20 is a diagram showing the contents of conversion using the conversion table.
  • the encryption apparatus according to the present invention performs conversion in units of 16 bytes, and here, for convenience of description of the conversion mode, an appropriately selected 16-byte value will be described as an example. These numbers are expressed in decimal numbers.
  • Numbers circled from No. 1 to No. 16 are byte position numbers for identifying each byte data constituting the unitization information.
  • information “0 to 9” exists as information before conversion as byte data of unitization information.
  • the conversion table there are conversion tables G1 to G16 corresponding to the byte positions. ⁇ ⁇ Unitization information is converted by combining conversion based on “correspondence between conversion input value and conversion output value” defined in this conversion table, and operations defined by F1 to F16 corresponding to byte positions.
  • the tables G1 to G16 can be determined independently, in this example, the same table as the conversion table G1 is used for convenience.
  • the conversion processing from byte positions 1 to 4 will be described in order.
  • the conversion result by the conversion table at byte position 16 is also referred to.
  • the function conversion table G1 is applied to the information “1” to convert the information to “8”.
  • the information “0” is converted into information “9” by applying the conversion table G2.
  • the information “5” is converted into information “4” by applying the conversion table G3.
  • the information “9” is converted to information “0” by applying the conversion table G4.
  • the information “1” is converted to information “8” by applying the conversion table G16.
  • the arithmetic processing is performed by combining the conversion results after applying the previous conversion table.
  • “0” is calculated by XOR calculation of the conversion information “8” based on the conversion table G16 and the conversion information “8” based on the conversion table G1.
  • “1” is calculated by XOR calculation of the conversion information “8” based on the conversion table G1 and the conversion information “9” based on the conversion table G2.
  • “13” is calculated by the XOR calculation of the conversion information “9” based on the conversion table G2 and the conversion information “4” based on the conversion table G3.
  • “4” is calculated by XOR calculation of the conversion information “4” based on the conversion table G3 and the conversion information “0” based on the conversion table G4.
  • FIG. 20 illustrates an example in which one type of relatively simple conversion table and arithmetic processing Gi, Fi (1 ⁇ i ⁇ 16) are applied only once, but the contents of the present invention are limited to this. Instead, use multiple conversion tables that are more irregular, use calculation processing that has a higher dependency between the constituent bytes, and apply the same conversion processing repeatedly to create a more complicated configuration. Also good.
  • FIG. 21 is a schematic diagram illustrating an example of a configuration of the encryption device when the functional components described above are realized as hardware.
  • the encryption device includes “CPU (central processing unit)” (2101), “main memory” (2102), “HDD” (2103), “I / O (input / output)” (2104), “system bus” (2105) and a server (2109) and a “network interface” (2108) for transmitting and receiving information, and an “external device” (2106) includes a “UI” (2107).
  • the programs stored in the “main memory” are an information acquisition program, a conversion unitization program, and a conversion program.
  • the conversion program has conversion means.
  • a conversion table which is a table that defines the relationship between conversion input and conversion output that cannot be expressed by a primary expression when 16-byte unitized information unitized for conversion by the encryption device is encrypted by processing by the “CPU”
  • the conversion unitized information is processed by performing conversion using.
  • the converted unitized information obtained by this processing is stored in the “main memory”.
  • FIG. 22 is a flowchart illustrating an example of the flow of processing in the encryption apparatus according to the present embodiment. It has an information acquisition step (S2201), a conversion unitization step (S2202), a conversion step (S2203), a conversion substep (S2204), and a determination step (S2205) as to whether or not it is complete.
  • S2201 information acquisition step
  • S2202 conversion unitization step
  • S2203 conversion step
  • S2204 conversion substep
  • S2205 determination step
  • the conversion step has a conversion substep.
  • the “conversion substep” is a stage in which conversion is performed using a conversion table that is a table that defines the relationship between conversion input and conversion output that cannot be expressed by a linear expression. By using the conversion table, conversion without regularity can be realized. This is realized by a process of reading from the conversion table in the CPU.
  • the encryption apparatus according to the present embodiment is an encryption apparatus in which the conversion unit further includes “table application unit” in addition to the features of the fifth embodiment.
  • FIG. 23 is a diagram illustrating a functional configuration of the encryption device according to the present embodiment.
  • the encryption apparatus (2301) according to the present embodiment includes an information acquisition unit (2302), a conversion unitization unit (2303), and a conversion unit (2304), as in the fifth embodiment. It has conversion means (2305) using a table. These functional configurations are the same as those in the fifth embodiment.
  • the function of the “table application unit” (2306) added in the present embodiment will be described.
  • the conversion unit has table application means.
  • the “table application unit” is a function that applies the conversion table only to a part of a plurality of conversion theories to be executed by the conversion unit. By making the processing by the conversion table a part of the whole, the conversion table to be prepared can be made small, and irregular conversion can be used for any of the conversion processing, so that decryption by a third party can be performed It becomes difficult. This is realized by the CPU.
  • FIG. 24 is a schematic diagram illustrating an example of a configuration of the encryption device when the functional components described above are realized as hardware.
  • the encryption device includes “CPU (central processing unit)” (2401), “main memory” (2402), “HDD” (2403), “I / O (input / output)” (2404), “system bus” “(2405)” and “Network Interface” (2408) for transmitting / receiving information to / from the server (2409), and "External Device” (2406) has "UI” (2407).
  • the programs stored in the “main memory” are an information acquisition program, a conversion unitization program, and a conversion program.
  • the conversion program includes conversion means using a conversion table and “table application means”.
  • the converted unitization information is obtained by applying the conversion table only to a part of the plurality of conversion processes to be executed. Generate. This converted unitized information is stored in the “main memory”.
  • FIG. 25 is a flowchart illustrating an example of the flow of processing in the encryption apparatus according to the present embodiment.
  • Information acquisition step (S2501), conversion unitization step (S2502), conversion step (S2503), conversion substep (S2504) using a conversion table, “table application substep” (S2505), determination of completion Step (S2506) is included.
  • table application substep S2505
  • determination of completion Step S2506
  • the “table application substep” is a stage in which the conversion table is applied only to a part of a plurality of conversion processes to be executed in the conversion step.
  • the encryption apparatus is an encryption apparatus in which the conversion unit further includes “application table control means” in addition to the features of the fifth or sixth embodiment.
  • FIG. 26 is a diagram illustrating a functional configuration of the encryption device according to the present embodiment.
  • the encryption device (2601) according to the present embodiment includes an information acquisition unit (2602), a conversion unitization unit (2603), and a conversion unit (2604), as in the fifth embodiment. It has a conversion means (2605) using a conversion table. These functional configurations are the same as those in the fifth embodiment.
  • the function of “application table control means” (2606) added in this embodiment will be described below.
  • the conversion unit has application table control means.
  • “Applied table control means” is a function for dynamically controlling a table to be applied to a plurality of processing stages.
  • the encryption function differs each time, so that the complexity of the encryption result can be ensured even with a small number of tables, and the decryption by a third party can be made more difficult.
  • FIG. 27 is a schematic diagram illustrating an example of the configuration of the encryption device when the above functional components are realized as hardware.
  • the encryption device includes “CPU (central processing unit)” (2701), “main memory” (2702), “HDD” (2703), “I / O (input / output)” (2704), “system bus” ”(2705) and a server (2709) and a“ network interface ”(2708) for transmitting and receiving information, and an“ external device ”(2706) has a“ UI ”(2707).
  • the programs stored in the “main memory” are an information acquisition program, a conversion unitization program, and a conversion program.
  • the conversion program includes conversion means using the conversion table and “application table control means”.
  • a conversion table for a plurality of processing stages exists, and a table to be applied to a plurality of processing stages is dynamically controlled by arithmetic processing of the “CPU”, and a converted unit using the table to be applied Information. This converted unitized information is stored in the “main memory”.
  • the encryption function differs each time, so that the complexity of the encryption result can be ensured even with a small number of tables, and the decryption by a third party can be made more difficult.
  • FIG. 28 is a flowchart illustrating an example of the flow of processing in the encryption apparatus according to the present embodiment. It has an information acquisition step (S2801), a conversion unitization step (S2802), and a conversion step (S2803).
  • the conversion step includes a conversion substep (S2804) using a conversion table and an “application table control substep” (S2805). ), And a determination step (S2806) of whether or not the process is complete.
  • S2801 information acquisition step
  • S2802 conversion unitization step
  • S2803 conversion step
  • the conversion step includes a conversion substep (S2804) using a conversion table and an “application table control substep” (S2805). ), And a determination step (S2806) of whether or not the process is complete.
  • the “application table control substep” is a stage in which a table to be applied to a plurality of processing stages is dynamically controlled.
  • the encryption function differs each time, so that the complexity of the encryption result can be ensured even with a small number of tables, and the decryption by a third party can be made more difficult.
  • the encryption apparatus is an encryption apparatus in which the conversion unit further includes “applied position control means” in addition to the features of the fifth to seventh embodiments.
  • FIG. 29 is a diagram illustrating a functional configuration of the encryption device according to the present embodiment.
  • the encryption device (2901) according to the present embodiment includes an information acquisition unit (2902), a conversion unitization unit (2903), and a conversion unit (2904). Conversion means (2905) using a conversion table is provided. These functional configurations are the same as those in the fifth embodiment. In the following, the function of the “applied position control means” (2906) added in the present embodiment will be described.
  • the conversion unit has application position control means.
  • the “application position control means” is a function that dynamically controls the application position of the table to be applied to the input value.
  • the input value here generally means key information.
  • FIG. 30 is a schematic diagram illustrating an example of the configuration of the encryption device when the above functional components are realized as hardware.
  • the encryption device includes “CPU (central processing unit)” (3001), “main memory” (3002), “HDD” (3003), “I / O (input / output)” (3004), “system bus” ”(3005) and a“ network interface ”(3008) for transmitting / receiving information to / from the server (3009), and“ external device ”(3006) has a“ UI ”(3007).
  • the programs stored in the “main memory” are an information acquisition program, a conversion unitization program, and a conversion program.
  • the conversion program includes conversion means using the conversion table and “application position control means”.
  • Conversion tables of multiple processing stages exist, the application position of the table to be applied to the input value is dynamically controlled by the arithmetic processing of the “CPU”, and the conversion is performed using the table that should be applied Unitized information. This converted unitized information is stored in the “main memory”.
  • FIG. 31 is a flowchart illustrating an example of the flow of processing in the encryption apparatus according to the present embodiment.
  • the conversion step includes a conversion substep (S3104) and an applied position control substep (S3105) using a conversion table, It has a judgment step (S3106) of whether or not it is completed.
  • the “application position control substep” is a stage in which the application position of the table to be applied to the input value is dynamically controlled.
  • the input value here generally means key information.
  • An apparatus is a decryption apparatus that decrypts encrypted information encrypted by the encryption apparatus according to any one of the first to eighth embodiments and uses the decrypted information as an information.
  • This is a decoding device that includes a unitization unit, an inverse conversion unit, and an original information combining unit.
  • decoding apparatus according to the present embodiment will be described separately for its functional configuration, hardware configuration, and processing method.
  • FIG. 32 is a functional block diagram of the decoding apparatus according to the ninth embodiment.
  • the decryption device (3201) includes an encrypted information acquisition unit (3202), an inverse conversion unitization unit (3203), an inverse conversion unit (3204), and an original information combination unit (3205). Each function will be described below.
  • the “encrypted information acquisition unit” is a function for acquiring encrypted information.
  • the “inverse conversion unitization unit” is a function of unitizing the acquired encrypted information into unitized encryption information in units of 16 bytes, which is a unit for conversion by an inverse conversion unit described later.
  • the “inverse conversion unit” is a function of converting the unitized encryption information unitized by the inverse conversion unitization unit into the inversely converted unitized information by performing reverse conversion with the conversion of the conversion unit.
  • the “original information combining unit” is a function of converting all inversely converted unitized information obtained by the inverse converting unit into original information that is information that is the source of the encrypted information.
  • the encrypted information encrypted by the encryption device described in the first to eighth embodiments can be decrypted into information.
  • FIG. 33 is a schematic diagram illustrating an example of a configuration of a decoding device when the above functional components are realized as hardware.
  • the decryption device includes “CPU (central processing unit)” (3301), “main memory” (3302), “HDD” (3303), “I / O (input / output)” (3304), “system bus” (3305) and a server (3309) and a “network interface” (3308) for transmitting and receiving information, and an “external device” (3306) has a “UI” (3307).
  • programs stored in the “main memory” are an encrypted information acquisition program, an inverse conversion unitization program, an inverse conversion program, and an original information combination program.
  • server and “network interface” are not indispensable components in the present invention. Based on the above, each hardware component in each process in this apparatus will be described using these drawings.
  • the “I / O” of the decryption apparatus acquires the encryption information transmitted from the “UI (user interface)” of the external device.
  • the acquired encryption information is stored in “HDD”.
  • the acquired encryption information is unitized into unitized encryption information in units of 16 bytes, which is a unit to be converted by the inverse conversion unit, by a calculation process of “CPU”.
  • This unitized unitized encryption information is stored in the “main memory”.
  • the unitized encryption information is inversely converted by a function that cannot be expressed by one linear expression by the arithmetic processing of “CPU”, thereby obtaining the inversely converted unitized information.
  • This inversely converted unitization information is stored in the “main memory”.
  • the generated reverse-transformed unitized information is combined by arithmetic processing of “CPU” to obtain original information that is information that is the source of the encrypted information.
  • This original information is stored in “HDD”.
  • the encrypted information encrypted by the encryption device described in the first to eighth embodiments can be decrypted into information.
  • FIG. 34 is a flowchart illustrating an example of the flow of processing in the decoding device according to the present embodiment. It includes an encryption information acquisition step (S3401), an inverse conversion unitization step (S3402), an inverse conversion step (S3403), an original information combination step (S3404), and a completion determination step (S3405). The flow of each process in this apparatus will be described using this figure.
  • the “encrypted information acquisition step” is a stage of acquiring encrypted information.
  • the “inverse conversion unitization step” is a stage in which the obtained encrypted information is unitized into unitized encryption information of 16 bytes, which is a unit for conversion in the reverse conversion step.
  • the “inverse conversion step” is a stage in which the unitized encrypted information unitized in the inverse conversion unitization step is converted into the inversely converted unitized information by performing reverse conversion with the conversion in the conversion step.
  • the “original information combining step” is a stage in which all pieces of inversely converted unitized information obtained in the reverse conversion step are combined into original information that is information that is the basis of the encrypted information.
  • the encrypted information encrypted by the encryption device described in the first to eighth embodiments can be decrypted into information.
  • CPU Central Processing Unit: 0301, 0701, 1201, 1701, 2101, 2401, 2701, 3001, 3301
  • Main memory 0302, 0702, 1202, 1702, 2102, 2402, 2702, 3002, 3302 HDD: 0303, 0703, 1203, 1703, 2103, 2403, 2703, 3003, 3303 I / O (input / output): 0304, 0704, 1204, 1704, 2104, 2404, 2704, 3004, 3304
  • System bus 0305, 0705, 1205, 1705, 2105, 2405, 2705, 3005, 3305
  • External devices 0306, 0706, 1206, 1706, 2106, 2406, 2706, 3006, 3306
  • UI User Interface

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

【課題】 従来技術では、4バイト単位での変換を前提とするものであるところ、存在する情報の種類が「2の32乗」通りであることになり、「2の32乗」の予め分かっている情報を入力して変換結果を見るという方法により検証すれば、暗号化の変換内容を特定することが現実的に可能であるという問題を抱えるものであった。そこで、本発明は、暗号化単位を工夫することによって、暗号の解読を事実上不可能にする暗号化装置を提供する。 【解決手段】 情報を暗号化して暗号化情報とする暗号化装置であって、情報を取得する情報取得部と、取得した情報を後述する変換部にて変換する単位である16バイト単位の単位化情報に単位化する変換用単位化部と、変換用単位化部にて単位化された単位化情報を一つの一次式では表現できない関数にて変換することで変換済単位化情報とする変換部と、からなる暗号化装置を開発した。

Description

暗号化装置
本発明は、情報を暗号化して暗号化情報を生成する暗号化装置に関するものである。
一般に、情報を暗号化するための暗号化装置が知られている。
暗号化装置は、第三者による解読の危険から守るための機能を備えていることが重要である。なぜなら、暗号化の目的は、情報に秘匿性をもたせる点にあるところ、第三者による解読が容易であれば、秘匿性が低くなり、暗号化の目的が全うされないからである。
第三者による暗号解読の方法は、暗号化情報についての通信を傍受した上、(1)取得した暗号化情報に対して既に保有している固定の関数の逆変換を実施するという方法及び(2)暗号化対象の情報と暗号化情報の組み合わせから暗号化の関数を推定し、その逆変換を実施するという方法が一般的である。
このような暗号化装置において、暗号の解読を困難にするための工夫が存在する。例えば、工夫が記載された先行技術文献として、特許文献1が挙げられる。
特表2010-510539
特許文献1は、従来から1つの実装に対して適用される関数が固定されていたという問題点を解決するため、暗号化処理部に対する暗号化鍵を入力する機能を追加し、その都度入力される暗号化鍵の情報に応じて、暗号化の関数や方式を変更するという方法である。
この方法によれば、暗号化関数が暗号化鍵の入力情報ごとに異なるので、第三者が通信を傍受して暗号化情報を取得しても既に保有している固定の関数の逆変換を実施するという方法では暗号の解読ができないことになる。
しかし、特許文献1では、第三者の暗号解読レベルによっては、暗号化の関数が解読されてしまう危険があった。具体的には、特許文献1は、暗号化の処理において変換を行う単位について何らの特徴がないため、従来どおり4バイト単位での変換を前提とするものであるところ、存在する情報の種類が「2の32乗」通りであることになり、「2の32乗」の予め分かっている情報を入力して変換結果を見るという方法により検証すれば、暗号化の変換内容を特定することが現実的に可能であるという問題を抱えるものであった。
そこで、本発明は、暗号化単位を工夫することによって、暗号の解読を事実上不可能にする暗号化装置を提供する。さらには、暗号化の関数の内容を工夫することによって、「(2)暗号化対象の情報と暗号化情報の組み合わせから暗号化の関数を推定」するという方法では解読できないような機能を備えた暗号化装置を提供する。
具体的には、以下の特徴を有する暗号化装置、暗号化方法及び暗号化プログラムを提供する。以下では、本発明の内容を暗号化装置として列挙するが、本出願は、同様の特徴を有する暗号化方式及び暗号化プログラムをも対象に含めるものである。
まず、情報を暗号化して暗号化情報とする暗号化装置であって、情報を取得する情報取得部と、取得した情報を後述する変換部にて変換する単位である16バイト単位の単位化情報に単位化する変換用単位化部と、変換用単位化部にて単位化された単位化情報を一つの一次式では表現できない関数にて変換することで変換済単位化情報とする変換部と、からなる暗号化装置である。
また、前記特徴に加えて、変換部にて得られた全ての変換済単位化情報を結合することで暗号化情報とする暗号化情報結合部をさらに有する暗号化装置である。
また、前記特徴に加えて、変換部は、同一の変換についての順変換と逆変換を隣接する原変換に対して複合させた複合変換を実行する複合変換手段を含む暗号化装置である。
また、前記特徴に加えて、変換部は、入力値に対して前記順変換を複合した前段による演算結果である前方変換結果の複数について排他的論理和処理をした後に前記逆変換を複合した後段による変換処理を前記入力値と同数得る変換処理を実行する排他的論理和処理手段を有する暗号化装置である。
また、前記特徴に加えて、変換部は、一次式では表現できない変換入力と変換出力との関係を定めるテーブルである変換テーブルを用いて変換を行うための変換手段を保持する暗号化装置である。
また、前記特徴に加えて、変換部は、変換部にて実行されるべき複数の変換理の一部に対してのみ変換テーブルを適用するテーブル適用手段を有する暗号化装置である。
また、前記特徴に加えて、変換部は、複数の処理段に対して適用すべきテーブルを動的に制御する適用テーブル制御手段をさらに有する暗号化装置である。
また、前記特徴に加えて、変換部は、入力値に対して適用すべきテーブルの適用位置を動的に制御する適用位置制御手段をさらに有する暗号化装置である。
最後に、上記暗号化装置によって暗号化された暗号化情報を復号して情報とする復号化装置であって、暗号化情報を取得する暗号化情報取得部と、取得した暗号化情報を後述する逆変換部にて変換する単位である16バイト単位の単位化暗号化情報に単位化する逆変換用単位化部と、逆変換用単位化部にて単位化された単位化暗号化情報を前記変換部の変換とは逆変換することで逆変換済単位化情報とする逆変換部と、逆変換部にて得られた全ての逆変換済単位化情報を結合することで暗号化情報の元となる情報である元情報とする元情報結合部と、からなる復号化装置である。
本発明により、第三者による暗号解読が事実上不可能な暗号を生成することができ、暗号解読が事実上不可能である暗号化装置を提供することができる。
実施例1にかかる暗号化装置の機能ブロック 実施例1において任意の関数を用いた場合の暗号化の内容 実施例1にかかる暗号化装置のハードウェア構成を示す図 実施例1にかかる暗号化装置を用いた場合の処理の流れを示す図 16バイト単位に単位化した順に変換する構成における変換用単位化ステップと変換ステップとの関係を示す図 実施例2にかかる暗号化装置の機能ブロック 実施例2にかかる暗号化装置のハードウェア構成を示す図 実施例2にかかる暗号化装置を用いた場合の処理の流れを示す図 実施例3にかかる暗号化装置の機能ブロック 従来の複合変換の流れを示す図 実施例3における複合変換の内容を示す図 実施例3にかかる暗号化装置のハードウェア構成を示す図 実施例3にかかる暗号化装置を用いた場合の処理の流れを示す図 実施例4にかかる暗号化装置の機能ブロック 従来のXOR演算を挟んだ多対一の変換の内容を示す図 実施例4におけるXOR演算を挟んだ多対一の変換の内容を示す図 実施例4にかかる暗号化装置のハードウェア構成を示す図 実施例4にかかる暗号化装置を用いた場合の処理の流れを示す図 実施例5にかかる暗号化装置の機能ブロック 変換テーブルを用いた変換の内容を示した図 実施例5にかかる暗号化装置のハードウェア構成を示す図 実施例5にかかる暗号化装置を用いた場合の処理の流れを示す図 実施例6にかかる暗号化装置の機能ブロック 実施例6にかかる暗号化装置のハードウェア構成を示す図 実施例6にかかる暗号化装置を用いた場合の処理の流れを示す図 実施例7にかかる暗号化装置の機能ブロック 実施例7にかかる暗号化装置のハードウェア構成を示す図 実施例7にかかる暗号化装置を用いた場合の処理の流れを示す図 実施例8にかかる暗号化装置の機能ブロック 実施例8にかかる暗号化装置のハードウェア構成を示す図 実施例8にかかる暗号化装置を用いた場合の処理の流れを示す図 実施例9にかかる復号化装置の機能ブロック 実施例9にかかる復号化装置のハードウェア構成を示す図 実施例9にかかる復号化装置を用いた場合の処理の流れを示す図
以下、本発明の実施の形態を図示例と共に説明する。実施例と請求項の相互の関係は以下の通りである。実施例1は主に請求項1,10、19に関し、実施例2は主に請求項2,11,20に関し、実施例3は主に請求項3,12,21に関し、実施例4は主に請求項4,13,22に関し、実施例5は主に請求項5,14,23に関し、実施例6は主に請求項6,15,24に関し、実施例7は主に請求項7,16,25に関し、実施例8は主に請求項8,17,26に関し、実施例9は主に請求項9,18,27に関する。なお、本発明はこれら実施例に何ら限定されるものではなく、その要旨を逸脱しない範囲内において、様々な態様で実施しうる。
<本実施例の概要>
本実施例にかかる暗号化装置は、情報取得部と変換用単位化部と変換部と、からなる暗号化装置である。
本実施例にかかる暗号化装置は、本発明の最も基本的な構成である。そして、特に変換用単位化部の機能に特徴がある。以下、本実施例にかかる暗号化装置について、その機能的構成と、ハードウェア構成と、処理の方法に分けて説明する。
<機能的構成>
図1は、実施例1にかかる暗号化装置の機能ブロックである。暗号化装置(0101)には、情報取得部(0102)と、変換用単位化部(0103)と、変換部(0104)が存在する。以下、それぞれの機能を説明する。
まず、「情報取得部」とは、情報を取得する機能である。ここにおける情報は、暗号化の対象となる情報である。取得の方法としては、キーボードなどを用いて直接入力する方法でも良いし、既存の情報を移行する方法でも良いし、その他でも良い。
例えば、文章作成ソフトで作成した文章を暗号化したい場合、サーバや外部機器のHDDに保存されている文章情報を暗号化装置に移行することによって、情報を取得するという具合である。
次に、「変換用単位化部」とは、取得した情報を後述する変換部にて変換する単位である16バイト単位の単位化情報に単位化する機能である。前述のように、暗号化においては、この16バイトをさらに4バイト(32ビット)単位の4つの小単位に分割し暗号化の変換を行うのが通常であったが、この16バイト(128bit)単位のままで暗号化の変換を行うことによって、入力する変数の数が「2の128乗」通りであることになる。そのため、暗号化の変換内容を特定するためには、「2の128乗」という天文学的数の予め分かっている値を入力して変換結果を見て検証するということになり、暗号化の変換内容の特定が事実上不可能となる。実現の方法は、後述するように、暗号化装置内でのCPUによる演算処理によって実現する。
最後に、「変換部」とは、変換用単位化部にて単位化された単位化情報を一つの一次式では表現できない関数にて変換することで変換済単位化情報とする機能である。「一つの一次式では表現できない関数」とは、実施例5で後述する、単位化情報を構成するバイトデータに対して「変換テーブル」による不規則な変換と、構成バイト間での演算を施す、というものが典型的な実施態様であるが、それに限られない。図2は、暗号化の関数として例示した関数f(x)を1回適用した場合の変換を示す図である。例えば図2に記載の関数のように非線形関数を暗号化の関数として利用しても良い。
このような関数を用いた場合の暗号化の内容について図2を用いて説明する。変換前の値「1」に関数を適用した場合に得られる値は「1」、変換前の値「2」に関数を適用した場合に得られる値は「0」、変換前の値「3」に関数を適用した場合に得られる値は「9」、変換前の値「4」に関数を適用した場合に得られる値は「8」となる。
なお、以上は、暗号化の関数を用いた変換部の機能の説明であるが、関数f(x)はあくまで一例であり、本発明の内容をこの変換に限定するものではない。
変換部の実現の方法は、後述するように、暗号化装置内でのCPUによる演算処理によって実現する。
以上によって、4バイト(32ビット)単位での変換を行う従来の技術に比して、16バイト(128bit)単位での暗号化の変換を行うことによって、暗号化の変換内容を特定するためには、「2の128乗」という天文学的数の予め分かっている値を入力して変換結果を見て検証するということになり、暗号化の変換内容の特定が事実上不可能となる。

<ハードウェア構成>
図3は、本実施例にかかる暗号化装置のハードウェア構成を示す図である。以下、この図を用いて説明する。
この図にあるように、本実施例に係る暗号化装置は、各種演算処理を行う「CPU(中央演算装置)」(0301)と、「主メモリ」(0302)と、を備えている。また、取得した情報などを保持する「HDD」(0303)や、外部機器と情報の送受信を行う「I/O(インプット/アウトプット)」(0304)及びサーバと情報の送受信を行う「ネットワークインターフェイス」(0308)も備えている。そして、それらが「システムバス」(0305)などのデータ通信経路によって相互に接続され、情報の送受信や処理を行う。なお、「サーバ」及び「ネットワークインターフェイス」については、本発明において必須の構成要素ではない。
また、「主メモリ」は、各種処理を行うプログラムを「CPU」に実行させるために読み出すと同時にそのプログラムの作業領域でもあるワーク領域を提供する。また、この「主メモリ」や「HDD」にはそれぞれ複数のアドレスが割り当てられており、「CPU」で実行されるプログラムは、そのアドレスを特定しアクセスすることで相互にデータのやりとりを行い、処理を行うことが可能になっている。本実施例において「主メモリ」に格納されているプログラムは、情報取得プログラム、変換用単位化プログラム、変換プログラムである。
暗号化装置の「I/O」は、「主メモリ」に格納されている情報取得プログラムにより、例えば、外部機器(0306)の「UI(ユーザーインターフェース)」(0307)から送信された情報を取得する。あるいは、「サーバ」(0309)から「ネットワークインターフェイス」を通じて情報を取得する。取得した情報は、「HDD」に格納される。そして、この取得した情報は、「主メモリ」に格納されている変換用単位化プログラムを用いた「CPU」の演算処理により、変換する単位である16バイト単位の単位化情報に単位化される。この単位化された単位化情報は、「主メモリ」に格納される。さらに、この単位化情報は、「主メモリ」に格納されている変換プログラムを用いた「CPU」の演算処理により一つの一次式では表現できない関数にて変換されることで変換済単位化情報となる。この変換済単位化情報は、「主メモリ」に格納される。
以上によって、4バイト(32ビット)単位での変換を行う従来の技術に比して、16バイト(128bit)単位での暗号化の変換を行うことによって、暗号化の変換内容を特定するためには、「2の128乗」という天文学的数の予め分かっている値を入力して変換結果を見て検証するということになり、暗号化の変換内容の特定が事実上不可能となる。
<処理の流れ>
図4は、本実施例にかかる暗号化装置を用いた場合の処理の流れを示す図である。本実施例にかかる暗号化装置の処理の流れは、情報取得ステップと変換用単位化ステップと変換ステップに分かれる。以下、それぞれの処理の内容・流れについて説明する。
「情報取得ステップ」(S0401)とは、情報を取得する段階である。ここにおける情報は、暗号化の対象となる情報である。取得の方法としては、キーボードなどを用いて直接入力する方法でも良いし、既存の情報を移行する方法でも良いし、その他でも良い。
「変換用単位化ステップ」(S0402)とは、取得した情報を後述する変換ステップにて変換する単位である16バイト単位の単位化情報に単位化する段階である。前述のように、暗号化においては、この16バイトをさらに4バイト(32ビット)単位の4つの小単位に分割し暗号化の変換を行うのが通常であったが、この16バイト(128bit)単位のままで暗号化の変換を行うことによって、入力する変数の数が「2の128乗」通りであることになる。そのため、暗号化の変換内容を特定するためには、「2の128乗」という天文学的数の予め分かっている値を入力して変換結果を見て検証するということになり、暗号化の変換内容の特定が事実上不可能となる。実現の方法は、暗号化装置内でのCPUによる演算処理によって実現する。
「変換ステップ」(S0403)とは、変換用単位化ステップにて単位化された単位化情報を一つの一次式では表現できない関数にて変換することで変換済単位化情報とする段階である。「一つの一次式では表現できない関数」とは、実施例5で後述する、単位化情報を構成するバイトデータに対して「変換テーブル」による不規則な変換と、構成バイト間での演算を施す、というものが典型的な実施態様であるが、それに限られない。
これらの変換用単位化ステップと変換ステップとの関係は、取得した情報について、全て16バイト単位に単位化した後に一斉に変換をしても良いし、他方、16バイト単位に単位化した順に変換をしても良い。図5は、後者の場合の変換態様を示す図である。取得した情報のうち、一部については変換が完了していても、一部については変換が未了のものもある。そのため、この未了の部分についても、変換をするための処理が必要となる。
具体的には、取得した情報全てについて変換が完了したか否かを判断する段階(S0404)が必要となる。この判断のステップにおいて、完了したと判断されれば終了し、未完了であると判断されれば変換用単位化ステップに戻って残っている部分の単位化処理と変換処理を完了するまで繰り返す。
以上によって、4バイト(32ビット)単位での変換を行う従来の技術に比して、16バイト(128bit)単位での暗号化の変換を行うことによって、暗号化の変換内容を特定するためには、「2の128乗」という天文学的数の予め分かっている値を入力して変換結果を見て検証するということになり、暗号化の変換内容の特定が事実上不可能となる。
<本実施例の概要>
 本実施例に係る暗号化装置は、実施例1の特徴に加えて、暗号化情報結合部をさらに有する暗号化装置である。
 以下、機能的構成、ハードウェア構成、処理の流れを順に説明する。
<機能的構成>
図6は、本実施例に係る暗号化装置の機能的構成を示す図である。本実施例に係る暗号化装置(0601)は、実施例1と同様に、情報取得部(0602)と変換用単位化部(0603)と変換部(0604)とを有している。これらの機能的構成については、実施例1と同様である。以下では、本実施例で加わった暗号化情報結合部(0605)の機能について説明する。
「暗号化情報結合部」とは、変換部にて得られた全ての変換済単位化情報を結合することで暗号化情報とする機能である。実現の方法は、後述する「CPU」の演算処理により結合を実行するという具合である。
結合する際の態様は、変換用単位化部において16バイトに単位化した際の順番と同じ順番で結合することが望ましい。そうすれば、複合するための処理が容易となる。
このように変換済単位化情報が結合されて暗号化情報となることによって、1つの情報として送受信の対象とすることができる。
<ハードウェア構成>
図7は、上記機能的な各構成要件をハードウェアとして実現した際の暗号化装置における構成の一例を示す概略図である。暗号化装置は、「CPU(中央演算装置)」(0701)、「主メモリ」(0702)、「HDD」(0703)、「I/O(インプット/アウトプット)」(0704)、「システムバス」(0705)及びサーバ(0709)と情報の送受信を行う「ネットワークインターフェイス」(0708)を有しており、「外部機器」(0706)は、「UI」(0707)を有している。 本実施例において「主メモリ」に格納されているプログラムは、情報取得プログラム、変換用単位化プログラム、変換プログラム、暗号化情報結合プログラムある。
これらの図を利用して、本装置での各処理におけるそれぞれのハードウェア構成部のうち本実施例の特徴的な部分について説明し、その他の部分については実施例1の説明と同様である。
実施例1でも述べたように、暗号化装置により、変換済単位化情報が生成される。このような変換済単位化情報について、「主メモリ」に格納されている暗号化情報結合プログラムを用いた「CPU」の演算処理により結合することで暗号化情報とする。この暗号化情報は、「HDD」に格納される。
このように変換済単位化情報が結合されて暗号化情報となることによって、1つの情報として送受信の対象とすることができる。
<処理の流れ>
図8は、本実施例の暗号化装置における処理の流れの一例を示すフローチャートである。本実施例の処理の流れは、(a)及び(b)の2通り存在することから、順に説明する。(a)では、情報取得ステップ(S0801)、変換用単位化ステップ(S0802)、変換ステップ(S0803)、暗号化情報結合ステップ(S0805)、全て結合完了したか否かの判断ステップ(S0806)を有している。また、(b)では、情報取得ステップ(S0801)、変換用単位化ステップ(S0802)、変換ステップ(S0803)、全て変換完了したか否かの判断ステップ(S0804)、暗号化情報結合ステップ(S0805)を有している。この図を利用して、本装置での各処理の流れのうち本実施例の特徴的な部分について説明し、その他の部分については実施例1の説明と同様である。
「暗号化情報結合ステップ」とは、変換ステップにて得られた変換済単位化情報を結合することで暗号化情報とする段階である。(a)では、変換済単位化情報を受け取る毎に暗号化情報として逐次結合し、全ての変換済単位化情報を受け取るまでこれを繰り返す。(b)では、既に全ての変換が終了している段階において、全ての結合を実行する。
(a)と(b)のいずれの場合であっても、結合する態様について、変換用単位化部において16バイトに単位化した際の順番と同じ順番で結合することが望ましい。そうすれば、複合するための処理が容易となる。
このように変換済単位化情報が結合されて暗号化情報となることによって、1つの情報として送受信の対象とすることができる。
<本実施例の概要>
 本実施例に係る暗号化装置は、実施例1又は2の特徴に加えて、変換部が複合変換手段をさらに有する暗号化装置である。
 以下、機能的構成、ハードウェア構成、処理の流れを順に説明する。以下の説明では、実施例1の構成に特徴が付加されているものとして説明するが、更に実施例2や3の特徴を有していても本実施例の範囲に含まれるものである。
<機能的構成>
図9は、本実施例に係る暗号化装置の機能的構成を示す図である。本実施例に係る暗号化装置(0901)は、実施例1と同様に、情報取得部(0902)と変換用単位化部(0903)と変換部(0904)とを有している。これらの機能的構成については、実施例1と同様である。以下では、本実施例で加わった複合変換手段(0905)の機能について説明する。
本実施例に係る暗号化装置の変換部は、複合変換手段を有する。「複合変換手段」とは、同一の変換についての順変換と逆変換を隣接する原変換に対して複合させた複合変換を実行する機能である。
図10は、従来の複合変換の流れを示す図である。図11は、本実施例における複合変換の内容を示す図である。ここでは、本実施例の一例として、変換部において、乗算処理による変換を二回実施する実施態様を前提に説明する。
図10は、取得した情報xを1つ目の関数Aと2つ目の関数Bで変換を実施した場合の流れである。Aが「入力された値を3倍する」であり、Bが「入力された値を2倍する」である場合を例とする。例えば、取得された情報xが「3」であった場合、Aの関数を適用して「9」となり、Bの関数を適用して「18」となる。また、取得された情報xが「1」であった場合、Aの関数を適用して「3」となり、Bの関数を適用して「6」になる。さらに、取得された情報xが「2」であった場合、Aの関数を適用して「6」となり、Bの関数を適用して「12」になる。
これに対して、図11では、本実施例における複合変換の内容が示されているところ、同じくAが「入力された値を3倍する」であり、Bが「入力された値を2倍する」である場合を例としても、変換に用いられる関数は、Aに対して任意の関数を乗じた「A'」、及び、Bに対して前記Aに対して乗じた任意の関数の逆関数を乗じた「B'」である。これを前提に、例えば、前記「任意の関数」が「2」の場合、A'が「入力された値を6倍する」となり、B'が「入力された値を1倍する」となる。これらを前提に、例えば、取得された情報xが「3」であった場合、A'の関数を適用して「18」となり、B'の関数を適用して「18」となる。また、取得された情報xが「1」であった場合、A'の関数を適用して「6」となり、B'の関数を適用して「6」となる。さらに、取得された情報xが「2」であった場合、A'の関数を適用して「12」となり、B'の関数を適用して「12」となる。このようにすることにより、従来の複合変換の場合より、さらにより一層、AとBの内容を特定することが困難になる。
これらは、CPUによる演算処理によって実現する。
これにより、暗号化の態様が一層複雑になり、第三者による暗号解読が困難となる。特に、暗号化対象の情報と暗号化情報の組み合わせから暗号化の関数を推定する暗号解読の方法ではなく、関数の内容を直接的に特定しようとする暗号解読の方法に対して効果がある。
<ハードウェア構成>
図12は、上記機能的な各構成要件をハードウェアとして実現した際の暗号化装置における構成の一例を示す概略図である。暗号化装置は、「CPU(中央演算装置)」(1201)、「主メモリ」(1202)、「HDD」(1203)、「I/O(インプット/アウトプット)」(1204)、「システムバス」(1205)及びサーバ(1209)と情報の送受信を行う「ネットワークインターフェイス」(1208)を有しており、「外部機器」(1206)は、「UI」(1207)を有している。本実施例において「主メモリ」に格納されているプログラムは、情報取得プログラム、変換用単位化プログラム、変換プログラムである。そして、変換プログラムは、複合変換手段を有する。
これらの図を利用して、本装置での各処理におけるそれぞれのハードウェア構成部のうち本実施例の特徴的な部分について説明し、その他の部分については実施例1の説明と同様である。
暗号化装置により変換用に単位化された16バイトの単位化情報を「CPU」の演算処理により暗号化する際、同一の変換についての順変換と逆変換を隣接する原変換に対して複合させた複合変換を実行することによる処理を行う。この処理によって得られた変換済単位化情報は、「主メモリ」に格納される。
このような暗号化情報生成方法によって、暗号化の態様が一層複雑になり、第三者による暗号解読がより一層困難となる。特に、暗号化対象の情報と暗号化情報の組み合わせから暗号化の関数を推定する暗号解読の方法ではなく、関数の内容を直接的に特定しようとする暗号解読の方法に対して効果がある。
<処理の流れ>
図13は、本実施例の暗号化装置における処理の流れの一例を示すフローチャートである。情報取得ステップ(S1301)、変換用単位化ステップ(S1302)、変換ステップ(S1303)、複合変換サブステップ(S1304)、完了か否かの判断ステップ(S1305)を有している。この図を利用して、本装置での各処理の流れのうち本実施例の特徴的な部分について説明し、その他の部分については実施例1の説明と同様である。
「複合変換サブステップ」とは、同一の変換についての順変換と逆変換を隣接する原変換に対して複合させた複合変換を実行する段階である。複合変換の内容は、本実施例の機能的構成において説明したとおりである。これらは、CPUによる演算処理によって実現する。
このような暗号化情報生成方法によって、暗号化の態様が一層複雑になり、第三者による暗号解読がより一層困難となる。特に、暗号化対象の情報と暗号化情報の組み合わせから暗号化の関数を推定する暗号解読の方法ではなく、関数の内容を直接的に特定しようとする暗号解読の方法に対して効果がある。
<本実施例の概要>
 本実施例に係る暗号化装置は、実施例3の特徴に加えて、変換部が排他的論理和処理手段をさらに有する暗号化装置である。
 以下、機能的構成、ハードウェア構成、処理の流れを順に説明する。
<機能的構成>
図14は、本実施例に係る暗号化装置の機能的構成を示す図である。本実施例に係る暗号化装置(1401)は、実施例3と同様に、情報取得部(1402)と変換用単位化部(1403)と変換部(1404)と複合変換手段(1405)とを有している。これらの機能的構成については、実施例3と同様である。以下では、本実施例で加わった排他的論理和処理手段(1406)の機能について説明する。
変換部は、排他的論理和処理手段を有している。「排他的論理和処理手段」とは、入力値に対して前記順変換を複合した前段による演算結果である前方変換結果の複数について排他的論理和処理をした後に前記逆変換を複合した後段による変換処理を前記入力値と同数得る変換処理を実行する機能である。「排他的論理和処理」とは、2進数表現した数値の各ビットに対し、2を法とした剰余体での加減算処理を意味する。
図15は、通常のXOR演算を挟んだ多対一の変換の内容を示す図である。図16は、本実施例におけるXOR演算を挟んだ多対一の変換の内容を示す図である。
図15は、通常のXOR演算を挟んだ多対一の変換の内容である。その変換の一例として、図15において、Pが「入力された値を2倍する」、Qが「入力された値を1倍する」、Rが「入力された値を4倍する」である場合を例とする。例えば、取得された情報のうち、xが「4」でxが「3」であった場合、XはPの関数を適用して「8」となり、XはQの関数を適用して「3」となる。そして、その合計である「11」に対してRの関数を適用して「44」という値が得られる。次に、取得された情報のうち、xが「1」でxが「2」であった場合、XはPの関数を適用して「2」となり、XはQの関数を適用して「2」となる。そして、その合計である「4」に対してRの関数を適用して「16」という値が得られる。
これに対して、図16では、本実施例におけるXOR演算を挟んだ多対一の変換の内容が示されているところ、同じくPが「入力された値を2倍する」、Qが「入力された値を1倍する」、Rが「入力された値を4倍する」である場合を例としても、変換に用いられる関数は、P及びQに対して任意の共通の関数を乗じた「P'」と「Q'」、及び、Rに対して前記P及びQに対して乗じた任意の共通の関数の逆関数を乗じた「R'」である。これらを前提に、例えば、前記「任意の関数」が「2」の場合、P'が「入力された値を4倍する」となり、Q'が「入力された値を2倍する」となり、R'が「入力された値を2倍する」となる。これらを前提に、例えば、取得された情報のうち、xが「4」でxが「3」であった場合、XはP'の関数を適用して「16」となり、XはQ'の関数を適用して「6」となる。そして、その合計である「22」に対してR'の関数を適用して「44」という値が得られる。次に、取得された情報のうち、xが「1」でxが「2」であった場合、XはP'の関数を適用して「4」となり、XはQ'の関数を適用して「4」となる。そして、その合計である「8」に対してR'の関数を適用して「16」という値が得られる。このようにすることにより、通常のXOR演算を挟んだ多対一の変換の場合より、さらにより一層、P、Q、Rの内容を特定することが困難になる。
このような暗号化情報生成方法によって、暗号化の態様が一層複雑になり、第三者による暗号解読がより一層困難となる。特に、暗号化対象の情報と暗号化情報の組み合わせから暗号化の関数を推定する暗号解読の方法ではなく、関数の内容を直接的に特定しようとする暗号解読の方法に対して効果がある。
<ハードウェア構成>
図17は、上記機能的な各構成要件をハードウェアとして実現した際の暗号化装置における構成の一例を示す概略図である。暗号化装置は、「CPU(中央演算装置)」(1701)、「主メモリ」(1702)、「HDD」(1703)、「I/O(インプット/アウトプット)」(1704)、「システムバス」(1705)及びサーバ(1709)と情報の送受信を行う「ネットワークインターフェイス」(1708)を有しており、「外部機器」(1706)は、「UI」(1707)を有している。本実施例において「主メモリ」に格納されているプログラムは、情報取得プログラム、変換用単位化プログラム、変換プログラムである。そして、変換プログラムは、複合変換手段及び排他的論理和処理手段を有する。
これらの図を利用して、本装置での各処理におけるそれぞれのハードウェア構成部のうち本実施例の特徴的な部分について説明し、その他の部分については実施例3の説明と同様である。
暗号化装置により変換用に単位化された16バイトの単位化情報を「CPU」の演算処理により暗号化する際、入力値に対して前記順変換を複合した前段による演算結果である前方変換結果の複数について排他的論理和処理をした後に前記逆変換を複合した後段による変換処理を前記入力値と同数得る変換処理を行う。この処理によって得られた変換済単位化情報は、「主メモリ」に格納される。
このような暗号化情報生成方法によって、暗号化の態様が一層複雑になり、第三者による暗号解読がより一層困難となる。特に、暗号化対象の情報と暗号化情報の組み合わせから暗号化の関数を推定する暗号解読の方法ではなく、関数の内容を直接的に特定しようとする暗号解読の方法に対して効果がある。
<処理の流れ>
図18は、本実施例の暗号化装置における処理の流れの一例を示すフローチャートである。情報取得ステップ(S1801)、変換用単位化ステップ(S1802)、変換ステップ(S1803)、複合変換サブステップ(S1804)、排他的論理和処理サブステップ(S1805)、完了か否かの判断ステップ(S1806)を有している。この図を利用して、本装置での各処理の流れのうち実施例4の特徴的な部分について説明し、その他の部分については実施例3の説明と同様である。
「排他的論理和処理サブステップ」とは、入力値に対して前記順変換を複合した前段による演算結果である前方変換結果の複数について排他的論理和処理をした後に前記逆変換を複合した後段による変換処理を前記入力値と同数得る変換処理を実行する段階である。「排他的論理和処理」とは、2進数表現した数値の各ビットに対し、2を法とした剰余体での加減算処理を意味する。内容は、本実施例の機能的構成において説明したとおりである。
このような暗号化情報生成方法によって、暗号化の態様が一層複雑になり、第三者による暗号解読がより一層困難となる。特に、暗号化対象の情報と暗号化情報の組み合わせから暗号化の関数を推定する暗号解読の方法ではなく、関数の内容を直接的に特定しようとする暗号解読の方法に対して効果がある。
<本実施例の概要>
 本実施例に係る暗号化装置は、実施例1ないし4の特徴に加えて、変換部が変換テーブルを用いた変換手段をさらに有する暗号化装置である。
 以下、機能的構成、ハードウェア構成、処理の流れを順に説明する。以下の説明では、実施例1の構成に特徴が付加されているものとして説明するが、更に実施例2ないし4の特徴を有していても本実施例の範囲に含まれるものである。
<機能的構成>
図19は、本実施例に係る暗号化装置の機能的構成を示す図である。本実施例に係る暗号化装置(1901)は、実施例1と同様に、情報取得部(1902)と変換用単位化部(1903)と変換部(1904)とを有している。これらの機能的構成については、実施例1と同様である。以下では、本実施例で加わった変換テーブルを用いた変換手段(1905)の機能について説明する。
変換部は、変換手段を有している。「変換手段」とは、一次式では表現できない変換入力と変換出力との関係を定めるテーブルである変換テーブルを用いて変換を行う機能である。変換テーブルを用いることにより、規則性のない変換を実現することができる。これは、CPUにおける変換テーブルから読み出す処理によって実現する。
図20は、変換テーブルを用いた変換の内容を示した図である。本発明に係る暗号化装置は、16バイト単位で変換するものであり、ここでは変換態様の説明の便宜のため、適当に選択した16バイトの値を例として説明する。また、これらの数字は、10進数で表現している。
1番から16番までの丸で囲まれた数字は単位化情報を構成する各バイトデータを識別する為のバイト位置番号である。図20では単位化情報のバイトデータとして「0~9」の情報が変換前の情報として存在する。変換テーブルについては、バイト位置に対応するG1~G16の変換テーブルが存在する。 この変換テーブルで定められた「変換入力値と変換出力値の対応」に基づく変換と、バイト位置に対応するF1~F16で定められる演算を組み合わせることで、単位化情報を変換する。なお、G1~G16の各テーブルはそれぞれ独立に定める事ができるが、この例では便宜上全て変換テーブルG1と同じ内容のテーブルを使用している。
これらを踏まえ、バイト位置の1番から4番までの変換処理を順に説明する。なおバイト位置1番の変換処理ではバイト位置16番の変換テーブルによる変換結果も参照される。図中変換テーブル適用の段階では、情報「1」に関数変換テーブルG1を適用することで「8」という情報に変換している。次に、情報「0」に変換テーブルG2を適用することで「9」という情報に変換している。次に、情報「5」に変換テーブルG3を適用することで「4」という情報に変換している。次に、情報「9」に変換テーブルG4を適用することで「0」という情報に変換している。最後に、バイト位置の16番では情報「1」に変換テーブルG16を適用することで「8」という情報に変換している。
そして、演算処理の段階では先の変換テーブル適用後の変換結果を組み合わせて演算処理を行う。演算処理F1では変換テーブルG16による変換情報「8」と変換テーブルG1による変換情報「8」のXOR演算により「0」を算出する。演算処理F2では変換テーブルG1による変換情報「8」と変換テーブルG2による変換情報「9」のXOR演算により「1」を算出する。演算処理F3では変換テーブルG2による変換情報「9」と変換テーブルG3による変換情報「4」のXOR演算により「13」を算出する。演算処理F4では変換テーブルG3による変換情報「4」と変換テーブルG4による変換情報「0」のXOR演算により「4」を算出する。
図20では便宜上、比較的単純な変換テーブル1種類と演算処理Gi, Fi (1≦ i ≦ 16) を一回だけ適用する例で説明しているが、本発明の内容をこれに限定するものではなく、変換テーブルはより不規則なものを複数使用し、演算処理はより構成バイト間の依存度が強くなるものを使用し、さらに同様の変換処理を繰り返し適用するなどでより複雑な構成としてもよい。
これにより、16バイト単位で規則性のない暗号化が可能となり、暗号解読がより一層困難になる。
<ハードウェア構成>
図21は、上記機能的な各構成要件をハードウェアとして実現した際の暗号化装置における構成の一例を示す概略図である。暗号化装置は、「CPU(中央演算装置)」(2101)、「主メモリ」(2102)、「HDD」(2103)、「I/O(インプット/アウトプット)」(2104)、「システムバス」(2105)及びサーバ(2109)と情報の送受信を行う「ネットワークインターフェイス」(2108)を有しており、「外部機器」(2106)は、「UI」(2107)を有している。本実施例において「主メモリ」に格納されているプログラムは、情報取得プログラム、変換用単位化プログラム、変換プログラムである。そして、変換プログラムは、変換手段を有する。
これらの図を利用して、本装置での各処理におけるそれぞれのハードウェア構成部のうち本実施例の特徴的な部分について説明し、その他の部分については実施例1の説明と同様である。
暗号化装置により変換用に単位化された16バイトの単位化情報を「CPU」での処理により暗号化する際、一次式では表現できない変換入力と変換出力との関係を定めるテーブルである変換テーブルを用いて変換を行うことで変換済単位化情報とする処理を行う。この処理によって得られた変換済単位化情報は、「主メモリ」に格納される。
これにより、規則性のない暗号化が可能となり、暗号解読がより一層困難になる。
<処理の流れ>
図22は、本実施例の暗号化装置における処理の流れの一例を示すフローチャートである。情報取得ステップ(S2201)、変換用単位化ステップ(S2202)、変換ステップ(S2203)、変換サブステップ(S2204)、完了か否かの判断ステップ(S2205)を有している。この図を利用して、本装置での各処理の流れのうち本実施例の特徴的な部分について説明し、その他の部分については実施例1の説明と同様である。
変換ステップは、変換サブステップを有している。「変換サブステップ」とは、一次式では表現できない変換入力と変換出力との関係を定めるテーブルである変換テーブルを用いて変換を行う段階である。変換テーブルを用いることにより、規則性のない変換を実現することができる。これは、CPUにおける変換テーブルから読み出す処理によって実現する。
これにより、規則性のない暗号化が可能となり、暗号解読がより一層困難になる。
<本実施例の概要>
 本実施例に係る暗号化装置は、実施例5の特徴に加えて、変換部が「テーブル適用手段」をさらに有する暗号化装置である。
 以下、機能的構成、ハードウェア構成、処理の流れを順に説明する。
<機能的構成>
図23は、本実施例に係る暗号化装置の機能的構成を示す図である。本実施例に係る暗号化装置(2301)は、実施例5と同様に、情報取得部(2302)と変換用単位化部(2303)と変換部(2304)とを有し、変換部は変換テーブルを用いた変換手段(2305)を有している。これらの機能的構成については、実施例5と同様である。以下では、本実施例で加わった「テーブル適用手段」(2306)の機能について説明する。
変換部は、テーブル適用手段を有する。「テーブル適用手段」とは、変換部にて実行されるべき複数の変換理の一部に対してのみ変換テーブルを適用する機能である。変換テーブルによる処理を全体の一部とすることにより、用意する変換テーブルを少量にすることができ、かつ、変換処理のいずれかに不規則な変換を使用できるので、第三者による暗号解読が困難となる。これは、CPUによって実現される。
これにより、テーブル数の保持における使用容量を少なくすることができる。
<ハードウェア構成>
図24は、上記機能的な各構成要件をハードウェアとして実現した際の暗号化装置における構成の一例を示す概略図である。暗号化装置は、「CPU(中央演算装置)」(2401)、「主メモリ」(2402)、「HDD」(2403)、「I/O(インプット/アウトプット)」(2404)、「システムバス」(2405)及びサーバ(2409)と情報の送受信を行う「ネットワークインターフェイス」(2408)を有しており、「外部機器」(2406)は、「UI」(2407)を有している。本実施例において「主メモリ」に格納されているプログラムは、情報取得プログラム、変換用単位化プログラム、変換プログラムである。そして、変換プログラムは、変換テーブルを用いた変換手段及び「テーブル適用手段」を有する。
これらの図を利用して、本装置での各処理におけるそれぞれのハードウェア構成部のうち本実施例の特徴的な部分について説明し、その他の部分については実施例5の説明と同様である。
実施例5に係る暗号化装置の「CPU」の演算処理により暗号化する際、実行されるべき複数の変換処理の一部に対してのみ変換テーブルを適用することで、変換済単位化情報を生成する。この変換済単位化情報は、「主メモリ」に格納される。
これにより、テーブル数の保持における使用容量を少なくすることができる。
<処理の流れ>
図25は、本実施例の暗号化装置における処理の流れの一例を示すフローチャートである。情報取得ステップ(S2501)、変換用単位化ステップ(S2502)、変換ステップ(S2503)、変換テーブルを用いた変換サブステップ(S2504)、「テーブル適用サブステップ」(S2505)、完了か否かの判断ステップ(S2506)を有している。この図を利用して、本装置での各処理の流れのうち本実施例の特徴的な部分について説明し、その他の部分については実施例5の説明と同様である。
「テーブル適用サブステップ」とは、変換ステップにて実行されるべき複数の変換処理の一部に対してのみ変換テーブルを適用する段階である。変換テーブルによる変換処理を全体の一部とすることにより、用意する変換テーブルを少量にすることができ、かつ、演算処理のいずれかに不規則な変換が存在するので、第三者による暗号解読が困難となる。これは、CPUによって実現される。
これにより、テーブル数の保持における使用容量を少なくすることができる。
<本実施例の概要>
 本実施例に係る暗号化装置は、実施例5又は6の特徴に加えて、変換部が「適用テーブル制御手段」をさらに有する暗号化装置である。
 以下、機能的構成、ハードウェア構成、処理の流れを順に説明する。以下の説明では、実施例5の構成に特徴が付加されているものとして説明するが、更に実施例6の特徴を有していても本実施例の範囲に含まれるものである。
<機能的構成>
図26は、本実施例に係る暗号化装置の機能的構成を示す図である。本実施例に係る暗号化装置(2601)は、実施例5と同様に、情報取得部(2602)と変換用単位化部(2603)と変換部(2604)とを有し、変換部は、変換テーブルを用いた変換手段(2605)を有している。これらの機能的構成については、実施例5と同様である。以下では、本実施例で加わった「適用テーブル制御手段」(2606)の機能について説明する。
変換部は、適用テーブル制御手段を有する。「適用テーブル制御手段」とは、複数の処理段に対して適用すべきテーブルを動的に制御する機能である。
これにより、暗号化の関数がその都度異なることになるので、少ないテーブル使用でも暗号結果の複雑さを確保することができ、第三者による暗号解読を一層困難にすることができる。
<ハードウェア構成>
図27は、上記機能的な各構成要件をハードウェアとして実現した際の暗号化装置における構成の一例を示す概略図である。暗号化装置は、「CPU(中央演算装置)」(2701)、「主メモリ」(2702)、「HDD」(2703)、「I/O(インプット/アウトプット)」(2704)、「システムバス」(2705)及びサーバ(2709)と情報の送受信を行う「ネットワークインターフェイス」(2708)を有しており、「外部機器」(2706)は、「UI」(2707)を有している。本実施例において「主メモリ」に格納されているプログラムは、情報取得プログラム、変換用単位化プログラム、変換プログラムである。そして、変換プログラムは、変換テーブルを用いた変換手段及び「適用テーブル制御手段」を有する。
これらの図を利用して、本装置での各処理におけるそれぞれのハードウェア構成部のうち本実施例の特徴的な部分について説明し、その他の部分については実施例5の説明と同様である。
複数の処理段の変換テーブルが存在し、「CPU」の演算処理により、複数の処理段に対して適用すべきテーブルを動的に制御し、適用すべきとされたテーブルを用いて変換済単位化情報とする。この変換済単位化情報は、「主メモリ」に格納される。
これにより、暗号化の関数がその都度異なることになるので、少ないテーブル使用でも暗号結果の複雑さを確保することができ、第三者による暗号解読を一層困難にすることができる。
<処理の流れ>
図28は、本実施例の暗号化装置における処理の流れの一例を示すフローチャートである。情報取得ステップ(S2801)、変換用単位化ステップ(S2802)、変換ステップ(S2803)を有し、変換ステップは、変換テーブルを用いた変換サブステップ(S2804)と「適用テーブル制御サブステップ」(S2805)、完了か否かの判断ステップ(S2806)を有している。この図を利用して、本装置での各処理の流れのうち本実施例の特徴的な部分について説明し、その他の部分については実施例5の説明と同様である。
「適用テーブル制御サブステップ」とは、複数の処理段に対して適用すべきテーブルを動的に制御する段階である。
これにより、暗号化の関数がその都度異なることになるので、少ないテーブル使用でも暗号結果の複雑さを確保することができ、第三者による暗号解読を一層困難にすることができる。
<本実施例の概要>
 本実施例に係る暗号化装置は、実施例5ないし7の特徴に加えて、変換部が「適用位置制御手段」をさらに有する暗号化装置である。
 以下、機能的構成、ハードウェア構成、処理の流れを順に説明する。以下の説明では、実施例5の構成に特徴が付加されているものとして説明するが、更に実施例6又は7の特徴を有していても本実施例の範囲に含まれるものである。
<機能的構成>
図29は、本実施例に係る暗号化装置の機能的構成を示す図である。本実施例に係る暗号化装置(2901)は、実施例5と同様に、情報取得部(2902)と変換用単位化部(2903)と変換部(2904)とを有し、変換部は、変換テーブルを用いた変換手段(2905)を有している。これらの機能的構成については、実施例5と同様である。以下では、本実施例で加わった「適用位置制御手段」(2906)の機能について説明する。
変換部は、適用位置制御手段を有している。「適用位置制御手段」とは、入力値に対して適用すべきテーブルの適用位置を動的に制御する機能である。ここにおける入力値は、一般的には鍵情報を意味する。
これにより、変換の都度適用されるテーブルを変化させることができ、暗号化の関数がその都度異なることになるので、第三者による暗号解読を一層困難にすることができる。
<ハードウェア構成>
図30は、上記機能的な各構成要件をハードウェアとして実現した際の暗号化装置における構成の一例を示す概略図である。暗号化装置は、「CPU(中央演算装置)」(3001)、「主メモリ」(3002)、「HDD」(3003)、「I/O(インプット/アウトプット)」(3004)、「システムバス」(3005)及びサーバ(3009)と情報の送受信を行う「ネットワークインターフェイス」(3008)を有しており、「外部機器」(3006)は、「UI」(3007)を有している。本実施例において「主メモリ」に格納されているプログラムは、情報取得プログラム、変換用単位化プログラム、変換プログラムである。そして、変換プログラムは、変換テーブルを用いた変換手段及び「適用位置制御手段」を有する。
これらの図を利用して、本装置での各処理におけるそれぞれのハードウェア構成部のうち本実施例の特徴的な部分について説明し、その他の部分については実施例5の説明と同様である。
複数の処理段の変換テーブルが存在し、「CPU」の演算処理により、入力値に対して適用すべきテーブルの適用位置を動的に制御し、適用すべきとされたテーブルを用いて変換済単位化情報とする。この変換済単位化情報は、「主メモリ」に格納される。
これにより、変換の都度適用されるテーブルを変化させることができ、暗号化の関数がその都度異なることになるので、第三者による暗号解読を一層困難にすることができる。
<処理の流れ>
図31は、本実施例の暗号化装置における処理の流れの一例を示すフローチャートである。情報取得ステップ(S3101)、変換用単位化ステップ(S3102)、変換ステップ(S3103)を有し、変換ステップは、変換テーブルを用いた変換サブステップ(S3104)と適用位置制御サブステップ(S3105)、完了か否かの判断ステップ(S3106)を有している。この図を利用して、本装置での各処理の流れのうち本実施例の特徴的な部分について説明し、その他の部分については実施例5の説明と同様である。
「適用位置制御サブステップ」とは、入力値に対して適用すべきテーブルの適用位置を動的に制御する段階である。ここにおける入力値は、一般的には鍵情報を意味する。
これにより、変換の都度適用されるテーブルを変化させることができ、暗号化の関数がその都度異なることになるので、第三者による暗号解読を一層困難にすることができる。
<本実施例の概要>
本実施例にかかる装置は、実施例1ないし8に記載の暗号化装置によって暗号化された暗号化情報を復号して情報とする復号化装置であって、暗号化情報取得部と、逆変換用単位化部と、逆変換部と、元情報結合部と、からなる復号化装置である。
以下、本実施例にかかる復号化装置について、その機能的構成と、ハードウェア構成と、処理の方法に分けて説明する。
<機能的構成>
図32は、実施例9にかかる復号化装置の機能ブロックである。復号化装置(3201)には、暗号化情報取得部(3202)と、逆変換用単位化部(3203)と、逆変換部(3204)と、元情報結合部(3205)が存在する。以下、それぞれの機能を説明する。
「暗号化情報取得部」とは、暗号化情報を取得する機能である。
「逆変換用単位化部」とは、取得した暗号化情報を後述する逆変換部にて変換する単位である16バイト単位の単位化暗号化情報に単位化する機能である。
「逆変換部」とは、逆変換用単位化部にて単位化された単位化暗号化情報を前記変換部の変換とは逆変換することで逆変換済単位化情報とする機能である。
「元情報結合部」とは、逆変換部にて得られた全ての逆変換済単位化情報を結合することで暗号化情報の元となる情報である元情報とする機能である。
これにより、実施例1ないし8に記載の暗号化装置によって暗号化された暗号化情報を復号して情報とすることができる。
<ハードウェア構成>
図33は、上記機能的な各構成要件をハードウェアとして実現した際の復号化装置における構成の一例を示す概略図である。復号化装置は、「CPU(中央演算装置)」(3301)、「主メモリ」(3302)、「HDD」(3303)、「I/O(インプット/アウトプット)」(3304)、「システムバス」(3305)及びサーバ(3309)と情報の送受信を行う「ネットワークインターフェイス」(3308)を有しており、「外部機器」(3306)は、「UI」(3307)を有している。本実施例において「主メモリ」に格納されているプログラムは、暗号化情報取得プログラム、逆変換用単位化プログラム、逆変換プログラム、元情報結合プログラムである。なお、「サーバ」及び「ネットワークインターフェイス」については、本発明において必須の構成要素ではない。以上を踏まえて、これらの図を利用して、本装置での各処理におけるそれぞれのハードウェア構成部について説明する。
復号化装置の「I/O」は、外部機器の「UI(ユーザーインターフェース)」から送信された暗号化情報を取得する。取得した暗号化情報は、「HDD」に格納される。そして、この取得した暗号化情報は、「CPU」の演算処理により、逆変換部で変換する単位である16バイト単位の単位化暗号化情報に単位化される。この単位化された単位化暗号化情報は、「主メモリ」に格納される。さらに、この単位化暗号化情報を「CPU」の演算処理により一つの一次式では表現できない関数にて逆変換することで逆変換済単位化情報とする。この逆変換済単位化情報は、「主メモリ」に格納される。
その上で、生成された逆変換済単位化情報を「CPU」の演算処理により結合することで暗号化情報の元となる情報である元情報とする。この元情報は、「HDD」に格納される。
これにより、実施例1ないし8に記載の暗号化装置によって暗号化された暗号化情報を復号して情報とすることができる。
<処理の流れ>
図34は、本実施例の復号化装置における処理の流れの一例を示すフローチャートである。暗号化情報取得ステップ(S3401)、逆変換用単位化ステップ(S3402)、逆変換ステップ(S3403)、元情報結合ステップ(S3404)、完了か否かの判断ステップ(S3405)を有している。この図を利用して、本装置での各処理の流れについて説明する。
「暗号化情報取得ステップ」とは、暗号化情報を取得する段階である。
「逆変換用単位化ステップ」とは、取得した暗号化情報を逆変換ステップにて変換する単位である16バイト単位の単位化暗号化情報に単位化する段階である。
「逆変換ステップ」とは、逆変換用単位化ステップにて単位化された単位化暗号化情報を前記変換ステップの変換とは逆変換することで逆変換済単位化情報とする段階である。
「元情報結合ステップ」とは、逆変換ステップにて得られた全ての逆変換済単位化情報を結合することで暗号化情報の元となる情報である元情報とする段階である。
これにより、実施例1ないし8に記載の暗号化装置によって暗号化された暗号化情報を復号して情報とすることができる。
CPU(中央演算装置):0301、0701、1201、1701、2101、2401、2701、3001、3301
主メモリ:0302、0702、1202、1702、2102、2402、2702、3002、3302
HDD:0303、0703、1203、1703、2103、2403、2703、3003、3303
I/O(インプット/アウトプット):0304、0704、1204、1704、2104、2404、2704、3004、3304
システムバス:0305、0705、1205、1705、2105、2405、2705、3005、3305
外部機器:0306、0706、1206、1706、2106、2406、2706、3006、3306
UI(ユーザーインターフェース):0307、0707、1207、1707、2107、2407、2707、3007、3307
ネットワークインターフェイス:0308、0708、1208、1708、2108、2408、2708、3008、3308
サーバ:0309、0709、1209、1709、2109、2409、2709、3009、3309

Claims (27)

  1.  情報を暗号化して暗号化情報とする暗号化装置であって、
     情報を取得する情報取得部と、
     取得した情報を後述する変換部にて変換する単位である16バイト単位の単位化情報に単位化する変換用単位化部と、
     変換用単位化部にて単位化された単位化情報を一つの一次式では表現できない関数にて変換することで変換済単位化情報とする変換部と、
    からなる暗号化装置。
  2.  変換部にて得られた全ての変換済単位化情報を結合することで暗号化情報とする暗号化情報結合部をさらに有する請求項1に記載の暗号化装置。
  3.  変換部は、同一の変換についての順変換と逆変換を隣接する原変換に対して複合させた複合変換を実行する複合変換手段を含む請求項1又は2に記載の暗号化装置。
  4.  変換部は、入力値に対して前記順変換を複合した前段による演算結果である前方変換結果の複数について排他的論理和処理をした後に前記逆変換を複合した後段による変換処理を前記入力値と同数得る変換処理を実行する排他的論理和処理手段を有する請求項3に記載の暗号化装置。
  5.  変換部は、一次式では表現できない変換入力と変換出力との関係を定めるテーブルである変換テーブルを用いて変換を行うための変換手段を保持する請求項1から4のいずれか一に記載の暗号化装置。
  6.  変換部は、変換部にて実行されるべき複数の変換処理の一部に対してのみ変換テーブルを適用するテーブル適用手段を有する請求項5に記載の暗号化装置。
  7.  変換部は、複数の処理段に対して適用すべきテーブルを動的に制御する適用テーブル制御手段をさらに有する請求項5又は6に記載の暗号化装置。
  8.  変換部は、入力値に対して適用すべきテーブルの適用位置を動的に制御する適用位置制御手段をさらに有する請求項5から7のいずれか一に記載の暗号化装置。
  9.  請求項1から8のいずれか一に記載の暗号化装置によって暗号化された暗号化情報を復号して情報とする復号化装置であって、
     暗号化情報を取得する暗号化情報取得部と、
     取得した暗号化情報を後述する逆変換部にて変換する単位である16バイト単位の単位化暗号化情報に単位化する逆変換用単位化部と、
     逆変換用単位化部にて単位化された単位化暗号化情報を前記変換部の変換とは逆変換することで逆変換済単位化情報とする逆変換部と、
     逆変換部にて得られた全ての逆変換済単位化情報を結合することで暗号化情報の元となる情報である元情報とする元情報結合部と、
    からなる復号化装置。
  10.  情報を暗号化して暗号化情報とする暗号化プログラムであって、
     情報を取得する情報取得ステップと、
     取得した情報を後述する変換ステップにて変換する単位である16バイト単位の単位化情報に単位化する変換用単位化ステップと、
     変換用単位化ステップにて単位化された単位化情報を一つの一次式では表現できない関数にて変換することで変換済単位化情報とする変換ステップと、
    からなる計算機に読取実行可能な暗号化プログラム。
  11.  変換ステップにて得られた全ての変換済単位化情報を結合することで暗号化情報とする暗号化情報結合ステップをさらに有する請求項10に記載の暗号化プログラム。
  12.  変換ステップは、同一の変換についての順変換と逆変換を隣接する原変換に対して複合させた複合変換を実行する複合変換サブステップを含む請求項10又は11に記載の暗号化プログラム。
  13.  変換ステップは、入力値に対して前記順変換を複合した前段による演算結果である前方変換結果の複数について排他的論理和処理をした後に前記逆変換を複合した後段による変換処理を前記入力値と同数得る変換処理を実行する排他的論理和処理サブステップを有する請求項12に記載の暗号化プログラム。
  14.  変換ステップは、一次式では表現できない変換入力と変換出力との関係を定めるテーブルである変換テーブルを用いて変換を行うための変換サブステップを保持する請求項10から13のいずれか一に記載の暗号化プログラム。
  15.  変換ステップは、変換ステップにて実行されるべき複数の演算処理の一部に対してのみ変換テーブルを適用するテーブル適用サブステップを有する請求項14に記載の暗号化プログラム。
  16.  変換ステップは、複数の処理段に対して適用すべきテーブルを動的に制御する適用テーブル制御サブステップをさらに有する請求項14又は15に記載の暗号化プログラム。
  17.  変換ステップは、入力値に対して適用すべきテーブルの適用位置を動的に制御する適用位置制御サブステップをさらに有する請求項14から16のいずれか一に記載の暗号化プログラム。
  18.  請求項10から17のいずれか一に記載の暗号化プログラムによって暗号化された暗号化情報を復号して情報とする復号化プログラムであって、
     暗号化情報を取得する暗号化情報取得ステップと、
     取得した暗号化情報を後述する逆変換ステップにて変換する単位である16バイト単位の単位化暗号化情報に単位化する逆変換用単位化ステップと、
     逆変換用単位化ステップにて単位化された単位化暗号化情報を前記変換ステップの変換とは逆変換することで逆変換済単位化情報とする逆変換ステップと、
     逆変換ステップにて得られた全ての逆変換済単位化情報を結合することで暗号化情報の元となる情報である元情報とする元情報結合ステップと、
    からなる計算機に読取実行可能な復号化プログラム。
  19.  情報を暗号化して暗号化情報とする暗号化方法であって、
     情報を取得する情報取得ステップと、
     取得した情報を後述する変換ステップにて変換する単位である16バイト単位の単位化情報に単位化する変換用単位化ステップと、
     変換用単位化ステップにて単位化された単位化情報を一つの一次式では表現できない関数にて変換することで変換済単位化情報とする変換ステップと、
    からなる計算機にて実行させる暗号化方法。
  20.  変換ステップにて得られた全ての変換済単位化情報を結合することで暗号化情報とする暗号化情報結合ステップをさらに有する請求項19に記載の暗号化方法。
  21.  変換ステップは、同一の変換についての順変換と逆変換を隣接する原変換に対して複合させた複合変換を実行する複合変換サブステップを含む請求項19又は20に記載の暗号化方法。
  22.  変換ステップは、入力値に対して前記順変換を複合した前段による演算結果である前方変換結果の複数について排他的論理和処理をした後に前記逆変換を複合した後段による変換処理を前記入力値と同数得る変換処理を実行する排他的論理和処理サブステップを有する請求項21に記載の暗号化方法。
  23.  変換ステップは、一次式では表現できない変換入力と変換出力との関係を定めるテーブルである変換テーブルを用いて変換を行うための変換サブステップを保持する請求項19から22のいずれか一に記載の暗号化方法。
  24.  変換ステップは、変換ステップにて実行されるべき複数の演算処理の一部に対してのみ変換テーブルを適用するテーブル適用サブステップを有する請求項23に記載の暗号化方法。
  25.  変換ステップは、複数の処理段に対して適用すべきテーブルを動的に制御する適用テーブル制御サブステップをさらに有する請求項23又は24に記載の暗号化方法。
  26.  変換ステップは、入力値に対して適用すべきテーブルの適用位置を動的に制御する適用位置制御サブステップをさらに有する請求項23から25のいずれか一に記載の暗号化方法。
  27.  請求項19から26のいずれか一に記載の暗号化方法によって暗号化された暗号化情報を復号して情報とする復号化方法であって、
     暗号化情報を取得する暗号化情報取得ステップと、
     取得した暗号化情報を後述する逆変換ステップにて変換する単位である16バイト単位の単位化暗号化情報に単位化する逆変換用単位化ステップと、
     逆変換用単位化ステップにて単位化された単位化暗号化情報を前記変換ステップの変換とは逆変換することで逆変換済単位化情報とする逆変換ステップと、
     逆変換ステップにて得られた全ての逆変換済単位化情報を結合することで暗号化情報の元となる情報である元情報とする元情報結合ステップと、
    からなる計算機にて実行させる復号化方法。
PCT/JP2015/081756 2014-12-26 2015-11-11 暗号化装置 WO2016103952A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020177019281A KR20170094395A (ko) 2014-12-26 2015-11-11 암호화 장치
EP15872521.8A EP3239962A4 (en) 2014-12-26 2015-11-11 Encoding device
US15/539,961 US20170352296A1 (en) 2014-12-26 2015-11-11 Encoding device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2014266066A JP2016127405A (ja) 2014-12-26 2014-12-26 暗号化装置
JP2014-266066 2014-12-26

Publications (1)

Publication Number Publication Date
WO2016103952A1 true WO2016103952A1 (ja) 2016-06-30

Family

ID=56149986

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2015/081756 WO2016103952A1 (ja) 2014-12-26 2015-11-11 暗号化装置

Country Status (5)

Country Link
US (1) US20170352296A1 (ja)
EP (1) EP3239962A4 (ja)
JP (1) JP2016127405A (ja)
KR (1) KR20170094395A (ja)
WO (1) WO2016103952A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11731614B2 (en) 2017-07-25 2023-08-22 Hl Klemove Corp. Apparatus and method for controlling vehicle to avoid or mitigate collision
KR101932032B1 (ko) 2018-05-25 2018-12-24 주식회사 크립토랩 선형 길이의 암호문을 가지는 다항식 함수 암호화 방법

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005140823A (ja) * 2003-11-04 2005-06-02 Sony Corp 情報処理装置、制御方法、プログラム、並びに記録媒体
JP2010539535A (ja) * 2007-09-13 2010-12-16 イルデト・ビー・ヴイ コンテンツの暗号処理
US20120300922A1 (en) * 2009-12-30 2012-11-29 France Telecom Method of generating a correspondence table for a cryptographic white box

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7221763B2 (en) * 2002-04-24 2007-05-22 Silicon Storage Technology, Inc. High throughput AES architecture
US8879725B2 (en) * 2008-02-29 2014-11-04 Intel Corporation Combining instructions including an instruction that performs a sequence of transformations to isolate one transformation

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005140823A (ja) * 2003-11-04 2005-06-02 Sony Corp 情報処理装置、制御方法、プログラム、並びに記録媒体
JP2010539535A (ja) * 2007-09-13 2010-12-16 イルデト・ビー・ヴイ コンテンツの暗号処理
US20120300922A1 (en) * 2009-12-30 2012-11-29 France Telecom Method of generating a correspondence table for a cryptographic white box

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
S. CHOW ET AL.: "White-Box Cryptography and an AES Implementation", SELECTED AREAS IN CRYPTOGRAPHY: 9TH ANNUAL INTERNATIONAL WORKSHOP, vol. 2595, 15 August 2002 (2002-08-15), pages 1 - 18, XP002521155 *
See also references of EP3239962A4 *
TERUYOSHI YAMAGUCHI ET AL.: "Table Network-gata AES Jisso no Shin Shuho no Teian", 2008 NEN SYMPOSIUM ON CRYPTOGRAPHY AND INFORMATION SECURITY (SCIS 2008) YOKOSHU CD-ROM, 22 January 2008 (2008-01-22), pages 2A1 - 1, XP009503480 *

Also Published As

Publication number Publication date
KR20170094395A (ko) 2017-08-17
EP3239962A4 (en) 2018-05-09
US20170352296A1 (en) 2017-12-07
EP3239962A1 (en) 2017-11-01
JP2016127405A (ja) 2016-07-11

Similar Documents

Publication Publication Date Title
JP6732141B2 (ja) 変換鍵生成装置、暗号文変換装置、秘匿情報処理システム、変換鍵生成方法、変換鍵生成プログラム、暗号文変換方法及び暗号文変換プログラム
JP2022031105A (ja) プライバシー集合の共通部分を取得する方法及び装置、電子機器、記憶媒体並びにコンピュータプログラム
US20240045670A1 (en) Obfuscation for protection of streaming media and other data flows
KR100296958B1 (ko) 블록 데이터 암호화 장치
US7995750B2 (en) Privacy-preserving concatenation of strings
JP6135804B1 (ja) 情報処理装置、情報処理方法及びプログラム
WO2019114122A1 (zh) 登录信息的加密方法、装置、电子设备及介质
CN111866018B (zh) 数据信息加密发送方法、装置、计算机设备及存储介质
CN111010266B (zh) 消息的加解密、读写方法、装置、计算机设备和存储介质
Kazymyrov et al. Influence of addition modulo 2 n on algebraic attacks
CN110505054B (zh) 一种基于动态白盒的数据处理方法、装置及设备
JP6187624B1 (ja) 情報処理装置、情報処理方法及びプログラム
US6819764B1 (en) Data processor, communication system and recording medium
Renuka et al. Comparison of AES and des algorithms implemented on virtex-6 FPGA and Microblaze soft core processor
WO2016103952A1 (ja) 暗号化装置
de la Piedra et al. ACABELLA: Automated (Crypt) analysis of Attribute-Based Encryption Leveraging Linear Algebra
WO2015166701A1 (ja) 暗号化方法、プログラム、および、システム
CN111031322B (zh) 自同步混沌流密码的bmp图像加解密方法和设备
JP6292195B2 (ja) 情報処理装置及び情報処理方法
Buell Modern symmetric ciphers—Des and Aes
Shepherd A high speed software implementation of the Data Encryption Standard
CN112311529A (zh) 一种数据加密方法、解密方法以及数据库的数据处理方法
Mahmood et al. MATLAB Implementation of 128-key length SAFER+ Cipher System
Gomez et al. Performance evaluation of the present cryptographic algorithm over FPGA
JP7215245B2 (ja) 情報処理装置、情報処理方法及びプログラム

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: 15872521

Country of ref document: EP

Kind code of ref document: A1

DPE1 Request for preliminary examination filed after expiration of 19th month from priority date (pct application filed from 20040101)
NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 15539961

Country of ref document: US

ENP Entry into the national phase

Ref document number: 20177019281

Country of ref document: KR

Kind code of ref document: A

REEP Request for entry into the european phase

Ref document number: 2015872521

Country of ref document: EP