Computing unit, terminal device, network, calculation method and program

The computing device and method address the challenge of key length mismatch by extracting and encrypting bit sequences to generate a key equal in size to the cipher algorithm, ensuring secure communication and efficient encryption.

JP2026049998APending Publication Date: 2026-03-19KDDI CORP
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-09-09
Publication Date
2026-03-19

AI Technical Summary

Technical Problem

The introduction of a 256-bit cipher necessitates the need for compressing a 256-bit key to fit the 128-bit cipher, as both key lengths will coexist, requiring a method to generate a key equal in size to the cipher algorithm.

Method used

A computing device and method that extracts a bit sequence from a common key to match the bit length of an input key, performs encryption until the ciphertext length exceeds an integer multiple of the input key length, divides the resulting sequences, and applies an exclusive OR operation to generate a key with the same bit length as the input key.

Benefits of technology

This approach allows for compressing the bit length of a given key to match the cipher algorithm, ensuring secure communication by generating a key of equal size, enhancing encryption strength and efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026049998000001_ABST
    Figure 2026049998000001_ABST
Patent Text Reader

Abstract

The bit length of the given key is compressed to generate a key of equal size to the key used in the cryptographic algorithm. [Solution] The arithmetic unit performs the following steps: an extraction step of extracting a bit sequence having the same bit length as the input key if the bit length of the common key is longer than the bit length of the input key used in a predetermined algorithm; an encryption step of generating ciphertext by performing a predetermined plaintext encryption process agreed upon between the terminal device and the network using the extracted bit sequence as a key; and a key generation step of repeatedly processing the bit sequences of the generated ciphertext until the total bit length of the generated ciphertext is longer than the bit length of the input key if the bit length of the generated ciphertext is shorter than an integer multiple of the bit length of the input key, dividing the resulting bit sequence according to the bit length of the input key, and generating a key having the same bit length as the input key based on the multiple bit sequences obtained by the division.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to an arithmetic device, a terminal device, a network, an arithmetic method, and a program.

Background Art

[0002] Conventional 3GPP (registered trademark) specifications are formulated on the premise of allocating a 128-bit key to a 128-bit cipher. For example, Non-Patent Document 1 defines the specific specifications of such technology.

Prior Art Documents

Non-Patent Documents

[0003]

Non-Patent Document 1

Summary of the Invention

Problems to be Solved by the Invention

[0004] Here, currently, discussions are underway for introducing a 256-bit cipher. When a 256-bit cipher is introduced, it is assumed that 128-bit ciphers and 256-bit ciphers will coexist. In such a case, there is a need for using a 256-bit key with a 128-bit cipher. That is, there is a need for compressing the bit length of a given key and generating a key equal to the size of the key used in the cipher algorithm.

[0005] The present invention has been made in consideration of such circumstances, and an object thereof is to provide an arithmetic device, a terminal device, a network, an arithmetic method, and a program capable of compressing the bit length of a given key and generating a key equal to the size of the key used in the cipher algorithm.

Means for Solving the Problems

