Computing device, terminal device, network, computing method, and program
The described method expands the bit length of a common key through padding and encryption steps, addressing the challenge of key size mismatch in mixed encryption environments, ensuring secure key generation for 128-bit and 256-bit systems.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2025-08-04
- Publication Date
- 2026-03-12
AI Technical Summary
Existing cryptographic systems face challenges in accommodating the coexistence of 128-bit and 256-bit encryption, necessitating a method to expand the bit length of a given key to match the key size used in encryption algorithms.
A computing device and method that performs padding and repeated encryption steps to increase the bit length of a common key to match the bit length of an input key, using a processor and memory to generate a key equal to the encryption algorithm's key size.
Enables the generation of a key with the same bit length as the input key, ensuring compatibility and security in environments where 128-bit and 256-bit encryption coexist.
Smart Images

Figure JP2025027542_12032026_PF_FP_ABST
Abstract
Description
Arithmetic device, terminal device, network, arithmetic method and program
[0001] The present invention relates to a computing device, a terminal device, a network, a computing method, and a program. This application claims priority to Japanese Patent Application No. 2024-154818, filed on September 9, 2024, the contents of which are incorporated herein by reference.
[0002] Conventional 3GPP (registered trademark) specifications are formulated on the premise that a 128-bit key is assigned to a 128-bit cipher. For example, Non-Patent Document 1 defines specific specifications for such a technology.
[0003] 3GPP, "TS 33.501", v18.5.0
[0004] Discussions are currently underway to introduce 256-bit encryption. When 256-bit encryption is introduced, it is expected that 128-bit encryption and 256-bit encryption will coexist. In such cases, there is a demand for using 128-bit keys with 256-bit encryption. That is, there is a demand for expanding the bit length of a given key to generate a key that is equal to the key size used in the encryption algorithm.
[0005] The present invention has been made in consideration of the above circumstances, and its purpose is to provide a computing device, a terminal device, a network, a computing method, and a program that are capable of expanding the bit length of a given key and generating a key equal to the key size used in a cryptographic algorithm.
[0006] (1) One aspect of the present invention is a computing device that causes a computer having at least a processor and a memory to execute the following steps: a padding step of padding a common key assigned for use in communication between a terminal device and a network to equalize the bit length of the input key used in a predetermined algorithm, when the bit length of the common key is shorter than the bit length of the input key; an encryption step of generating a ciphertext by encrypting a predetermined plaintext agreed upon between the terminal device and the network using the key generated in the padding step; and a key generation step of repeating the encryption step again if the bit length of the ciphertext generated in the encryption step is shorter than the bit length of the input key, until the bit length of the concatenated ciphertext is the same as or longer than the bit length of the input key, thereby generating a key having the same bit length as the input key. (2) Another aspect of the present invention is the computing device described above in (1), wherein the predetermined plaintext used in the encryption step differs depending on the number of iterations performed in the key generation step. (3) According to another aspect of the present invention, in the arithmetic device of (1) or (2) above, the predetermined plaintext used in the encryption step is a time-dependent variable agreed upon in advance between the terminal device and the network. (4) According to another aspect of the present invention, in the arithmetic device of any of (1) to (3) above, the bit length of the predetermined plaintext used in the encryption step is the same as the bit length of the input key divided by n, a natural number greater than or equal to 1, and the key generation step generates a key having the same bit length as the input key by repeating the encryption step n times. (5) According to another aspect of the present invention, in the arithmetic device of any of (1) to (4) above, the encryption step generates ciphertext using an Advanced Encryption Standard (AES) method or a stream cipher method. (6) Also, one aspect of the present invention is an arithmetic device according to any one of (1) to (4) above, wherein the bit length of the common key is 128 bits and the bit length of the input key is 256 bits.(7) Another aspect of the present invention is a terminal device including the arithmetic device according to any one of (1) to (6) above. (8) Another aspect of the present invention is a network including the arithmetic device according to any one of (1) to (6) above. (9) Another aspect of the present invention is the network according to (8) above, wherein the arithmetic device is provided in at least one of a next generation Node B (gNodeB or gNB) or an AMF (Access and Mobility Management Function). (10) Another aspect of the present invention is a computation method including: a padding step for padding a common key assigned for use in communication between a terminal device and a network to make the bit length of the common key the same as the bit length of an input key used in a predetermined algorithm; an encryption step for generating a ciphertext by performing encryption processing on a predetermined plaintext agreed upon between the terminal device and the network using the key generated in the padding step; and a key generation step for repeating the encryption step again if the bit length of the ciphertext generated in the encryption step is shorter than the bit length of the input key, and repeating the processing until the bit length of the concatenated generated ciphertext is the same as or longer than the bit length of the input key, thereby generating a key having the same bit length as the input key.(11) Another aspect of the present invention is a program that causes a computer to execute the following steps: a padding step in which, when the bit length of a common key assigned for use in communication between a terminal device and a network is shorter than the bit length of an input key used in a predetermined algorithm, the bit length of the common key is made equal to the bit length of the input key by padding; an encryption step in which, when the bit length of the ciphertext generated by the encryption step is shorter than the bit length of the input key, the encryption step is repeated again to perform processing on a predetermined plaintext agreed upon between the terminal device and the network; and a key generation step in which, when the bit length of the ciphertext generated by the encryption step is shorter than the bit length of the input key, the encryption step is repeated until the bit length of the concatenated generated ciphertext is the same as or longer than the bit length of the input key, thereby generating a key having the same bit length as the input key.
[0007] According to the present invention, it is possible to provide a computing device, a terminal device, a network, a computing method, and a program that can expand the bit length of a given key and generate a key equal to the key size used in a cryptographic algorithm.
[0008] FIG. 1 is a diagram showing a general architecture of a wireless system according to an embodiment; FIG. 2 is a block diagram showing a schematic representation of a wireless system according to the present embodiment; FIG. 3 is a diagram for explaining processing when a 128-bit key is given to a wireless system according to the present embodiment, and processing when a 256-bit key is given to the wireless system according to the present embodiment; FIG. 4 is a flowchart showing a series of steps of a calculation method according to the present embodiment; and FIG. 5 is a block diagram showing an example of the internal configuration of a network or a terminal device according to the present embodiment.
[0009] [Embodiments] Preferred embodiments of a computing device, a terminal device, a network, a computing method, and a program according to aspects of the present invention are described in detail below with reference to the accompanying drawings. Note that the aspects of the present invention are not limited to these embodiments and include various modifications or improvements. In other words, the components described below include those that would be easily conceivable to a person skilled in the art or that are substantially identical, and the components described below can be combined as appropriate. Furthermore, various omissions, substitutions, or modifications of the components can be made without departing from the spirit of the present invention. Furthermore, in the drawings below, the scale and number of components may differ from the scale and number of the actual structures to make each configuration easier to understand.
[0010] In the following description, for convenience of explanation, terms and names defined in the 3GPP (registered trademark) LTE (3rd Generation Partnership Project Long Term Evolution) standard may be used. However, the present embodiment is not limited by such terms and names and may be applied to systems based on other standards.
[0011] 1 is a diagram showing a schematic architecture of a wireless system according to one embodiment. The wireless system 1 shown in the figure has, as its functional configuration, a control plane (C-Plane), which is a function for controlling communication, and a user plane (U-Plane), which is a function for realizing user communication. For the sake of simplicity, the figure shows the basic architecture used in a fifth-generation mobile communication system (5th Generation; 5G). However, the wireless system 1 to which this embodiment is applied is not limited to an example applied to 5G, and can be widely applied to other systems.
[0012] In the following description, configurations other than UE (User Equipment) may be referred to as a network. The network includes an access stratum and a non-access stratum. The access stratum includes at least a base station, and the non-access stratum includes at least an AMF (Access and Mobility Management Function). As shown in the figure, the UE and the AMF cooperate with each other via the N1 interface. In the following description, the base station and the AMF may be referred to as a higher-level concept and simply referred to as a network.
[0013] 2 is a block diagram that schematically illustrates a part of the configuration of a wireless system 1. The wireless system 1 has a network 30 and terminal devices 50. The diagram illustrates, as an example, one network and multiple terminal devices 50. Specifically, as an example of the multiple terminal devices 50, terminal device 50-1, terminal device 50-2, ..., and terminal device 50-m (m is a natural number greater than or equal to 1) are illustrated.
[0014] The network 30 communicates with the terminal device 50. The network 30 includes at least a base station. The base station may include functions of an O-RU (Radio Unit), an O-DU (Distributed Unit), and an O-CU (Central Unit), as defined in the specifications of an O-RAN (Open-RAN).
[0015] The base station may also be referred to as a next generation Node B (gNodeB or gNB), en-gNB, Next Generation-Radio Access Network (NG-RAN) node, eNB, low-power node, CU, DU, RU, gNB-DU, Remote Radio Head (RRH), Integrated Access and Backhaul / Backhauling (IAB) node, etc. The base station is not limited to one node, but may be composed of multiple nodes (for example, a combination of a lower node such as an RU or DU and an upper node such as a CU).
[0016] The terminal device 50 is used by a user. Specific examples of the terminal device 50 include a smartphone, a tablet terminal device, a wearable device, etc. The terminal device 50 may also be called a user device, a UE, or the like.
[0017] Here, the network 30 and the terminal device 50 each include a computing device 10. The computing device 10 includes at least a processor and a memory as hardware configurations. The computing device 10 may be configured such that its functions are realized by causing a computer to execute a program. The computing device 10 performs calculations to expand or compress the number of bits of a key used for encryption or decryption. The configurations of the computing devices 10 included in the network 30 and the terminal device 50 may be the same or different. However, it is assumed that at least a portion of the configurations of the computing devices 10 included in the network 30 and the terminal device 50 are the same.
[0018] The location where the arithmetic device 10 is provided in the network 30 is arbitrary. For example, the arithmetic device 10 may be provided in a gNodeB or an AMF. It can also be said that the arithmetic device 10 is provided in at least one of the gNodeB and the AMF in the network 30.
[0019] 3 is a diagram illustrating processing when a 128-bit key is assigned to the wireless system according to this embodiment and processing when a 256-bit key is assigned. Here, the wireless system 1 may be assigned a 128-bit key or a 256-bit key. Whether to perform encrypted communication using a 128-bit key or a 256-bit key is determined 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 determination that 256 bits will be used and a 256-bit key is assigned, the two devices can perform encrypted communication using the 256-bit key as is. However, if a 128-bit key is assigned, the two devices must first expand the 128-bit key to 256 bits and then perform encrypted communication using the expanded 256-bit key.
[0020] 3A shows an example in which a 128-bit key is given. In this case, both the network 30 and the terminal device 50 need to expand the 128-bit key to 256 bits. The network 30 and the terminal device 50 use the key obtained as a result of the expansion to perform encrypted communication with each other.
[0021] 3B shows an example in which a 256-bit key is provided. In this case, the network 30 and the terminal device 50 can perform encrypted communication with each other using the 256-bit key.
[0022] [Specific Example of Key Expansion Method] Fig. 4 is a flowchart showing a series of steps in the calculation method according to this embodiment. A specific example of the key expansion method will be described with reference to this figure. Note that, in the above example, an example of expanding a 128-bit key to 256 bits has been described, but the number of bits of the key targeted by the key expansion method according to this embodiment is not limited to this example. In the following description, the number of bits of the key will be generalized.
[0023] Assume that a common key K1 has been generated between the terminal device 50 and the network 30 as a key to be used for encryption. The common key K1 can also be said to be a key assigned for use in communication between the terminal device 50 and the network 30. Also, assume that algorithm E has been selected as the encryption method to be used between the terminal device 50 and the network 30. The input key for algorithm E is described as input key K2. The input key K2 can also be said to be a key used in the predetermined algorithm E. The above-mentioned calculation device 10 generates the input key K2 by expanding the common key K1. The terminal device 50 and the network 30, which communicate information with each other, generate the same input key K2 by expanding the same common key K1.
[0024] (Step S11) First, the calculation device 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 calculation device 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 calculation device 10 does not need to perform key expansion processing, and therefore ends the processing.
[0025] (Step S12) If the bit length of the common key K1 (e.g., 128 bits) is shorter than the bit length of the input key K2 (e.g., 256 bits), the calculation device 10 performs padding to make the bit length of the common key K1 equal to the bit length of the input key K2. Any value, such as 0 or 1, can be used for padding. It can also be said that the calculation device 10 pads the common key K1 so that |K2| = pad(K1). This step may also be referred to as a padding step.
[0026] (Step S13) Next, the calculation device 10 generates ciphertext Ci by performing encryption processing on plaintext m using the bit string pad(K1) generated in the padding step as a key. Plaintext m is a predetermined plaintext agreed upon in advance between the terminal device 50 and the network 30. The bit length of plaintext m is preferably the same as or shorter than the bit length of input key K2. The process performed in this step may also be referred to as an encryption step. In the encryption step, ciphertext Ci is generated based on plaintext m and key pad(K1). Here, i is the number of times the encryption step has been performed and is a natural number equal to or greater than 1. For example, if the first encryption step generates ciphertext Ci, 1 The second encryption step yields the ciphertext C 2 Specifically, the ciphertext C 1 can be expressed as the following equation (1).
[0027]
[0028] Here, it is preferable that the bit length of the predetermined plaintext m used in the encryption step is the same (e.g., 128 bits or 64 bits) as the value obtained by dividing the bit length of the input key K2 (e.g., 128 bits) by a natural number n equal to or greater than 1. By doing so, it is possible to omit the process of extracting the leading bit of the bit string in step S15, which will be described later. By increasing n (by shortening the bit length of the plaintext m), the number of encryption steps can be increased, resulting in a stronger encryption, but this also means that the processing load increases.
[0029] 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 the encryption process is repeated. In other words, the plaintext m may be different depending on the number of iterations (the above-mentioned i). Also, different plaintext m may be used depending on time. It can also be said that the plaintext m is a variable that varies depending on time.
[0030] Note that known techniques can be applied as an example of a specific encryption process performed in the encryption step. Specific examples of encryption processes include the Advanced Encryption Standard (AES) method and stream encryption. A more specific example of a stream encryption method is Snow-3G (with ZUC as an option).
[0031] (Step S14) Here, the bit length of the ciphertext generated by the encryption process varies depending on the bit length of the plaintext m. The encryption process is performed, for example, until the number of bits of the bit string obtained by concatenating the ciphertexts Ci becomes the same as or greater than the bit length of the input key K2. This process may be referred to as a key generation process. If the number of bits of the bit string obtained by concatenating the ciphertexts Ci is smaller than the bit length of the input key K2 (i.e., step S14; NO), the process returns to step S13, and the encryption process is repeated. If the number of bits of the bit string obtained by concatenating the ciphertexts Ci becomes the same as or greater than the bit length of the input key K2 (i.e., step S14; YES), the process proceeds to step S15.
[0032] Here, if the number of bits in the bit string obtained by concatenating the ciphertext Ci is the same as the bit length of the input key K2, step S15 can be skipped and the input key K2 can be obtained as shown in the following equation (2). However, if the number of bits in the bit string obtained by concatenating the ciphertext Ci is not the same as the bit length of the input key K2 but is greater than the bit length of the input key K2, the bit length of the input key K2 can be obtained by performing the following step S15.
[0033]
[0034] (Step S15) In this step, the arithmetic device 10 obtains an input key K2 by extracting an arbitrary bit string from the bit string obtained by concatenating the ciphertexts Ci. For example, the arithmetic device 10 may obtain the input key K2 by extracting the first bit from the bit string obtained by concatenating the ciphertexts Ci. The input key K2 obtained by extracting the first bit can be expressed as in the following equation (3).
[0035]
[0036] FIG. 5 is a block diagram showing an example of the internal configuration of a network or a terminal device according to this embodiment. At least some of the functions of the network 30 or the terminal device 50 can be implemented using a computer. As shown in the figure, the computer includes a central processing unit (processor) 901, a RAM 902, an input / output port 903, input / output devices 904 and 905, and a bus 906. The computer itself can be implemented using existing technology. The central processing unit 901 executes instructions contained in a program read from the RAM 902 or the like. In accordance with each instruction, the central processing unit 901 writes data to the RAM 902, reads data from the RAM 902, and performs arithmetic and logical operations. The RAM 902 stores data and programs. Each element included in the RAM 902 has an address and can be accessed using the address. RAM stands for "random access memory." The input / output port 903 is a port through which the central processing unit 901 exchanges data with external input / output devices. The input / output devices 904 and 905 are input / output devices. The input / output devices 904 and 905 exchange data with the central processing unit 901 via the input / output port 903. The bus 906 is a common communication path used within the computer. For example, the central processing unit 901 reads and writes data from the RAM 902 via the bus 906. Also, for example, the central processing unit 901 accesses the input / output port via the bus 906. Furthermore, all or part of the functional units provided in the network 30 or the terminal device 50 may be realized using hardware such as an ASIC, a PLD, or an FPGA. Furthermore, all or part of the functional units may be realized by a combination of software and hardware.
[0037] [Summary of the Embodiment] According to the embodiment described above, the arithmetic device 10 causes a computer including at least a processor and a memory to execute a padding step, an encryption step, and a key generation step. In the padding step, if the bit length of a common key K1 assigned for use in communication between the terminal device 50 and the network 30 is shorter than the bit length of an input key K2 used in a predetermined algorithm E, padding is performed to make the bit length of the common key K1 the same as the bit length of the input key K2. In the encryption step, if the bit length of the ciphertext generated in the encryption step is shorter than the bit length of the input key K2, the encryption step is repeated again until the bit length of the concatenated generated ciphertext is the same as or longer than the bit length of the input key K2, thereby generating a key having the same bit length as the input key K2. By adopting such a configuration, it is possible to increase the bit length of a given key and generate a key equal to the size of the key used in the encryption algorithm.
[0038] Furthermore, the above-described embodiment makes it possible to contribute to Goal 9 of the United Nations-led Sustainable Development Goals (SDGs), which is to "build resilient infrastructure, promote sustainable industrialization, and foster innovation," by, for example, "expanding the bit length of a given key to generate a key equal to the key size used in the cryptographic algorithm."
[0039] Although an embodiment of the present invention has been described in detail above with reference to the drawings, the specific configuration is not limited to this embodiment, and design changes and the like are also included within the scope that does not deviate from the gist of the present invention.
[0040] Furthermore, a computer program for implementing the functions of each of the above-described devices may be recorded on a computer-readable recording medium, and the program may be read and executed by a computer system. The term "computer system" may also include hardware such as an OS and peripheral devices. The term "computer-readable recording medium" refers to a flexible disk, a magneto-optical disk, a ROM, a writable nonvolatile memory such as a flash memory, a portable medium such as a DVD (Digital Versatile Disc), or a storage device such as a hard disk built into a computer system.
[0041] Furthermore, the term "computer-readable recording medium" also includes a storage medium that stores a program for a certain period of time, such as a volatile memory (e.g., DRAM (Dynamic Random Access Memory)) within a computer system that serves as a server or client when the program is transmitted via a network such as the Internet or a communication line such as a telephone line. The program may also be transmitted from a computer system that stores the program in a storage device or the like to another computer system via a transmission medium or by transmission waves within the transmission medium. Here, the "transmission medium" that transmits the program refers to a medium that has the function of transmitting information, such as a network (communication network) such as the Internet or a communication line (communication line) such as a telephone line. The program may also be a program that realizes part of the aforementioned functions. Furthermore, the program may be a so-called differential file (differential program) that can realize the aforementioned functions in combination with a program already recorded in the computer system.
[0042] According to the present invention, it is possible to extend the bit length of a given key and generate a key that is equal to the size of the key used in the encryption algorithm.
[0043] 1...wireless system, 10...arithmetic unit, 30...network, 50...terminal device, K1...common key, E...algorithm, K2...input key, m...plaintext
Claims
1. A computing device that causes a computer having at least a processor and memory to execute the following steps: a padding step for padding a common key assigned for use in communications between a terminal device and a network to make the common key's bit length the same as the input key's bit length when the common key's bit length is shorter than the input key's bit length; an encryption step for generating ciphertext by performing encryption processing on a predetermined plaintext agreed upon between the terminal device and the network using the key generated by the padding step; and a key generation step for repeating the encryption step again when the ciphertext's bit length is shorter than the input key's bit length, repeating the encryption step until the concatenation of the generated ciphertexts has the same bit length as the input key or longer.
2. The computing device according to claim 1, wherein the predetermined plaintexts used in the encryption step are different depending on the number of iterations performed in the key generation step.
3. The computing device according to claim 1, wherein the predetermined plaintext used in the encryption step is a variable depending on time that is agreed upon in advance between the terminal device and the network.
4. The computing device according to claim 1, wherein the bit length of the specified plaintext used in the encryption step is the same as the value obtained by dividing the bit length of the input key by n, a natural number greater than or equal to 1, and wherein the key generation step generates a key having the same bit length as the bit length of the input key by repeating the encryption step n times.
5. The arithmetic device according to claim 1, wherein the encryption step generates ciphertext using the Advanced Encryption Standard (AES) method or a stream cipher method.
6. The arithmetic device according to claim 1, wherein the common key has a bit length of 128 bits and the input key has a bit length of 256 bits.
7. A terminal device comprising a computing device according to any one of claims 1 to 6.
8. A network comprising a computing device according to any one of claims 1 to 6.
9. The network of claim 8, wherein the computing device is provided in at least one of a next generation Node B (gNodeB or gNB) or an Access and Mobility Management Function (AMF).
10. A calculation method comprising: a padding step for padding a common key allocated for use in communications between a terminal device and a network to make the common key equal to the bit length of the input key when the bit length of the common key is shorter than the bit length of an input key used in a predetermined algorithm; an encryption step for generating ciphertext by performing encryption processing on a predetermined plaintext agreed upon between the terminal device and the network using the key generated in the padding step; and a key generation step for repeating the encryption step again when the bit length of the ciphertext generated in the encryption step is shorter than the bit length of the input key, repeating the process until the bit length of the concatenated generated ciphertext is the same as or longer than the bit length of the input key, thereby generating a key having the same bit length as the input key.
11. A program that causes a computer to execute the following steps: a padding step in which, when the bit length of a common key assigned for use in communications between a terminal device and a network is shorter than the bit length of an input key used in a predetermined algorithm, the bit length of the common key is made equal to the bit length of the input key by padding; an encryption step in which, using the key generated in the padding step, a ciphertext is generated by performing encryption processing on a predetermined plaintext agreed upon between the terminal device and the network; and a key generation step in which, when the bit length of the ciphertext generated in the encryption step is shorter than the bit length of the input key, the encryption step is repeated again until the bit length of the concatenated generated ciphertext is the same as or longer than the bit length of the input key, thereby generating a key having the same bit length as the input key.
Citation Information
Patent Citations
Identity card number encryption method and device, equipment and medium
CN116049841A
Decryption device, key generation device, encryption device, encryption processing system, decryption method, and decryption program
JP2018170642A
Method, apparatus, and system for providing encryption or integrity protection in a wireless network
US20180062847A1