WO2015193969A1 - 利用者の所望する共通鍵暗号の鍵を同時若しくは暗号化後に配送する方法、プログラム、及びシステム - Google Patents

利用者の所望する共通鍵暗号の鍵を同時若しくは暗号化後に配送する方法、プログラム、及びシステム Download PDF

Info

Publication number
WO2015193969A1
WO2015193969A1 PCT/JP2014/066045 JP2014066045W WO2015193969A1 WO 2015193969 A1 WO2015193969 A1 WO 2015193969A1 JP 2014066045 W JP2014066045 W JP 2014066045W WO 2015193969 A1 WO2015193969 A1 WO 2015193969A1
Authority
WO
WIPO (PCT)
Prior art keywords
common key
integer
character string
alphanumeric symbol
key
Prior art date
Application number
PCT/JP2014/066045
Other languages
English (en)
French (fr)
Inventor
達哉 芳野
政行 板井
Original Assignee
中国電力株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 中国電力株式会社 filed Critical 中国電力株式会社
Priority to PCT/JP2014/066045 priority Critical patent/WO2015193969A1/ja
Priority to JP2016528689A priority patent/JP6489123B2/ja
Publication of WO2015193969A1 publication Critical patent/WO2015193969A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords

Definitions

  • the present invention relates to a common key delivery method, program, and system for delivering a common key desired by a user who creates a ciphertext simultaneously or afterwards.
  • Common key cipher is well known as Caesar cipher, but since the same key is used for encryption and decryption that have been used since BC, the key is shared in advance. Compared to public key cryptosystems, this common key cryptosystem performs encryption and decryption using a common key. Therefore, the algorithm is simple and the encryption speed is generally high. In order to cope with future increases in transmission speed, it is appropriate to adopt a common key encryption method.
  • DH key exchange method For key distribution / key sharing of common keys, for example, a Diffie-Hellman key exchange method (hereinafter also referred to as “DH key exchange method”) has been proposed as a secure key sharing (delivery) method.
  • Patent Document 1 describes a common key generation system and a common key distribution system that share a common key safely between two parties without passing a common key based on the DH key exchange method. Specifically, it is as follows.
  • the first terminal generates a radix A, a divisor B, and a first secret key S1, which are information for generating a common key, and generates a first intermediate based on the generated radix A, divisor B, and first secret key S1.
  • the key M1 is generated by the following (Formula 1).
  • a S1 X 1 ⁇ B + M 1 (Formula 1)
  • the first terminal transmits the generated radix A, divisor B, and the generated first intermediate key M 1 to the second terminal.
  • the second terminal generates the second secret key S2, and also generates the second intermediate key M2 based on the radix A and divisor B received from the first terminal and the generated second secret key S2 as follows ( Generated by equation 2).
  • a S2 X 2 ⁇ B + M 2 (Formula 2)
  • the second terminal transmits the generated second intermediate key M2 to the first terminal.
  • the first terminal can generate the common key C based on the received second intermediate key M2 and the generated divisor B and the first secret key S1 by the following (Equation 3). it can.
  • M 2 S1 Y 1 ⁇ B + C ( formula 3)
  • the second terminal can generate the common key C by the following (Equation 4) based on the received first intermediate key M1, divisor B, and generated second secret key S2.
  • M 1 S 2 Y 2 ⁇ B + C (Formula 4)
  • the common key C can be generated in each of the first terminal and the second terminal.
  • the common key can be safely shared between the two parties without passing the common key C between the first terminal and the second terminal.
  • a shared key can be similarly shared between a plurality of terminals of three or more by increasing the number of calculation rounds.
  • DH key exchange method information (document) is encrypted with a pre-shared secure key, sent via a communication path that may be wiretapped, and the receiver decrypts it with that key. Information is read and safety is ensured.
  • this key is automatically generated mechanically, and is not necessarily desired by the user and is not easily memorized by the user. Moreover, it is necessary to generate in advance.
  • the present invention has been made in view of such problems, and is an arbitrary key that is desired by the user who creates the ciphertext and is easy for the user to remember (for example, a password, a password, etc.) It is an object of the present invention to provide a common key distribution system, a common key distribution method, and a program that can be distributed together with an encrypted document or by e-mail or the like afterwards.
  • a common key distribution method for a computer device to create a first common key for encrypting plaintext and distribute key information to another computer device via a communication network comprising: A base common key storing step for generating a common key shared with the other computer device based on the Diffie-Hellman key exchange method in advance, and storing the generated common key as a base common key, and a character string desired by the user Alternatively, a first common key generation step for generating a first common key composed of numerical values and the first common key and the base common key are input, and a reversible conversion process is performed to generate a second common key. A second common key generation step, and the second common key, not the first common key, is transmitted to the other computer apparatus via the communication network.
  • the method comprising communicating step.
  • the first common key desired by the user who creates the ciphertext is used.
  • an arbitrary key for example, a password, a password, etc.
  • the key information is delivered using not the first common key but the second common key generated from the first common key and the base common key, the first common key is used unless the base common key is known. Therefore, the method of the present invention can ensure the same security as that of the Diffie-Hellman key exchange method.
  • the second common key K2 which is different from the first public key, can be delivered together with the ciphertext C or by e-mail or the like afterwards, ensuring the security of the delivery of the encryption key and the convenience of the user. Can be greatly improved.
  • the user can easily change the first common key every time the ciphertext is generated, and can easily realize further enhancement of the confidentiality of the ciphertext. Furthermore, it is possible to secure a higher level of security by appropriately recreating the base common key.
  • the first common key is a non-zero integer
  • the second common key is an integer
  • the second common key generation step uses the first common key and the base common key as inputs
  • a 16-digit numerical value is adopted as a key that is a first common key desired by the user who creates the ciphertext and is easy for the user to remember. Can do.
  • the first common key is an alphanumeric symbol character string composed of arbitrary alphanumeric symbol characters
  • the second common key is an integer
  • the second common key generation step includes the first common key generation step.
  • An integer conversion step for reversibly converting the alphanumeric symbol character string to the first integer, and the first integer calculated by the integer conversion step and the base common key as inputs,
  • the method according to (1) further comprising: calculating a first calculation processing step, wherein the second integer calculated by the first calculation processing step is used as a second common key.
  • a 7-digit alphanumeric symbol character is used as a key that is easy for the user to memorize as the first common key desired by the user who creates the ciphertext. Can be adopted.
  • the first common key and the second common key are alphanumeric symbol character strings each composed of alphanumeric symbol characters, and the second common key generation step is the first common key.
  • An integer conversion step for reversibly converting an alphanumeric symbol character string into a first integer, and the second integer is calculated using the first integer and the base common key calculated by the integer conversion step as inputs.
  • the second shared key has three different ones of the integer conversion unit 01, the second arithmetic processing unit 231, and the alphanumeric symbol character string conversion unit 02. Based on an independent conversion unit, it is generated as an alphanumeric character string. Accordingly, it becomes more difficult to calculate the first common key Ku from the second common key K2, and the safety can be increased.
  • the computer device receives a delivery from the other computer device of the first common key composed of a character string or a numerical value desired by the ciphertext creator for decrypting the ciphertext via the communication network.
  • a delivery from the other computer device of the first common key composed of a character string or a numerical value desired by the ciphertext creator for decrypting the ciphertext via the communication network.
  • the first common key is a non-zero integer
  • the second common key is an integer
  • the first common key acquisition step receives the second common key and the base common key as inputs
  • the method according to (5) further including a second calculation processing step for calculating an integer, wherein the first integer calculated by the second calculation processing step is used as a first common key.
  • the first common key is a first alphanumeric symbol character string composed of an arbitrary alphanumeric symbol character
  • the second common key is an integer
  • the first common key acquisition step includes the first common key acquisition step
  • a second arithmetic processing step for calculating a first integer using two common keys and the base common key as inputs, and the first integer calculated by the second arithmetic processing step as a first alphanumeric symbol character string
  • An alphanumeric symbol character string conversion step for reversibly converting to the first symbol key character string calculated by the alphanumeric symbol character string conversion step as a first common key The method according to (5).
  • the first common key and the second common key are alphanumeric symbol character strings each composed of alphanumeric symbol characters, and the first common key acquisition step is the second common key
  • An integer conversion step for reversibly converting an alphanumeric symbol character string to a second integer
  • a second operation processing step for calculating a first integer using the second integer and the base common key as inputs
  • An alphanumeric symbol character string conversion step for reversibly converting the first integer calculated in the second arithmetic processing step into a first alphanumeric symbol character string, and the alphanumeric symbol character string conversion step.
  • the calculated first alphanumeric symbol character string is used as a first common key.
  • the second shared key can be efficiently generated by adding the base shared key. Further, since the first common key cannot be calculated backward unless the base common key is known, it is possible to ensure the same security as in the Diffie-Hellman key exchange method.
  • the second common key can be efficiently generated by subtracting the base common key. Further, since the first common key cannot be calculated backward unless the base common key is known, the same level of security as in the Diffie-Hellman key exchange method can be ensured.
  • the integer conversion step for reversibly converting an alphanumeric symbol character string into an integer is a character / integer in which each alphanumeric symbol character is associated with each integer between 32 and 127 in a one-to-one relationship.
  • calculating an integer corresponding to the alphanumeric symbol character of each digit constituting the alphanumeric symbol character string, and each integer corresponding to the alphanumeric symbol character in each digit from 16 to 111 A step of shifting to the following integers, a step of calculating a 112-digit number in which each integer corresponding to the shifted alphanumeric symbol character in each digit is a digit value in a 112-digit number, and the calculated 112-digit number.
  • a first common key for encrypting a plaintext is created, and a first terminal is transmitted from the transmitting terminal device that delivers key information to the receiving terminal device and the key information delivered from the transmitting terminal device.
  • a common key distribution system including the receiving side terminal device for obtaining a common key, wherein the transmitting side terminal device previously shares a common key shared with the receiving side terminal device based on a Diffie-Hellman key exchange method.
  • a base common key storage unit that generates and stores the generated common key as a base common key, a first common key generation unit that generates a first common key composed of a character string or a numerical value desired by the user, A first common key and the base common key as inputs, performing a reversible conversion process and generating a second common key; a communication unit for communicating with the receiving terminal device;
  • the communication unit includes The second common key is transmitted to the receiving terminal device instead of the first common key, and the receiving terminal device shares in advance with the transmitting terminal device based on a Diffie-Hellman key exchange method.
  • a common key is generated, a base key storage unit that stores the generated common key as a base common key, and a second common key that is different from the first common key is received from the transmission side terminal device via the communication network. And a reversible conversion process using the second common key received from the transmitting terminal device via the communication unit and the base common key stored in the base key storage unit as input, and And a first common key acquisition unit that acquires a first common key.
  • the first common key is an integer that is not zero
  • the second common key is an integer
  • the second common key generation unit receives the first common key and the base common key as inputs
  • a first arithmetic processing unit that performs arithmetic processing and calculates a second integer
  • the second integer calculated by the first arithmetic processing unit is a second common key
  • the first common key acquisition unit is The second common key and the base common key as inputs
  • a second arithmetic processing unit that performs a second arithmetic processing and calculates a first integer
  • the first arithmetic unit calculated by the second arithmetic processing unit The common key distribution system according to (13), wherein the integer is a first common key.
  • the first common key is a first alphanumeric symbol character string composed of an arbitrary alphanumeric symbol character
  • the second common key is an integer
  • the second common key generation unit An integer conversion unit that reversibly converts the first common key into a first integer, the first integer calculated by the integer conversion unit and the base common key as inputs, and a first calculation process
  • a first arithmetic processing unit that calculates an integer of 2 wherein the second integer calculated by the first arithmetic processing unit is a second common key
  • the first common key acquisition unit includes the second arithmetic key
  • the second arithmetic processing is performed to calculate the first integer
  • the first integer calculated by the second arithmetic processing unit is the first
  • Common key distribution system having the constitution (13) to the alphanumeric symbol string calculated first by string conversion unit and the first common key.
  • the first common key is a first alphanumeric symbol character string composed of an arbitrary alphanumeric symbol character
  • the second common key is a second alphanumeric symbol character composed of an alphanumeric symbol character.
  • the second common key generation unit is an integer conversion unit that reversibly converts the first common key into a first integer; the first integer calculated by the integer conversion unit; and A first arithmetic processing unit that receives the base common key and performs a first arithmetic processing to calculate a second integer, and a second integer calculated by the first arithmetic processing unit is used as a second alphanumeric symbol character.
  • An alphanumeric symbol character string conversion unit reversibly converted into a sequence, and the second common symbol key character string calculated by the alphanumeric symbol character string conversion unit as a second common key, the first common
  • the key acquisition unit includes an integer conversion unit that reversibly converts the second common key into a second integer, and the integer conversion unit. Using the calculated second integer and the base common key as inputs, a second calculation process is performed to calculate a first integer, and the second calculation process unit calculates the first integer.
  • An alphanumeric symbol character string conversion unit that reversibly converts an integer of 1 into a first alphanumeric symbol character string, and the first alphanumeric symbol character string calculated by the alphanumeric symbol character string conversion unit
  • a terminal device that generates a first common key for encrypting plaintext and delivers key information to another terminal device via a communication network, based on a Diffie-Hellman key exchange method in advance.
  • Generating a common key shared with the other terminal device storing the generated common key as a base common key, and a first common key composed of a character string or a numerical value desired by the user
  • a communication unit for communicating with the terminal device, wherein the communication unit transmits the second common key instead of the first common key to the other terminal device.
  • the first common key is a non-zero integer
  • the second common key is an integer
  • the second common key generation unit receives the first common key and the base common key as inputs
  • a first arithmetic processing unit that performs arithmetic processing and calculates a second integer is included, and the second integer calculated by the first arithmetic processing unit is used as a second common key
  • the first common key is a first alphanumeric symbol character string composed of an arbitrary alphanumeric symbol character
  • the second common key is an integer
  • the second common key generation unit An integer conversion unit that reversibly converts the first common key into a first integer, the first integer calculated by the integer conversion unit and the base common key as inputs, and a first calculation process, And a first arithmetic processing unit that calculates an integer of 2, wherein the second integer calculated by the first arithmetic processing unit is used as a second common key. apparatus.
  • the second common key generation unit is an integer conversion unit that reversibly converts the first common key into a first integer; the first integer calculated by the integer conversion unit; and A first arithmetic processing unit that receives the base common key and performs a first arithmetic processing to calculate a second integer, and a second integer calculated by the first arithmetic processing unit is used as a second alphanumeric symbol character.
  • An alphanumeric symbol character string conversion unit that reversibly converts to a string, and the second alphanumeric symbol character string calculated by the alphanumeric symbol character string conversion unit is a second common key,
  • the terminal device (17).
  • a terminal device for receiving a first common key composed of a character string or a numerical value desired by a ciphertext creator for decrypting the ciphertext via a communication network from another terminal device.
  • a base key storage unit that generates a common key shared with the other terminal device based on the Diffie-Hellman key exchange method in advance, stores the generated common key as a base common key, and communicates from the other terminal device
  • a communication unit for receiving a second common key different from the first common key via the network, and the second common key and the base key received from the other terminal device via the communication unit
  • a terminal device comprising: a first common key acquisition unit that performs a reversible conversion process using a base common key stored in a storage unit as an input and acquires the first common key.
  • the first common key is a non-zero integer
  • the second common key is an integer
  • the first common key acquisition unit receives the second common key and the base common key as inputs
  • a second arithmetic processing unit that performs arithmetic processing and calculates a first integer is included, wherein the first integer calculated by the second arithmetic processing unit is used as a first common key
  • the first common key is a first alphanumeric symbol character string composed of an arbitrary alphanumeric symbol character
  • the second common key is an integer.
  • the second arithmetic processing is performed to calculate a first integer
  • the first integer calculated by the second arithmetic processing unit is An alphanumeric symbol character string conversion unit that reversibly converts the first alphanumeric symbol character string into a first alphanumeric symbol character string conversion unit, wherein the first alphanumeric symbol character string calculated by the alphanumeric symbol character string conversion unit is a first
  • a first common key acquisition unit that reversibly converts the second common key into a second integer; the second integer calculated by the integer conversion unit; and
  • a second arithmetic processing unit that receives the base common key as input and performs a second arithmetic processing to calculate a first integer; and the first integer calculated by the second arithmetic processing unit is a first alphanumeric symbol
  • An alphanumeric symbol character string conversion unit that reversibly converts to a character string, and the first alphanumeric symbol character string calculated by the alphanumeric symbol character string conversion unit is used as a first common key.
  • the transmission-side terminal is an arbitrary key that is desired by the user and is easy for the user to remember.
  • the information can be encrypted with a key (eg, password, personal identification number).
  • the key information is transmitted together with the encrypted document encrypted with the key desired by the user through an eavesdropping communication path (for example, the Internet) or after the key information is delivered by e-mail or the like afterwards. It can be safely shared between the side terminal and the receiving side terminal.
  • the program of the present invention is applied to a transmission side terminal and a reception side terminal, and realizes various functions in the transmission side terminal and the reception side terminal, respectively.
  • FIG. 1 is a diagram showing an overall outline of an information system 1 according to the first embodiment.
  • the information system 1 includes a transmission side terminal 10 and a reception side terminal 20.
  • the transmission side terminal 10 and the reception side terminal 20 are communicably connected by a communication network N configured by a computer network such as a LAN (Local Area Network) or the Internet.
  • a communication network N configured by a computer network such as a LAN (Local Area Network) or the Internet.
  • LAN Local Area Network
  • the information system 1 of FIG. 1 although the two-party system which consists of the transmission side terminal 10 and the reception side terminal 20 is described as an example, the information system 1 is between three or more arbitrary terminal devices.
  • the communication key may be communicably connected so as to distribute the common key.
  • a base common key Kb is generated and shared in advance based on, for example, the DH method.
  • the transmitting terminal 10 generates a desired first common key Ku (for example, a password, a personal identification number, etc.) that is a key desired by the user who is the sender and is easy for the user to remember, and uses known encryption.
  • the plaintext M is encrypted by means of the first common key Ku to generate a ciphertext C, and the ciphertext C is transmitted to the receiving terminal 20 by a known transmission means.
  • the transmission side terminal 10 performs a predetermined reversible calculation process F on the first common key Ku and the base common key Kb, generates a second common key K2, and delivers the second common key K2 to the reception side terminal.
  • the second common key K2 when transmitting the second common key K2, it may be transmitted as it is without being encrypted.
  • the order of transmission of the ciphertext C and delivery of the second common key K2 may be arbitrary.
  • the ciphertext C and the second common key K2 are received from the transmitting side terminal 10 by a known receiving means, and the second common key K2 and the base common key Kb are reversed to a predetermined reversible calculation process F.
  • the conversion process F- 1 is performed to obtain the first common key Ku
  • the plaintext M is obtained by decrypting the ciphertext C received from the transmitting terminal 10 using the first common key Ku by a known decryption means. .
  • the transmission-side terminal 10 and the reception-side terminal 20 are other devices such as a personal computer, a server, a notebook computer, a tablet terminal, a PDA, and a smartphone, and include an electronic device (computer device) having a communication function.
  • This embodiment is applied to a computer and its peripheral devices.
  • Each unit in the present embodiment is configured by hardware included in a computer and its peripheral devices, and software that controls the hardware.
  • the hardware includes a CPU as a control unit, a storage unit, a communication unit, a display unit, and an input unit.
  • the storage unit include a memory (RAM, ROM, etc.), a hard disk drive (HDD), and an optical disk (CD, DVD, etc.) drive.
  • the communication unit include various wired and wireless interface devices.
  • the display unit include various displays such as a liquid crystal display and a plasma display.
  • the input unit include a keyboard, a mouse, and a touch panel display.
  • the software includes computer programs and data for controlling the hardware.
  • the computer program and data are stored in the storage unit, and are appropriately executed and referenced by the control unit. Further, the computer program and data can be appropriately downloaded as necessary via a communication line, and can be recorded and distributed on a computer-readable medium such as a CD-ROM.
  • a CPU as a control unit included in each terminal device of the transmission side terminal 10 and the reception side terminal 20 causes each of the transmission side terminal 10 and the reception side terminal 20 to function as predetermined means by executing each program. Further, the CPU as a control unit included in each terminal device of the transmission side terminal 10 and the reception side terminal 20 executes each program, thereby executing a predetermined procedure on the transmission side terminal 10 and the reception side terminal 20, respectively.
  • FIG. 2 is a diagram illustrating a functional configuration of the transmission-side terminal 10 according to the first embodiment.
  • the transmission side terminal 10 previously generates a base key storage unit 11 for storing a base common key Kb shared with the reception side terminal 20 and a first common key generation for generating a first common key Ku for encrypting the plaintext M. Executes a predetermined reversible calculation process F with the unit 12, the base common key Kb stored in the base key storage unit 11 and the first common key Ku generated by the first common key generation unit 12 as inputs.
  • the second common key generation unit 13 that generates the second common key K2
  • the encryption unit 14 that encrypts the plaintext M using the first common key Ku to create the ciphertext C
  • the second common key And a transmission unit 15 that transmits the second common key K2 generated by the generation unit 13 to the reception-side terminal 20.
  • the encryption unit 14 and the transmission unit 15 employ a known encryption unit and a known transmission unit, respectively.
  • the base key storage unit 11 can store the base common key Kb that is securely generated between the two parties secretly without passing the common key based on, for example, a known DH key exchange method. .
  • the base common key Kb is an integer.
  • sharing is made between two parties including the transmission side terminal 10 and the reception side terminal 20, but as described above, the common key is not transferred based on the known DH key exchange method.
  • the base common key Kb that is securely generated among a plurality of arbitrary three or more terminal devices can be stored secretly.
  • the base key storage unit 11 stores the base common key Kb generated by, for example, known random number generation or the like in the transmitting terminal 10 without being based on the DH key exchange method.
  • the base common key Kb may be recorded on a recording medium, and the recording medium may be sent to the receiving terminal 20 by a secure method, and shared between the two parties.
  • the base key storage unit 11 may store the base common key Kb generated in the receiving terminal 20.
  • the first common key generation unit 12 receives and stores the first common key Ku, which is a key desired by the user, which is input by the user, via the input unit.
  • the first common key Ku is a single-byte alphanumeric symbol character string composed of single-byte alphanumeric symbol characters.
  • the half-width alphanumeric symbol character and the half-width alphanumeric symbol character string are also referred to as an alphanumeric symbol character and an alphanumeric symbol character string, respectively.
  • the second common key generation unit 13 performs a predetermined reversible calculation process F on the first common key Ku and the base common key Kb to generate a second common key K2.
  • K2 F (Ku, Kb) (Formula 5) Details of the second common key generation unit 13 will be described later.
  • the transmitting unit 15 transmits the second common key K2 generated by the second common key generating unit 13 to the receiving side terminal 20.
  • the transmission unit 15 for example, a known electronic mail can be used.
  • the second common key K2 can be transmitted as it is by e-mail or the like.
  • the second common key generation unit 13 adds an integer conversion unit 01 that converts an alphanumeric symbol character string composed of an arbitrary alphanumeric symbol character (for example, ASCII character) into a decimal integer, and two integers.
  • a first arithmetic processing unit 131 A first arithmetic processing unit 131.
  • the integer conversion unit 01 converts an alphanumeric symbol character string composed of arbitrary alphanumeric symbol characters (for example, ASCII characters) into a decimal integer.
  • “Space” has a decimal number of 32
  • a numeric character “0” has a decimal number of 48
  • an English letter “A” has a decimal number of 65
  • the letter “a” corresponds to the decimal number 97
  • the “Delete key” corresponds to the decimal number 127.
  • the integer conversion unit 01 uses an alphanumeric symbol character string based on the table (hereinafter referred to as “alphanumeric symbol character / decimal number correspondence table 03”) shown in FIG. Is converted to a decimal integer.
  • the alphanumeric symbol character / decimal number correspondence table 03 may be provided in the transmission-side terminal 10 or may be in an accessible location on the network, for example, on a server or cloud.
  • alphanumeric symbol character string K composed of seven alphanumeric symbol characters shown in (Equation 6) will be described.
  • the number of digits of the alphanumeric symbol character string K is necessary for those skilled in the art. It is a design matter that can be changed as appropriate.
  • K a 6 a 5 a 4 a 3 a 2 a 1 a 0 ( Equation 6)
  • a i means one alphanumeric symbol character. 0 ⁇ i ⁇ 6
  • the integer conversion unit 01 corresponds to each a i that is an alphanumeric symbol character constituting the alphanumeric symbol character string K based on the alphanumeric symbol character / decimal number correspondence table 03.
  • a decimal integer Xi 32 ⁇ Xi ⁇ 127) is acquired.
  • X i TR (a i ) (Formula 7)
  • TR (a i ) means a decimal number corresponding to the alphanumeric symbol character a i .
  • the integer conversion unit 01 calculates Yi (16 ⁇ Yi ⁇ 111) by subtracting 16 from the decimal integer Xi (32 ⁇ Xi ⁇ 127), respectively, as shown in (Expression 8).
  • Yi Xi-16 (Formula 8)
  • the integer conversion unit 01 converts a 112-digit number having Yi as the value of the i-th digit into a decimal number integer Z.
  • Z ⁇ (0 ⁇ i ⁇ 6) Yi * (112) i (Equation 9)
  • the integer conversion unit 01 can convert the alphanumeric symbol character string K into a decimal integer Z.
  • Z is Z ⁇ 221,067,981,971,086 It becomes an integer (decimal number display) that satisfies.
  • the second common key generation unit 13 adds a Delete key (corresponding to decimal number 127) at the head when the user specifies the first common key Ku with less than 7 alphanumeric characters. , 7 digits.
  • the first common key generation unit 12 generates a 7-digit alphanumeric symbol character string to the user as an input error if the alphanumeric symbol character string input by the user via the input unit is less than 7 digits. You may instruct to re-enter. By doing so, as shown in (Equation 10), the first common key Ku is made into a 7-digit alphanumeric symbol character string.
  • Ku a 6 a 5 a 4 a 3 a 2 a 1 a 0 ( Equation 10)
  • a i means one alphanumeric symbol character. 0 ⁇ i ⁇ 6
  • the second common key generation unit 13 converts the alphanumeric symbol character string Ku designated as the first common key Ku into a decimal integer Z by the integer conversion unit 01.
  • Z is Z ⁇ 221,067,981,971,086 It becomes an integer (decimal number display) that satisfies.
  • the second common key generation unit 13 adds the base common key Kb to the integer Z calculated by the integer conversion unit 01 by the first arithmetic processing unit 131 to obtain an integer.
  • Km is calculated.
  • Km Z + Kb (Formula 11)
  • the base common key Kb is generated in advance so as to be 778, 932, 018, 028, 913 or less, so that the value of the integer Km obtained by adding the base common key Kb to the integer Z is within 15 digits. It can be made to be a decimal number.
  • the second common key generation unit 13 can set the integer Km as the second common key K2 as shown in (Expression 12).
  • K2 Km (Formula 12)
  • the second common key generation unit 13 converts the first common key Ku (alphanumeric symbol character string) desired by the user input by the user into a decimal integer Z by the integer conversion unit 01.
  • the second common key K2 is calculated by converting and adding the base common key Kb to the decimal integer Z and calculating the integer Km by the first arithmetic processing unit 131.
  • the transmission side terminal 10 can create the ciphertext C by encrypting the plaintext M with the first common key Ku by using a known encryption / decryption means. Moreover, the transmission side terminal 10 can transmit the ciphertext C to the reception side terminal 20 by using known communication software such as e-mail. Further, as described above, the transmission side terminal 10 can transmit the second common key K2 to the reception side terminal 20 by using known communication software such as e-mail.
  • FIG. 2 is a diagram illustrating a functional configuration of the reception-side terminal 20 according to the first embodiment.
  • the consultation-side terminal 20 includes a base key storage unit 21 that stores a base common key Kb shared with the transmission-side terminal 10, a reception unit 22 that receives the second common key K2 from the transmission-side terminal 10, and a reception unit 22 in advance.
  • the first common key Ku is obtained by executing a reverse operation process of a predetermined reversible operation process using the second common key K2 received by the base key Kb and the base common key Kb stored in the base key storage unit 21 as inputs.
  • a first common key acquisition unit 23 to acquire.
  • the base key storage unit 21 can store the base common key Kb that is securely generated between the two parties secretly without passing the common key based on a known DH key exchange method, for example. .
  • the base common key Kb is an integer.
  • the base common key Kb that is securely generated among a plurality of any three or more terminal devices is secretly stored without passing the common key. be able to.
  • the base key storage unit 21 stores the base common key Kb generated by, for example, known random number generation or the like in the receiving terminal 20 without being based on the DH key exchange method. be able to.
  • the base common key Kb may be recorded on a recording medium, and the recording medium may be sent to the transmitting terminal 10 by a secure method, and shared between the two parties.
  • the base key storage unit 21 may store the base common key Kb generated in the transmitting terminal 10.
  • the receiving unit 22 receives from the transmitting side terminal 10 the second common key K2 calculated by the transmitting side terminal 10 by the second common key generating unit 13. For example, a known e-mail can be adopted as the receiving unit 22. When receiving the second common key K2 from the transmitting terminal 20, the second common key K2 can be received as it is by e-mail or the like.
  • the first common key acquisition unit 23 is an alphanumeric symbol character string conversion unit 02 that converts an arbitrary integer into an alphanumeric symbol character string composed of alphanumeric symbol characters, and a second operation that performs subtraction between two integers.
  • the alphanumeric symbol character string conversion unit 02 and the integer conversion unit 01 described above have a relationship in which one is an inverse function of the other.
  • the alphanumeric symbol character string conversion unit 02 converts an arbitrary integer Z into an alphanumeric symbol character string K composed of alphanumeric symbol characters.
  • the alphanumeric symbol character string conversion unit 02 corresponds to the inverse conversion of the integer conversion unit 01.
  • the alphanumeric symbol character string conversion unit 02 converts a decimal integer Z into a 112-digit number, as shown in (Equation 13).
  • Z ⁇ (0 ⁇ i ⁇ 6) Yi * (112) i (Formula 13)
  • the alphanumeric symbol character string conversion unit 02 adds 16 to each digit Yi (0 ⁇ Yi ⁇ 111) of the 112-ary number, and each digit Xi (16 ⁇ Xi ⁇ ). 127) is calculated.
  • Xi Yi + 16 (Formula 14)
  • the alphanumeric symbol character string conversion unit 02 converts ai , which is an alphanumeric symbol character corresponding to each Xi, based on the alphanumeric symbol character / number correspondence table 20.
  • a i TR ⁇ 1 (Xi) (16 ⁇ X i ⁇ 127)
  • TR ⁇ 1 (Xi) means a i that is an alphanumeric symbol character corresponding to the decimal number Xi.
  • the alphanumeric symbol character string K is a control code (hexadecimal number).
  • the control code may be handled as an exception to the alphanumeric symbol character constituting the second common key.
  • control + a printable character corresponding to an integer obtained by adding 64 to the numerical value
  • a control code may be written by adding a prefix expression.
  • DLE hexadecimal '10'
  • US hexadecimal '1F'
  • the second common key K2 received by the receiving unit 22 is assumed to be a decimal integer Km.
  • the first common key acquisition unit 23 uses the second arithmetic processing unit 231 to obtain the base common key Kb that is a decimal integer from the first intermediate key Km that is a decimal integer.
  • the second intermediate key Z which is a decimal integer, is calculated by subtraction.
  • Z Km ⁇ Kb (Formula 17)
  • the first common key acquisition unit 23 converts the second intermediate key Z, which is a decimal integer, into an alphanumeric symbol character string K composed of alphanumeric symbol characters by the alphanumeric symbol character string conversion unit 02.
  • a i means one alphanumeric symbol character. 0 ⁇ i ⁇ 6
  • the first common key Ku is generated by the first common key acquisition unit 23 in the reception side terminal 20. Can be obtained.
  • the functional configuration of the reception-side terminal 20 in the information system 1 has been described above.
  • the receiving side terminal 20 can create a plaintext M by decrypting the ciphertext C with the first common key Ku by using a known encryption / decryption means. Further, the receiving terminal 20 can receive the ciphertext C from the transmitting terminal 10 by using known communication software such as e-mail. In addition, as described above, the receiving terminal 10 can receive the second common key K2 from the transmitting terminal 10 by using known communication software such as e-mail.
  • FIG. 4 shows a process from the transmission side terminal 10 until the second common key K2 is generated based on an arbitrary first common key Ku desired by the user and easily remembered by the user and delivered to the reception side terminal 20.
  • 4 is a flowchart showing a flow of processing and a flow of processing in the receiving side terminal 20 until the first cipher key is acquired from the second common key K2 received simultaneously with or after the ciphertext from the transmitting side terminal 10; .
  • FIG. 4 the flow of processing in the information system 1 according to the first embodiment will be described.
  • step ST101 the base key storage unit 11 of the transmission side terminal 10 is securely shared with the base key storage unit 21 of the reception side terminal 20 secretly based on, for example, a known DH key exchange method.
  • the base common key Kb (integer) to be stored is stored.
  • the base key storage unit 21 of the reception-side terminal 20 is a base that is securely shared with the base key storage unit 11 of the transmission-side terminal 10 in a secret manner based on, for example, a known DH key exchange method.
  • the common key Kb (integer) is stored.
  • step ST102 the first common key generation unit 12 of the transmission side terminal 10 receives the first common key Ku, which is the key desired by the user, input by the user via the input unit, and stores it in the storage unit. Store.
  • step ST103 when the first common key Ku is designated with less than 7 digits of the alphanumeric symbol string, the second common key generation unit 13 of the transmission side terminal 10 starts with the Delete key (corresponding to the decimal number 127). To make it 7 digits.
  • step ST102 the first common key generation unit 12 of the transmission side terminal 10 receives the first common key Ku, which is a key desired by the user, via the input unit. Is less than 7 digits, an error may be prompted for the user to input again.
  • the number of digits is 7 digits, but the number of digits is not limited to 7 digits and can be set as appropriate.
  • step ST104 the second common key generation unit 13 of the transmission side terminal 10 converts the first common key Ku (alphanumeric symbol character string) into a decimal integer Z by the integer conversion unit 01.
  • the flow of processing related to the integer conversion unit 01 will be described later.
  • Step ST105 the second common key generation unit 13 of the transmission side terminal 10 adds the base common key Kb to the decimal integer Z by the first arithmetic processing unit 131 to calculate the decimal integer Km ( (See Equation 11).
  • step ST106 the transmitting terminal 10 transmits the decimal integer Km calculated in step ST105 to the receiving terminal 20 as the second common key K2.
  • step ST202 the receiving terminal 20 receives the second common key K2 (decimal integer) from the transmitting terminal 10.
  • step ST203 the first common key acquisition unit 23 subtracts the base common key Kb, which is a decimal integer, from the second common key K2, which is a decimal integer, by the second arithmetic processing unit 231.
  • a second intermediate key Z which is a decimal integer, is calculated (see (Equation 17)).
  • step ST204 the first common key obtaining unit 23 converts the second intermediate key Z, which is an integer of a decimal number, into a first common key Ku made up of alphanumeric symbol characters by the alphanumeric symbol character string conversion unit 02 ( (See Equation 18).
  • step ST301 the integer conversion unit 01, based on the alphanumeric symbol character / decimal number correspondence table 03, ai (0 ⁇ i ⁇ 6) which is an alphanumeric symbol character constituting each digit of the alphanumeric symbol character string K. Is obtained as a decimal integer Xi (32 ⁇ Xi ⁇ 127) (see (Expression 7)).
  • step ST302 the integer conversion unit 01 calculates a decimal integer Yi (16 ⁇ Yi ⁇ 111) by subtracting 16 from the decimal integer Xi (32 ⁇ Xi ⁇ 127), respectively (Equation 8). reference).
  • step ST303 the integer conversion unit 01 converts a 112-digit number having Yi as the value of the i-th digit into a decimal number integer Z (see (Equation 9)).
  • step ST401 the alphanumeric character string conversion unit 02 converts the decimal integer Z into a 112-digit number (see (Equation 13)).
  • step ST402 the alphanumeric symbol character string conversion unit 02 adds 16 to each digit Yi (0 ⁇ Yi ⁇ 111) of the 112 base number calculated in step ST401, and adds each digit Xi (16 ⁇ Xi ⁇ 127). Calculate (see (Equation 14)).
  • step ST 403 alphanumeric symbol string conversion section 02, based on alphanumeric symbol characters and numerals correspondence table 20, corresponding to each Xi, acquires a i is alphanumeric symbol characters ((Equation 15) see ).
  • step ST404 the alphanumeric symbol character string conversion unit 02 arranges each ai that is an alphanumeric symbol character from the right in ascending order to obtain an alphanumeric symbol character string K (see (Equation 16)). .
  • step ST405 the alphanumeric symbol character string conversion unit 02 adds a “control +” ( ⁇ ) to the corresponding printable character among the ai which is an alphanumeric symbol character, thereby adding a control code to the corresponding printable character. Is used to calculate the second common key K2.
  • the information system 1 has the following effects.
  • the user After sharing the base common key Kb between the transmitting side terminal 10 and the receiving side terminal 20, the user can select an arbitrary key (the first key that is desired by the user and is easy for the user to remember) It is only necessary to encrypt the plaintext M with the common key Ku) and transmit the second common key K2 from the transmission side terminal to the reception side terminal.
  • the user encrypts the plaintext M with an arbitrary key (for example, password, personal identification number, etc.) that is desired by the user and is easy for the user to memorize, and converts the ciphertext C into It can be created and the convenience for the user can be improved.
  • an arbitrary key for example, password, personal identification number, etc.
  • the second common key K2 different from the key desired by the user can be delivered together with the ciphertext C or afterwards by e-mail or the like, and the security of the delivery of the encryption key can be ensured.
  • the user can easily change the first common key Ku every time the ciphertext is generated, and can easily realize the secrecy of the ciphertext.
  • the second common key generation unit 12 of the transmitting terminal 10 uses the integer value obtained by converting the first common key Ku (alphanumeric symbol character string) by the integer conversion unit 01 as the second common key K2.
  • the second common key generation unit (hereinafter referred to as “second common key generation unit 13A”) of the transmission side terminal 10 further converts the integer value converted by the integer conversion unit 01 into an alphanumeric symbol character.
  • the column conversion unit 02 converts it to an alphanumeric symbol character string and sets the alphanumeric symbol character string as the second common key K2.
  • first common key acquisition unit 23 ⁇ / b> A the first common key acquisition unit (hereinafter referred to as “first common key acquisition unit 23 ⁇ / b> A”) of the reception-side terminal 20 is connected to the second common key generation unit 13 ⁇ / b> A of the transmission-side terminal 10.
  • the first common key Ku is acquired from the common key K2 (alphanumeric symbol character string).
  • FIG. 7 shows a functional configuration of the transmission side terminal 10 according to the second embodiment.
  • the transmission side terminal 10 is obtained by replacing the second common key generation unit 13 of the first embodiment with a second common key generation unit 13A.
  • the function of each part of the transmission side terminal 10 of the second embodiment is the same as the function of each part of the transmission side terminal 10 of the first embodiment except for the second common key generation part 13A.
  • the components other than the part 13A are denoted by the same reference numerals and description thereof is omitted.
  • the process of the second common key generation unit 13A will be described.
  • symbol is attached
  • the second common key generation unit 13A includes an integer conversion unit 01 that converts an alphanumeric symbol character string composed of an arbitrary alphanumeric symbol character (for example, ASCII character) into a decimal integer, and an arbitrary integer as an alphanumeric character.
  • An alphanumeric symbol character string conversion unit 02 that converts an alphanumeric symbol character string composed of symbol characters and a first arithmetic processing unit 131 that adds two integers are included.
  • the second common key generation unit 13A converts the alphanumeric symbol character string Ku designated as the first common key Ku into a decimal integer Z by the integer conversion unit 01.
  • the second common key generation unit 13A adds the base common key Kb to the integer Z calculated by the integer conversion unit 01 by the first arithmetic processing unit 131 to obtain an integer.
  • Km (referred to as “first intermediate key Km”) is calculated.
  • Km Z + Kb (Formula 19)
  • the second common key generation unit 13A converts the first intermediate key Km into an alphanumeric symbol character string K by the alphanumeric symbol character string conversion unit 02.
  • the second common key generation unit 13A sets the converted alphanumeric symbol character string K as the second common key K2 as shown in (Equation 20).
  • K2 K (Formula 20)
  • the second common key generation unit 13A of the transmission side terminal 10 obtains the first common key Ku (alphanumeric symbol character string) desired by the user and input by the user.
  • the integer conversion unit 01 converts it to a decimal integer Z
  • the first arithmetic processing unit 131 adds the base common key Kb to the decimal integer Z to calculate the first intermediate key Km.
  • the column conversion unit 02 calculates the second common key K2 by converting the first intermediate key Km into an alphanumeric symbol character string.
  • FIG. 7 shows a functional configuration of the receiving terminal 20 according to the second embodiment.
  • the receiving side terminal 20 is obtained by replacing the first common key acquisition unit 23 of the first embodiment with a first common key acquisition unit 23A.
  • the function of each part of the receiving side terminal of the second embodiment is the same as the function of each part of the receiving side terminal of the first embodiment except for the first common key acquiring part 23A, and therefore the first common key acquiring part 23A.
  • Other configurations are denoted by the same reference numerals, and description thereof is omitted.
  • the process of the first common key acquisition unit 23A will be described.
  • symbol is attached
  • the first common key acquisition unit 23A includes an integer conversion unit 01, an alphanumeric symbol character string conversion unit 02, and a second arithmetic processing unit 231 that performs subtraction between two integers.
  • the first common key acquisition unit 23A causes the integer conversion unit 01 to convert the second common key K2 that is an alphanumeric symbol character string made up of alphanumeric symbol characters into the first intermediate key Km that is a decimal integer.
  • the first common key acquisition unit 23A uses the second arithmetic processing unit 231 to generate a base common that is a decimal integer from the first intermediate key Km that is a decimal integer.
  • the key Kb is subtracted to calculate a second intermediate key Z that is a decimal integer.
  • Z Km ⁇ Kb (Formula 21)
  • the first common key acquisition unit 23A converts the second intermediate key Z, which is a decimal integer, into an alphanumeric symbol character string K composed of alphanumeric symbol characters by the alphanumeric symbol character string conversion unit 02.
  • the first common key acquisition unit 23A sets the alphanumeric symbol character string K as the first common key Ku when the head of the alphanumeric symbol character string K is not the Delete key (corresponding to the decimal number 127) (Formula 22).
  • Ku a 6 a 5 a 4 a 3 a 2 a 1 a 0 ( Equation 22)
  • a i means one alphanumeric symbol character. 0 ⁇ i ⁇ 6
  • the head of the alphanumeric symbol character string K is the Delete key (corresponding to the decimal number 127)
  • by deleting the continuous Delete key from the head Delete key (corresponding to the decimal number 127)
  • the head is changed.
  • An alphanumeric symbol character string of less than 7 digits that is an alphanumeric symbol character other than the Delete key is calculated, and the alphanumeric symbol character string is set as the first common key Ku.
  • the second common key K2 (alphanumeric symbol character string) is generated by the second common key generation unit 13A in the transmission side terminal 10
  • the second common key generation unit 13A in the transmission side terminal 10 The first common key Ku can be acquired by the 1 common key acquisition unit 23A.
  • the transmission side terminal 10 generates a second common key K2 based on an arbitrary first common key Ku desired by the user and easy for the user to remember, and delivers it to the reception side terminal 20.
  • the flow of a process and the flow of a process in the receiving side terminal 20 until it acquires a 1st encryption key from the 2nd common key K2 received simultaneously with a ciphertext from the transmission side terminal 10 after the fact are shown.
  • FIG. 8 the flow of processing in the information system 1 according to the second embodiment will be described.
  • the base key storage unit 11 of the transmission side terminal 10 is, for example, a base that is securely shared with the base key storage unit 21 of the reception side terminal 20 based on a known DH key exchange method.
  • the common key Kb (integer) is stored.
  • the base key storage unit 21 of the reception side terminal 20 is a base shared secretly with the base key storage unit 11 of the transmission side terminal 10 in a secret manner based on, for example, a known DH key exchange method.
  • the common key Kb (integer) is stored.
  • step ST_A102 the first common key generation unit 12 of the transmission side terminal 10 receives the first common key Ku, which is the key desired by the user, input by the user via the input unit, and stores it in the storage unit. Store.
  • step ST_A103 the second common key generation unit 13A of the transmission side terminal 10 starts the Delete key (corresponding to the decimal number 127) when the first common key Ku is designated with less than 7 alphanumeric symbol strings. To make it 7 digits.
  • step ST_A102 the first common key generation unit 12A of the transmission side terminal 10 receives the first common key Ku, which is a key desired by the user, via the input unit. Is less than 7 digits, an error may be prompted for the user to input again. Further, as an example, when the first common key Ku is an alphanumeric symbol character string, the number of digits is 7 digits, but the number of digits is not limited to 7 digits and can be set as appropriate.
  • step ST_A104 the second common key generation unit 13A of the transmission side terminal 10 converts the first common key Ku (alphanumeric symbol character string) into a decimal integer Z by the integer conversion unit 01.
  • step ST_A105 the second common key generation unit 13A of the transmission side terminal 10 adds the base common key Kb to the decimal integer Z by the first arithmetic processing unit 131, and adds a decimal integer (first intermediate key). Km) is calculated (see (Equation 19)).
  • step ST_A106 the second common key generation unit 13A of the transmission side terminal 10 converts the decimal integer (first intermediate key Km) to the second common key K2 (alphanumeric symbol character by the alphanumeric symbol character string conversion unit 02. Column) (see (Equation 20)).
  • step ST_A107 the transmitting terminal 10 transmits the second common key K2 calculated in step ST_A106 to the receiving terminal 20.
  • step ST_A202 the receiving side terminal 20 receives the second common key K2 from the transmitting side terminal 10.
  • step ST_A203 the first common key acquisition unit 23A of the receiving terminal 20 uses the integer conversion unit 01 to convert the second common key K2 that is an alphanumeric symbol character string made up of alphanumeric symbol characters to a decimal integer.
  • the first intermediate key Km is converted.
  • step ST_A204 the first common key acquisition unit 23A subtracts the base common key Kb, which is a decimal integer, from the first intermediate key Km, which is a decimal integer, by the second arithmetic processing unit 231.
  • a second intermediate key Z that is an integer of a decimal number is calculated (see (Expression 21)).
  • step ST_A205 the first common key acquisition unit 23A converts the second intermediate key Z, which is an integer in decimal, into a first common key Ku made up of alphanumeric symbol characters by the alphanumeric symbol character string conversion unit 02 ( (See Equation 22).
  • the first common key Ku is generated as an alphanumeric character string by three different independent conversion units: the integer conversion unit 01, the second arithmetic processing unit 231, and the alphanumeric symbol character string conversion unit 02. To do. Thereby, it is more difficult to calculate the first common key Ku from the second common key K2, compared to the first embodiment, and the safety can be increased.
  • the first common key generation unit 12 of the transmission side terminal 10 is the alphanumeric symbol character string, but in the third embodiment, the first common key Ku is an integer. That is, the first common key generation unit 12 (hereinafter referred to as “first common key generation unit 12C”) of the transmission side terminal 10 serves as a key desired by the user input by the user via the input unit. Receive and store the first common key Ku. The first common key Ku is an integer.
  • first common key generation unit 12C the same components as those in the first embodiment are denoted by the same reference numerals, and the description thereof is omitted.
  • FIG. 9 shows a functional configuration of the transmitting terminal 10 according to the third embodiment.
  • the transmission side terminal 10 is obtained by replacing the first common key generation unit 12 and the second common key generation unit 13 of the first embodiment with a first common key generation unit 12B and a second common key generation unit 13B, respectively. It becomes.
  • the function of each part of the transmission side terminal 10 of 2nd Embodiment is the same as the function of each part of the transmission side terminal 10 of 1st Embodiment except the 1st common key generation part 12B and the 2nd common key generation part 13B. Therefore, the components other than the first common key generation unit 12B and the second common key generation unit 13B are denoted by the same reference numerals and description thereof is omitted.
  • the function of the second common key generation unit 13B will be described.
  • symbol is attached
  • the second common key generation unit 13B includes a first arithmetic processing unit 131 that adds two integers.
  • the second common key generation unit 13B uses the first arithmetic processing unit 131 to obtain the base common key Kb for the first common key Ku (integer) desired by the user input by the user.
  • the second common key K2 is calculated by adding and calculating the integer Km.
  • FIG. 9 shows a functional configuration of the receiving terminal 20 according to the third embodiment.
  • the consultation-side terminal 20 is obtained by replacing the first common key acquisition unit 23 of the first embodiment with a first common key acquisition unit 23B.
  • the function of each part of the receiving side terminal of the third embodiment is the same as the function of each part of the receiving side terminal of the first embodiment except for the first common key acquiring part 23B, and therefore the first common key acquiring part 23B.
  • Other configurations are denoted by the same reference numerals, and description thereof is omitted.
  • the process of the 1st common key acquisition part 23B is demonstrated.
  • symbol is attached
  • the first common key acquisition unit 23B includes a second arithmetic processing unit 231 that performs subtraction between two integers.
  • the first common key acquisition unit 23B subtracts the base common key Kb, which is an integer in decimal, from the second common key K2 by the second arithmetic processing unit 231.
  • the second intermediate key Z that is an integer is calculated, and the integer Z is set as the first common key Ku.
  • Z K2 ⁇ Kb (Formula 24)
  • the second common key K2 (alphanumeric symbol character string) is generated by the second common key generation unit 13B in the transmission side terminal 10
  • the second common key generation unit 13B in the transmission side terminal 10 The first common key Ku can be acquired by the 1 common key acquisition unit 23B.
  • the transmission side terminal 10 generates a second common key K2 based on an arbitrary first common key Ku desired by the user and easy for the user to remember, and delivers it to the reception side terminal 20.
  • the flow of processing and the flow of processing until the first encryption key is acquired from the second common key K2 received at the reception side terminal 20 simultaneously or after the ciphertext from the transmission side terminal 10 are shown.
  • FIG. 10 the flow of processing in the information system 1 according to the third embodiment will be described.
  • step ST_B101 the base key storage unit 11 of the transmission side terminal 10 is secretly shared with the base key storage unit 21 of the reception side terminal 20 in a secret manner based on, for example, a known DH key exchange method.
  • the common key Kb (integer) is stored.
  • the base key storage unit 21 of the reception side terminal 20 is a base that is securely shared with the base key storage unit 11 of the transmission side terminal 10 in a secret manner based on, for example, a known DH key exchange method.
  • the common key Kb (integer) is stored.
  • step ST_B102 the first common key generation unit 12B of the transmission side terminal 10 receives the first common key Ku (integer), which is the key desired by the user, input by the user, via the input unit, Store in the storage.
  • Ku integer
  • step ST_B103 the second common key generation unit 13B of the transmission side terminal 10 adds the base common key Kb (integer) to the first common key Ku (integer) by the first arithmetic processing unit 131, and the decimal number An integer Z is calculated and set as the second common key K2.
  • step ST_B104 the transmitting side terminal 10 transmits the second common key K2 calculated in step ST_B103 to the receiving side terminal 20.
  • step ST_B202 the receiving side terminal 20 receives the second common key K2 from the transmitting side terminal 10.
  • step ST_B203 the first common key acquisition unit 23B of the receiving terminal 20 uses the second arithmetic processing unit 231 to obtain the base common key Kb that is a decimal integer from the second common key K2 that is a decimal integer.
  • the decimal integer Z is calculated by subtraction, and the integer Z is set as the first common key Ku.
  • the second common key generation unit 13B of the transmission side terminal 10 calculates the second common key K2 by a simple addition operation of the first common key Ku and the base common key Kb.
  • the first common key acquisition unit 23B calculates the first common key Ku by a simple subtraction operation between the second common key K2 and the base common key Kb.
  • the integer conversion unit 01 and the alphanumeric symbol character string conversion unit 02 apply 112-digit numbers, but 96-digit numbers may be applied instead of 112-digit numbers.
  • an integer conversion unit hereinafter referred to as “integer conversion unit 01A”
  • an alphanumeric symbol character string conversion unit 02A using 96-digit numbers are It is as follows.
  • the integer conversion unit 01A As shown in (Equation 7), the integer conversion unit 01A, like the integer conversion unit 01, is based on the alphanumeric symbol character / decimal number correspondence table 03, and the alphanumeric symbol characters constituting the alphanumeric symbol character string K. A decimal integer Xi (32 ⁇ Xi ⁇ 127) corresponding to each a i is obtained.
  • the integer conversion unit 01A converts a 96-digit number having Yi as the value of the i-th digit into a decimal integer Z.
  • Z ⁇ (0 ⁇ i ⁇ 6) Yi * (96) i (Formula 26)
  • the integer conversion unit 01A can convert the alphanumeric symbol character string K into a decimal integer Z.
  • Z is Z ⁇ 75, 144, 747, 810, 815 It becomes an integer (decimal number display) that satisfies.
  • the alphanumeric symbol character string conversion unit 02A converts a decimal integer Z into a 96-digit number, as shown in (Expression 27).
  • Z ⁇ (0 ⁇ i ⁇ 6) Yi * (96) i (Formula 27)
  • the alphanumeric symbol character string conversion unit 02A converts ai , which is an alphanumeric symbol character corresponding to each Xi, based on the alphanumeric symbol character / number correspondence table 20 as shown in (Equation 29).
  • a i TR ⁇ 1 (Xi) (16 ⁇ X i ⁇ 127)
  • TR ⁇ 1 (Xi) means a i that is an alphanumeric symbol character corresponding to the decimal number Xi.
  • the integer conversion unit 01A and the alphanumeric symbol character string conversion unit 02A corresponding to the inverse conversion have been described above.
  • an integer conversion unit 01A and an alphanumeric symbol character string conversion unit 02A may be employed, respectively. Good.
  • the first calculation processing unit 131 of the transmission side terminal 10 performs, for example, subtraction ( ⁇ ), multiplication (*), and division instead of performing addition calculation.
  • Four arithmetic operations such as (/) may be employed.
  • the second arithmetic processing unit 231 of the receiving terminal 20 is configured to perform the reverse arithmetic processing of the first arithmetic processing unit 131 of the transmitting terminal 10.
  • the first operation processing unit 131 of the transmission side terminal adopts a logical operation such as exclusive OR of bits, for example. May be.
  • the second arithmetic processing unit 231 of the first common key acquisition unit 23 of the receiving terminal 20 is configured to perform exclusive OR of the bit string of the base common key Kb on the bit string of the second common key K2.
  • the first common key Ku can be calculated.

Abstract

 利用者の所望する覚えやすい共通鍵を同時若しくは暗号化後に配送すること。 予め、送信者と受信者との間でDiffie-Hellman鍵交換方式でベース共通鍵を共有しておき、送信者は暗号文作成のために送信者自身の所望する覚えやすい第1共通鍵を生成し、第1共通鍵により平文を暗号化する。送信者は、第1共通鍵とベース共通鍵とを加算して生成した第2共通鍵を受信者に暗号文と同時若しくは事後に配送する。すると、受信者は、配送された第2共通鍵から事前に共有したベース共通鍵を減算して、第1共通鍵を算出し、第1共通鍵により暗号文を復号する。

Description

利用者の所望する共通鍵暗号の鍵を同時若しくは暗号化後に配送する方法、プログラム、及びシステム
 本発明は、暗号文を作成する利用者の所望する共通鍵を同時若しくは事後に配送する共通鍵配送に係る方法、プログラム、及びシステムに関する。
 近年、インターネット等のネットワークをデータの交換手段として利用することが急速に広まっている。しかしながら、インターネット等のネットワークでは、データを交換する際に複数のサーバ及び通信回線を経由してデータが転送される。第3者に知られることなく、安全に2者間、若しくはそれ以上の間で安全な通信を行うために、データを暗号化して伝送されることがよく行われる。
 共通鍵暗号は、シーザー暗号でよく知られるが、紀元前から利用されている、暗号と復号を同じ鍵で行うため、鍵を事前共有する。
 この共通鍵暗号方式は、公開鍵暗号方式に比べ、共通鍵を用いて暗号化及び復号を行うので、アルゴリズムが簡易であり、一般的に暗号化スピードが早いという長所があるため、通常トラフィックデータに対する暗号化方式として、今後の伝送路の高速化に対応するためにも、共通鍵暗号方式を採用するのがふさわしい。
 共通鍵の鍵配送・鍵共有については、例えば、安全な鍵の共有(配送)の方法として、Diffie-Hellman鍵交換方式(以下、「DH鍵交換方式」ともいう)が提案されている。
 特許文献1には、DH鍵交換方式に基づいて、共通鍵の受け渡しを行わずに、2者間で安全に共通鍵を共有する共通鍵生成システム及び共通鍵配送システムが記載されている。具体的には、以下のとおりである。
 第1の端末は、共通鍵を生成する情報となる基数A、除数B、及び第1秘密鍵S1を生成し、生成した基数A、除数B、及び第1秘密鍵S1に基づいて第1中間鍵M1を、以下の(式1)により生成する。
  AS1 = X・B + M             (式1)
 第1の端末は、生成した基数A、除数B、及び生成した第1中間鍵Mを第2の端末に送信する。
 第2の端末は、第2秘密鍵S2を生成すると共に、第1の端末から受信した基数A及び除数B、並びに生成した第2秘密鍵S2に基づいて第2中間鍵M2を、以下の(式2)により生成する。
  AS2 = X・B + M             (式2)
 第2の端末は、生成した第2中間鍵M2を第1の端末に送信する。
 そうすることで、第1の端末は、受信した第2中間鍵M2、並びに生成した除数B及び第1秘密鍵S1に基づいて、共通鍵Cを、以下の(式3)により生成することができる。
  M S1 = Y・B +C             (式3)
 同様に、第2の端末は、受信した第1中間鍵M1、除数B、生成した第2秘密鍵S2に基づいて、共通鍵Cを、以下の(式4)により生成することができる。
  M S2 = Y・B +C             (式4)
 このように、第1の端末及び第2の端末それぞれにおいて共通鍵Cを生成することができる。第1の端末と第2の端末との間で共通鍵Cの受け渡しを行うことなく、2者間で安全に共通鍵を共有することができる。
 なお、3以上の複数の端末間においても、計算のラウンドを増やすことで、同様に安全に共有鍵を共有することができる。
特許第5253456号
 DH鍵交換方式によれば、『事前に』共有した安全な鍵で情報(文書)を暗号化して、盗聴されるかもしれない通信路で送付し、受信者はその鍵で復号化することで情報を読み取り、安全性が確保される。
 しかしながら、この鍵は、機械的に自動生成されるものであり、必ずしも利用者が所望したものではなく、利用者自身が覚えやすいものでもない。また、事前に生成する必要がある。
 本発明は、このような問題に鑑みてなされたものであり、暗号文を作成する利用者の所望した鍵であって、利用者自身が覚えやすい任意の鍵(例えば、パスワード、暗証番号等)を暗号化文書と共に或いは事後でも電子メール等により配送することを可能とする、共通鍵配送システム、共通鍵配送方法、及びプログラムを提供することを目的とする。
(1)コンピュータ装置が平文を暗号化するための第1共通鍵を作成し、通信ネットワークを介して鍵情報を他のコンピュータ装置に配送するための共通鍵配送方法であって、コンピュータ装置が、予め、Diffie-Hellman鍵交換方式に基づいて前記他のコンピュータ装置と共有する共通鍵を生成し、生成した共通鍵をベース共通鍵として格納するベース共通鍵格納ステップと、利用者の所望する文字列又は数値から構成される第1共通鍵を生成する第1共通鍵生成ステップと、前記第1共通鍵及び前記ベース共通鍵を入力として、可逆的な変換処理を行い、第2共通鍵を生成する第2共通鍵生成ステップと、前記通信ネットワークを介して、前記他のコンピュータ装置に対して前記第1共通鍵ではなく前記第2共通鍵を送信する通信ステップと、を含む方法。
(1)本発明の方法においては、Diffie-Hellman鍵交換方式により自動的に生成される共通鍵(ベース共通鍵)を使用する代わりに、暗号文を作成する利用者の所望した第1共通鍵であって、利用者自身が覚えやすい任意の鍵(例えば、パスワード、暗証番号等)を使用することができ、利用者の利便性を大いに向上させる。他方、鍵情報については、第1共通鍵ではなく、第1共通鍵及び前記ベース共通鍵から生成される第2共通鍵を用いて配送するため、ベース共通鍵を知らない限り、第1共通鍵を取得することはできないことから、本発明の方法は、Diffie-Hellman鍵交換方式の場合と同等の安全性を確保することができる。
 さらに、第1公開鍵とは異なる第2共通鍵K2を暗号文Cと共に或いは事後でも電子メール等により配送することができ、暗号鍵の配送についても安全性を担保すると共に、利用者の利便性を大いに向上させることができる。
 また、利用者は、暗号文を生成する毎に、毎回、第1共通鍵を容易に変更することができ、暗号文の秘匿性をより高めることを容易に実現できる。
 さらに、ベース共通鍵を適宜再作成することで、セキュリティをより高度に確保することもできる。
(2)前記第1共通鍵がゼロでない整数、前記第2共通鍵が整数であって、前記第2共通鍵生成ステップは、前記第1共通鍵及び前記ベース共通鍵を入力として、第2の整数を算出する第1演算処理ステップを含み、前記第1演算処理ステップにより算出された前記第2の整数を第2共通鍵とすることを特徴とする(1)に記載の方法。
(2)このようにすることで、本発明において、暗号文を作成する利用者の所望した第1共通鍵であって、利用者自身が覚えやすい鍵として、例えば16桁の数値を採用することができる。
(3)前記第1共通鍵が任意の英数記号文字から構成される英数記号文字列、前記第2共通鍵が整数であって、前記第2共通鍵生成ステップは、前記第1共通鍵である英数記号文字列を第1の整数に可逆的に変換する整数変換ステップと、前記整数変換ステップにより算出された前記第1の整数及び前記ベース共通鍵を入力として、第2の整数を算出する第1演算処理ステップと、を含み、前記第1演算処理ステップにより算出された前記第2の整数を第2共通鍵とすることを特徴とする(1)に記載の方法。
(3)このようにすることで、本発明において、暗号文を作成する利用者の所望した第1共通鍵であって、利用者自身が覚えやすい鍵として、例えば7桁の英数記号文字を採用することができる。
(4)前記第1共通鍵、及び前記第2共通鍵がそれぞれ英数記号文字から構成される英数記号文字列であって、前記第2共通鍵生成ステップは、前記第1共通鍵である英数記号文字列を第1の整数に可逆的に変換する整数変換ステップと、前記整数変換ステップにより算出された前記第1の整数及び前記ベース共通鍵を入力として、第2の整数を算出する第1演算処理ステップと、前記第1演算処理ステップにより算出された第2の整数を第2の英数記号文字列に可逆的に変換する英数記号文字列変換ステップと、を含み、前記英数記号文字列変換ステップにより算出された第2の英数記号文字列を第2共通鍵とすることを特徴とする(1)に記載の方法。
(4)第2共通鍵をこのようにすることで、本発明においては、第2共有鍵は整数変換部01、第2演算処理部231、及び英数字記号文字列変換部02の3つの異なる独立した変換部に基づき、英数字文字列として生成されることになる。
 これにより、第2共通鍵K2から、第1共通鍵Kuを算出することが、より困難になり、安全性を増すことができる。
(5)コンピュータ装置が、通信ネットワークを介して暗号文を復号化するための、暗号文作成者の所望する文字列又は数値から構成される第1共通鍵を他のコンピュータ装置から、配送を受けるための方法であって、コンピュータ装置が、予め、Diffie-Hellman鍵交換方式に基づいて前記他のコンピュータ装置と共有する共通鍵を生成し、生成した共通鍵をベース共通鍵として格納するベース共通鍵格納ステップと、前記他のコンピュータ装置から通信ネットワークを介して、前記第1共通鍵とは異なる第2共通鍵を受信するステップと、前記他のコンピュータ装置から受信した前記第2共通鍵及び前記ベース共通鍵を入力として、可逆的な変換処理を行い、前記第1共通鍵を取得する第1共通鍵取得ステップと、を含む、方法。
(6)前記第1共通鍵がゼロでない整数、前記第2共通鍵が整数であって、前記第1共通鍵取得ステップは、前記第2共通鍵及び前記ベース共通鍵を入力として、第1の整数を算出する第2演算処理ステップを含み、前記第2演算処理ステップにより算出された前記第1の整数を第1共通鍵とすることを特徴とする(5)に記載の方法。
(7)前記第1共通鍵が任意の英数記号文字から構成される第1の英数記号文字列、前記第2共通鍵が整数であって、前記第1共通鍵取得ステップは、前記第2共通鍵及び前記ベース共通鍵を入力として、第1の整数を算出する第2演算処理ステップと、前記第2演算処理ステップにより算出された前記第1の整数を第1の英数記号文字列に可逆的に変換する英数記号文字列変換ステップと、を含み、前記英数記号文字列変換ステップにより算出された第1の英数記号文字列を第1共通鍵とすることを特徴とする(5)に記載の方法。
(8)前記第1共通鍵及び前記第2共通鍵が、それぞれ英数記号文字から構成される英数記号文字列であって、前記第1共通鍵取得ステップは、前記第2共通鍵である英数記号文字列を可逆的に第2の整数に変換する整数変換ステップと、前記第2の整数及び前記ベース共通鍵を入力として、第1の整数を算出する第2演算処理ステップと、前記第2演算処理ステップにより算出された前記第1の整数を第1の英数記号文字列に可逆的に変換する英数記号文字列変換ステップと、を含み、前記英数記号文字列変換ステップにより算出された第1の英数記号文字列を第1共通鍵とすることを特徴とする(5)に記載の方法。
 (5)~(8)の方法によれば、(1)~(4)の方法と同様の効果を奏することができる。
(9)第1演算処理ステップにおいて、加算処理により第2の整数を算出する、(2)~(4)のいずれかに記載の方法。
(9)第2共有鍵を生成する演算として、ベース共通鍵を加算することで、効率的に第2共有鍵を生成することができる。また、ベース共通鍵がわからない限り、第1共通鍵を逆算することもできないため、Diffie-Hellman鍵交換方式の場合と同等の安全性を確保することができる。
(10)第2演算処理ステップにおいて、減算処理により第1の整数を算出する、(6)~(8)のいずれかに記載の方法。
(10)第1共通鍵を算出する演算として、ベース共通鍵を減算することで、効率的に第2共有鍵を生成することができる。また、ベース共通鍵を知らない限り、第1共通鍵を逆算することもできないため、Diffie-Hellman鍵交換方式の場合と同等の安全性を確保することができる。
(11)英数記号文字列を可逆的に整数に変換する整数変換ステップは、英数記号文字の各々が、32以上127以下の整数の各々に1対1に対応付けられた、文字・整数対応テーブルに基づいて、前記英数記号文字列を構成する各桁の英数記号文字に対応する整数を算出するステップと、前記各桁における英数記号文字に対応する各整数をそれぞれ16以上111以下の整数にシフトするステップとし、前記シフトされた、各桁における英数記号文字に対応する各整数を、112進数における桁の値とする112進数を算出するステップと、前記算出された112進数を10進数の整数に変換するステップと、を含むことを特徴とする、(3)、(4)、又は(8)のいずれかに記載の方法。
(11)本発明において、暗号文を作成する利用者の所望した第1共通鍵であって、利用者自身が覚えやすい鍵として英数記号文字を採用した場合、加算と乗算のみにより、簡単に整数に変換できる。また、この変換は可逆的な変換であり、第2共通鍵から第1共通鍵を算出する際にも適用できる。
(12)コンピュータ装置に(1)から(11)のいずれかに記載の方法の各ステップを実行させるためのコンピュータプログラム。
(12)(11)のコンピュータプログラムによれば、(1)~(11)の方法と同様の効果を奏することができる。
(13)平文を暗号化するための第1共通鍵を作成し、鍵情報を受信側端末装置に配送する送信側端末装置と、前記送信側端末装置から配送される前記鍵情報から、第1共通鍵を取得する前記受信側端末装置とを含む共通鍵配送システムであって、前記送信側端末装置は、予め、Diffie-Hellman鍵交換方式に基づいて前記受信側端末装置と共有する共通鍵を生成し、生成した共通鍵をベース共通鍵として格納するベース共通鍵格納部と、利用者の所望する文字列又は数値から構成される第1共通鍵を生成する第1共通鍵生成部と、前記第1共通鍵及び前記ベース共通鍵を入力として、可逆的な変換処理を行い、第2共通鍵を生成する第2共通鍵生成部と、前記受信側端末装置と通信するための通信部と、を含み、前記通信部は、前記受信側端末装置に対して前記第1共通鍵ではなく前記第2共通鍵を送信し、前記受信側端末装置は、予め、Diffie-Hellman鍵交換方式に基づいて前記送信側端末装置と共有する共通鍵を生成し、生成した共通鍵をベース共通鍵として格納するベース鍵格納部と、前記送信側端末装置から通信ネットワークを介して、前記第1共通鍵とは異なる第2共通鍵を受信するための通信部と、前記送信側端末装置から前記通信部を介して受信した前記第2共通鍵及び前記ベース鍵格納部に格納されたベース共通鍵を入力として可逆的な変換処理を行い、前記第1共通鍵を取得する第1共通鍵取得部と、を含むことを特徴とする共通鍵配送システム。
(14)前記第1共通鍵がゼロでない整数、及び前記第2共通鍵が整数であって、前記第2共通鍵生成部は、前記第1共通鍵及び前記ベース共通鍵を入力として、第1演算処理を行い、第2の整数を算出する第1演算処理部を含み、前記第1演算処理部により算出された前記第2の整数を第2共通鍵とし、前記第1共通鍵取得部は、前記第2共通鍵及び前記ベース共通鍵を入力として、第2演算処理を行い、第1の整数を算出する第2演算処理部を含み、前記第2演算処理部により算出された前記第1の整数を第1共通鍵とすることを特徴とする(13)に記載の共通鍵配送システム。
(15)前記第1共通鍵が任意の英数記号文字から構成される第1の英数記号文字列、及び前記第2共通鍵が整数であって、前記第2共通鍵生成部は、前記第1共通鍵を第1の整数に可逆的に変換する整数変換部と、前記整数変換部により算出された前記第1の整数及び前記ベース共通鍵を入力として、第1演算処理を行い、第2の整数を算出する第1演算処理部と、を含み、前記第1演算処理部により算出された前記第2の整数を第2共通鍵とし、前記第1共通鍵取得部は、前記第2共通鍵及び前記ベース共通鍵を入力として、第2演算処理を行い、第1の整数を算出する第2演算処理部と、前記第2演算処理部により算出された前記第1の整数を第1の英数記号文字列に可逆的に変換する英数記号文字列変換部と、を含み、前記英数記号文字列変換部により算出された前記第1の英数記号文字列を第1共通鍵とすることを特徴とする(13)に記載の共通鍵配送システム。
(16)前記第1共通鍵は任意の英数記号文字から構成される第1の英数記号文字列、及び前記第2共通鍵は英数記号文字から構成される第2の英数記号文字列であって、前記第2共通鍵生成部は、前記第1共通鍵を第1の整数に可逆的に変換する整数変換部と、前記整数変換部により算出された前記第1の整数及び前記ベース共通鍵を入力として、第1演算処理を行い、第2の整数を算出する第1演算処理部と、前記第1演算処理部により算出された第2の整数を第2の英数記号文字列に可逆的に変換する英数記号文字列変換部と、を含み、前記英数記号文字列変換部により算出された第2の英数記号文字列を第2共通鍵とし、前記第1共通鍵取得部は、前記第2共通鍵を可逆的に第2の整数に変換する整数変換部と、前記整数変換部により算出された前記第2の整数及び前記ベース共通鍵を入力として、第2演算処理を行い、第1の整数を算出する第2演算処理部と、前記第2演算処理部により算出された前記第1の整数を第1の英数記号文字列に可逆的に変換する英数記号文字列変換部と、を含み、前記英数記号文字列変換部により算出された第1の英数記号文字列を第1共通鍵とすることを特徴とする(13)に記載の共通鍵配送システム。
 (13)~(16)のシステムによれば、(1)~(8)の方法と同様の効果を奏することができる。
(附記)本発明の課題を解決するための手段として、以下に記載するように、端末装置として提供することができる。
(17)平文を暗号化するための第1共通鍵を作成し、通信ネットワークを介して鍵情報を他の端末装置に配送する端末装置であって、予め、Diffie-Hellman鍵交換方式に基づいて前記他の端末装置と共有する共通鍵を生成し、生成した共通鍵をベース共通鍵として格納するベース共通鍵格納部と、利用者の所望する文字列又は数値から構成される第1共通鍵を生成する第1共通鍵生成部と、前記第1共通鍵及び前記ベース共通鍵を入力として、可逆的な変換処理を行い、第2共通鍵を生成する第2共通鍵生成部と、前記他の端末装置と通信するための通信部と、を含み、前記通信部は、前記他の端末装置に対して前記第1共通鍵ではなく前記第2共通鍵を送信することを特徴とする端末装置。
(18)前記第1共通鍵がゼロでない整数、及び前記第2共通鍵が整数であって、前記第2共通鍵生成部は、前記第1共通鍵及び前記ベース共通鍵を入力として、第1演算処理を行い、第2の整数を算出する第1演算処理部を含み、前記第1演算処理部により算出された前記第2の整数を第2共通鍵とすることを特徴とする(17)に記載の端末装置。
(19)前記第1共通鍵が任意の英数記号文字から構成される第1の英数記号文字列、及び前記第2共通鍵が整数であって、前記第2共通鍵生成部は、前記第1共通鍵を第1の整数に可逆的に変換する整数変換部と、前記整数変換部により算出された前記第1の整数及び前記ベース共通鍵を入力として、第1演算処理を行い、第2の整数を算出する第1演算処理部と、を含み、前記第1演算処理部により算出された前記第2の整数を第2共通鍵とすることを特徴とする(17)に記載の端末装置。
(20)前記第1共通鍵が任意の英数記号文字から構成される第1の英数記号文字列、及び前記第2共通鍵が英数記号文字から構成される第2の英数記号文字列であって、前記第2共通鍵生成部は、前記第1共通鍵を第1の整数に可逆的に変換する整数変換部と、前記整数変換部により算出された前記第1の整数及び前記ベース共通鍵を入力として、第1演算処理を行い、第2の整数を算出する第1演算処理部と、前記第1演算処理部により算出された第2の整数を第2の英数記号文字列に可逆的に変換する英数記号文字列変換部と、を含み、前記英数記号文字列変換部により算出された第2の英数記号文字列を第2共通鍵とすることを特徴とする(17)に記載の端末装置。
 (17)~(20)の端末装置によれば、(1)~(4)の方法と同様の効果を奏することができる。
(21)通信ネットワークを介して暗号文を復号化するための、暗号文作成者の所望する文字列又は数値から構成される第1共通鍵を他の端末装置から配送を受ける端末装置であって、予め、Diffie-Hellman鍵交換方式に基づいて前記他の端末装置と共有する共通鍵を生成し、生成した共通鍵をベース共通鍵として格納するベース鍵格納部と、前記他の端末装置から通信ネットワークを介して、前記第1共通鍵とは異なる第2共通鍵を受信するための通信部と、前記他の端末装置から前記通信部を介して受信した、前記第2共通鍵及び前記ベース鍵格納部に格納されたベース共通鍵を入力として可逆的な変換処理を行い、前記第1共通鍵を取得する第1共通鍵取得部と、を含むことを特徴とする端末装置。
(22)前記第1共通鍵がゼロでない整数、及び前記第2共通鍵が整数であって、前記第1共通鍵取得部は、前記第2共通鍵及び前記ベース共通鍵を入力として、第2演算処理を行い、第1の整数を算出する第2演算処理部を含み、前記第2演算処理部により算出された前記第1の整数を第1共通鍵とすることを特徴とする(21)に記載の端末装置。
(23)前記第1共通鍵が任意の英数記号文字から構成される第1の英数記号文字列、及び前記第2共通鍵が整数であって、前記第1共通鍵取得部は、前記第2共通鍵及び前記ベース共通鍵を入力として、第2演算処理を行い、第1の整数を算出する第2演算処理部と、前記第2演算処理部により算出された前記第1の整数を第1の英数記号文字列に可逆的に変換する英数記号文字列変換部と、を含み、前記英数記号文字列変換部により算出された前記第1の英数記号文字列を第1共通鍵とすることを特徴とする(21)に記載の端末装置。
(24)前記第1共通鍵が任意の英数記号文字から構成される第1の英数記号文字列、及び前記第2共通鍵が英数記号文字から構成される第2の英数記号文字列であって、前記第1共通鍵取得部は、前記第2共通鍵を可逆的に第2の整数に変換する整数変換部と、前記整数変換部により算出された前記第2の整数及び前記ベース共通鍵を入力として、第2演算処理を行い、第1の整数を算出する第2演算処理部と、前記第2演算処理部により算出された前記第1の整数を第1の英数記号文字列に可逆的に変換する英数記号文字列変換部と、を含み、前記英数記号文字列変換部により算出された第1の英数記号文字列を第1共通鍵とすることを特徴とする(21)に記載の端末装置。
 (21)~(24)の端末装置によれば、(5)~(8)の方法と同様の効果を奏することができる。
 本発明によれば、予め生成したベース共通鍵を送信側端末及び受信側端末の間で共有した後は、送信側端末は、利用者の所望する鍵であって、利用者自身が覚えやすい任意の鍵(例えば、パスワード、暗証番号等)により、情報を暗号化することができる。
 そして、盗聴可能な通信路(例えば、インターネット等)で利用者の所望する鍵により暗号化した暗号化文書と共に或いは事後でも鍵情報を、例えば電子メール等により配送することで、当該鍵情報を送信側端末及び受信側端末間で安全に共有することができる。
本実施形態に係る情報システム1の全体概要を示す図である。 本実施形態に係る端末装置(送信側端末10及び受信側装置20)の機能構成を示す図である。 本実施形態に係る英数記号文字・10進数対応テーブル03の概要を示す図である。 本実施形態に係る情報システム1における処理の流れを示すフローチャートである。 本実施形態に係る整数変換部01に係る詳細な処理の流れを示すフローチャートである。 本実施形態に係る英数記号文字列変換部02に係る詳細な処理の流れを示すフローチャートである。 第2実施形態に係る端末装置(送信側端末10及び受信側装置)の機能構成を示す図である。 第2実施形態に係る情報システム1における処理の流れを示すフローチャートである。 第3実施形態に係る端末装置(送信側端末10及び受信側装置)の機能構成を示す図である。 第3実施形態に係る情報システム1における処理の流れを示すフローチャートである。
 以下、本発明の好ましい実施形態について図を参照しながら説明する。本発明のプログラムは、送信側端末及び受信側端末に適用され、送信側端末及び受信側端末にそれぞれ、各種機能を実現させる。
[第1実施形態]
 初めに、図を参照して、第1実施形態について説明する。
[機能構成]
 図1は、第1実施形態に係る情報システム1の全体概要を示す図である。情報システム1は、送信側端末10と、受信側端末20と、を備える。送信側端末10及び受信側端末20は、LAN(Local Area Network)やインターネット等のコンピュータネットワークにより構成される通信ネットワークNにより、通信可能に接続されている。
 なお、図1の情報システム1においては、送信側端末10及び受信側端末20からなる2者間システムが例として記載されているが、情報システム1は、3以上の任意の複数の端末装置間で共通鍵を配送するように通信可能に接続されてもよい。
 この送信側端末10及び受信側端末20の間では、予め、例えばDH法等に基づいて、ベース共通鍵Kbを生成し、共有する。
 送信側端末10では、送信者である利用者の所望した鍵であって、利用者自身が覚えやすい任意の第1共通鍵Ku(例えば、パスワード、暗証番号等)を生成し、公知の暗号化手段により平文Mを第1共通鍵Kuを用いて暗号化して暗号文Cを生成し、公知の送信手段により暗号文Cを受信側端末20に送信する。
 送信側端末10では、第1共通鍵Kuとベース共通鍵Kbに所定の可逆的な演算処理Fを行い、第2共通鍵K2を生成し、第2共通鍵K2を受信側端末に配送する。
 ここで、第2共通鍵K2の送信に際して、暗号化せずに、そのまま送信してもよい。また、暗号文Cの送信と第2共通鍵K2の配送の順番は、任意としてもよい。
 受信側端末20では、公知の受信手段により送信側端末10から暗号文C及び第2共通鍵K2を受信し、第2共通鍵K2とベース共通鍵Kbに所定の可逆的な演算処理Fの逆変換処理F-1を行い、第1共通鍵Kuを取得し、送信側端末10から受信した暗号文Cを公知の復号化手段により第1共通鍵Kuを用いて復号化して平文Mを取得する。
 送信側端末10及び受信側端末20は、パソコン、サーバ、ノートパソコン、タブレット端末、PDA、スマートフォン等その他の装置であって、通信機能を備える電子機器(コンピュータ装置)を含む。
 本実施形態は、コンピュータ及びその周辺装置に適用される。本実施形態における各部は、コンピュータ及びその周辺装置が備えるハードウェア並びにこのハードウェアを制御するソフトウェアによって構成される。
 上記ハードウェアには、制御部としてのCPUの他、記憶部、通信部、表示部及び入力部が含まれる。記憶部としては、例えば、メモリ(RAM、ROM等)、ハードディスクドライブ(HDD)及び光ディスク(CD、DVD等)ドライブが挙げられる。通信部としては、例えば、各種有線及び無線インターフェース装置が挙げられる。表示部としては、例えば、液晶ディスプレイ、プラズマディスプレイ等の各種ディスプレイが挙げられる。入力部としては、例えば、キーボード、マウス、タッチパネルディスプレイ等が挙げられる。
 上記ソフトウェアには、上記ハードウェアを制御するコンピュータ・プログラムやデータが含まれる。コンピュータ・プログラムやデータは、記憶部により記憶され、制御部により適宜実行、参照される。また、コンピュータ・プログラムやデータは、通信回線を介して必要に応じて適宜ダウンロードすることも可能であり、CD-ROM等のコンピュータ可読媒体に記録して配布することも可能である。
 送信側端末10及び受信側端末20の各端末装置に含まれる制御部としてのCPUは、各プログラムを実行することによって、それぞれ、送信側端末10及び受信側端末20の所定の手段として機能させる。
 また、送信側端末10及び受信側端末20の各端末装置に含まれる制御部としてのCPUは各プログラムを実行することによって、それぞれ、送信側端末10及び受信側端末20に、所定の手順を実行させる。
 以下、送信側端末10及び受信側端末20の各端末装置が、それぞれ有する機能を手段の観点から説明する。なお、手順(方法)の観点に基づく説明は、「部」を「手順」に置き換えることで説明できるため、省略する。
 図2は、第1実施形態に係る送信側端末10の機能構成を示す図である。
[送信側端末の機能構成]
 送信側端末10は、予め、受信側端末20と共有するベース共通鍵Kbを格納するベース鍵格納部11と、平文Mを暗号化するための第1共通鍵Kuを生成する第1共通鍵生成部12と、ベース鍵格納部11に格納されたベース共通鍵Kbと第1共通鍵生成部12により生成された第1共通鍵Kuとを入力として、予め定めた可逆的な演算処理Fを実行することで第2共通鍵K2を生成する第2共通鍵生成部13と、第1共通鍵Kuを用いて平文Mを暗号化して暗号文Cを作成する暗号化部14と、第2共通鍵生成部13により生成された第2共通鍵K2を受信側端末20に送信する送信部15と、を備える。
 なお、暗号化部14及び送信部15は、それぞれ公知の暗号化手段及び公知の送信手段を採用する。
 ベース鍵格納部11は、例えば、公知のDH鍵交換方式に基づいて、共通鍵の受け渡しを行わずに、秘密裏に2者間で安全に生成されたベース共通鍵Kbを格納することができる。第1実施形態では、ベース共通鍵Kbは、整数とする。以下の説明においては、送信側端末10及び受信側端末20からなる2者間での共有であるが、前述したように、公知のDH鍵交換方式に基づいて、共通鍵の受け渡しを行わずに、秘密裏に3以上の任意の複数の端末装置間で安全に生成されたベース共通鍵Kbを格納することができる。ベース鍵Kb共有のための別形態として、DH鍵交換方式に基づかないで、ベース鍵格納部11は、送信側端末10において、例えば公知の乱数生成等により生成されたベース共通鍵Kbを格納することができる。その場合、ベース共通鍵Kbを例えば、記録媒体に記録して安全な方法で当該記録媒体を受信側端末20に送付することで、2者間で共有するようにしてもよい。なお、ベース鍵格納部11は、受信側端末20において生成されたベース共通鍵Kbを格納するようにしてもよい。
 第1共通鍵生成部12は、入力部を介して、利用者により入力された利用者の所望する鍵となる、第1共通鍵Kuを受け取り格納する。第1共通鍵Kuについては、半角英数記号文字から構成される半角英数記号文字列とする。
 以下、特に断らない限り、半角英数記号文字及び半角英数記号文字列をそれぞれ、英数記号文字及び英数記号文字列ともいう。
 第2共通鍵生成部13は、第1共通鍵Kuとベース共通鍵Kbに所定の可逆的な演算処理Fを行い、第2共通鍵K2を生成する。
    K2=F(Ku,Kb)                (式5)
 第2共通鍵生成部13の詳細については、後述で説明する。
 送信部15は、第2共通鍵生成部13により生成された第2共通鍵K2を受信側端末20に送信する。なお、送信部15として、例えば、公知の電子メールを利用することができる。第2共通鍵K2を受信側端末20に送信する際、第2共通鍵K2をそのまま、電子メール等で送信することができる。
 第2共通鍵生成部13は、任意の英数記号文字(例えば、ASCII文字)から構成される英数記号文字列を10進数の整数に変換する整数変換部01と、2つの整数を加算する第1演算処理部131と、を含む。
[整数変換部01]
 整数変換部01は、任意の英数記号文字(例えば、ASCII文字)から構成される英数記号文字列を10進数の整数に変換する。
 英数記号文字 (例えば、ASCII文字)は、図3に示すように、16進数の‘20’(=10進数の32)から‘7F’(=10進数の127)に対応して割り当てられている。
 例えば、「Space」には10進数の32が、「!」には10進数の33が、数字文字「0」には10進数の48が、英字の「A」には10進数の65が、英字の「a」には10進数の97が、「Deleteキー」には10進数の127が、それぞれ対応する。
 整数変換部01は、図3に示す、英数記号文字と10進数との対応関係を表すテーブル(以下「英数記号文字・10進数対応テーブル03」という)に基づいて、英数記号文字列を10進数の整数に変換する。
 英数記号文字・10進数対応テーブル03は、送信側端末10が備えても良いし、ネットワーク上のアクセス可能な場所、例えばサーバやクラウド上にあってもよい。
 以下、(式6)に示す、英数記号文字7桁から構成される英数記号文字列Kについて説明するが、英数記号文字列Kの桁数については、当業者であれば、必要に応じて適宜変更できる設計事項である。
 
 K = a               (式6)
   ここで、aは、ひとつの英数記号文字を意味する。
      0≦i≦6
 整数変換部01は、(式7)に示すように、英数記号文字・10進数対応テーブル03に基づいて、英数記号文字列Kを構成する英数記号文字である各aに対応する、10進数の整数Xi(32≦Xi≦127)を取得する。
 
   X = TR(a)                  (式7)
 ここで、TR(a)は、英数記号文字aに対応する10進数を意味する。
 次に、整数変換部01は、(式8)に示すように、10進数の整数Xi(32≦Xi≦127)から、それぞれ、16を引き、Yi(16≦Yi≦111)を算出する。
  Yi = Xi - 16                 (式8)
 次に、整数変換部01は、(式9)に示すように、Yiをi番目の桁の値とする112進数を10進数の整数Zに変換する。
 
  Z  = Σ(0≦i≦6)Yi*(112)           (式9)
 こうすることで、整数変換部01は、英数記号文字列Kを10進数の整数Zに変換することができる。
 ここで、Zは、
Z≦221,067,981,971,086
 を満たす整数(10進数表示)となる。
[第2共通鍵生成部13]
 以上の説明を前提として、第2共通鍵生成部13の処理について説明する。
 以下、英数記号文字7桁から構成される第1共通鍵Kuについて説明するが、桁数については、あくまでも一例であって、本発明の技術的範囲はこれに限られるものではなく、当業者であれば、必要に応じて適宜変更できる設計事項である。
 第2共通鍵生成部13は、利用者により、第1共通鍵Kuが、英数記号文字列7桁未満で指定された場合、先頭にDeleteキー(10進数の127に対応)を付加して、7桁にする。なお、第1共通鍵生成部12は、入力部を介して利用者により入力された英数記号文字列が7桁未満の場合、入力エラーとして、利用者に7桁の英数記号文字列を再入力するように指示してもよい。
 こうすることで、(式10)に示すように、第1共通鍵Kuを7桁の英数記号文字列とする。
 
 Ku = a             (式10)
   ここで、aは、ひとつの英数記号文字を意味する。
      0≦i≦6
 第2共通鍵生成部13は、整数変換部01により、第1共通鍵Kuとして指定した英数記号文字列Kuを10進数の整数Zに変換する。
 ここで、Zは、
 Z≦221,067,981,971,086
 を満たす整数(10進数表示)となる。
 次に、第2共通鍵生成部13は、(式11)に示すように、第1演算処理部131により、整数変換部01により算出された整数Zにベース共通鍵Kbを加算して、整数Kmを算出する。
 
  Km = Z + Kb                 (式11)
 
 なお、ベース共通鍵Kbを、予め、778,932,018,028、913以下となるように生成しておくことで、整数Zにベース共通鍵Kbを加算した整数Kmの値が、15桁以内の10進数となるようにすることができる。
 第2共通鍵生成部13は、 (式12)に示すように、整数Kmを第2共通鍵K2とすることができる。
 
  K2 = Km                     (式12)
 以上のように、第2共通鍵生成部13は、利用者により入力された利用者の所望する第1共通鍵Ku(英数記号文字列)を、整数変換部01により10進数の整数Zに変換し、第1演算処理部131により、10進数の整数Zにベース共通鍵Kbを加算して、整数Kmを算出することで、第2共通鍵K2を算出する。
 送信側端末10は、公知の暗号化/復号化手段を利用することにより、平文Mを、第1共通鍵Kuにより暗号化し、暗号文Cを作成することができる。
 また、送信側端末10は、例えば、電子メール等の公知の通信ソフトを利用することにより、暗号文Cを受信側端末20に送信することができる。
 また、前述したように、送信側端末10は、例えば、電子メール等の公知の通信ソフトを利用することにより、第2共通鍵K2を受信側端末20に送信することができる。
[受信側端末]
 次に、本実施形態における受信側端末20について説明する。
 図2は、第1実施形態に係る受信側端末20の機能構成を示す図である。
[受信側端末の機能構成]
 受診側端末20は、予め、送信側端末10と共有するベース共通鍵Kbを格納するベース鍵格納部21と、送信側端末10から第2共通鍵K2を受信する受信部22と、受信部22により受信した第2共通鍵K2とベース鍵格納部21に格納されたベース共通鍵Kbを入力として、予め定めた可逆的な演算処理の逆演算処理を実行することで、第1共通鍵Kuを取得する第1共通鍵取得部23と、を備える。
 ベース鍵格納部21は、例えば、公知のDH鍵交換方式に基づいて、共通鍵の受け渡しを行わずに、秘密裏に2者間で安全に生成されたベース共通鍵Kbを格納することができる。第1実施形態では、ベース共通鍵Kbは、整数とする。前述したように、公知のDH鍵交換方式に基づいて、共通鍵の受け渡しを行わずに、秘密裏に3以上の任意の複数の端末装置間で安全に生成されたベース共通鍵Kbを格納することができる。ベース鍵Kb共有のための別形態として、DH鍵交換方式に基づかないで、ベース鍵格納部21は、受信側端末20において、例えば公知の乱数生成等により生成されたベース共通鍵Kbを格納することができる。その場合、ベース共通鍵Kbを例えば、記録媒体に記録して安全な方法で当該記録媒体を送信側端末10に送付することで、2者間で共有するようにしてもよい。なお、ベース鍵格納部21は、送信側端末10において生成されたベース共通鍵Kbを格納するようにしてもよい。
 受信部22は、送信側端末10が第2共通鍵生成部13により算出した第2共通鍵K2を送信側端末10から受信する。なお、受信部22として、例えば、公知の電子メールを採用することができる。第2共通鍵K2を送信側端末20から受信する際、第2共通鍵K2をそのまま、電子メール等で受信することができる。
 第1共通鍵取得部23は、任意の整数を英数記号文字から構成される英数記号文字列に変換する英数記号文字列変換部02と、2つの整数間の減算を行う第2演算処理部231と、を含む。
 英数記号文字列変換部02と前述した整数変換部01とは、一方が他方の逆関数となる関係にある。
[英数記号文字列変換部02]
 英数記号文字列変換部02は、任意の整数Zを英数記号文字から構成される英数記号文字列Kに変換する。なお、英数記号文字列変換部02は、整数変換部01の逆変換に相当する。
 英数記号文字列変換部02は、(式13)に示すように、10進数の整数Zを112進数に変換する。
  Z =  Σ(0≦i≦6)Yi*(112)         (式13)
 次に、英数記号文字列変換部02は、(式14)に示すように、112進数の各桁Yi(0≦Yi≦111)に16を加算して、各桁Xi(16≦Xi≦127)を算出する。
  Xi = Yi + 16                (式14)
 次に、英数記号文字列変換部02は、(式15)に示すように、英数記号文字・数字対応テーブル20に基づいて、各Xiに対応する、英数記号文字であるaを取得する。
  a = TR-1(Xi)   (16≦X≦127)    (式15)
  ここで、TR-1(Xi)は、10進数Xiに対応する英数記号文字であるaを意味する。
 次に、英数記号文字列変換部02は、(式16)に示すように、iの値の小さい順に英数記号文字である各aを右から並べて、英数記号文字列Kを取得する。
  K = a             (式16)
 なお、後述するように、第1共通鍵とベース共通鍵を加算して得られた整数を英数記号文字列Kに変換する場合に、英数記号文字列Kは、制御符号(16進数の‘10’(=10進数の16)から16進数の‘1F’ (=10進数の31))を含む可能性がある。この場合には、第2共通鍵を構成する英数記号文字の例外として制御符号のまま取り扱ってもよい。
 また、10進数の16~31に対応する制御符号16文字について、当該数値に64を加算して得られる整数に対応する印字可能文字を求め、当該印字可能文字に「コントロール+」(^)という前置表現を付けることで、制御符号を表記してもよい。
 例えば、DLE(16進数の‘10’)を^P、US(16進数の‘1F’)を^_と表示することができる。
 この場合、英数記号文字列に現れる^が、独立した英数記号文字を意味するのか、それとも前置表現を表しているかの判定が困難となる。
 そこで、英数記号文字列における文字を一文字毎に区切ることで英数記号文字列に現れる^が、独立した英数記号文字を意味するのか、それとも前置表現を表しているかの判定を可能とすることができる。
[第1共通鍵取得部23]
 以上の説明を前提として、第1共通鍵取得部23の機能について説明する。
 始めに受信部22により受信した第2共通鍵K2を10進数の整数Kmとする。
 第1共通鍵取得部23は、(式17)に示すように、第2演算処理部231により、10進数の整数である第1中間鍵Kmから、10進数の整数であるベース共通鍵Kbを減算して、10進数の整数である第2中間鍵Zを算出する。
 
  Z = Km - Kb                 (式17)
 次に、第1共通鍵取得部23は、英数字記号文字列変換部02により、10進数の整数である第2中間鍵Zを英数記号文字からなる英数記号文字列Kに変換する。
 第1共通鍵取得部23は、英数記号文字列Kの先頭がDeleteキー(10進数の127に対応)である場合、先頭のDeleteキー(10進数の127に対応)から連続するDeleteキーを削除することで、先頭がDeleteキー以外の英数記号文字となる7桁未満の英数記号文字列を算出し、当該英数記号文字列を第1共通鍵Kuとする。
 こうすることで、(式18)に示すように、第1共通鍵Kuを7桁の英数記号文字列とする。
 Ku = a            (式18)
   ここで、aは、ひとつの英数記号文字を意味する。
      0≦i≦6
 以上のように、送信側端末10における第2共通鍵生成部13により、第2共通鍵K2が生成されている場合、受信側端末20における第1共通鍵取得部23により、第1共通鍵Kuを取得することができる。
 以上で、情報システム1における受信側端末20における機能構成を説明した。
 受信側端末20は、公知の暗号化/復号化手段を利用することにより、暗号文Cを第1共通鍵Kuにより復号化し、平文Mを作成することができる。
 また、受信側端末20は、例えば、電子メール等の公知の通信ソフトを利用することにより、暗号文Cを送信側端末10から受信することができる。
 また、前述したように、受信側端末10は、例えば、電子メール等の公知の通信ソフトを利用することにより、第2共通鍵K2を送信側端末10から受信することができる。
[処理の流れ]
 図4は、送信側端末10において、利用者の所望する、利用者自身が覚えやすい任意の第1共通鍵Kuに基づいて第2共通鍵K2を生成し、受信側端末20に配送するまでの処理の流れと、受信側端末20において、送信側端末10から暗号文と同時若しくは事後に受信する第2共通鍵K2から第1暗号鍵を取得するまでの処理の流れと、を示すフローチャートである。
 図4を参照して、第1実施形態に係る情報システム1における処理の流れを説明する。
 始めにステップST101において、送信側端末10のベース鍵格納部11は、例えば、公知のDH鍵交換方式に基づいて、秘密裏に受信側端末20のベース鍵格納部21との間で安全に共有するベース共通鍵Kb(整数)を格納する。
 ステップST201において、受信側端末20のベース鍵格納部21は、例えば、公知のDH鍵交換方式に基づいて、秘密裏に送信側端末10のベース鍵格納部11との間で安全に共有するベース共通鍵Kb(整数)を格納する。
 ステップST102において、送信側端末10の第1共通鍵生成部12は、入力部を介して、利用者により入力された利用者の所望する鍵となる、第1共通鍵Kuを受け取り、記憶部に格納する。
 ステップST103において、送信側端末10の第2共通鍵生成部13は、第1共通鍵Kuが、英数記号列7桁未満で指定された場合、先頭にDeleteキー(10進数の127に対応)を付加して、7桁にする。
 なお、ステップST102において、送信側端末10の第1共通鍵生成部12は、入力部を介して、利用者の所望する鍵となる、第1共通鍵Kuを受け取る際に、第1共通鍵Kuが英数記号列7桁未満の場合、エラーとして、利用者に対して再入力を促すようにしてもよい。
 また、例示として、第1共通鍵Kuが英数記号文字列の場合に、その桁数を7桁としているが、桁数は、7桁に限定されるものではなく、適宜設定することができる
 ステップST104において、送信側端末10の第2共通鍵生成部13は、整数変換部01により、第1共通鍵Ku(英数記号文字列)を10進数の整数Zに変換する。整数変換部01に係る処理の流れについては、後述する。
 ステップST105において、送信側端末10の第2共通鍵生成部13は、第1演算処理部131により、10進数の整数Zにベース共通鍵Kbを加算して、10進数の整数Kmを算出する((式11)参照)。
 ステップST106において、送信側端末10は、ステップST105において算出された10進数の整数Kmを第2共通鍵K2として、受信側端末20に送信する。
 ステップST202において、受信側端末20は、送信側端末10から、第2共通鍵K2(10進数の整数)を受信する。
 ステップST203において、第1共通鍵取得部23は、第2演算処理部231により、10進数の整数である第2共通鍵K2から、10進数の整数であるベース共通鍵Kbを減算して、10進数の整数である第2中間鍵Zを算出する((式17)参照)。
 ステップST204において、第1共通鍵取得部23は、英数字記号文字列変換部02により、10進数の整数である第2中間鍵Zを英数記号文字からなる第1共通鍵Kuに変換する((式18)参照)。
[整数変換部01に係る処理の流れ]
 図5を参照して、英数記号文字列Kを10進数の整数Zに変換する整数変換部01に係る詳細な処理の流れを説明する。
 ステップST301において、整数変換部01は、英数記号文字・10進数対応テーブル03に基づいて、英数記号文字列Kの各桁を構成する英数記号文字であるai(0≦i≦6)に対応する、10進数の整数Xi(32≦Xi≦127)を取得する((式7)参照)。
 ステップST302において、整数変換部01は、10進数の整数Xi(32≦Xi≦127)から、それぞれ、16を引き、10進数の整数Yi(16≦Yi≦111)を算出する((式8)参照)。
 ステップST303において、整数変換部01は、Yiをi番目の桁の値とする112進数を10進数の整数Zに変換する((式9)参照)。
[英数記号文字列変換部02に係る処理の流れ]
 次に、図6を参照して、10進数の整数Zを英数記号文字列Kに変換する英数記号文字列変換部02に係る詳細な処理の流れを説明する。
 ステップST401において、英数記号文字列変換部02は、10進数の整数Zを112進数に変換する((式13)参照)。
 ステップST402において、英数記号文字列変換部02は、ステップST401において算出した112進数の各桁Yi(0≦Yi≦111)に16を加算して、各桁Xi(16≦Xi≦127)を算出する((式14)参照)。
 ステップST403において、英数記号文字列変換部02は、英数記号文字・数字対応テーブル20に基づいて、各Xiに対応する、英数記号文字であるaを取得する((式15)参照)。
 ステップST404において、英数記号文字列変換部02は、iの値の小さい順に英数記号文字である各aを右から並べて、英数記号文字列Kを取得する((式16)参照)。
 ステップST405において、英数記号文字列変換部02は、英数記号文字であるaのうち、制御符号については、対応する印字可能文字に「コントロール+」(^)を付けることで、制御符号を表記することで、第2共通鍵K2を算出する。
[第1実施形態の効果]
 以上説明した第1実施形態の情報システム1によれば以下の効果を奏する。
 送信側端末10と受信側端末20の間で、ベース共通鍵Kbを共有した後は、利用者は、利用者自身の所望する鍵であって、利用者自身が覚えやすい任意の鍵(第1共通鍵Ku)により、平文Mを暗号化し、送信側端末から受信側端末に第2共通鍵K2を送信するだけでよい。
 こうすることで、利用者は、利用者自身の所望する鍵であって、利用者自身が覚えやすい任意の鍵(例えば、パスワード、暗証番号等)により、平文Mを暗号化し、暗号文Cを作成することができ、利用者の利便性を向上させることができる。そして、利用者自身の所望する鍵とは異なる第2共通鍵K2を暗号文Cと共に或いは事後でも電子メール等により配送することができ、暗号鍵の配送についても安全性を担保することができる。
 また、利用者は、暗号文を生成する毎に、毎回、第1共通鍵Kuを容易に変更することができ、暗号文の秘匿性をより高めることを容易に実現できる。
[第2実施形態]
 続いて、本発明の第2実施形態について、図面を参照しながら説明する。第1実施形態では、送信側端末10の第2共通鍵生成部12は、第1共通鍵Ku(英数記号文字列)を整数変換部01により変換した整数値を第2共通鍵K2としたが、第2実施形態では、送信側端末10の第2共通鍵生成部(以下「第2共通鍵生成部13A」という)は、整数変換部01により変換した整数値をさらに、英数記号文字列変換部02により英数記号文字列に変換して、当該英数記号文字列を第2共通鍵K2とする。
 これに対応して、受信側端末20の第1共通鍵取得部(以下「第1共通鍵取得部23A」という)は、送信側端末10の第2共通鍵生成部13Aにより生成された第2共通鍵K2(英数記号文字列)から第1共通鍵Kuを取得する。
 なお、第2実施形態の説明において、第1実施形態と同様の構成については同一の符号を付し、説明を省略する。
[機能構成]
 図7に、第2実施形態に係る送信側端末10の機能構成を示す。
[送信側端末の機能構成]
 送信側端末10は、第1実施形態の第2共通鍵生成部13を第2共通鍵生成部13Aに置き換えたものとなる。第2実施形態の送信側端末10の各部の機能は、第2共通鍵生成部13Aを除いて、第1実施形態の送信側端末10の各部の機能と同じであるため、第2共通鍵生成部13A以外の構成については、同一の符号を付し、説明を省略する。
 以下、第2共通鍵生成部13Aの処理について説明する。なお、第1実施形態の第2共通鍵生成部13と同様の構成については同一の符号を付し、説明を省略する。
[第2共通鍵生成部13A]
 第2共通鍵生成部13Aは、任意の英数記号文字(例えば、ASCII文字)から構成される英数記号文字列を10進数の整数に変換する整数変換部01と、任意の整数を英数記号文字から構成される英数記号文字列に変換する英数記号文字列変換部02と、2つの整数を加算する第1演算処理部131と、を含む。
 第2共通鍵生成部13Aは、整数変換部01により、第1共通鍵Kuとして指定した英数記号文字列Kuを10進数の整数Zに変換する。
 次に、第2共通鍵生成部13Aは、(式19)に示すように、第1演算処理部131により、整数変換部01により算出された整数Zにベース共通鍵Kbを加算して、整数Km(「第1中間鍵Km」という)を算出する。
 
  Km = Z + Kb                 (式19)
 続いて、第2共通鍵生成部13Aは、英数記号文字列変換部02により、第1中間鍵Kmを英数記号文字列Kに変換する。第2共通鍵生成部13Aは、(式20)に示すように、変換された英数記号文字列Kを第2共通鍵K2とする。
 
  K2 = K                      (式20)
 以上のように、第2実施形態において、送信側端末10の第2共通鍵生成部13Aは、利用者により入力された利用者の所望する第1共通鍵Ku(英数記号文字列)を、整数変換部01により10進数の整数Zに変換し、第1演算処理部131により、10進数の整数Zにベース共通鍵Kbを加算して、第1中間鍵Kmを算出し、英数記号文字列変換部02により、第1中間鍵Kmを英数記号文字列に変換することで、第2共通鍵K2を算出する。
[受信側端末]
 次に、第2実施形態における受信側端末20について説明する。
 図7に、第2実施形態に係る受信側端末20の機能構成を示す。
[受信側端末の機能構成]
 受信側端末20は、第1実施形態の第1共通鍵取得部23を第1共通鍵取得部23Aに置き換えたものとなる。第2実施形態の受信側端末の各部の機能は、第1共通鍵取得部23Aを除いて、第1実施形態の受信側端末の各部の機能と同じであるため、第1共通鍵取得部23A以外の構成については、同一の符号を付し、説明を省略する。
 以下、第1共通鍵取得部23Aの処理について説明する。なお、第1実施形態の第1共通鍵取得部23と同様の構成については同一の符号を付し、説明を省略する。
 第1共通鍵取得部23Aは、整数変換部01と、英数記号文字列変換部02と、2つの整数間の減算を行う第2演算処理部231と、を含む。
 第1共通鍵取得部23Aは、整数変換部01により、英数記号文字からなる英数記号文字列である第2共通鍵K2を、10進数の整数である第1中間鍵Kmに変換する。
 次に、第1共通鍵取得部23Aは、(式21)に示すように、第2演算処理部231により、10進数の整数である第1中間鍵Kmから、10進数の整数であるベース共通鍵Kbを減算して、10進数の整数である第2中間鍵Zを算出する。
 
  Z = Km - Kb                 (式21)
 次に、第1共通鍵取得部23Aは、英数字記号文字列変換部02により、10進数の整数である第2中間鍵Zを英数記号文字からなる英数記号文字列Kに変換する。
 第1共通鍵取得部23Aは、英数記号文字列Kの先頭がDeleteキー(10進数の127に対応)でない場合、英数記号文字列Kを第1共通鍵Kuとする(式22)。
 Ku = a            (式22)
   ここで、aは、ひとつの英数記号文字を意味する。
      0≦i≦6
 なお、英数記号文字列Kの先頭がDeleteキー(10進数の127に対応)である場合、先頭のDeleteキー(10進数の127に対応)から連続するDeleteキーを削除することで、先頭がDeleteキー以外の英数記号文字となる7桁未満の英数記号文字列を算出し、当該英数記号文字列を第1共通鍵Kuとする。
 以上のように、第2実施形態では、送信側端末10における第2共通鍵生成部13Aにより、第2共通鍵K2(英数記号文字列)が生成されている場合、受信側端末20における第1共通鍵取得部23Aにより、第1共通鍵Kuを取得することができる。
[処理の流れ]
 図8に、送信側端末10において、利用者の所望した、利用者自身が覚えやすい任意の第1共通鍵Kuに基づいて第2共通鍵K2を生成し、受信側端末20に配送するまでの処理の流れと、受信側端末20において、送信側端末10から暗号文と同時若しくは事後に受信する第2共通鍵K2から第1暗号鍵を取得するまでの処理の流れと、を示す。
 図8を参照して、第2実施形態に係る情報システム1における処理の流れを説明する。
 ステップST_A101において、送信側端末10のベース鍵格納部11は、例えば、公知のDH鍵交換方式に基づいて、秘密裏に受信側端末20のベース鍵格納部21との間で安全に共有するベース共通鍵Kb(整数)を格納する。
 ステップST_A201において、受信側端末20のベース鍵格納部21は、例えば、公知のDH鍵交換方式に基づいて、秘密裏に送信側端末10のベース鍵格納部11との間で安全に共有するベース共通鍵Kb(整数)を格納する。
 ステップST_A102において、送信側端末10の第1共通鍵生成部12は、入力部を介して、利用者により入力された利用者の所望する鍵となる、第1共通鍵Kuを受け取り、記憶部に格納する。
 ステップST_A103において、送信側端末10の第2共通鍵生成部13Aは、第1共通鍵Kuが、英数記号列7桁未満で指定された場合、先頭にDeleteキー(10進数の127に対応)を付加して、7桁にする。
 なお、ステップST_A102において、送信側端末10の第1共通鍵生成部12Aは、入力部を介して、利用者の所望する鍵となる、第1共通鍵Kuを受け取る際に、第1共通鍵Kuが英数記号列7桁未満の場合、エラーとして、利用者に対して再入力を促すようにしてもよい。
 また、例示として、第1共通鍵Kuが英数記号文字列の場合に、その桁数を7桁としているが、桁数は、7桁に限定されるものではなく、適宜設定することができる
 ステップST_A104において、送信側端末10の第2共通鍵生成部13Aは、整数変換部01により、第1共通鍵Ku(英数記号文字列)を10進数の整数Zに変換する。
 ステップST_A105において、送信側端末10の第2共通鍵生成部13Aは、第1演算処理部131により、10進数の整数Zにベース共通鍵Kbを加算して、10進数の整数(第1中間鍵Km)を算出する((式19)参照)。
 ステップST_A106において、送信側端末10の第2共通鍵生成部13Aは、英数記号文字列変換部02により、10進数の整数(第1中間鍵Km)を第2共通鍵K2(英数記号文字列)に変換する((式20)参照)。
 ステップST_A107において、送信側端末10は、ステップST_A106において算出された第2共通鍵K2を受信側端末20に送信する。
 ステップST_A202において、受信側端末20は、送信側端末10から、第2共通鍵K2を受信する。
 ステップST_A203において、受信側端末20の第1共通鍵取得部23Aは、整数変換部01により、英数記号文字からなる英数記号文字列である第2共通鍵K2を、10進数の整数である第1中間鍵Kmに変換する。
 ステップST_A204において、第1共通鍵取得部23Aは、第2演算処理部231により、10進数の整数である第1中間鍵Kmから、10進数の整数であるベース共通鍵Kbを減算して、10進数の整数である第2中間鍵Zを算出する((式21)参照)。
 ステップST_A205において、第1共通鍵取得部23Aは、英数字記号文字列変換部02により、10進数の整数である第2中間鍵Zを英数記号文字からなる第1共通鍵Kuに変換する((式22)参照)。
[第2実施形態の効果]
 以上説明した第2実施形態の情報システム1によれば、第1実施形態と同様の効果を奏する。それに加えて、以下のような効果も奏する。
 第2実施形態においては、第1共通鍵Kuを整数変換部01、第2演算処理部231、及び英数字記号文字列変換部02の3つの異なる独立した変換部により、英数字文字列として生成する。
 これにより、第2共通鍵K2から、第共通鍵Kuを算出することは、第1実施形態に比較してより困難になり、安全性を増すことができる。
[第3実施形態]
 続いて、本発明の第3実施形態について、図面を参照しながら説明する。第1実施形態では、送信側端末10の第1共通鍵生成部12第1共通鍵Kuを英数記号文字列としたが、第3実施形態では、第1共通鍵Kuを整数とする。
 すなわち、送信側端末10の第1共通鍵生成部12(以下「第1共通鍵生成部12C」という)は、入力部を介して、利用者により入力された利用者の所望する鍵となる、第1共通鍵Kuを受け取り格納する。第1共通鍵Kuについては、整数とする。
 なお、第3実施形態の説明において、第1実施形態と同様の構成については同一の符号を付し、説明を省略する。
[機能構成]
 図9に、第3実施形態に係る送信側端末10の機能構成を示す。
[送信側端末の機能構成]
 送信側端末10は、第1実施形態の第1共通鍵生成部12、及び第2共通鍵生成部13を、それぞれ第1共通鍵生成部12B、及び第2共通鍵生成部13Bに置き換えたものとなる。第2実施形態の送信側端末10の各部の機能は、第1共通鍵生成部12B、及び第2共通鍵生成部13Bを除いて、第1実施形態の送信側端末10の各部の機能と同じであるため、第1共通鍵生成部12B、及び第2共通鍵生成部13B以外の構成については、同一の符号を付し、説明を省略する。
 以下、第2共通鍵生成部13Bの機能について説明する。なお、第1実施形態の第2共通鍵生成部13と同様の構成については同一の符号を付し、説明を省略する。
[第2共通鍵生成部13B]
 第2共通鍵生成部13Bは、2つの整数を加算する第1演算処理部131を含む。
 第2共通鍵生成部13Bは、第1共通鍵生成部12Bにより、第1共通鍵として指定した10進数の整数Kuにベース共通鍵Kbを加算して得られた整数を、第2共通鍵K2とする。
 
  K2 = Ku + Kb                (式23)
 以上のように、第2共通鍵生成部13Bは、利用者により入力された利用者の所望する第1共通鍵Ku(整数)に対して、第1演算処理部131により、ベース共通鍵Kbを加算して、整数Kmを算出することで、第2共通鍵K2を算出する。
[受信側端末]
 次に、第3実施形態における受信側端末20について説明する。
 図9に、第3実施形態に係る受信側端末20の機能構成を示す。
[受信側端末の機能構成]
 受診側端末20は、第1実施形態の第1共通鍵取得部23を第1共通鍵取得部23Bに置き換えたものとなる。第3実施形態の受信側端末の各部の機能は、第1共通鍵取得部23Bを除いて、第1実施形態の受信側端末の各部の機能と同じであるため、第1共通鍵取得部23B以外の構成については、同一の符号を付し、説明を省略する。
 以下、第1共通鍵取得部23Bの処理について説明する。なお、第1実施形態の第1共通鍵取得部23と同様の構成については同一の符号を付し、説明を省略する。
 第1共通鍵取得部23Bは、2つの整数間の減算を行う第2演算処理部231を含む。
 第1共通鍵取得部23Bは、(式24)に示すように、第2演算処理部231により、第2共通鍵K2から、10進数の整数であるベース共通鍵Kbを減算して、10進数の整数である第2中間鍵Zを算出し、当該整数Zを第1共通鍵Kuとする。
 
  Z = K2 - Kb                 (式24)
 以上のように、第3実施形態では、送信側端末10における第2共通鍵生成部13Bにより、第2共通鍵K2(英数記号文字列)が生成されている場合、受信側端末20における第1共通鍵取得部23Bにより、第1共通鍵Kuを取得することができる。
[処理の流れ]
 図10に、送信側端末10において、利用者の所望した、利用者自身が覚えやすい任意の第1共通鍵Kuに基づいて第2共通鍵K2を生成し、受信側端末20に配送するまでの処理の流れと、受信側端末20において、送信側端末10から暗号文と同時若しくは事後に受信する第2共通鍵K2から第1暗号鍵を取得するまでの処理の流れと、を示す。
 図10を参照して、第3実施形態に係る情報システム1における処理の流れを説明する。
 ステップST_B101において、送信側端末10のベース鍵格納部11は、例えば、公知のDH鍵交換方式に基づいて、秘密裏に受信側端末20のベース鍵格納部21との間で安全に共有するベース共通鍵Kb(整数)を格納する。
 ステップST_B201において、受信側端末20のベース鍵格納部21は、例えば、公知のDH鍵交換方式に基づいて、秘密裏に送信側端末10のベース鍵格納部11との間で安全に共有するベース共通鍵Kb(整数)を格納する。
 ステップST_B102において、送信側端末10の第1共通鍵生成部12Bは、入力部を介して、利用者により入力された利用者の所望する鍵となる、第1共通鍵Ku(整数)を受け取り、記憶部に格納する。
 ステップST_B103において、送信側端末10の第2共通鍵生成部13Bは、第1演算処理部131により、第1共通鍵Ku(整数)にベース共通鍵Kb(整数)を加算して、10進数の整数Zを算出し、第2共通鍵K2とする。
 ステップST_B104において、送信側端末10は、ステップST_B103において算出された第2共通鍵K2を受信側端末20に送信する。
 ステップST_B202において、受信側端末20は、送信側端末10から、第2共通鍵K2を受信する。
 ステップST_B203において、受信側端末20の第1共通鍵取得部23Bは、第2演算処理部231により、10進数の整数である第2共通鍵K2から、10進数の整数であるベース共通鍵Kbを減算して、10進数の整数Zを算出し、当該整数Zを第1共通鍵Kuとする。
[第3実施形態の効果]
 以上説明した第3実施形態の情報システム1によれば、第1実施形態と同様の効果を奏する。それに加えて、以下のような効果も奏する。
 第3実施形態においては、送信側端末10の第2共通鍵生成部13Bは、第1共通鍵Ku及びベース共通鍵Kbの単なる加算演算により第2共通鍵K2を算出し、受信側端末20の第1共通鍵取得部23Bは、第2共通鍵K2及びベース共通鍵Kbの単なる減算演算により第1共通鍵Kuを算出する。
 これにより、送信側端末10及び受信側端末20において、演算処理をより高速化することができる。
 以上、本発明の好ましい第1実施形態から第3実施形態につき説明したが、本発明は、上述の実施形態に制限されるものではなく、適宜変更が可能である。
[変形例1]
 例えば、上記第1実施形態及び第2実施形態では、整数変換部01及び英数記号文字列変換部02は、112進数を応用したが、112進数に換えて96進数を応用してもよい。
 具体的には、96進数を応用した整数変換部(以下、「整数変換部01A」という)及び英数記号文字列変換部(以下、「英数記号文字列変換部02A」という)は、次のとおりである。
[整数変換部01A(整数変換部01の別の実施例)]
 整数変換部01Aは、(式7)に示すように、整数変換部01と同様に、英数記号文字・10進数対応テーブル03に基づいて、英数記号文字列Kを構成する英数記号文字である各aに対応する、10進数の整数Xi(32≦Xi≦127)を取得する。
 次に、整数変換部01Aは、(式25)に示すように、10進数の整数Xi(32≦Xi≦127)から、それぞれ、32を引き、Yi(0≦Yi≦95)を算出する。
  Yi = Xi - 32                (式25)
 次に、整数変換部01Aは、(式26)に示すように、Yiをi番目の桁の値とする96進数を10進数の整数Zに変換する。
  Z  = Σ(0≦i≦6)Yi*(96)          (式26)
 こうすることで、整数変換部01Aは、英数記号文字列Kを10進数の整数Zに変換することができる。
 ここで、Zは、
 Z≦75,144,747,810,815
 を満たす整数(10進数表示)となる。
[英数記号文字列変換部02A]
 英数記号文字列変換部02Aは、(式27)に示すように、10進数の整数Zを96進数に変換する。
  Z =  Σ(0≦i≦6)Yi*(96)          (式27)
 次に、英数記号文字列変換部02Aは、(式28)に示すように、各桁Yi(0≦Yi≦95)に32を加算して、各桁Xi(32≦Xi≦127)を算出する。
  Xi = Yi + 32                (式28)
 次に、英数記号文字列変換部02Aは、(式29)に示すように、英数記号文字・数字対応テーブル20に基づいて、各Xiに対応する、英数記号文字であるaを取得する。
  a = TR-1(Xi)   (16≦X≦127)    (式29)
  ここで、TR-1(Xi)は、10進数Xiに対応する英数記号文字であるaを意味する。
 次に、英数記号文字列変換部02Aは、(式30)に示すように、iの値の小さい順に英数記号文字である各aを右から並べて、英数記号文字列Kを取得する。
  K = a             (式30)
 以上、整数変換部01Aとその逆変換に相当する英数記号文字列変換部02Aについて説明した。
 そして、第1実施形態及び第2実施形態において、整数変換部01及び英数記号文字列変換部02に換えて、それぞれ整数変換部01A及び英数記号文字列変換部02Aを採用することとしてもよい。
[変形例2]
 第1実施形態、第2実施形態、及び第3実施形態において、送信側端末10の第1演算処理部131が、加算演算をする代わりに、例えば、減算(-)、乗算(*)、除算(/)等の四則演算処理を採用してもよい。この場合、受信側端末20の第2演算処理部231は送信側端末10の第1演算処理部131の逆演算処理を行うように構成する。
[変形例3]
 第1実施形態、第2実施形態、及び第3実施形態において、送信側端末の第1演算処理部131が、加算演算をする代わりに、例えば、ビットの排他的論理和等の論理演算を採用してもよい。この場合、受信側端末20の第1共通鍵取得部23の第2演算処理部231は、第2共通鍵K2のビット列にベース共通鍵Kbのビット列の排他的論理和をするように構成することで、第1共通鍵Kuを算出することができる
 以上、好適な実施形態について説明したが、本発明は前述した実施形態に限定されることなく種々の形態で実施することができる。前述の実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、前述のものに限定されない。
1 情報システム
01、01A 整数変換部
02、02A 英数記号文字列変換部
03 英数記号文字・10進数対応テーブル
10 送信側端末
11 ベース鍵格納部
12、12B 第1共通鍵生成部
13、13A、13B 第2共通鍵生成部
14 暗号化部
15 送信部
16 第1共通鍵生成部
20 受信側端末
21 ベース鍵格納部
22 受信部
23、23A、23B 第1共通鍵取得部
131 第1演算処理部
231 第2演算処理部
 

Claims (16)

  1.  コンピュータ装置が平文を暗号化するための第1共通鍵を作成し、通信ネットワークを介して鍵情報を他のコンピュータ装置に配送するための共通鍵配送方法であって、
     コンピュータ装置が、
      予め、Diffie-Hellman鍵交換方式に基づいて前記他のコンピュータ装置と共有する共通鍵を生成し、生成した共通鍵をベース共通鍵として格納するベース共通鍵格納ステップと、
      利用者の所望する文字列又は数値から構成される第1共通鍵を生成する第1共通鍵生成ステップと、
      前記第1共通鍵及び前記ベース共通鍵を入力として、可逆的な変換処理を行い、第2共通鍵を生成する第2共通鍵生成ステップと、
      前記通信ネットワークを介して、前記他のコンピュータ装置に対して前記第1共通鍵ではなく前記第2共通鍵を送信する通信ステップと、
    を含む方法。
  2.  前記第1共通鍵がゼロでない整数、前記第2共通鍵が整数であって、
     前記第2共通鍵生成ステップは、
      前記第1共通鍵及び前記ベース共通鍵を入力として、第2の整数を算出する第1演算処理ステップを含み、
      前記第1演算処理ステップにより算出された前記第2の整数を第2共通鍵とすることを特徴とする請求項1に記載の方法。
  3.  前記第1共通鍵が任意の英数記号文字から構成される英数記号文字列、前記第2共通鍵が整数であって、
     前記第2共通鍵生成ステップは、
      前記第1共通鍵である英数記号文字列を第1の整数に可逆的に変換する整数変換ステップと、
      前記整数変換ステップにより算出された前記第1の整数及び前記ベース共通鍵を入力として、第2の整数を算出する第1演算処理ステップと、を含み、
      前記第1演算処理ステップにより算出された前記第2の整数を第2共通鍵とすることを特徴とする請求項1に記載の方法。
  4.  前記第1共通鍵及び前記第2共通鍵がそれぞれ英数記号文字から構成される英数記号文字列であって、
     前記第2共通鍵生成ステップは、
      前記第1共通鍵である英数記号文字列を第1の整数に可逆的に変換する整数変換ステップと、
      前記整数変換ステップにより算出された前記第1の整数及び前記ベース共通鍵を入力として、第2の整数を算出する第1演算処理ステップと、
      前記第1演算処理ステップにより算出された第2の整数を第2の英数記号文字列に可逆的に変換する英数記号文字列変換ステップと、を含み、
      前記英数記号文字列変換ステップにより算出された第2の英数記号文字列を第2共通鍵とすることを特徴とする請求項1に記載の方法。
  5.  コンピュータ装置が、通信ネットワークを介して暗号文を復号化するための、暗号文作成者の所望する文字列又は数値から構成される第1共通鍵を他のコンピュータ装置から、配送を受けるための方法であって、
     コンピュータ装置が、
      予め、Diffie-Hellman鍵交換方式に基づいて前記他のコンピュータ装置と共有する共通鍵を生成し、生成した共通鍵をベース共通鍵として格納するベース共通鍵格納ステップと、
      前記他のコンピュータ装置から通信ネットワークを介して、前記第1共通鍵とは異なる第2共通鍵を受信するステップと、
      前記他のコンピュータ装置から受信した前記第2共通鍵及び前記ベース共通鍵を入力として、可逆的な変換処理を行い、前記第1共通鍵を取得する第1共通鍵取得ステップと、
    を含む、方法。
  6.  前記第1共通鍵がゼロでない整数、前記第2共通鍵が整数であって、
     前記第1共通鍵取得ステップは、
       前記第2共通鍵及び前記ベース共通鍵を入力として、第1の整数を算出する第2演算処理ステップを含み、
       前記第2演算処理ステップにより算出された前記第1の整数を第1共通鍵とすることを特徴とする請求項5に記載の方法。
  7.  前記第1共通鍵が任意の英数記号文字から構成される第1の英数記号文字列、前記第2共通鍵が整数であって、
     前記第1共通鍵取得ステップは、
      前記第2共通鍵及び前記ベース共通鍵を入力として、第1の整数を算出する第2演算処理ステップと、
      前記第2演算処理ステップにより算出された前記第1の整数を第1の英数記号文字列に可逆的に変換する英数記号文字列変換ステップと、を含み、
      前記英数記号文字列変換ステップにより算出された第1の英数記号文字列を第1共通鍵とすることを特徴とする請求項5に記載の方法。
  8.  前記第1共通鍵及び前記第2共通鍵が、それぞれ英数記号文字から構成される英数記号文字列であって、
     前記第1共通鍵取得ステップは、
      前記第2共通鍵である英数記号文字列を可逆的に第2の整数に変換する整数変換ステップと、
      前記第2の整数及び前記ベース共通鍵を入力として、第1の整数を算出する第2演算処理ステップと、
      前記第2演算処理ステップにより算出された前記第1の整数を第1の英数記号文字列に可逆的に変換する英数記号文字列変換ステップと、を含み、
      前記英数記号文字列変換ステップにより算出された第1の英数記号文字列を第1共通鍵とすることを特徴とする請求項5に記載の方法。
  9.  第1演算処理ステップにおいて、加算処理により第2の整数を算出する、請求項2~請求項4のいずれか1項に記載の方法。
  10.  第2演算処理ステップにおいて、減算処理により第1の整数を算出する、請求項6~請求項8のいずれか1項に記載の方法。
  11.  英数記号文字列を可逆的に整数に変換する整数変換ステップは、
     英数記号文字の各々が、32以上127以下の整数の各々に1対1に対応付けられた、文字・整数対応テーブルに基づいて、前記英数記号文字列を構成する各桁の英数記号文字に対応する整数を算出するステップと、
     前記各桁における英数記号文字に対応する各整数をそれぞれ16以上111以下の整数にシフトするステップとし、
     前記シフトされた、各桁における英数記号文字に対応する各整数を、112進数における桁の値とする112進数を算出するステップと、
     前記算出された112進数を10進数の整数に変換するステップと、を含むことを特徴とする、請求項3、請求項4、又は請求項8のいずれか1項に記載の方法。
  12.  コンピュータ装置に請求項1から請求項11のいずれかに記載の方法の各ステップを実行させるためのコンピュータプログラム。
  13.  平文を暗号化するための第1共通鍵を作成し、鍵情報を受信側端末装置に配送する送信側端末装置と、前記送信側端末装置から配送される前記鍵情報から、第1共通鍵を取得する前記受信側端末装置とを含む共通鍵配送システムであって、
     前記送信側端末装置は、
     予め、Diffie-Hellman鍵交換方式に基づいて前記受信側端末装置と共有する共通鍵を生成し、生成した共通鍵をベース共通鍵として格納するベース共通鍵格納部と、
     利用者の所望する文字列又は数値から構成される第1共通鍵を生成する第1共通鍵生成部と、
     前記第1共通鍵及び前記ベース共通鍵を入力として、可逆的な変換処理を行い、第2共通鍵を生成する第2共通鍵生成部と、
     前記受信側端末装置と通信するための通信部と、を含み、
     前記通信部は、前記受信側端末装置に対して前記第1共通鍵ではなく前記第2共通鍵を送信し、
     前記受信側端末装置は、
      予め、Diffie-Hellman鍵交換方式に基づいて前記送信側端末装置と共有する共通鍵を生成し、生成した共通鍵をベース共通鍵として格納するベース鍵格納部と、
      前記送信側端末装置から通信ネットワークを介して、前記第1共通鍵とは異なる第2共通鍵を受信するための通信部と、
      前記送信側端末装置から前記通信部を介して受信した前記第2共通鍵及び前記ベース鍵格納部に格納されたベース共通鍵を入力として可逆的な変換処理を行い、前記第1共通鍵を取得する第1共通鍵取得部と、
    を含むことを特徴とする共通鍵配送システム。
  14.  前記第1共通鍵がゼロでない整数、及び前記第2共通鍵が整数であって、
     前記第2共通鍵生成部は、
      前記第1共通鍵及び前記ベース共通鍵を入力として、第1演算処理を行い、第2の整数を算出する第1演算処理部を含み、
      前記第1演算処理部により算出された前記第2の整数を第2共通鍵とし、
     前記第1共通鍵取得部は、
      前記第2共通鍵及び前記ベース共通鍵を入力として、第2演算処理を行い、第1の整数を算出する第2演算処理部を含み、
      前記第2演算処理部により算出された前記第1の整数を第1共通鍵とすることを特徴とする請求項13に記載の共通鍵配送システム。
  15.  前記第1共通鍵が任意の英数記号文字から構成される第1の英数記号文字列、及び前記第2共通鍵が整数であって、
     前記第2共通鍵生成部は、
      前記第1共通鍵を第1の整数に可逆的に変換する整数変換部と、
      前記整数変換部により算出された前記第1の整数及び前記ベース共通鍵を入力として、第1演算処理を行い、第2の整数を算出する第1演算処理部と、を含み、
      前記第1演算処理部により算出された前記第2の整数を第2共通鍵とし、
     前記第1共通鍵取得部は、
      前記第2共通鍵及び前記ベース共通鍵を入力として、第2演算処理を行い、第1の整数を算出する第2演算処理部と、
      前記第2演算処理部により算出された前記第1の整数を第1の英数記号文字列に可逆的に変換する英数記号文字列変換部と、を含み、
      前記英数記号文字列変換部により算出された前記第1の英数記号文字列を第1共通鍵とすることを特徴とする請求項13に記載の共通鍵配送システム。
  16.  前記第1共通鍵が任意の英数記号文字から構成される第1の英数記号文字列、及び前記第2共通鍵が英数記号文字から構成される第2の英数記号文字列であって、
     前記第2共通鍵生成部は、
      前記第1共通鍵を第1の整数に可逆的に変換する整数変換部と、
      前記整数変換部により算出された前記第1の整数及び前記ベース共通鍵を入力として、第1演算処理を行い、第2の整数を算出する第1演算処理部と、
      前記第1演算処理部により算出された第2の整数を第2の英数記号文字列に可逆的に変換する英数記号文字列変換部と、を含み、
      前記英数記号文字列変換部により算出された第2の英数記号文字列を第2共通鍵とし、
     前記第1共通鍵取得部は、
      前記第2共通鍵を可逆的に第2の整数に変換する整数変換部と、
      前記整数変換部により算出された前記第2の整数及び前記ベース共通鍵を入力として、第2演算処理を行い、第1の整数を算出する第2演算処理部と、
      前記第2演算処理部により算出された前記第1の整数を第1の英数記号文字列に可逆的に変換する英数記号文字列変換部と、を含み、
      前記英数記号文字列変換部により算出された第1の英数記号文字列を第1共通鍵とすることを特徴とする請求項13に記載の共通鍵配送システム。
PCT/JP2014/066045 2014-06-17 2014-06-17 利用者の所望する共通鍵暗号の鍵を同時若しくは暗号化後に配送する方法、プログラム、及びシステム WO2015193969A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/JP2014/066045 WO2015193969A1 (ja) 2014-06-17 2014-06-17 利用者の所望する共通鍵暗号の鍵を同時若しくは暗号化後に配送する方法、プログラム、及びシステム
JP2016528689A JP6489123B2 (ja) 2014-06-17 2014-06-17 利用者の所望する共通鍵暗号の鍵を同時若しくは暗号化後に配送する方法、プログラム、及びシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2014/066045 WO2015193969A1 (ja) 2014-06-17 2014-06-17 利用者の所望する共通鍵暗号の鍵を同時若しくは暗号化後に配送する方法、プログラム、及びシステム

Publications (1)

Publication Number Publication Date
WO2015193969A1 true WO2015193969A1 (ja) 2015-12-23

Family

ID=54935001

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2014/066045 WO2015193969A1 (ja) 2014-06-17 2014-06-17 利用者の所望する共通鍵暗号の鍵を同時若しくは暗号化後に配送する方法、プログラム、及びシステム

Country Status (2)

Country Link
JP (1) JP6489123B2 (ja)
WO (1) WO2015193969A1 (ja)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5734718A (en) * 1995-07-05 1998-03-31 Sun Microsystems, Inc. NIS+ password update protocol
JP2007166519A (ja) * 2005-12-16 2007-06-28 Dainippon Printing Co Ltd 判定システム、生成装置、判定装置及び判定方法等
JP2009157694A (ja) * 2007-12-27 2009-07-16 Mitsubishi Electric Corp データダウンロードシステム及びデータダウンロード方法
JP2010154419A (ja) * 2008-12-26 2010-07-08 Digital Arts Inc 電子ファイル送信方法
JP2010258934A (ja) * 2009-04-28 2010-11-11 Kddi Corp パスワード通知装置およびパスワード通知システム

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08204700A (ja) * 1995-01-26 1996-08-09 Nippon Telegr & Teleph Corp <Ntt> 暗号通信装置及び暗号通信方法
JP3327368B2 (ja) * 1995-11-06 2002-09-24 日本電信電話株式会社 利用者パスワード認証方法
JP4598250B2 (ja) * 2000-09-06 2010-12-15 株式会社サンセイアールアンドディ パチンコ機
JP4999877B2 (ja) * 2009-04-13 2012-08-15 日本電信電話株式会社 改ざん検出用認証符号埋め込み方法および装置並びにそのプログラム、改ざん検出方法および装置並びにそのプログラム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5734718A (en) * 1995-07-05 1998-03-31 Sun Microsystems, Inc. NIS+ password update protocol
JP2007166519A (ja) * 2005-12-16 2007-06-28 Dainippon Printing Co Ltd 判定システム、生成装置、判定装置及び判定方法等
JP2009157694A (ja) * 2007-12-27 2009-07-16 Mitsubishi Electric Corp データダウンロードシステム及びデータダウンロード方法
JP2010154419A (ja) * 2008-12-26 2010-07-08 Digital Arts Inc 電子ファイル送信方法
JP2010258934A (ja) * 2009-04-28 2010-11-11 Kddi Corp パスワード通知装置およびパスワード通知システム

Also Published As

Publication number Publication date
JPWO2015193969A1 (ja) 2017-04-20
JP6489123B2 (ja) 2019-03-27

Similar Documents

Publication Publication Date Title
CN102546600B (zh) 基于代理的加密、解密方法,网络设备、网络装置及系统
US8675864B2 (en) Apparatus for encrypting data
JP6363032B2 (ja) 鍵付替え方向制御システムおよび鍵付替え方向制御方法
JP2018023029A (ja) 通信システム、通信用クライアント、通信用サーバ、通信方法、プログラム
CN104022872A (zh) 数据加密方法
CN112865955B (zh) 多接收者代理重加密方法、系统、电子装置及存储介质
CN109450615A (zh) 一种高效的opc ua客户端与服务器端数据传输加密方法
JP2019528028A (ja) 幾何代数を用いた高度データ中心型暗号化システムのための方法およびシステム
JP7170878B2 (ja) 暗号文に対する非多項式演算を行う装置及び方法
US20170012775A1 (en) Encryption Methods and Apparatus
CN105530089B (zh) 属性基加密方法和装置
KR101575681B1 (ko) 속성 기반 암호화 방법
CN115361109B (zh) 一种支持双向代理重加密的同态加密方法
Kaushik et al. Secure cloud data using hybrid cryptographic scheme
JP6489123B2 (ja) 利用者の所望する共通鍵暗号の鍵を同時若しくは暗号化後に配送する方法、プログラム、及びシステム
Kumar et al. Hybridization of Cryptography for Security of Cloud Data
KR101793528B1 (ko) 무인증서 공개키 암호 시스템
JP2017527225A (ja) 暗号システムの再現可能なランダムシーケンス
Erondu et al. An encryption and decryption model for data security using vigenere with advanced encryption standard
Chang A flexible hierarchical access control mechanism enforcing extension policies
JP5586758B1 (ja) 動的暗号化鍵生成システム
Hossen et al. Join Public Key and Private Key for Encrypting Data
Kumar et al. Role of Cryptography & its Related Techniques in Cloud Computing Security
Pawar et al. Survey of cryptography techniques for data security
Mushtaque et al. Implementation of new encryption algorithm with random key selection and minimum space complexity

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

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2016528689

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 14894959

Country of ref document: EP

Kind code of ref document: A1