[0006] (1) One aspect of the present invention is a computer having at least a processor and memory, which is an arithmetic device that causes a computer to perform the following steps: an extraction step in which, if the bit length of a common key assigned for use in communication between a terminal device and a network is longer than the bit length of an input key used in a predetermined algorithm, the bit sequence corresponding to the bit length of the input key is extracted from the bit sequence of the common key, thereby extracting a bit sequence having the same bit length as the bit length of the input key; an encryption step in which the bit sequence extracted in the extraction step is used as a key to generate a ciphertext by performing a predetermined plaintext encryption process agreed upon between the terminal device and the network; and if the bit length of the ciphertext generated in the encryption step is shorter than the bit length obtained by an integer multiple of the bit length of the input key, the encryption step is repeated until the total bit length of the generated ciphertext is longer than the bit length obtained by an integer multiple of the bit length of the input key, the bit sequence obtained by the repeated processing is divided according to the bit length of the input key, and a key having the same bit length as the bit length of the input key is generated based on the plurality of bit sequences obtained by the division. (2) In another aspect of the present invention, in the arithmetic unit of (1) described above, the extraction step is to extract a bit sequence from the beginning of the bit sequence of the common key that corresponds to the bit length of the input key. (3) In addition, in one aspect of the present invention, in the arithmetic unit of (1) or (2) described above, the key generation step generates a key having the same bit length as the input key by performing an exclusive OR operation on a plurality of bit sequences obtained by the division. (4) In addition, in an arithmetic device described in any of (1) to (3) above, the key generation step is performed such that, if the bit sequence obtained by dividing the input key according to its bit length is not an integer multiple of the number of bits in the input key, the number of bits is increased by padding so that the divided bit sequence becomes an integer multiple of the number of bits in the input key. (5) In addition, in one aspect of the present invention, in the computing device described in any of (1) to (4) above, the predetermined plaintext used in the encryption step is different from one another depending on the number of iterations performed by the key generation step. (6) In addition, in one aspect of the present invention, in the computing device described in any of (1) to (4) above, the predetermined plaintext used in the encryption step is a time-dependent variable agreed in advance between the terminal device and the network. (7) In addition, in one aspect of the present invention, in the arithmetic device described in any of (1) to (6) above, the bit length of a predetermined plaintext used in the encryption step is the same as the value obtained by dividing the bit length of the input key by a natural number n of 1 or more, and the key generation step generates a key having a bit length that is an integer multiple of the bit length of the input key by repeating the encryption step n times. (8) In addition, in one aspect of the present invention, in the computing device described in any of (1) to (7) above, the encryption step generates a ciphertext using the AES (Advanced Encryption Standard) method or a stream cipher method. (9) In addition, in one aspect of the present invention, in the arithmetic device described in any of (1) to (8) above, the bit length of the common key is 256 bits and the bit length of the input key is 128 bits. (10) Another aspect of the present invention is a terminal device equipped with the arithmetic unit described in any of (1) to (9) above. (11) Another aspect of the present invention is a network comprising the computing device described in any of (1) to (9) above. (12) In another aspect of the present invention, in the network described in (11) above, the computing device is provided in at least one of the next generation Node B (gNodeB or gNB) or the AMF (Access and Mobility Management Function). (13) Another aspect of the present invention is an arithmetic method comprising: an extraction step in which, when the bit length of a common key assigned for use in communication between a terminal device and a network is longer than the bit length of an input key used in a predetermined algorithm, the bit sequence corresponding to the bit length of the input key is extracted from the bit sequence of the common key, thereby extracting a bit sequence having the same bit length as the input key; an encryption step in which the bit sequence extracted in the extraction step is used as a key to generate a ciphertext by performing a predetermined plaintext encryption process agreed upon between the terminal device and the network; and, when the bit length of the ciphertext generated in the encryption step is shorter than the bit length obtained by an integer multiple of the bit length of the input key, the encryption step is repeated until the sum of the bit lengths of the generated ciphertexts becomes longer than the bit length obtained by an integer multiple of the bit length of the input key, the bit sequence obtained by the repeated processing is divided according to the bit length of the input key, and a key having the same bit length as the input key is generated based on the plurality of bit sequences obtained by the division. (14) Another aspect of the present invention is a program that causes a computer to execute: an extraction step in which, if the bit length of a common key assigned for use in communication between a terminal device and a network is longer than the bit length of an input key used in a predetermined algorithm, the computer extracts a bit sequence having the same bit length as the input key by extracting a bit sequence from the bit sequence of the common key that corresponds to the bit length of the input key; an encryption step in which the computer generates a ciphertext by performing a predetermined plaintext encryption process agreed upon between the terminal device and the network using the bit sequence extracted in the extraction step as a key; and if the bit length of the ciphertext generated in the encryption step is shorter than the bit length obtained by an integer multiple of the bit length of the input key, the computer repeats the encryption step again until the total bit length of the generated ciphertext is longer than the bit length obtained by an integer multiple of the bit length of the input key, and the computer repeats the process until the bit length obtained by the repeated process is longer than the bit length obtained by an integer multiple of the bit length of the input key, and the computer divides the bit sequence obtained by the repeated process according to the bit length of the input key, and generates a key having the same bit length as the input key based on the multiple bit sequences obtained by the division. [Effects of the Invention]

[0007] According to the present invention, it is possible to provide a computing device, terminal device, network, computing method, and program that can compress the bit length of a given key and generate a key equal in size to the key used in the cryptographic algorithm. [Brief explanation of the drawing]

[0008] [Figure 1] This figure shows a schematic architecture of a wireless system according to one embodiment. [Figure 2] This is a block diagram schematically representing the wireless system according to this embodiment. [Figure 3] This diagram illustrates the processing of the wireless system according to this embodiment when a 128-bit key is provided and when a 256-bit key is provided. [Figure 4]This is a flowchart showing a series of steps in the calculation method according to this embodiment. [Figure 5] This block diagram shows an example of the internal configuration of a network or terminal device according to this embodiment. [Modes for carrying out the invention]

[0009] [Embodiment] The following describes in detail, with reference to the attached drawings, a preferred embodiment of the computing device, terminal device, network, computing method, and program according to aspects of the present invention. It should be noted that the embodiments of the present invention are not limited to these embodiments, and include various modifications and improvements. In other words, the components described below include those that are easily conceivable to those skilled in the art, and those that are substantially the same, and the components described below can be combined as appropriate. Furthermore, various omissions, substitutions, or modifications of components can be made without departing from the spirit of the present invention. Also, in the following drawings, the scale and number of components in each structure may differ from the scale and number of components in the actual structure in order to make each structure easier to understand.

[0010] In the following explanation, for the sake of clarity, terms and names defined in the 3GPP® LTE (3rd Generation Partnership Project Long Term Evolution) standard may be used. However, this embodiment is not limited by such terms and names and is applicable to systems based on other standards.

[0011] Figure 1 shows a schematic architecture of a wireless system according to one embodiment. The wireless system 1 shown in the figure has a control plane (C-Plane), which has functions for controlling communication, and a user plane (U-Plane), which has functions for realizing user communication. For the sake of simplicity, the figure shows a basic architecture used in 5th generation mobile communication systems (5G), but the wireless system 1 to which this embodiment is applied is not limited to an example applied to 5G, but can be broadly applied to other systems.

[0012] In the following explanation, components other than the UE (User Equipment) may be referred to as the network. The network includes the access layer and the non-access layer. The access layer includes at least a base station, and the non-access layer includes at least an AMF (Access and Mobility Management Function). As shown in the diagram, the UE and AMF communicate with each other via the N1 interface. In the following explanation, base stations and AMF may be referred to as higher-level concepts and simply as the network.

[0013] Figure 2 is a schematic block diagram of the wireless system according to this embodiment. The figure schematically represents a part of the configuration of the wireless system 1. The wireless system 1 has a network 30 and terminal devices 50. As an example, the figure shows one network and multiple terminal devices 50. Specifically, as an example of multiple terminal devices 50, terminal device 50-1, terminal device 50-2, ... and terminal device 50-m (where m is a natural number of 1 or more) are shown.

[0014] Network 30 communicates with terminal device 50. Network 30 includes at least a base station. The base station may include functions of, for example, an O-RU (Radio Unit), an O-DU (Distributed Unit), and an O-CU (Central Unit) as defined by the O-RAN (Open-RAN) specification.

[0015] The base station may also be referred to as a next generation Node B (gNodeB or gNB), an en-gNB, a Next Generation-Radio Access Network (NG-RAN) node, an eNB, a low-power node, a CU, a DU, a RU, a gNB-DU, a Remote Radio Head (RRH), an Integrated Access and Backhaul / Backhauling (IAB) node, etc. The base station is not limited to a single node and may be composed of multiple nodes (for example, a combination of lower nodes such as a RU or a DU and upper nodes such as a CU).

[0016] Terminal device 50 is used by a user. Specific examples of terminal device 50 include smartphones, tablet terminal devices, wearable devices, etc. Terminal device 50 may also be referred to as a user device or a UE, etc.

[0017] Here, both network 30 and terminal device 50 include an arithmetic unit 10. The arithmetic unit 10 includes at least a processor and a memory as hardware components. The functions of the arithmetic unit 10 may be realized by causing a computer to execute a program. The arithmetic unit 10 performs operations for expanding or compressing the number of bits of a key used for encryption or decryption. The configurations of the arithmetic units 10 included in network 30 and terminal device 50 may be the same or different. However, at least a part of the configurations of the arithmetic units 10 included in network 30 and terminal device 50 is assumed to have the same configuration as each other.

[0018] Furthermore, the location of the arithmetic unit 10 within the network 30 is arbitrary. For example, the arithmetic unit 10 may be located in the gNodeB or the AMF. Alternatively, the arithmetic unit 10 may be located in at least one of the gNodeB or the AMF within the network 30.

[0019] Figure 3 illustrates the processing in the case where a 128-bit key and a 256-bit key are provided to the wireless system according to this embodiment. Here, the wireless system 1 may be provided with either a 128-bit key or a 256-bit key. Whether to use a 128-bit key or a 256-bit key for encrypted communication is decided at the start of communication. Specifically, the network 30 and the terminal device 50 negotiate at the start of communication to determine the algorithm to be used. If the negotiation results in the use of a 128-bit key and a 128-bit key is provided, it is possible to perform encrypted communication using the 128-bit key as is. However, if a 256-bit key is provided, it is necessary to first compress the 256-bit key to 128 bits and then perform encrypted communication using the compressed 128-bit key.

[0020] Figure 3(A) shows an example where a 128-bit key is provided. In this case, the network 30 and the terminal device 50 can communicate with each other using the 128-bit key in an encrypted manner.

[0021] Figure 3(B) shows an example where a 256-bit key is provided. In this case, both the network 30 and the terminal device 50 are required to compress the 256-bit key to 128 bits. The network 30 and the terminal device 50 then use the compressed key to perform encrypted communication with each other.

[0022] [A specific example of a key compression method] Figure 4 is a flowchart showing the sequence of operations according to this embodiment. Referring to this figure, a specific example of the key compression method will be explained. Note that the example described above describes the compression of a 256-bit key to 128 bits; however, the number of bits in the key targeted by the key compression method according to this embodiment is not limited to this example. In the following explanation, the number of bits in the key will be generalized.

[0023] As a premise, assume that a common key K1 is generated between terminal device 50 and network 30 as a key to be used for encryption. The common key K1 can also be described as a key assigned for use in communication between terminal device 50 and network 30. Furthermore, assume that algorithm E is selected as the encryption method to be used between terminal device 50 and network 30. The input key for algorithm E is referred to as input key K2. The input key K2 can also be described as a key used in a given algorithm E. The aforementioned arithmetic unit 10 generates input key K2 by compressing the common key K1. Terminal device 50 and network 30, which communicate with each other, generate the same input key K2 by compressing the same common key K1.

[0024] (Step S11) First, the arithmetic unit 10 compares the bit lengths of the common key K1 and the input key K2. When the bit length of the common key K1 is |K1| and the bit length of the input key K2 is |K2|, if |K1| > |K2| (i.e., Step S11; YES), the arithmetic unit 10 proceeds to Step S12 to generate the input key K2 from the common key K1 and continues the subsequent processing. If |K1| > |K2| is not true (i.e., Step S11; NO), the arithmetic unit 10 does not need to perform key compression processing and terminates the processing.

[0025] (Step S12) If the bit length of the common key K1 (e.g., 256 bits) is longer than the bit length of the input key K2 (e.g., 128 bits), the arithmetic unit 10 extracts a bit sequence from the common key K1 that corresponds to the bit length of the input key K2. This step may also be described as the extraction step. The extraction step extracts a bit sequence that has the same bit length as the input key K2. Specifically, in this extraction step, the bit sequence corresponding to the bit length of the input key K2 may be extracted from the beginning of the bit sequence of the common key K1. In other words, the leading bit of the common key K1 can be extracted such that │K2│ = │K1a│.

[0026] (Step S13) Next, the arithmetic unit 10 generates ciphertext Ci by performing cryptographic processing on plaintext m using the bit sequence extracted in the extraction step as a key. Plaintext m is a predetermined plaintext agreed upon in advance between the terminal device 50 and the network 30. Preferably, the bit length of plaintext m is the same as the bit length of the input key K2, or shorter than the bit length of the input key K2. The process performed in this step may also be described as the encryption step. In the encryption step, it can also be said that ciphertext Ci is generated based on plaintext m and key K1a. Here, i is the number of times the encryption step has been performed, and is a natural number greater than or equal to 1. For example, ciphertext C1 is obtained by the first encryption step, and ciphertext C2 is obtained by the second encryption step. Specifically, ciphertext C1 can be expressed as equation (1) below.

[0027]

number

[0028] Here, it is preferable that the bit length of the predetermined plaintext m used in the encryption process is the same as the value obtained by dividing the bit length of the input key K2 (e.g., 128 bits) by a natural number n greater than or equal to 1 (e.g., 128 bits or 64 bits). By doing so, the padding process in step S18, which will be explained later, can be omitted. By increasing n (shortening the bit length of the plaintext m), the number of encryption processes can be increased, which can result in stronger encryption, but it can also increase the processing load.

[0029] Furthermore, the plaintext m used for encryption only needs to be agreed upon in advance between the terminal device 50 and the network 30, and may be different each time in the repeated encryption process. In other words, the plaintext m may differ from one another depending on the number of iterations (i mentioned above). Also, different plaintext m may be used depending on the time. Plaintext m can also be said to be a variable that depends on time.

[0030] Furthermore, known technologies can be applied as examples of specific encryption processes performed during the encryption process. Specific examples of encryption processes include the AES (Advanced Encryption Standard) method or stream ciphers. A more specific example of a stream cipher is Snow-3G (with ZUC as an option).

[0031] (Step S14) Here, the bit length of the ciphertext generated by the encryption process differs depending on the bit length of the plaintext m. Preferably, the encryption process is repeated until, for example, the entire symmetric key K1 is used. If the process has not been repeated until the entire symmetric key K1 is used (i.e., Step S14; NO), the process returns to Step S13 and the encryption process is repeated. If the process has been repeated until the entire symmetric key K1 is used (i.e., Step S14; YES), the process proceeds to Step S15.

[0032] Here, using the entire symmetric key K1 can result in stronger encryption. Conversely, if the entire symmetric key K1 is not used, it may not be possible to use characteristic patterns, for example, that exist in the unused region. However, this embodiment is not limited to this example, and the encryption process can be performed using any part of the symmetric key K1. In other words, in this embodiment, it is not necessarily required to repeat the process until the entire symmetric key K1 is used.

[0033] In this embodiment, it is preferable that at least a portion of the common key K1 is used, and that the bit length of the generated ciphertext is longer than the bit length obtained by an integer multiple of the bit length of the input key K2. In other words, if the bit length of the ciphertext generated by the encryption process is shorter than the bit length obtained by an integer multiple of the bit length of the input key K2, the encryption process can be repeated. As a result, the process is repeated until the bit length of the sum (concatenated) of the generated ciphertexts is longer than the bit length obtained by an integer multiple of the bit length of the input key K2. For example, the ciphertext C2 obtained by the second encryption process can be expressed as equation (2) below.

[0034]

number

[0035] (Step S15) By repeatedly performing the encryption process, ciphertexts C1, C2, ..., Cn are obtained. The arithmetic unit 10 obtains ciphertext C by concatenating these ciphertexts. For example, the ciphertext C obtained as a result of concatenation can be expressed as equation (3) below.

[0036]

number

[0037] Here, it is preferable that the number of bits in the ciphertext C is longer than the number of bits in the input key K2. Specifically, it is preferable that the number of bits in the ciphertext C is an integer multiple of the number of bits in the input key K2.

[0038] (Step S16) Next, the arithmetic unit 10 divides the concatenated bit string according to the number of bits in the input key K2. For example, if the number of bits in the input key K2 is 128 bits, the concatenated bit string is divided into blocks of 128 bits each. In other words, the bit string obtained by repeating the process is divided according to the bit length of the input key K2. The encryption process can also be repeated n times, which is the number of times obtained by dividing the bit length of the input key K2 by the bit length of the plaintext m, to generate a key with a bit length that is an integer multiple of the bit length of the input key K2 (for example, 512 bits).

[0039] (Step S17) Here, the result of dividing the concatenated bit string may be exactly the number of bits in the input key K2, or it may not be. For example, if the number of bits in the input key K2 is 128 bits and the number of bits in the concatenated bit string is 512 bits, then dividing the 512-bit bit string into 128-bit blocks will result in exactly four blocks (i.e., exactly the number of bits in the input key K2). Thus, if the result of dividing the concatenated bit string is exactly the number of bits in the input key K2 (i.e., Step S17; YES), the process proceeds to Step S19. If the result of dividing the concatenated bit string is not exactly the number of bits in the input key K2 (i.e., Step S17; NO), the process proceeds to Step S18.

[0040] (Step S18) If the result of dividing the concatenated bit string is not exactly the number of bits in the input key K2, the number of bits is increased by padding. That is, if the number of bits in the last divided block is not the number of bits in the input key K2, the number of bits is increased by padding so that it becomes the number of bits in the input key K2. In other words, if the result of dividing the bit string according to the bit length of the input key K2 is not an integer multiple of the number of bits in the input key K2, the number of bits is increased by padding so that the divided bit string is an integer multiple of the number of bits in the input key K2.

[0041] (Step S19) Finally, based on the multiple blocks (bit sequences) obtained by the division, a key having the same bit length as the input key K2 is generated. For example, the reduced input key may be obtained by performing the exclusive OR operation on each bit sequence. The expression for obtaining the input key K2 by performing the exclusive OR operation can be expressed, for example, as the following expression (4).

[0042]

number

[0043] Furthermore, the operation method for each bit sequence is not limited to exclusive OR. According to this embodiment, it is also possible to apply other operation methods instead of exclusive OR.

[0044] Steps S14 to S19 may sometimes be referred to as the key generation process.

[0045] Figure 5 is a block diagram showing an example of the internal configuration of a network or terminal device according to this embodiment. At least some of the functions of the network 30 or terminal device 50 can be realized using a computer. As shown in the figure, the computer is composed of a central processing unit (processor) 901, RAM 902, input / output ports 903, input / output devices 904 and 905, etc., and a bus 906. The computer itself can be realized using existing technology. The central processing unit 901 executes instructions contained in programs read from RAM 902, etc. The central processing unit 901 writes data to RAM 902, reads data from RAM 902, and performs arithmetic and logical operations according to each instruction. RAM 902 stores data and programs. Each element contained in RAM 902 has an address and can be accessed using that address. RAM stands for "Random Access Memory". Input / output ports 903 are ports for the central processing unit 901 to exchange data with external input / output devices, etc. Input / output devices 904 and 905 are input / output devices. Input / output devices 904 and 905 exchange data with the central processing unit 901 via input / output ports 903. Bus 906 is a common communication channel used within the computer. For example, the central processing unit 901 reads and writes data to RAM 902 via bus 906. Also, for example, the central processing unit 901 accesses input / output ports via bus 906. Furthermore, all or part of each functional unit of the network 30 or terminal device 50 may be implemented using hardware such as ASICs, PLDs, or FPGAs. Furthermore, all or part of each functional unit may be implemented by a combination of software and hardware.

[0046] [Summary of Embodiments] According to the embodiments described above, the arithmetic unit 10 causes a computer, which includes at least a processor and memory, to perform an extraction step, an encryption step, and a key generation step. In the extraction step, if the bit length of the common key K1 assigned for use in communication between the terminal device 50 and the network 30 is longer than the bit length of the input key K2 used in a predetermined algorithm E, the bit sequence corresponding to the bit length of the input key K2 is extracted from the bit sequence of the common key K1, thereby extracting a bit sequence with the same bit length as the input key K2. In the encryption step, the bit sequence extracted in the extraction step is used as a key to perform cryptographic processing on a predetermined plaintext m agreed upon in advance between the terminal device 50 and the network 30, thereby generating a ciphertext Ci. The key generation process, if the bit length of the ciphertext generated by the encryption process is shorter than an integer multiple of the bit length of the input key K2, repeats the encryption process until the sum of the bit lengths of the generated ciphertexts is longer than an integer multiple of the bit length of the input key K2. The bit sequence obtained through this iterative process is then divided according to the bit length of the input key K2, and a key with the same bit length as the input key K2 is generated based on the multiple bit sequences obtained by the division. By adopting this configuration, the bit length of a given key can be compressed, and a key equal in size to the key used in the encryption algorithm can be generated.

[0047] Furthermore, the above-described embodiment, for example, by "compressing the bit length of a given key and generating a key equal in size to the key used in the cryptographic algorithm," can contribute to Goal 9 of the United Nations-led Sustainable Development Goals (SDGs), "build resilient infrastructure, promote sustainable industrialization and foster innovation."

[0048] Although embodiments of the present invention have been described in detail above with reference to the drawings, the specific configuration is not limited to these embodiments, and design modifications and the like are also included within the scope of the gist of the present invention.

[0049] Alternatively, computer programs for realizing the functions of each of the above-mentioned devices may be recorded on a computer-readable recording medium, and the programs recorded on this recording medium may be loaded into a computer system and executed. Note that the term "computer system" here may include hardware such as an operating system and peripheral devices. Furthermore, "computer-readable recording media" refers to writable non-volatile memory such as flexible disks, magneto-optical disks, ROMs, and flash memory, portable media such as DVDs (Digital Versatile Discs), and storage devices such as hard disks built into computer systems.

[0050] Furthermore, "computer-readable recording media" also includes volatile memory (e.g., DRAM (Dynamic Random Access Memory)) within a computer system that acts as a server or client when a program is transmitted via a network such as the Internet or a communication line such as a telephone line, which retains the program for a certain period of time. In addition, the above program may be transmitted from the computer system that stores the program in a storage device, etc., to another computer system via a transmission medium or by transmission waves within the transmission medium. Here, the "transmission medium" for transmitting the program refers to a medium that has the function of transmitting information, such as a network such as the Internet or a communication line such as a telephone line. Furthermore, the above program may be for the purpose of realizing a part of the above-mentioned functions. Moreover, it may be a so-called differential file (differential program) that can realize the above-mentioned functions in combination with a program already recorded in the computer system. [Explanation of Symbols]

[0051] 1... Wireless system, 10... Processing unit, 30... Network, 50... Terminal device, K1... Common key, E... Algorithm, K2... Input key, m... Plaintext

Claims

1. A computer equipped with at least a processor and memory, If the bit length of a common key assigned for communication between a terminal device and a network is longer than the bit length of an input key used in a predetermined algorithm, the extraction process involves extracting a bit sequence with the same bit length as the input key by taking out the bit sequence corresponding to the bit length of the input key from the bit sequence of the common key, An encryption step to generate ciphertext by using the bit sequence extracted in the extraction step as a key and performing a predetermined plaintext encryption process agreed upon between the terminal device and the network, If the bit length of the ciphertext generated by the encryption process is shorter than the bit length obtained by an integer multiple of the bit length of the input key, the encryption process is repeated until the total bit length of the generated ciphertext is longer than the bit length obtained by an integer multiple of the bit length of the input key. The bit sequence obtained by repeating the process is divided according to the bit length of the input key, and a key having the same bit length as the input key is generated based on the multiple bit sequences obtained by the division. A computing device that performs the execution.

2. The extraction step involves extracting, from the beginning of the bit sequence of the common key, a bit sequence corresponding to the bit length of the input key. The computing device according to claim 1.

3. The key generation step generates a key having the same bit length as the input key by performing an exclusive OR operation on the multiple bit sequences obtained by the partitioning. The computing device according to claim 1.

4. The key generation process, if, after dividing the input key bit by bit length, the resulting bit sequence is not an integer multiple of the number of bits in the input key, increases the number of bits by padding so that the divided bit sequence becomes an integer multiple of the number of bits in the input key. The computing device according to claim 1.

5. The predetermined plaintext used in the encryption process is different from one another depending on the number of iterations performed in the key generation process. The computing device according to claim 1.

6. The predetermined plaintext used in the encryption process is a time-dependent variable agreed upon in advance between the terminal device and the network. The computing device according to claim 1.

7. The bit length of the predetermined plaintext used in the encryption process is the same as the bit length of the input key divided by a natural number n of 1 or more. The key generation step generates a key having a bit length that is an integer multiple of the bit length of the input key by repeating the encryption step n times. The computing device according to claim 1.

8. The encryption step generates ciphertext using the AES (Advanced Encryption Standard) method or a stream cipher method. The computing device according to claim 1.

9. The bit length of the aforementioned common key is 256 bits, and the bit length of the aforementioned input key is 128 bits. The computing device according to claim 1.

10. A terminal device comprising the arithmetic unit described in any one of claims 1 to 9.

11. A network comprising the computing device described in any one of claims 1 to 9.

12. The aforementioned computing device is provided in at least one of the next generation Node B (gNodeB or gNB) or AMF (Access and Mobility Management Function), The network according to claim 11.

13. If the bit length of a common key assigned for communication between a terminal device and a network is longer than the bit length of an input key used in a predetermined algorithm, the extraction process involves extracting a bit sequence with the same bit length as the input key by taking out the bit sequence corresponding to the bit length of the input key from the bit sequence of the common key, An encryption step to generate ciphertext by using the bit sequence extracted in the extraction step as a key and performing a predetermined plaintext encryption process agreed upon between the terminal device and the network, If the bit length of the ciphertext generated by the encryption process is shorter than the bit length obtained by an integer multiple of the bit length of the input key, the encryption process is repeated until the total bit length of the generated ciphertext is longer than the bit length obtained by an integer multiple of the bit length of the input key. The bit sequence obtained by repeating the process is divided according to the bit length of the input key, and a key having the same bit length as the input key is generated based on the multiple bit sequences obtained by the division. A method of calculation.

14. On the computer, If the bit length of a common key assigned for communication between a terminal device and a network is longer than the bit length of an input key used in a predetermined algorithm, the extraction step involves extracting a bit sequence with the same bit length as the input key by taking out the bit sequence corresponding to the bit length of the input key from the bit sequence of the common key, An encryption step to generate ciphertext by using the bit sequence extracted in the extraction step as a key and performing a predetermined plaintext encryption process agreed upon between the terminal device and the network, If the bit length of the ciphertext generated by the encryption step is shorter than the bit length obtained by an integer multiple of the bit length of the input key, the encryption step is repeated until the total bit length of the generated ciphertext is longer than the bit length obtained by an integer multiple of the bit length of the input key. The bit sequence obtained by repeating the process is divided according to the bit length of the input key, and a key having the same bit length as the input key is generated based on the multiple bit sequences obtained by the division. A program that executes the command.