+

WO2018016015A1 - Spreading code generation device, spreading code generation program, and spreading code generation method - Google Patents

Spreading code generation device, spreading code generation program, and spreading code generation method Download PDF

Info

Publication number
WO2018016015A1
WO2018016015A1 PCT/JP2016/071203 JP2016071203W WO2018016015A1 WO 2018016015 A1 WO2018016015 A1 WO 2018016015A1 JP 2016071203 W JP2016071203 W JP 2016071203W WO 2018016015 A1 WO2018016015 A1 WO 2018016015A1
Authority
WO
WIPO (PCT)
Prior art keywords
spreading code
ctr
unit
increment
code generation
Prior art date
Application number
PCT/JP2016/071203
Other languages
French (fr)
Japanese (ja)
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 JP2016569864A priority Critical patent/JPWO2018016015A1/en
Priority to PCT/JP2016/071203 priority patent/WO2018016015A1/en
Publication of WO2018016015A1 publication Critical patent/WO2018016015A1/en

Links

Images

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J13/00Code division multiplex systems
    • H04J13/10Code generation

Definitions

  • the present invention relates to a spread code generation device, a spread code generation program, and a spread code generation method.
  • the direct spreading method by using a code sequence, it can be expected that the signal to be transmitted has a characteristic such that it spreads over a wide band and looks like noise. This characteristic makes it difficult to intercept a signal to be transmitted, improves jamming resistance, and prevents interference with narrowband signals. Therefore, the direct spreading code plays an important role in order to realize reliable and safe transmission that does not cause interference with other signals.
  • Patent Document 1 discloses a method using a chaotic sequence as a means for improving confidentiality.
  • Patent Document 1 proposes a method of generating a chaotic spreading code having autocorrelation characteristics and cross-correlation characteristics suitable for satellite navigation systems and CDMA (Code Division Multiple Access) communication systems.
  • Patent Document 1 states that confidentiality is improved as compared with a conventional spreading code.
  • confidentiality is improved as compared with a conventional spreading code.
  • the secrecy of the spreading code based on the chaotic sequence randomness indicating pseudo-randomness is shown, but strict security using an analysis technique of a general encryption technique is not shown.
  • Patent Document 1 does not show effective means for establishing synchronization.
  • Patent Documents 2 to 7 disclose a method for improving confidentiality using a chaotic sequence, but no effective means for establishing synchronization of the chaotic sequence is shown.
  • An object of the present invention is to provide a spreading code generation method that does not require a dedicated calculation function and a derivation time for deriving a spreading code sequence after a certain period of time.
  • the spreading code generator of the present invention In a spread code generation device that generates a spread code used for communication, A counter unit that generates a plurality of increment values in which the initial value is incremented by incrementing the initial value as a counter multiple times; And an encryption unit that generates a spreading code from each increment value by encrypting each increment value with an encryption algorithm using a secret key.
  • the spread code generation apparatus of the present invention includes the initial value calculation unit and the spread code generation unit, a spread code that does not require a dedicated calculation function for deriving a spread code sequence after a lapse of a fixed time and a derivation time.
  • a generation device can be provided.
  • FIG. 3 is a diagram of the first embodiment, showing a configuration of a spread code generating apparatus 100.
  • FIG. 3 is a diagram for explaining spreading code 15 in the first embodiment.
  • FIG. 3 is a flowchart for explaining the operation outline of the spread code generating apparatus 100 in the first embodiment.
  • the figure of Embodiment 1 is a figure explaining the initial value after time t.
  • the figure of Embodiment 1 is a figure which shows the structure with which the spreading code production
  • FIG. 3 is a diagram illustrating the general CTR mode in the first embodiment.
  • FIG. 6 is a diagram of the first embodiment, showing a spreading code system of a comparative example with respect to FIG.
  • the figure of Embodiment 1 is a figure which shows the modification 1.
  • FIG. The figure of Embodiment 1 is a figure which shows the modification 2.
  • FIG. FIG. 9 is a diagram of the first embodiment and illustrates a third modification.
  • FIG. 1 is a diagram illustrating the configuration of the spread code generating apparatus 100.
  • the spread code generating apparatus 100 is a computer.
  • the spread code generating apparatus 100 includes hardware such as a processor 910, a storage device 920, and an input interface 930 (hereinafter referred to as an input IF 930).
  • the storage device 920 includes an auxiliary storage device 921 and a memory 922.
  • the spreading code generation device 100 includes, as functional configurations, an initial value calculation unit 10 that is a counter unit 91, a spreading code generation unit 20 that is an encryption unit 92, an acquisition unit 30, and an output unit 40.
  • the functions of the initial value calculation unit 10, the spread code generation unit 20, the acquisition unit 30, and the output unit 40 in the spread code generation apparatus 100 are referred to as “part functions” of the spread code generation apparatus 100.
  • the “function of unit” of the spread code generating apparatus 100 is realized by software.
  • the auxiliary storage device 921 stores a program 14 for realizing the “function of part”.
  • the program 14 is loaded into the memory 922, read into the processor 910, and executed by the processor 910.
  • the auxiliary storage device 921 also stores an OS (Operating System). At least a part of the OS is loaded into the memory 922, and the processor 910 executes a program that realizes the “function of the unit” while executing the OS.
  • OS Operating System
  • the input IF 930 is a port through which data is input.
  • the input IF 930 may be a port connected to an input device such as a mouse, a keyboard, or a touch panel.
  • the input IF 930 is a USB (Universal / Serial / Bus) terminal.
  • the input IF 930 may be a port connected to a LAN (Local / Area / Network).
  • FIG. 2 is a diagram for explaining the spread code 15.
  • FIG. 2A shows data that is spread by the direct spreading method.
  • FIG. 2B shows the spread code 15.
  • (C) of FIG. 2 is an XOR (exclusive or) of the data of (a) and the spread code 15 of (b).
  • the data is spread to a wide frequency by XOR with the spread code 15.
  • FIG. 3 is a flowchart showing an outline of the operation of the spread code generating apparatus 100.
  • the input IF 930 receives as input data an initial value 11 for generating the spread code 15, a communication start time 12, and a secret key 13 that is secret information. Detailed description of the initial value 11 and the like will be described later.
  • the acquisition unit 30 of the processor 910 stores the initial value 11 and the like input to the input IF 930 in the auxiliary storage device 921.
  • step S02 the acquisition unit 30 loads the initial value 11, the start time 12, and the secret key 13 stored in the auxiliary storage device 921 into the memory 922.
  • the acquisition unit 30 reads the initial value 11 and the like from the memory 922, transmits the initial value 11 and the start time 12 to the initial value calculation unit 10, and transmits the secret key 13 to the spreading code generation unit 20.
  • step S03 the initial value calculation unit 10 generates an “initial value after time t” from the received initial value 11.
  • the “initial value after time t” will be described below.
  • the initial value calculation unit 10 generates a plurality of increment values obtained by incrementing the initial value 11 by incrementing the initial value 11 a plurality of times using the initial value 11 as a counter.
  • the increment value is CTR + i described later.
  • FIG. 4 is a diagram for explaining the “initial value after time t”.
  • simple numerical values are used for explanation.
  • the horizontal axis is time.
  • the start time 12 indicates the communication start time.
  • the time zone for communication is 1 second.
  • the time ⁇ t is a partial time zone of 1 second, which is a communication time zone.
  • the partial time zone is a time zone in which the communication time zone is divided. An “initial value” is required for each ⁇ t.
  • the first ⁇ t is CTR + 1
  • the second ⁇ t is CTR + 2
  • ... 10 4 ⁇ 1 is CTR + (10 4 ⁇ 1)
  • 10 4th is CTR + 10 4
  • t Becomes the “initial value after time t”.
  • CTR + 1 is an initial value after zero microseconds from the start time of 12
  • CTR + 2 is the initial value after 100 ⁇ s from the start time of 12
  • CTR + (10 4 ⁇ 1) is an initial value after “1 second ⁇ 200 ⁇ sec”
  • CTR + 10 4 is the initial value after "1 seconds -100 ⁇ second”.
  • the spread code generation unit 20 can generate the spread code 15 from the initial value (CTR + i) after each t time.
  • each increment value (CTR + i) of the plurality of increment values corresponds to a plurality of different partial time zones included in the time zone in which communication is performed.
  • the spread code generation unit 20 receives the CTR + i that is the initial value after time t from the initial value calculation unit 10 and generates the spread code 15 using the CTR + i.
  • FIG. 5 shows a configuration in which the spread code generation unit 20 includes a CTR mode unit 21A that uses the CTR mode of the nbit block cipher algorithm.
  • FIG. 6 shows a general CTR mode.
  • the CTR mode of the present embodiment corresponds to a portion indicated by a broken line frame 6 in FIG. That CTR mode portion 21A, which will be described later CTR mode portion 21B-j, CTR mode portion 21C-j, CTR mode unit 21D performs the encryption process E K frame 6.
  • the encrypted data E K (CTR + i) corresponds to the spread code 15 and the plaintext block Mi corresponds to the data to be spread.
  • an nbit random data string can be generated by inputting an initial value as a counter (CTR) to a block cipher algorithm and inputting secret information as a secret key. Then, when CTR + 1 obtained by incrementing CTR by 1 bit is input to the block cipher algorithm, random data of the next different n bits can be generated.
  • CTR counter
  • the CTR that is the initial value 11 is nbit.
  • the CTR mode unit 21A generates nbit random data by block encryption algorithm using CTR + i as input data.
  • the n-bit spread code 15 is represented as ⁇ SCn>.
  • An arrow from “CTR + 1” to ⁇ SCn> indicates that ⁇ SCn> is generated from CTR + 1.
  • CTR + 2 n is the same.
  • the CTR mode unit 21A can generate the first ⁇ SCn> from CTR + 1, and similarly can generate ⁇ SCn> corresponding to CTR + 2n from CTR + 2. Therefore,“ nbit. ⁇ 2 n ”random data can be used as the spreading code 15.
  • the CTR mode unit 21A encrypts each increment value with an encryption algorithm that uses a secret key, thereby generating a spread code from each increment value.
  • the output unit 40 acquires the spread code 15 generated by the spread code generation unit 20, and outputs it as the spread code 15 for performing direct spreading in the communication system.
  • the cycle (number of bits) of the spreading code depends on the block size of the block cipher algorithm employed in the CTR mode unit 21A of the spreading code generation unit 20. It is determined. That is, the number of bits of the spread code 15 obtained from one CTR + i is determined by the block size of the block cipher algorithm employed in the CTR mode unit 21A.
  • FIG. 7 is a diagram showing a spreading code system of a comparative example with respect to FIG.
  • a dedicated arithmetic function for generating “initial value after time t” is necessary. Since this dedicated calculation function uses a dedicated derivation logic, it has been necessary to spend considerable derivation time to generate the “initial value after time t”.
  • the initial value calculation unit 10 in order to derive the “initial value after time t”, the initial value calculation unit 10 only needs to increment the CTR, so a dedicated calculation function is unnecessary. Furthermore, a synchronization acquisition function for acquiring synchronization and a pilot sequence for acquisition are unnecessary.
  • the transmission apparatus may transmit communication start information indicating the communication start time to the reception apparatus.
  • the start time 12 is an example of communication start information.
  • the spreading code generation apparatus 100 in FIG. 5 does not require the following (a), (b), and (c) that are required in the spreading code system of the comparative example in FIG. (A) Dedicated calculation function for calculating “initial value after time t”; (B) synchronization acquisition function; (C) Pilot code sequence Even if the spreading code generation apparatus 100 does not include (a), (b), and (c), the safety of the entire system can be ensured.
  • Modifications 1 to 3 described below are configurations of the spread code generation unit 20 when it is desired to further increase the period of the spread code 15 (when it is desired to increase the number of bits of the spread code 15).
  • FIG. 8 is a diagram illustrating a configuration of the spread code generation unit 20B of the first modification.
  • the configuration of the initial value calculation unit 10 is the same as that in FIG.
  • the mbit spread code 15 is represented as ⁇ SCm>.
  • CTR mode unit 21B-1 to CTR mode unit 21B-J generate ⁇ SCm> 1 to ⁇ SCm> J, which are mbit spread codes 15, respectively.
  • An arrow pointing from CTR + 1 to a frame surrounding ⁇ SCm> 1 to ⁇ SCm> J indicates that ⁇ SCm> 1 to ⁇ SCm> J are generated from CTR + 1.
  • CTR + 2 m the connecting part 23 connects ⁇ SCm> 1 to ⁇ SCm> J, so that it is possible to generate the spread code 15 in which mbit ⁇ J are connected.
  • CTR mode unit 21B-1 to CTR mode unit 21B-J generate the following different ⁇ SCm> 1 to ⁇ SCm> J.
  • Modification 1 is advantageous in terms of processing performance because J block cipher algorithms can be processed in parallel.
  • the CTR mode unit 21B-1 to CTR mode unit 21B-J are all sub-encryption units. As described above, each of the CTR mode unit 21B-1 to CTR mode unit 21B-J is an encryption algorithm using a secret key different from the secret key used in the other sub cipher unit, and other sub cipher units. A spreading code is generated from the same increment value by encrypting the same increment value.
  • FIG. 9 is a diagram illustrating a configuration of a spread code generation unit 20C according to the second modification.
  • the configuration of the initial value calculation unit 10 is the same as that in FIG.
  • the CTR mode unit 21C-1 performs an mbit block cipher algorithm calculation using the secret key K1 with CTR + 1 transmitted by the initial value calculation unit 10 as input data.
  • the calculation result of the CTR mode unit 21C-1 is input to the CTR mode unit 21C-2.
  • the CTR mode unit 21C-2 performs an mbit block cipher algorithm calculation using the secret key K2.
  • the CTR mode unit 21C-j 3,..., J) receives the calculation result of the preceding CTR mode unit 21C- (j ⁇ 1), and the CTR mode unit 21C-j
  • the mbit block cipher algorithm is calculated using the secret key Kj.
  • CTR mode unit 21C-1 to CTR mode unit 21C-J generate ⁇ SCm> 1 to ⁇ SCm> J, which are mbit spread codes 15, respectively.
  • An arrow pointing from CTR + 1 to a frame surrounding ⁇ SCm> 1 to ⁇ SCm> J indicates that ⁇ SCm> 1 to ⁇ SCm> J are generated from CTR + 1.
  • CTR + 2 m When the connecting portion 23 connects ⁇ SCm> 1 to ⁇ SCm> J, it is possible to generate a spread code 15 in which mbit ⁇ J are connected. The same applies to CTR + 2 and later.
  • the CTR mode unit 21C-1 to CTR mode unit 21C-J are all sub-encryption units. As described above, each of the CTR mode unit 21C-1 to CTR mode unit 21C-J is an encryption algorithm that uses a secret key different from the secret key used in other sub-encryption units when data is acquired. Then, by encrypting the acquired data, a spreading code is generated from the data.
  • the CTR mode unit 21C-1 is a first sub-encryption unit 93 having the first connection order among the plurality of sub-encryption units.
  • the CTR mode unit 21C-1 which is the first sub-encryption unit 93, acquires an increment value as data, encrypts the increment value, and generates a spread code 15 from the increment value.
  • the sub cipher units (CTR mode units 21C-2, 21C-3... 21C-J) whose connection order is higher than that of the first sub cipher unit 93 are the sub cipher units immediately preceding the higher connection order as data. Is obtained, and the obtained spreading code is encrypted to generate a spreading code different from the obtained spreading code.
  • Modification 2 is a case where the block encryption algorithm is used in series.
  • J block cipher algorithms cannot be processed in parallel.
  • the data input to each block cipher algorithm is affected by the calculation result of the previous block cipher algorithm. Therefore, the modification 2 is a structure advantageous to safety.
  • each of CTR mode unit 21C-1 to CTR mode unit 21C-J uses a different secret key, but the same secret key may be used. That is, it is most preferable that each CTR mode unit 21C-j uses a different secret key, but there may be a CTR mode unit 21C that uses the same secret key in the CTR mode unit 21C-j.
  • FIG. 10 is a diagram illustrating a configuration of the spread code generation unit 20D of the third modification.
  • the configuration of the initial value calculation unit 10 is the same as that in FIG.
  • the spreading code generation unit 20 includes a CTR mode unit 21D and a key increment unit 22D.
  • the CTR mode unit 21D has the same function as the CTR mode unit 21A.
  • the spread code generation unit 20D inputs the secret key K as secret information.
  • the CTR mode unit 21D uses the secret key K to perform an mbit block encryption algorithm. As shown in FIG. 10, similarly to the CTR mode portion 21A of FIG. 5, CTR mode unit 21D uses the secret key K, from CTR + 1 ⁇ CTR + 2 m , a spreading code 15 of mbit, the 2 m pieces ⁇ SCm> is generated. The arrow from CTR + 1 to ⁇ SCm> 1 indicates that ⁇ SCm> 1 was generated from CTR + 1. The same applies to CTR + 2 m .
  • the key increment unit 22D increments the secret key K by 1 bit to generate a secret key K + 1.
  • the initial value calculation unit 10 again inputs CTR + 1 to CTR + 2 m to the CTR mode unit 21D.
  • the CTR mode unit 21D uses the secret key K + 1 to generate 2 m ⁇ SCm>, which are mbit spread codes 15, from CTR + 1 to CTR + 2 m .
  • 2 m ⁇ SCm> can be generated for each secret key. Therefore, 2 m ⁇ SCm> can be generated.
  • Modified example 3 is a case where the value of the secret key K is counted up when the CTR uses all the cycles of the block cipher algorithm.
  • the modification 3 is a structure advantageous as a mounting size.
  • the CTR mode unit 21D encrypts each increment value (CTR + i) encrypted using the secret key K for the encryption algorithm by using an increment key such as the secret key K + 1 for the encryption algorithm.
  • a spreading code is generated from each increment value.
  • the spread code generating apparatus 100 includes an initial value calculation unit 10 that is a counter unit 91.
  • the initial value calculation unit 10 increments CTR in order to derive CTR + i, which is an initial value after time t. That is, the initial value after time t is calculated by incrementing CTR. Therefore, the “dedicated calculation function for calculating the initial value after t time” which requires a lot of processing is unnecessary, and this time is shortened to the extent that the time required for calculating the “initial value after t time” is unnecessary.
  • the transmission source device communicates communication start information such as a start start time such as 10 minutes later or a start start time such as 13:14:15 to the transmission destination device.
  • Communication can be synchronized. Thus, synchronization can be achieved with simple processing.
  • the spreading code generation apparatus 100 includes the initial value calculation unit 10 and the spreading code generation unit 20, a pilot code sequence is unnecessary.
  • the long-period spread code 15 can be generated by the initial value calculation unit 10 and the spread code generation unit 20, and the encryption algorithm that has been confirmed to be safe can be used. High spreading codes can be generated.
  • FIG. 11 is a diagram showing the processing circuit 99.
  • the “part function” of the spreading code generation apparatus 100 is realized by software, but as a modification, the spreading code generation apparatus 100 “function of part” may be realized by hardware. That is, the processing circuit 99 implements the “function of the unit” of the spreading code generation device 100 shown as the processor 910 and the function of the storage device 920. The processing circuit 99 is connected to the signal line 99a.
  • the processing circuit 99 is a dedicated electronic circuit that realizes the “function of the unit” of the spreading code generation apparatus 100 and the function of the storage device 920.
  • the processing circuit 99 includes a single circuit, a composite circuit, a programmed processor, a processor programmed in parallel, a logic IC, a GA (Gate Array), an ASIC (Application Specific Integrated Circuit), or FPGA (Field-Programmable / Gate / Array).
  • the spreading code generation apparatus 100 may include a plurality of processing circuits that replace the processing circuit 99. By these plural processing circuits, the “function of unit” of the spread code generating apparatus 100 is realized as a whole.
  • Each processing circuit like the processing circuit 99, is a dedicated electronic circuit.
  • the function of the spread code generating apparatus 100 may be realized by a combination of software and hardware.
  • some functions of the spread code generating apparatus 100 may be realized by dedicated hardware, and the remaining functions may be realized by software.
  • the processor 910, the storage device 920, and the processing circuit 99 are collectively referred to as a “processing circuit”. That is, the “unit function” and the storage device 920 of the spread code generating apparatus 100 are realized by a processing circuit.
  • Part may be read as “Process”, “Procedure” or “Process”. Further, the function of “unit” may be realized by firmware. That is, the operation of the spread code generation apparatus 100 can be grasped as a spread code generation program and a spread code generation method. Further, the “function of part” can also be realized as a recording medium and a program product for storing a spread code generation program.
  • the spread code is generated from 2 n increment values CTR + 1 to CTR + 2n obtained from 2 n increments.
  • CTR + 2 n returns to the value of CTR.
  • CTR initial value
  • Embodiment 1 of this invention was demonstrated, the content demonstrated in Embodiment 1 may be implemented partially, or may be implemented in combination. In addition, this invention is not limited to Embodiment 1, A various change is possible as needed.

Landscapes

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

Abstract

This spreading code generation device (100) generates a spreading code (15) used in communications. A default value arithmetic unit (10) which serves as a counter unit (91) generates a plurality of increment values by incrementing the default value (11) a plurality of times as a counter. A spreading code generation unit (20) which serves as an encryption unit (92) generates the spreading code (15) from each increment value by encrypting each increment value using an encryption algorithm that uses a secret key (13).

Description

拡散符号生成装置、拡散符号生成プログラム及び拡散符号生成方法Spread code generation apparatus, spread code generation program, and spread code generation method
 本発明は、拡散符号生成装置、拡散符号生成プログラム及び拡散符号生成方法に関する。 The present invention relates to a spread code generation device, a spread code generation program, and a spread code generation method.
 近年、衛星通信や無線通信を利用した様々なサービスが提供される。それらのサービスでは、通信の接続性、秘匿性を実現するために、スペクトル拡散技術が用いられる場合が多い。スペクトル拡散方式は、大別して、直接拡散方式と周波数ホッピング方式がある。直接拡散方式は、送信データそのものよりも広い周波数にエネルギーを拡散する。周波数ホッピング方式は、周波数を一定の規則に従い高速に切り替え、送受信機間で通信を行う。 In recent years, various services using satellite communication and wireless communication have been provided. In these services, spread spectrum technology is often used to achieve communication connectivity and confidentiality. Spread spectrum systems are roughly classified into direct spread systems and frequency hopping systems. The direct spreading method spreads energy over a wider frequency than the transmission data itself. In the frequency hopping method, the frequency is switched at high speed according to a certain rule, and communication is performed between the transceivers.
 直接拡散方式では、符号系列を使用することにより、伝送したい信号が広帯域に広がり、かつ、雑音のように見えるような特性をもつことが期待できる。この特性により、伝送したい信号の傍受が困難となり、また、ジャミング耐性が向上し、狭帯域信号に対する干渉が起こりにくくなる。よって、直接拡散符号は、他の信号との干渉を生じない、信頼できる安全な伝送を実現するために重要な役割を果たす。 In the direct spreading method, by using a code sequence, it can be expected that the signal to be transmitted has a characteristic such that it spreads over a wide band and looks like noise. This characteristic makes it difficult to intercept a signal to be transmitted, improves jamming resistance, and prevents interference with narrowband signals. Therefore, the direct spreading code plays an important role in order to realize reliable and safe transmission that does not cause interference with other signals.
 一般的に利用されている直接拡散方式では、周期性の短い拡散符号系列を用いることにより、通信の接続性を高めている。しかし、通信される系列を一定期間観測することにより、利用されている拡散符号系列が推測される可能性が高くなり、秘匿性に関し課題がある。 In the direct spreading method generally used, communication connectivity is improved by using a spreading code sequence having a short periodicity. However, by observing a sequence to be communicated for a certain period, there is a high possibility that a spreading code sequence being used is estimated, and there is a problem regarding confidentiality.
 妨害電波からの耐性を上げるためには秘匿性を高めることが必要である。そのため、直接拡散方式の拡散符号系列に周期の長い系列を使用すること、あるいは拡散符号系列そのものを、第三者が予測できない秘密情報を用いた秘匿性の高い符号系列を使用することが考えられる。 It is necessary to increase confidentiality in order to increase resistance from jamming radio waves. For this reason, it is conceivable to use a sequence with a long period for the spreading code sequence of the direct spreading scheme, or to use a highly confidential code sequence using secret information that cannot be predicted by a third party. .
 拡散符号の秘匿性を高める構成は、従来技術として開示されている。特許文献1には、秘匿性を高める手段として、カオス系列を用いる方法が開示されている。
 特許文献1には、衛星ナビゲーションシステムおよびCDMA(Code Division Multiple Access)通信システムに適した自己相関特性および相互相関特性を有するカオス拡散符号の生成方法が提案されている。特許文献1は、従来の拡散符号と比較して、秘匿性が向上すると述べている。
 しかし、カオス系列による拡散符号の秘匿性に関しては、疑似ランダム性を示す乱数性は、示されているが、一般的な暗号技術の解析技術を用いた厳密な安全性は、示されていない。また、秘匿性の高い拡散符号を用いたスペクトル拡散通信を行うためには、カオス系列の同期確立を行う必要がある。しかし、特許文献1では、同期確立を行うための有効な手段は示されていない。
A configuration for enhancing the confidentiality of the spread code is disclosed as a conventional technique. Patent Document 1 discloses a method using a chaotic sequence as a means for improving confidentiality.
Patent Document 1 proposes a method of generating a chaotic spreading code having autocorrelation characteristics and cross-correlation characteristics suitable for satellite navigation systems and CDMA (Code Division Multiple Access) communication systems. Patent Document 1 states that confidentiality is improved as compared with a conventional spreading code.
However, regarding the secrecy of the spreading code based on the chaotic sequence, randomness indicating pseudo-randomness is shown, but strict security using an analysis technique of a general encryption technique is not shown. In addition, in order to perform spread spectrum communication using a highly confidential spreading code, it is necessary to establish synchronization of chaotic sequences. However, Patent Document 1 does not show effective means for establishing synchronization.
 また、特許文献2~7も、カオス系列を用いて秘匿性の向上を実現する方式が開示されているが、カオス系列の同期確立を行う有効な手段は示されていない。 Also, Patent Documents 2 to 7 disclose a method for improving confidentiality using a chaotic sequence, but no effective means for establishing synchronization of the chaotic sequence is shown.
特表2010-511336号公報JP 2010-511336 Gazette 特開平9-186630号公報JP-A-9-186630 特開平11-266179号公報JP-A-11-266179 特開2000-252751号公報JP 2000-252751 A 特開2001-292129号公報JP 2001-292129 A 特開2002-290274号公報JP 2002-290274 A 特開2007-96815号公報JP 2007-96815 A
 上記で説明したように、拡散符号方式の秘匿性を高めるためには、拡散符号系列の周期を長くし、あるいは、拡散符号系列に第三者が予測できない秘密情報を用いることが一般的である。その一例として、従来では、カオス系列を用いる方法が提案されている。 As described above, in order to increase the confidentiality of the spread code scheme, it is common to lengthen the cycle of the spread code sequence or use secret information that cannot be predicted by a third party in the spread code sequence. . As an example, conventionally, a method using a chaotic sequence has been proposed.
 従来技術の通信システム、つまり、カオス系列を用いる拡散符号系列を利用する通信システムでは、秘匿性を高めること、周期を大きくすることで、符号全体をサーチすることが困難となり、同期確立が困難になる。 In a communication system of the prior art, that is, a communication system using a spreading code sequence using a chaotic sequence, it is difficult to search the entire code and to establish synchronization by increasing the secrecy and increasing the period. Become.
 効率的な同期確立のために、実データ送信のための拡散符号系列と、同期捕捉のためのパイロット系列を用いる方法も提案されている。 In order to establish synchronization efficiently, a method using a spread code sequence for actual data transmission and a pilot sequence for synchronization acquisition has also been proposed.
 一例として、拡散符号の位相に情報を載せるCSK(Code Shift Keying)変調の場合は、復調を行う際には、位相シフト量を計算するため、パイロット系列を用いて基準タイミングを獲得する必要ある。その為、カオス系列、あるいは長いレジスタサイズのフィードバックシフトレジスタを用いる秘匿性の高い拡散符号系列では、通信システムの受信側では、一定時間経過後(t時間経過後)の拡散符号系列を導出するための専用演算機能と、一定時間経過後の拡散符号系列を導出する導出時間が必要となる。 As an example, in the case of CSK (Code Shift Keying) modulation in which information is put on the phase of a spread code, it is necessary to acquire a reference timing using a pilot sequence in order to calculate a phase shift amount when performing demodulation. Therefore, in a highly confidential spreading code sequence using a chaotic sequence or a feedback shift register having a long register size, the receiving side of the communication system derives a spreading code sequence after a certain period of time (after t time). Dedicated calculation function and a derivation time for deriving a spread code sequence after a certain period of time are required.
 本発明は、一定時間経過後の拡散符号系列を導出するための専用演算機能と導出時間とが不要となる拡散符号生成方式を提供することを目的とする。 An object of the present invention is to provide a spreading code generation method that does not require a dedicated calculation function and a derivation time for deriving a spreading code sequence after a certain period of time.
 この発明の拡散符号生成装置は、
 通信に使用される拡散符号を生成する拡散符号生成装置において、
 初期値をカウンタとして複数回インクリメントすることによって、前記初期値がインクリメントされた複数のインクリメント値を生成するカウンタ部と、
 秘密鍵を用いる暗号アルゴリズムでそれぞれの前記インクリメント値を暗号化することによって、それぞれの前記インクリメント値から拡散符号を生成する暗号部と
を備えることを特徴とする。
The spreading code generator of the present invention
In a spread code generation device that generates a spread code used for communication,
A counter unit that generates a plurality of increment values in which the initial value is incremented by incrementing the initial value as a counter multiple times;
And an encryption unit that generates a spreading code from each increment value by encrypting each increment value with an encryption algorithm using a secret key.
 本発明の拡散符号生成装置は、初期値演算部、拡散符号生成部を備えたので、一定時間経過後の拡散符号系列を導出するための専用演算機能と、導出時間とが不要な、拡散符号生成装置を提供できる。 Since the spread code generation apparatus of the present invention includes the initial value calculation unit and the spread code generation unit, a spread code that does not require a dedicated calculation function for deriving a spread code sequence after a lapse of a fixed time and a derivation time. A generation device can be provided.
実施の形態1の図で、拡散符号生成装置100の構成を示す図。FIG. 3 is a diagram of the first embodiment, showing a configuration of a spread code generating apparatus 100. 実施の形態1の図で、拡散符号15を説明する図。FIG. 3 is a diagram for explaining spreading code 15 in the first embodiment. 実施の形態1の図で、拡散符号生成装置100の動作概要を説明するフローチャート。FIG. 3 is a flowchart for explaining the operation outline of the spread code generating apparatus 100 in the first embodiment. 実施の形態1の図で、t時間後の初期値を説明する図。The figure of Embodiment 1 is a figure explaining the initial value after time t. 実施の形態1の図で、拡散符号生成部20がCTRモード部21Aを備える構成を示す図。The figure of Embodiment 1 is a figure which shows the structure with which the spreading code production | generation part 20 is provided with CTR mode part 21A. 実施の形態1の図で、一般的なCTRモードを示す図。FIG. 3 is a diagram illustrating the general CTR mode in the first embodiment. 実施の形態1の図で、図5に対する比較例の拡散符号方式を示す図。FIG. 6 is a diagram of the first embodiment, showing a spreading code system of a comparative example with respect to FIG. 実施の形態1の図で、変形例1を示す図。The figure of Embodiment 1 is a figure which shows the modification 1. FIG. 実施の形態1の図で、変形例2を示す図。The figure of Embodiment 1 is a figure which shows the modification 2. FIG. 実施の形態1の図で、変形例3を示す図。FIG. 9 is a diagram of the first embodiment and illustrates a third modification. 実施の形態1の図で、処理回路99を示す図。FIG. 3 shows the processing circuit 99 in the first embodiment.
 以下、本発明の実施の形態について、図を用いて説明する。なお、各図中、同一または相当する部分には、同一符号を付している。実施の形態の説明において、同一または相当する部分については、説明を適宜省略または簡略化する。 Hereinafter, embodiments of the present invention will be described with reference to the drawings. In addition, the same code | symbol is attached | subjected to the part which is the same or it corresponds in each figure. In the description of the embodiments, the description of the same or corresponding parts will be omitted or simplified as appropriate.
 実施の形態1.
***構成の説明***
 図1~図11を用いて実施の形態1の拡散符号生成装置100を説明する。
 図1は、拡散符号生成装置100の構成を示す図である。拡散符号生成装置100は、コンピュータである。拡散符号生成装置100は、プロセッサ910、記憶装置920、入力インタフェース930(以下、入力IF930)といったハードウェアを備える。記憶装置920は、補助記憶装置921とメモリ922を備えている。拡散符号生成装置100は、機能構成として、カウンタ部91である初期値演算部10と、暗号部92である拡散符号生成部20と、取得部30と、出力部40とを備える。
Embodiment 1 FIG.
*** Explanation of configuration ***
A spreading code generating apparatus 100 according to the first embodiment will be described with reference to FIGS.
FIG. 1 is a diagram illustrating the configuration of the spread code generating apparatus 100. The spread code generating apparatus 100 is a computer. The spread code generating apparatus 100 includes hardware such as a processor 910, a storage device 920, and an input interface 930 (hereinafter referred to as an input IF 930). The storage device 920 includes an auxiliary storage device 921 and a memory 922. The spreading code generation device 100 includes, as functional configurations, an initial value calculation unit 10 that is a counter unit 91, a spreading code generation unit 20 that is an encryption unit 92, an acquisition unit 30, and an output unit 40.
 以下の説明では、拡散符号生成装置100における初期値演算部10と、拡散符号生成部20と、取得部30と、出力部40との機能を、拡散符号生成装置100の「部の機能」という。拡散符号生成装置100の「部の機能」は、ソフトウェアで実現される。 In the following description, the functions of the initial value calculation unit 10, the spread code generation unit 20, the acquisition unit 30, and the output unit 40 in the spread code generation apparatus 100 are referred to as “part functions” of the spread code generation apparatus 100. . The “function of unit” of the spread code generating apparatus 100 is realized by software.
 補助記憶装置921には、「部の機能」を実現するプログラム14が記憶されている。このプログラム14は、メモリ922にロードされ、プロセッサ910に読み込まれ、プロセッサ910によって実行される。補助記憶装置921には、OS(Operating・System)も記憶されている。OSの少なくとも一部がメモリ922にロードされ、プロセッサ910はOSを実行しながら、「部の機能」を実現するプログラムを実行する。 The auxiliary storage device 921 stores a program 14 for realizing the “function of part”. The program 14 is loaded into the memory 922, read into the processor 910, and executed by the processor 910. The auxiliary storage device 921 also stores an OS (Operating System). At least a part of the OS is loaded into the memory 922, and the processor 910 executes a program that realizes the “function of the unit” while executing the OS.
 入力IF930は、データが入力されるポートである。また、入力IF930は、マウス、キーボード、タッチパネルといった入力装置と接続されるポートであってもよい。入力IF930は、具体的には、USB(Universal・Serial・Bus)端子である。なお、入力IF930は、LAN(Local・Area・Network)と接続されるポートであってもよい。 The input IF 930 is a port through which data is input. The input IF 930 may be a port connected to an input device such as a mouse, a keyboard, or a touch panel. Specifically, the input IF 930 is a USB (Universal / Serial / Bus) terminal. The input IF 930 may be a port connected to a LAN (Local / Area / Network).
 拡散符号系列について簡単に説明する。以下では拡散符号系列は、拡散符号15と記す。
 図2は、拡散符号15を説明する図である。図2の(a)は、直接拡散方式によって拡散されるデータを示す。図2の(b)は、拡散符号15を示す。図2の(c)は、(a)のデータと、(b)の拡散符号15とのXOR(exclusive or)である。図2に示すように、データは拡散符号15とのXORによって、広い周波数に拡散にされる。
The spreading code sequence will be briefly described. Hereinafter, the spreading code sequence is referred to as spreading code 15.
FIG. 2 is a diagram for explaining the spread code 15. FIG. 2A shows data that is spread by the direct spreading method. FIG. 2B shows the spread code 15. (C) of FIG. 2 is an XOR (exclusive or) of the data of (a) and the spread code 15 of (b). As shown in FIG. 2, the data is spread to a wide frequency by XOR with the spread code 15.
***拡散符号生成装置100の動作概要***
 図3を参照して拡散符号生成装置100の動作概要を説明する。
 図3は、拡散符号生成装置100の動作概要を示すフローチャートである。
 ステップS01において、入力IF930には、入力データとして、拡散符号15を生成する為の初期値11、通信のスタート時間12、秘密情報である秘密鍵13が入力される。初期値11等の詳しい説明は後述する。入力IF930に入力された初期値11等は、プロセッサ910の取得部30が補助記憶装置921に格納する。
*** Outline of operation of spreading code generating apparatus 100 ***
An outline of the operation of the spread code generating apparatus 100 will be described with reference to FIG.
FIG. 3 is a flowchart showing an outline of the operation of the spread code generating apparatus 100.
In step S01, the input IF 930 receives as input data an initial value 11 for generating the spread code 15, a communication start time 12, and a secret key 13 that is secret information. Detailed description of the initial value 11 and the like will be described later. The acquisition unit 30 of the processor 910 stores the initial value 11 and the like input to the input IF 930 in the auxiliary storage device 921.
 ステップS02において、取得部30は、補助記憶装置921に格納されている、初期値11、スタート時間12、秘密鍵13を、メモリ922にロードする。取得部30は、メモリ922から初期値11等を読み出し、初期値11,スタート時間12を初期値演算部10に送信し、秘密鍵13を拡散符号生成部20に送信する。 In step S02, the acquisition unit 30 loads the initial value 11, the start time 12, and the secret key 13 stored in the auxiliary storage device 921 into the memory 922. The acquisition unit 30 reads the initial value 11 and the like from the memory 922, transmits the initial value 11 and the start time 12 to the initial value calculation unit 10, and transmits the secret key 13 to the spreading code generation unit 20.
 ステップS03において、初期値演算部10は、受信した初期値11から「t時間後の初期値」を生成する。以下に、「t時間後の初期値」を説明する。 In step S03, the initial value calculation unit 10 generates an “initial value after time t” from the received initial value 11. The “initial value after time t” will be described below.
 初期値演算部10は、初期値11をカウンタとして複数回インクリメントすることによって、初期値11がインクリメントされた複数のインクリメント値を生成する。以下では初期値11はCTRとも表記する。またインクリメント値は後述のCTR+iである。初期値演算部10は、CTRを1bitずつインクリメントする。
 仮に、CTRが全てビット0の64ビットデータ(0,0,..,0,0)である場合、
 CTR+1:(0,0...0,1)、
 CTR+2:(0,0...1,0)、
 CTR+3:(0,0...1,1)、
 ・・・
 CTR+(264-1):(1,1...1,1)、
 CTR+264:(0,0...0,0)、
である。
 よって、CTRがnbitのある値である場合、
 CTR+2はCTRに戻る。
 CTR+1からCTR+2は、CTR+i(i=1,2,3...2
と記す場合がある。
The initial value calculation unit 10 generates a plurality of increment values obtained by incrementing the initial value 11 by incrementing the initial value 11 a plurality of times using the initial value 11 as a counter. Hereinafter, the initial value 11 is also expressed as CTR. The increment value is CTR + i described later. The initial value calculation unit 10 increments CTR by 1 bit.
If CTR is 64-bit data (0, 0, ..., 0, 0) with all bits 0,
CTR + 1: (0, 0 ... 0, 1),
CTR + 2: (0, 0 ... 1,0),
CTR + 3: (0, 0 ... 1, 1),
...
CTR + (2 64 -1): (1,1 ... 1,1),
CTR + 2 64 : (0, 0 ... 0, 0),
It is.
Therefore, when CTR is a certain value of nbit,
CTR + 2 n returns to CTR.
CTR + 1 to CTR + 2 n are CTR + i (i = 1, 2, 3... 2 n )
May be written.
 図4は、「t時間後の初期値」を説明する図である。図4は説明のため、単純な数値が使用されている。横軸は時間である。スタート時間12は、通信の開始時刻を示す。通信が行われる時間帯は1秒とする。拡散符号生成装置100が使用される通信システムでは、時間△tが設定されている。図4の場合、△t=100μ秒である。
通信の時間帯が1秒であれば、△tは10個ある。時間△tは、通信の時間帯である1秒の部分時間帯である。部分時間帯とは通信の時間帯が分割された時間帯である。
△tのそれぞれには「初期値」が必要である。
 一番目の△tはCTR+1、
 二番目の△tはCTR+2、
 ・・・
 10-1番目はCTR+(10-1)、
 10番目はCTR+10
が「t時間後の初期値」となる。
 具体的には、
 CTR+1は、スタート時間12からゼロμ秒後の初期値であり、
 CTR+2は、スタート時間12から100μ秒後の初期値であり、
 CTR+(10-1)は、「1秒-200μ秒」後の初期値であり、
 CTR+10は、「1秒-100μ秒」後の初期値である。
 後述のように、拡散符号生成部20は、それぞれのt時間後の初期値(CTR+i)から、拡散符号15を生成可能である。
FIG. 4 is a diagram for explaining the “initial value after time t”. In FIG. 4, simple numerical values are used for explanation. The horizontal axis is time. The start time 12 indicates the communication start time. The time zone for communication is 1 second. In a communication system in which the spread code generating apparatus 100 is used, time Δt is set. In the case of FIG. 4, Δt = 100 μsec.
If the time zone of communication is one second, △ t is four 10. The time Δt is a partial time zone of 1 second, which is a communication time zone. The partial time zone is a time zone in which the communication time zone is divided.
An “initial value” is required for each Δt.
The first Δt is CTR + 1,
The second Δt is CTR + 2,
...
10 4 −1 is CTR + (10 4 −1),
10 4th is CTR + 10 4 ,
Becomes the “initial value after time t”.
In particular,
CTR + 1 is an initial value after zero microseconds from the start time of 12,
CTR + 2 is the initial value after 100 μs from the start time of 12,
CTR + (10 4 −1) is an initial value after “1 second−200 μsec”,
CTR + 10 4 is the initial value after "1 seconds -100μ second".
As will be described later, the spread code generation unit 20 can generate the spread code 15 from the initial value (CTR + i) after each t time.
 図4のように、複数のインクリメント値のそれぞれのインクリメント値(CTR+i)は、通信が行われる時間帯に含まれる互いに異なる複数の部分時間帯に対応する。 As shown in FIG. 4, each increment value (CTR + i) of the plurality of increment values corresponds to a plurality of different partial time zones included in the time zone in which communication is performed.
 図3のステップS04において、拡散符号生成部20は、初期値演算部10から、t時間後の初期値であるCTR+iを受信し、CTR+iを用いて拡散符号15を生成する。 3, the spread code generation unit 20 receives the CTR + i that is the initial value after time t from the initial value calculation unit 10 and generates the spread code 15 using the CTR + i.
 拡散符号生成部20が、nbitブロック暗号アルゴリズムのCTRモード(Counter Mode)を使用する場合を説明する。
 図5は、拡散符号生成部20が、nbitブロック暗号アルゴリズムのCTRモードを使用するCTRモード部21Aを備える構成を示す。
 図6は、一般的なCTRモードを示す。本実施の形態のCTRモードは、図6の破線の枠6で示す部分が該当する。つまりCTRモード部21A、後述するCTRモード部21B-j、CTRモード部21C-j、CTRモード部21Dは、枠6の暗号化処理Eを実施する。暗号化データE(CTR+i)は拡散符号15に相当し、平文ブロックMiは拡散されるデータに相当する。
A case where the spread code generation unit 20 uses the CTR mode (Counter Mode) of the nbit block cipher algorithm will be described.
FIG. 5 shows a configuration in which the spread code generation unit 20 includes a CTR mode unit 21A that uses the CTR mode of the nbit block cipher algorithm.
FIG. 6 shows a general CTR mode. The CTR mode of the present embodiment corresponds to a portion indicated by a broken line frame 6 in FIG. That CTR mode portion 21A, which will be described later CTR mode portion 21B-j, CTR mode portion 21C-j, CTR mode unit 21D performs the encryption process E K frame 6. The encrypted data E K (CTR + i) corresponds to the spread code 15 and the plaintext block Mi corresponds to the data to be spread.
 ブロック暗号のCTRモードでは、ブロック暗号アルゴリズムの入力に、カウンタ(CTR)として初期値が入力され、秘密鍵に秘密情報が入力される事で、nbitのランダムデータ列が生成可能である。そして、CTRを1bitインクリメントしたCTR+1がブロック暗号アルゴリズムに入力されることによって、次の異なるnbitのランダムデータを生成できる。 In the block cipher CTR mode, an nbit random data string can be generated by inputting an initial value as a counter (CTR) to a block cipher algorithm and inputting secret information as a secret key. Then, when CTR + 1 obtained by incrementing CTR by 1 bit is input to the block cipher algorithm, random data of the next different n bits can be generated.
 利用するブロック暗号アルゴリズムが、安全であることが確認されている場合、nbitブロック暗号の場合は、2回のインクリメント分のnbitランダムデータを生成する事が可能である。図5に示すように、初期値11であるCTRはnbitとする。初期値演算部10は、CTRをインクリメントすることで、CTR+i(i=1,2...2)を生成し、CTRモード部21Aに送信する。CTRモード部21Aは、CTR+iを入力データとして、ブロック暗号アルゴリズムによって、nbitのランダムデータを生成する。図5ではnbitの拡散符号15を<SCn>と表している。また「CTR+1」から<SCn>への矢印は<SCn>がCTR+1から生成されたことを示す。「CTR+2も同様である。CTRモード部21Aは、CTR+1から1番目の<SCn>を生成し、以下同様に、CTR+2からCTR+2に対応する<SCn>を生成可能である。従って、「nbit×2」個のランダムデータを拡散符号15として利用可能である。 When it is confirmed that the block cipher algorithm to be used is safe, in the case of the nbit block cipher, it is possible to generate nbit random data for increments of 2 n times. As shown in FIG. 5, the CTR that is the initial value 11 is nbit. The initial value calculation unit 10 increments CTR to generate CTR + i (i = 1, 2... 2 n ) and transmits it to the CTR mode unit 21A. The CTR mode unit 21A generates nbit random data by block encryption algorithm using CTR + i as input data. In FIG. 5, the n-bit spread code 15 is represented as <SCn>. An arrow from “CTR + 1” to <SCn> indicates that <SCn> is generated from CTR + 1. “CTR + 2 n is the same. The CTR mode unit 21A can generate the first <SCn> from CTR + 1, and similarly can generate <SCn> corresponding to CTR + 2n from CTR + 2. Therefore,“ nbit. × 2 n ”random data can be used as the spreading code 15.
 一般的なブロック暗号アルゴリズムとしては、現在、ブロックサイズが64bit、128bitのアルゴリズムが利用されている。これらを用いたCTRモードでは、64bit×264=270、または、128bit×2128=2135の周期をもつ秘匿性の高い拡散符号15を生成可能である。 As a general block encryption algorithm, an algorithm having a block size of 64 bits or 128 bits is currently used. In the CTR mode using these, it is possible to generate a highly confidential spreading code 15 having a period of 64 bits × 2 64 = 2 70 or 128 bits × 2 128 = 2 135 .
 このように、暗号部92である拡散符号生成部20において、CTRモード部21Aが、秘密鍵を用いる暗号アルゴリズムでそれぞれのインクリメント値を暗号化することによって、それぞれのインクリメント値から拡散符号を生成する。 In this way, in the spread code generation unit 20 that is the encryption unit 92, the CTR mode unit 21A encrypts each increment value with an encryption algorithm that uses a secret key, thereby generating a spread code from each increment value. .
 次に、図3のステップS05において、出力部40は、拡散符号生成部20で生成された拡散符号15を取得し、通信システムで直接拡散を実施するための拡散符号15として出力する。 Next, in step S05 of FIG. 3, the output unit 40 acquires the spread code 15 generated by the spread code generation unit 20, and outputs it as the spread code 15 for performing direct spreading in the communication system.
 図5では、拡散符号生成部20の具体的な構成例を示したが、拡散符号の周期(bit数)は、拡散符号生成部20のCTRモード部21Aに採用するブロック暗号アルゴリズムのブロックサイズにより決定される。つまり、一つのCTR+iから得られる拡散符号15のbit数は、CTRモード部21Aに採用されるブロック暗号アルゴリズムのブロックサイズで決まる。 In FIG. 5, a specific configuration example of the spreading code generation unit 20 is shown, but the cycle (number of bits) of the spreading code depends on the block size of the block cipher algorithm employed in the CTR mode unit 21A of the spreading code generation unit 20. It is determined. That is, the number of bits of the spread code 15 obtained from one CTR + i is determined by the block size of the block cipher algorithm employed in the CTR mode unit 21A.
 図7は、図5に対する比較例の拡散符号方式を示す図である。図7の拡散符号方式では、「t時間後の初期値」を生成するためには、「t時間後の初期値」を生成するための専用演算機能が必要である。この専用演算機能は専用の導出ロジックを用いるため、「t時間後の初期値」の生成には、かなりの導出時間を費やす必要が有った。
 それに対して、本実施の形態では、「t時間後の初期値」を導出するには、初期値演算部10によって、CTRのインクリメントを実施するだけでよいので、専用演算機能が不要である。さらに、同期を捕捉する為の同期捕捉機能及び同期捕捉のためのパイロット系列が不要である。本実施の形態では、通信の同期をとるためには受信装置が通信の開始時刻を知ることができればよい。そのため、送信装置は受信装置に通信の開始時刻を示す通信開始情報を伝えればよい。スタート時間12は通信開始情報の例である。
 以上のように、図5の拡散符号生成装置100は、図7の比較例の拡散符号方式で必要とされる、以下の(a)(b)(c)を必要としない。
(a)「t時間後の初期値」を演算するための専用演算機能、
(b)同期捕捉機能、
(c)パイロット符号系列
 拡散符号生成装置100は、(a)(b)(c)を備えていなくても、システム全体の安全性を担保できる。
FIG. 7 is a diagram showing a spreading code system of a comparative example with respect to FIG. In the spreading code system of FIG. 7, in order to generate “initial value after time t”, a dedicated arithmetic function for generating “initial value after time t” is necessary. Since this dedicated calculation function uses a dedicated derivation logic, it has been necessary to spend considerable derivation time to generate the “initial value after time t”.
On the other hand, in this embodiment, in order to derive the “initial value after time t”, the initial value calculation unit 10 only needs to increment the CTR, so a dedicated calculation function is unnecessary. Furthermore, a synchronization acquisition function for acquiring synchronization and a pilot sequence for acquisition are unnecessary. In this embodiment, in order to synchronize communication, it is only necessary that the receiving apparatus can know the start time of communication. For this reason, the transmission apparatus may transmit communication start information indicating the communication start time to the reception apparatus. The start time 12 is an example of communication start information.
As described above, the spreading code generation apparatus 100 in FIG. 5 does not require the following (a), (b), and (c) that are required in the spreading code system of the comparative example in FIG.
(A) Dedicated calculation function for calculating “initial value after time t”;
(B) synchronization acquisition function;
(C) Pilot code sequence Even if the spreading code generation apparatus 100 does not include (a), (b), and (c), the safety of the entire system can be ensured.
 次に、以下では図5のCTRモード部21Aの変形例を示す。以下に示す変形例1から変形例3は、拡散符号15の周期をさらに長くしたい場合(拡散符号15のbit数を多くしたい場合)の、拡散符号生成部20の構成である。 Next, a modification of the CTR mode unit 21A in FIG. 5 will be described below. Modifications 1 to 3 described below are configurations of the spread code generation unit 20 when it is desired to further increase the period of the spread code 15 (when it is desired to increase the number of bits of the spread code 15).
<変形例1>
 図8は、変形例1の拡散符号生成部20Bの構成を示す図である。初期値演算部10の構成は、図5と同じである。
<Modification 1>
FIG. 8 is a diagram illustrating a configuration of the spread code generation unit 20B of the first modification. The configuration of the initial value calculation unit 10 is the same as that in FIG.
 拡散符号生成部20Bは、mbitブロック暗号アルゴリズムを複数(J個)持つ。J個の各暗号アルゴリズムは、異なる秘密情報として、秘密鍵K1~KJを使用する。つまり、拡散符号生成部20Bの場合、mbitブロック暗号アルゴリズムの処理を行う、J個のCTRモード部21B-j(j=1,2,..,J)を備えている。CTRモード部21B-jは、秘密鍵Kjを使用する。なお、秘密鍵Kjは取得部30がメモリ922から読み出す。 The spreading code generator 20B has a plurality (J) of mbit block cipher algorithms. Each of the J encryption algorithms uses secret keys K1 to KJ as different secret information. That is, in the case of the spreading code generation unit 20B, J CTR mode units 21B-j (j = 1, 2,..., J) that perform processing of the mbit block cipher algorithm are provided. The CTR mode unit 21B-j uses the secret key Kj. The acquisition unit 30 reads the secret key Kj from the memory 922.
 CTRモード部21B-jは、初期値演算部10により送信されたCTR+i(i=1,2,..)を入力データとして、mbitブロック暗号アルゴリズムを秘密鍵Kjで実施する。つまり、一つのCTR+iごとに、J個のCTRモード部21B-jが演算を実施する。 The CTR mode unit 21B-j executes the mbit block cipher algorithm with the secret key Kj using the CTR + i (i = 1, 2,...) Transmitted by the initial value calculation unit 10 as input data. That is, for each CTR + i, the J CTR mode units 21B-j perform the calculation.
 図8ではmbitの拡散符号15を<SCm>と表している。図8に示すように、CTR+1に対して、CTRモード部21B-1からCTRモード部21B-Jは、それぞれmbitの拡散符号15である<SCm>1~<SCm>Jを生成する。CTR+1から<SCm>1~<SCm>Jを囲む枠への矢印は、<SCm>1~<SCm>JがCTR+1から生成されたことを示す。CTR+2も同様である。その結果、連接部23が、<SCm>1~<SCm>Jを連接する事により、mbit×J個が連接された拡散符号15を生成する事が可能となる。
 次に、CTR+1が1bitインクリメントされたCTR+2に対して、CTRモード部21B-1からCTRモード部21B-Jは、次の異なる、<SCm>1~<SCm>Jを生成する。
In FIG. 8, the mbit spread code 15 is represented as <SCm>. As shown in FIG. 8, for CTR + 1, CTR mode unit 21B-1 to CTR mode unit 21B-J generate <SCm> 1 to <SCm> J, which are mbit spread codes 15, respectively. An arrow pointing from CTR + 1 to a frame surrounding <SCm> 1 to <SCm> J indicates that <SCm> 1 to <SCm> J are generated from CTR + 1. The same applies to CTR + 2 m . As a result, the connecting part 23 connects <SCm> 1 to <SCm> J, so that it is possible to generate the spread code 15 in which mbit × J are connected.
Next, for CTR + 2 in which CTR + 1 is incremented by 1 bit, CTR mode unit 21B-1 to CTR mode unit 21B-J generate the following different <SCm> 1 to <SCm> J.
 CTRモード部21B-jが利用するブロック暗号アルゴリズムに、安全であることが確認されている方式を採用した場合、図8に示すように、mbitブロック暗号の場合は、2回のインクリメント分の、<SCm>1~<SCm>Jの拡散符号15を生成できる。 When a method that has been confirmed to be safe is adopted as the block cipher algorithm used by the CTR mode unit 21B-j, as shown in FIG. 8, in the case of mbit block cipher, 2 m increments are added. , <SCm> 1 to <SCm> J can be generated.
 図8の変形例1は、ブロック暗号アルゴリズムを並列に使用する場合である。変形例1はJ個のブロック暗号アルゴリズムを並列処理できるため、処理性能として有利である。 8 is a case where the block cipher algorithm is used in parallel. Modification 1 is advantageous in terms of processing performance because J block cipher algorithms can be processed in parallel.
 CTRモード部21B-1~CTRモード部21B-Jは、いずれも、サブ暗号部である。以上の説明のように、CTRモード部21B-1~CTRモード部21B-Jのそれぞれは、他のサブ暗号部で使用される秘密鍵と異なる秘密鍵を用いる暗号アルゴリズムで他のサブ暗号部と同一のインクリメント値を暗号化することによって、同一のインクリメント値から拡散符号を生成する。 The CTR mode unit 21B-1 to CTR mode unit 21B-J are all sub-encryption units. As described above, each of the CTR mode unit 21B-1 to CTR mode unit 21B-J is an encryption algorithm using a secret key different from the secret key used in the other sub cipher unit, and other sub cipher units. A spreading code is generated from the same increment value by encrypting the same increment value.
<変形例2>
 図9を参照して変形例2を説明する。
図9は、変形例2の拡散符号生成部20Cの構成を示す図である。初期値演算部10の構成は、図5と同じである。
<Modification 2>
Modification 2 will be described with reference to FIG.
FIG. 9 is a diagram illustrating a configuration of a spread code generation unit 20C according to the second modification. The configuration of the initial value calculation unit 10 is the same as that in FIG.
 拡散符号生成部20Cは、mbitブロック暗号アルゴリズムを複数(J個)持つ。J個の各暗号アルゴリズムは、異なる秘密情報として、秘密鍵K1~KJを使用する。つまり、拡散符号生成部20Cは、mbitブロック暗号アルゴリズムの処理を行う、J個のCTRモード部21C-j(j=1,2,..,J)を備えている。CTRモード部21C-jは、秘密鍵Kjを使用する。なお、秘密鍵Kjは取得部30がメモリ922から読み出す。 The spreading code generator 20C has a plurality (J) of mbit block cipher algorithms. Each of the J encryption algorithms uses secret keys K1 to KJ as different secret information. That is, the spreading code generation unit 20C includes J CTR mode units 21C-j (j = 1, 2,..., J) that perform processing of the mbit block cipher algorithm. The CTR mode unit 21C-j uses the secret key Kj. The acquisition unit 30 reads the secret key Kj from the memory 922.
 まず、CTRモード部21C-1が、初期値演算部10により送信されたCTR+1を入力データとして、秘密鍵K1を用いて、mbitブロック暗号アルゴリズムの演算を実施する。 First, the CTR mode unit 21C-1 performs an mbit block cipher algorithm calculation using the secret key K1 with CTR + 1 transmitted by the initial value calculation unit 10 as input data.
 次に、CTRモード部21C-1の演算結果が、CTRモード部21C-2に入力される。CTRモード部21C-2は、秘密鍵K2を用いて、mbitブロック暗号アルゴリズムの演算を実施する。同様にして、CTRモード部21C-j(j=3,..,J)には、前段のCTRモード部21C-(j-1)の演算結果が入力され、CTRモード部21C-jは、秘密鍵Kjを用いて、mbitブロック暗号アルゴリズムの演算を実施する。 Next, the calculation result of the CTR mode unit 21C-1 is input to the CTR mode unit 21C-2. The CTR mode unit 21C-2 performs an mbit block cipher algorithm calculation using the secret key K2. Similarly, the CTR mode unit 21C-j (j = 3,..., J) receives the calculation result of the preceding CTR mode unit 21C- (j−1), and the CTR mode unit 21C-j The mbit block cipher algorithm is calculated using the secret key Kj.
 その結果、図9に示すように、CTR+1に対して、CTRモード部21C-1からCTRモード部21C-Jは、それぞれmbitの拡散符号15である<SCm>1~<SCm>Jを生成する。CTR+1から<SCm>1~<SCm>Jを囲む枠への矢印は、<SCm>1~<SCm>JがCTR+1から生成されたことを示す。CTR+2も同様である。連接部23が<SCm>1~<SCm>Jを連接する事により、mbit×J個が連接された拡散符号15を生成する事が可能となる。CTR+2以降も同様である。 As a result, as shown in FIG. 9, for CTR + 1, CTR mode unit 21C-1 to CTR mode unit 21C-J generate <SCm> 1 to <SCm> J, which are mbit spread codes 15, respectively. . An arrow pointing from CTR + 1 to a frame surrounding <SCm> 1 to <SCm> J indicates that <SCm> 1 to <SCm> J are generated from CTR + 1. The same applies to CTR + 2 m . When the connecting portion 23 connects <SCm> 1 to <SCm> J, it is possible to generate a spread code 15 in which mbit × J are connected. The same applies to CTR + 2 and later.
 変形例1と同様に、CTRモード部21C-jの利用するブロック暗号アルゴリズムに、安全であることが確認されている方式を採用した場合、図9に示すように、mbitブロック暗号の場合は、2回のインクリメント分の、<SCm>1~<SCm>Jの拡散符号15を生成できる。つまり、<SCm>1~<SCm>Jを2個生成できる。 As in the first modification, when a scheme that is confirmed to be safe is adopted as the block cipher algorithm used by the CTR mode unit 21C-j, as shown in FIG. 9, in the case of the mbit block cipher, A spread code 15 of <SCm> 1 to <SCm> J can be generated for 2 m increments. That is, 2 m pieces of <SCm> 1 to <SCm> J can be generated.
 CTRモード部21C-1~CTRモード部21C-Jは、いずれも、サブ暗号部である。以上の説明のように、CTRモード部21C-1~CTRモード部21C-Jのそれぞれは、データを取得した場合に他のサブ暗号部で使用される秘密鍵と異なる秘密鍵を用いる暗号アルゴリズムで、取得したデータを暗号化することによってそのデータから拡散符号を生成する。CTRモード部21C-1は、複数のサブ暗号部のうち接続順位が第1位である第1のサブ暗号部93である。第1のサブ暗号部93であるCTRモード部21C-1は、データとしてインクリメント値を取得し、インクリメント値を暗号化することによって、インクリメント値から拡散符号15を生成する。第1のサブ暗号部93よりも接続順位が後のサブ暗号部(CTRモード部21C-2,21C-3...21C-J)は、データとして、接続順位が上位の直前のサブ暗号部が生成した拡散符号を取得し、取得した拡散符号を暗号化することによって、取得した拡散符号とは別の拡散符号を生成する。 The CTR mode unit 21C-1 to CTR mode unit 21C-J are all sub-encryption units. As described above, each of the CTR mode unit 21C-1 to CTR mode unit 21C-J is an encryption algorithm that uses a secret key different from the secret key used in other sub-encryption units when data is acquired. Then, by encrypting the acquired data, a spreading code is generated from the data. The CTR mode unit 21C-1 is a first sub-encryption unit 93 having the first connection order among the plurality of sub-encryption units. The CTR mode unit 21C-1, which is the first sub-encryption unit 93, acquires an increment value as data, encrypts the increment value, and generates a spread code 15 from the increment value. The sub cipher units (CTR mode units 21C-2, 21C-3... 21C-J) whose connection order is higher than that of the first sub cipher unit 93 are the sub cipher units immediately preceding the higher connection order as data. Is obtained, and the obtained spreading code is encrypted to generate a spreading code different from the obtained spreading code.
 変形例2は、ブロック暗号アルゴリズムを直列的に使用する場合である。変形例2は、J個のブロック暗号アルゴリズムの並列処理は出来ない。しかし、各ブロック暗号アルゴリズムに入力されるデータは、前のブロック暗号アルゴリズムの演算結果に影響される。よって変形例2は、安全性に有利な構成である。 Modification 2 is a case where the block encryption algorithm is used in series. In the second modification, J block cipher algorithms cannot be processed in parallel. However, the data input to each block cipher algorithm is affected by the calculation result of the previous block cipher algorithm. Therefore, the modification 2 is a structure advantageous to safety.
 なお変形例2では、CTRモード部21C-1~CTRモード部21C-Jのそれぞれは、異なる秘密鍵を使用しているが、同じ秘密鍵を用いても構わない。つまり、それぞれのCTRモード部21C-jは異なる秘密鍵を使用することが最も好ましいが、CTRモード部21C-jの中に同じ秘密鍵を使用するCTRモード部21Cが存在しても構わない。 In Modification 2, each of CTR mode unit 21C-1 to CTR mode unit 21C-J uses a different secret key, but the same secret key may be used. That is, it is most preferable that each CTR mode unit 21C-j uses a different secret key, but there may be a CTR mode unit 21C that uses the same secret key in the CTR mode unit 21C-j.
<変形例3>
 図10を参照して変形例3を説明する。
図10は、変形例3の拡散符号生成部20Dの構成を示す図である。初期値演算部10の構成は、図5と同じである。
<Modification 3>
Modification 3 will be described with reference to FIG.
FIG. 10 is a diagram illustrating a configuration of the spread code generation unit 20D of the third modification. The configuration of the initial value calculation unit 10 is the same as that in FIG.
 拡散符号生成部20は、CTRモード部21D、鍵インクリメント部22Dを備えている。CTRモード部21Dは、CTRモード部21Aと同じ機能である。鍵インクリメント部22Dは、秘密鍵Kの値を1bitずつインクリメントし、値がインクメントされたインクリメント鍵Kj(j=1,2,..,J-1)を生成する。 The spreading code generation unit 20 includes a CTR mode unit 21D and a key increment unit 22D. The CTR mode unit 21D has the same function as the CTR mode unit 21A. The key increment unit 22D increments the value of the secret key K by 1 bit, and generates an increment key Kj (j = 1, 2,..., J−1) in which the value is incremented.
 拡散符号生成部20Dは秘密情報として秘密鍵Kを入力する。CTRモード部21Dは、秘密鍵Kを用いて、mbitブロック暗号アルゴリズムの演算を行う。図10に示すように、図5のCTRモード部21Aと同様に、CTRモード部21Dは、秘密鍵Kを用いて、CTR+1~CTR+2から、mbitの拡散符号15である、2個の<SCm>を生成する。CTR+1から<SCm>1への矢印は、<SCm>1がCTR+1から生成されたことを示す。CTR+2も同様である。 The spread code generation unit 20D inputs the secret key K as secret information. The CTR mode unit 21D uses the secret key K to perform an mbit block encryption algorithm. As shown in FIG. 10, similarly to the CTR mode portion 21A of FIG. 5, CTR mode unit 21D uses the secret key K, from CTR + 1 ~ CTR + 2 m , a spreading code 15 of mbit, the 2 m pieces <SCm> is generated. The arrow from CTR + 1 to <SCm> 1 indicates that <SCm> 1 was generated from CTR + 1. The same applies to CTR + 2 m .
 秘密鍵Kで2個の拡散符号15が生成された後、さらに拡散符号15が必要な場合は、鍵インクリメント部22Dが秘密鍵Kを1bitインクリメントして、秘密鍵K+1を生成する。初期値演算部10は、再び、CTRモード部21Dに、CTR+1~CTR+2を入力する。CTRモード部21Dは、秘密鍵Kを用いた場合と同様に、秘密鍵K+1を用いて、CTR+1~CTR+2から、mbitの拡散符号15である、2個の<SCm>を生成する。 After 2 m spreading codes 15 are generated with the secret key K, if further spreading codes 15 are required, the key increment unit 22D increments the secret key K by 1 bit to generate a secret key K + 1. The initial value calculation unit 10 again inputs CTR + 1 to CTR + 2 m to the CTR mode unit 21D. Similarly to the case where the secret key K is used, the CTR mode unit 21D uses the secret key K + 1 to generate 2 m <SCm>, which are mbit spread codes 15, from CTR + 1 to CTR + 2 m .
 このように、鍵インクリメント部22Dが秘密鍵KをJ-1回インクリメントし、CTRモード部21Dが、秘密鍵K+j(j=1,2,..,J-1)を用いて、CTR+1~CTR+2から、2個の<SCm>を生成することが可能である。この場合、図10に示すように、秘密鍵ごとに、2個の<SCm>を生成できる。よって、2個の<SCm>が、J個生成できる。 Thus, the key increment unit 22D increments the secret key K J−1 times, and the CTR mode unit 21D uses the secret key K + j (j = 1, 2,..., J−1) to CTR + 1 to CTR + 2 From m , 2 m <SCm> can be generated. In this case, as shown in FIG. 10, 2 m <SCm> can be generated for each secret key. Therefore, 2 m <SCm> can be generated.
 変形例3は、ブロック暗号アルゴリズムをCTRが周期を全て利用した時、秘密鍵Kの値がカウントアップされる場合である。変形例3は、ブロック暗号アルゴリズムを複数持つ必要が無く、かつ、秘密情報のデータサイズもブロック暗号アルゴリズムの秘密鍵サイズで実現可能である。このため、変形例3は、実装サイズとして有利な構成である。 Modified example 3 is a case where the value of the secret key K is counted up when the CTR uses all the cycles of the block cipher algorithm. In the third modification, it is not necessary to have a plurality of block cipher algorithms, and the data size of the secret information can be realized by the secret key size of the block cipher algorithm. For this reason, the modification 3 is a structure advantageous as a mounting size.
 以上のように、CTRモード部21Dは、暗号アルゴリズムに秘密鍵K+1等のインクリメント鍵を用いることにより、暗号アルゴリズムに秘密鍵Kを用いて暗号化されるそれぞれのインクリメント値(CTR+i)を暗号化することによって、それぞれのインクリメント値から拡散符号を生成する。 As described above, the CTR mode unit 21D encrypts each increment value (CTR + i) encrypted using the secret key K for the encryption algorithm by using an increment key such as the secret key K + 1 for the encryption algorithm. Thus, a spreading code is generated from each increment value.
 以上に説明した図5及び変形例1~3で説明した、CTRモード部21A、CTRモード部21B-1~21B-J、CTRモード部21C-1~21C-J、CTRモード部21DのそれぞれのCTRモード部で使用される暗号アルゴリズムは、安全であることが確認されている。 Each of the CTR mode unit 21A, the CTR mode units 21B-1 to 21B-J, the CTR mode units 21C-1 to 21C-J, and the CTR mode unit 21D described in FIG. 5 and Modifications 1 to 3 described above. It has been confirmed that the cryptographic algorithm used in the CTR mode part is secure.
***実施の形態1の効果***
(1)拡散符号生成装置100は、カウンタ部91である初期値演算部10を備えている。初期値演算部10は,t時間後の初期値であるCTR+iを導出するために、CTRをインクリメントする。つまり、CTRのインクリメントで、t時間後の初期値を演算する。よって、多くの処理を必要とする「t時間後の初期値を演算する専用演算機能」が不要となり、「t時間後の初期値」の演算に要する時間が不要な程度に、この時間が短くなる。
(2)また、送信元の装置は、送信先の装置に、10分後のようなスタート開始時間、あるいは13時14分15秒のようなスタート開始時刻等の通信開始情報を伝えることで、通信の同期をとることができる。このように簡単な処理で同期をとることができる。
(3)拡散符号生成装置100は初期値演算部10、拡散符号生成部20を備えているので、パイロット符号系列は不要である。
(4)初期値演算部10、拡散符号生成部20によって周期の長い拡散符号15を生成することができること、及び、安全であることが確認されている暗号アルゴリズムを使用できることにより、安全で秘匿性の高い拡散符号が生成できる。
*** Effects of Embodiment 1 ***
(1) The spread code generating apparatus 100 includes an initial value calculation unit 10 that is a counter unit 91. The initial value calculation unit 10 increments CTR in order to derive CTR + i, which is an initial value after time t. That is, the initial value after time t is calculated by incrementing CTR. Therefore, the “dedicated calculation function for calculating the initial value after t time” which requires a lot of processing is unnecessary, and this time is shortened to the extent that the time required for calculating the “initial value after t time” is unnecessary. Become.
(2) Also, the transmission source device communicates communication start information such as a start start time such as 10 minutes later or a start start time such as 13:14:15 to the transmission destination device. Communication can be synchronized. Thus, synchronization can be achieved with simple processing.
(3) Since the spreading code generation apparatus 100 includes the initial value calculation unit 10 and the spreading code generation unit 20, a pilot code sequence is unnecessary.
(4) The long-period spread code 15 can be generated by the initial value calculation unit 10 and the spread code generation unit 20, and the encryption algorithm that has been confirmed to be safe can be used. High spreading codes can be generated.
***他の構成***
 図11は、処理回路99を示す図である。本実施の形態では拡散符号生成装置100の「部の機能」はソフトウェアで実現されるが、変形例として、拡散符号生成装置100「部の機能」がハードウェアで実現されてもよい。つまり、処理回路99によって、前述したプロセッサ910として示す拡散符号生成装置100の「部の機能」及び記憶装置920の機能が実現される。処理回路99は信号線99aに接続している。
 処理回路99は、拡散符号生成装置100の「部の機能」及び記憶装置920の機能を実現する専用の電子回路である。処理回路99は、具体的には、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ロジックIC、GA(Gate・Array)、ASIC(Application・Specific・Integrated・Circuit)、又は、FPGA(Field-Programmable・Gate・Array)である。
*** Other configurations ***
FIG. 11 is a diagram showing the processing circuit 99. In the present embodiment, the “part function” of the spreading code generation apparatus 100 is realized by software, but as a modification, the spreading code generation apparatus 100 “function of part” may be realized by hardware. That is, the processing circuit 99 implements the “function of the unit” of the spreading code generation device 100 shown as the processor 910 and the function of the storage device 920. The processing circuit 99 is connected to the signal line 99a.
The processing circuit 99 is a dedicated electronic circuit that realizes the “function of the unit” of the spreading code generation apparatus 100 and the function of the storage device 920. Specifically, the processing circuit 99 includes a single circuit, a composite circuit, a programmed processor, a processor programmed in parallel, a logic IC, a GA (Gate Array), an ASIC (Application Specific Integrated Circuit), or FPGA (Field-Programmable / Gate / Array).
 拡散符号生成装置100は、処理回路99を代替する複数の処理回路を備えていてもよい。これら複数の処理回路により、全体として、拡散符号生成装置100の「部の機能」が実現される。それぞれの処理回路は、処理回路99と同じように、専用の電子回路である。 The spreading code generation apparatus 100 may include a plurality of processing circuits that replace the processing circuit 99. By these plural processing circuits, the “function of unit” of the spread code generating apparatus 100 is realized as a whole. Each processing circuit, like the processing circuit 99, is a dedicated electronic circuit.
 別の変形例として、拡散符号生成装置100の機能がソフトウェアとハードウェアとの組合せで実現されてもよい。すなわち、拡散符号生成装置100の一部の機能が専用のハードウェアで実現され、残りの機能がソフトウェアで実現されてもよい。 As another modification, the function of the spread code generating apparatus 100 may be realized by a combination of software and hardware. In other words, some functions of the spread code generating apparatus 100 may be realized by dedicated hardware, and the remaining functions may be realized by software.
 プロセッサ910、記憶装置920及び処理回路99を、総称して「プロセッシングサーキットリ」という。つまり、拡散符号生成装置100の「部の機能」及び記憶装置920は、プロセッシングサーキットリにより実現される。 The processor 910, the storage device 920, and the processing circuit 99 are collectively referred to as a “processing circuit”. That is, the “unit function” and the storage device 920 of the spread code generating apparatus 100 are realized by a processing circuit.
 「部」を「工程」又は「手順」又は「処理」に読み替えてもよい。また、「部」の機能をファームウェアで実現してもよい。つまり、拡散符号生成装置100の動作は拡散符号生成プログラム、拡散符号生成方法として把握できる。また、「部の機能」は、拡散符号生成プログラムを格納する記録媒体及びプログラムプロダクトとして実現することもできる。 “Part” may be read as “Process”, “Procedure” or “Process”. Further, the function of “unit” may be realized by firmware. That is, the operation of the spread code generation apparatus 100 can be grasped as a spread code generation program and a spread code generation method. Further, the “function of part” can also be realized as a recording medium and a program product for storing a spread code generation program.
 なお、以上の実施の形態1では、CTRがnbitの場合、2回のインクリメントから得られた、CTR+1~CTR+2nの2個のインクリメント値から拡散符号を生成している。この場合、CTR+2はCTRの値に戻る。
 上記の場合以外に、CTR+2はではなく、インクリメントしないCTR(初期値)を用いてもよい。この場合、
CTR,CTR+1,CTR+2...CTR+(2-1)となるので、インクリメント回数は「2-1」(回)である。
 以上の内容はCTRがmビットの場合も同様である。
In the first embodiment described above, when the CTR is n bits, the spread code is generated from 2 n increment values CTR + 1 to CTR + 2n obtained from 2 n increments. In this case, CTR + 2 n returns to the value of CTR.
Except for the above case, CTR (initial value) that does not increment may be used instead of CTR + 2 n . in this case,
CTR, CTR + 1, CTR + 2. . . Since CTR + (2 n −1), the number of increments is “2 n −1” (times).
The above contents are the same when the CTR is m bits.
 以上、本発明の実施の形態1について説明したが、実施の形態1で説明した内容を、部分的に実施してもよいし、あるいは組み合わせて実施しても構わない。なお、本発明は、実施の形態1に限定されるものではなく、必要に応じて種々の変更が可能である。 As mentioned above, although Embodiment 1 of this invention was demonstrated, the content demonstrated in Embodiment 1 may be implemented partially, or may be implemented in combination. In addition, this invention is not limited to Embodiment 1, A various change is possible as needed.
 7 専用演算機能、8 拡散符号生成機能、9 同期捕捉機能、10 初期値演算部、11 初期値、12 スタート時間、13 秘密鍵、14 プログラム、15 拡散符号、20,20A,20B,20C,20D 拡散符号生成部、21A,21B-1,21B-2,21B-J,21C-1,21C-2,21C-J,21D CTRモード部、22D 鍵インクリメント部、23 連接部、30 取得部、40 出力部、91 カウンタ部、92 暗号部、93 第1のサブ暗号部、99 処理回路、99a 信号線、100 拡散符号生成装置、910 プロセッサ、920 記憶装置、921 補助記憶装置、922 メモリ、930 入力IF。 7 dedicated calculation function, 8 spreading code generation function, 9 synchronization acquisition function, 10 initial value calculation unit, 11 initial value, 12 start time, 13 secret key, 14 program, 15 spreading code, 20, 20A, 20B, 20C, 20D Spreading code generation unit, 21A, 21B-1, 21B-2, 21B-J, 21C-1, 21C-2, 21C-J, 21D CTR mode unit, 22D key increment unit, 23 concatenation unit, 30 acquisition unit, 40 Output unit, 91 counter unit, 92 encryption unit, 93 first sub-encryption unit, 99 processing circuit, 99a signal line, 100 spreading code generation device, 910 processor, 920 storage device, 921 auxiliary storage device, 922 memory, 930 input IF.

Claims (8)

  1.  通信に使用される拡散符号を生成する拡散符号生成装置において、
     初期値をカウンタとして複数回インクリメントすることによって、前記初期値がインクリメントされた複数のインクリメント値を生成するカウンタ部と、
     秘密鍵を用いる暗号アルゴリズムでそれぞれの前記インクリメント値を暗号化することによって、それぞれの前記インクリメント値から拡散符号を生成する暗号部と
    を備える拡散符号生成装置。
    In a spread code generation device that generates a spread code used for communication,
    A counter unit that generates a plurality of increment values in which the initial value is incremented by incrementing the initial value as a counter multiple times;
    A spreading code generation apparatus comprising: an encryption unit that generates a spreading code from each increment value by encrypting each increment value with an encryption algorithm using a secret key.
  2.  前記複数のインクリメント値のそれぞれの前記インクリメント値は、
     前記通信が行われる時間帯に含まれる互いに異なる複数の部分時間帯に対応する請求項1に記載の拡散符号生成装置。
    The increment value of each of the plurality of increment values is
    The spreading code generation device according to claim 1, corresponding to a plurality of different partial time zones included in a time zone in which the communication is performed.
  3.  前記暗号部は、複数のサブ暗号部を備え、
     前記複数のサブ暗号部のそれぞれの前記サブ暗号部は、
     他の前記サブ暗号部で使用される秘密鍵と異なる秘密鍵を用いる暗号アルゴリズムで他の前記サブ暗号部と同一の前記インクリメント値を暗号化することによって、同一の前記インクリメント値から拡散符号を生成する
    請求項1または請求項2に記載の拡散符号生成装置。
    The cipher part includes a plurality of sub cipher parts,
    Each of the sub cipher parts of the plurality of sub cipher parts is:
    A spreading code is generated from the same increment value by encrypting the same increment value as that of the other sub-encryption unit with an encryption algorithm using a secret key different from the secret key used in the other sub-encryption unit The spreading code generation device according to claim 1 or 2.
  4.  前記暗号部は、直列に接続された複数のサブ暗号部を備え、
     前記複数のサブ暗号部のそれぞれの前記サブ暗号部は、
     データを取得した場合に他の前記サブ暗号部で使用される秘密鍵と異なる秘密鍵を用いる暗号アルゴリズムで、取得した前記データを暗号化することによって前記データから拡散符号を生成し、
     前記複数のサブ暗号部のうち接続順位が第1位である第1のサブ暗号部は、
     前記データとして前記インクリメント値を取得し、前記インクリメント値を暗号化することによって、前記インクリメント値から前記拡散符号を生成し、
     前記第1のサブ暗号部よりも接続順位が下位の前記サブ暗号部は、
     前記データとして、接続順位が上位の直前の前記サブ暗号部が生成した前記拡散符号を取得し、取得した前記拡散符号を暗号化することによって、取得した前記拡散符号とは別の拡散符号を生成する請求項1または請求項2に記載の拡散符号生成装置。
    The encryption unit includes a plurality of sub encryption units connected in series,
    Each of the sub cipher parts of the plurality of sub cipher parts is:
    When the data is acquired, an encryption algorithm using a secret key different from the secret key used in the other sub-encryption unit is used to generate a spreading code from the data by encrypting the acquired data,
    The first sub-encryption unit having the first connection order among the plurality of sub-encryption units is:
    The spread code is generated from the increment value by obtaining the increment value as the data and encrypting the increment value,
    The sub cipher part having a lower connection order than the first sub cipher part is:
    As the data, the spreading code generated by the sub-encryption unit immediately before the connection order is acquired, and the spreading code different from the acquired spreading code is generated by encrypting the acquired spreading code The spreading code generation device according to claim 1 or 2.
  5.  前記暗号部は、
     前記秘密鍵の値をインクリメントし、値がインクメントされたインクリメント鍵を生成する鍵インクリメント部を備え、
     前記暗号部は、
     前記暗号アルゴリズムに前記インクリメント鍵を用いることにより、前記暗号アルゴリズムに前記秘密鍵を用いて暗号化されるそれぞれの前記インクリメント値を暗号化することによって、それぞれの前記インクリメント値から拡散符号を生成する請求項1または請求項2に記載の拡散符号生成装置。
    The encryption unit is
    A key increment unit that increments the value of the secret key and generates an increment key in which the value is incremented;
    The encryption unit is
    A spreading code is generated from each increment value by encrypting each increment value encrypted using the secret key in the encryption algorithm by using the increment key in the encryption algorithm. The spreading code generation apparatus according to claim 1 or 2.
  6.  前記暗号部で使用される前記暗号アルゴリズムは、
     安全であることが確認されている請求項1から請求項5のいずれか1項に記載の拡散符号生成装置。
    The cryptographic algorithm used in the cryptographic unit is:
    The spreading code generation apparatus according to any one of claims 1 to 5, which is confirmed to be safe.
  7.  通信に使用される拡散符号を生成するコンピュータである拡散符号生成装置に、
     初期値をカウンタとして複数回インクリメントすることによって、前記初期値がインクリメントされた複数のインクリメント値を生成する処理と、
     秘密鍵を用いる暗号アルゴリズムでそれぞれの前記インクリメント値を暗号化することによって、それぞれの前記インクリメント値から拡散符号を生成する処理と
    を実行させるための拡散符号生成プログラム。
    In a spread code generation device that is a computer that generates a spread code used for communication,
    A process of generating a plurality of increment values in which the initial value is incremented by incrementing the initial value multiple times as a counter; and
    A spreading code generation program for executing a process of generating a spreading code from each increment value by encrypting each increment value with an encryption algorithm using a secret key.
  8.  通信に使用される拡散符号を生成する拡散符号生成装置が、
     初期値をカウンタとして複数回インクリメントすることによって、前記初期値がインクリメントされた複数のインクリメント値を生成し、
     秘密鍵を用いる暗号アルゴリズムでそれぞれの前記インクリメント値を暗号化することによって、それぞれの前記インクリメント値から拡散符号を生成する
    拡散符号生成方法。
    A spreading code generating device that generates a spreading code used for communication
    By incrementing the initial value as a counter multiple times, a plurality of increment values in which the initial value is incremented are generated,
    A spreading code generation method for generating a spreading code from each increment value by encrypting each increment value with an encryption algorithm using a secret key.
PCT/JP2016/071203 2016-07-20 2016-07-20 Spreading code generation device, spreading code generation program, and spreading code generation method WO2018016015A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2016569864A JPWO2018016015A1 (en) 2016-07-20 2016-07-20 Spread code generation apparatus, spread code generation program, and spread code generation method
PCT/JP2016/071203 WO2018016015A1 (en) 2016-07-20 2016-07-20 Spreading code generation device, spreading code generation program, and spreading code generation method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2016/071203 WO2018016015A1 (en) 2016-07-20 2016-07-20 Spreading code generation device, spreading code generation program, and spreading code generation method

Publications (1)

Publication Number Publication Date
WO2018016015A1 true WO2018016015A1 (en) 2018-01-25

Family

ID=60992356

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2016/071203 WO2018016015A1 (en) 2016-07-20 2016-07-20 Spreading code generation device, spreading code generation program, and spreading code generation method

Country Status (2)

Country Link
JP (1) JPWO2018016015A1 (en)
WO (1) WO2018016015A1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1022994A (en) * 1996-07-04 1998-01-23 Hitachi Ltd Encryption device and decryption device, encryption method and decryption method, and communication system using them
JP2012151805A (en) * 2011-01-21 2012-08-09 Sharp Corp Data encryption device and memory card having the device

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1022994A (en) * 1996-07-04 1998-01-23 Hitachi Ltd Encryption device and decryption device, encryption method and decryption method, and communication system using them
JP2012151805A (en) * 2011-01-21 2012-08-09 Sharp Corp Data encryption device and memory card having the device

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
HENRI GILBERT: "The Security of ''One-Block-to-Many"", MODES OF OPERATION , LNCS, FAST SOFTWARE ENCRYPTION, vol. 2887, 24 February 2003 (2003-02-24), pages 376 - 395, XP055602412 *
SATO, MOTOKI ET AL.: "Study on the Parallel Chaotic Cipher", IEICE TECHNICAL REPORT, vol. 110, no. 387, 17 January 2011 (2011-01-17), pages 205 - 210 *

Also Published As

Publication number Publication date
JPWO2018016015A1 (en) 2018-07-19

Similar Documents

Publication Publication Date Title
US5048086A (en) Encryption system based on chaos theory
EP1873671B1 (en) A method for protecting IC Cards against power analysis attacks
JP6557727B2 (en) Block encryption method for encrypting / decrypting messages and encryption device for implementing this method
KR100296958B1 (en) Apparatus for encoding block data
JP2002366029A (en) Secure encryption for DPA
Bogdanov Attacks on the KeeLoq block cipher and authentication systems
JPH04234083A (en) Protecting method for pseudo-random signal
KR102169369B1 (en) Countermeasure method of first-order side-channel attack on lightweight block cipher and apparatus using the same
EP3667647B1 (en) Encryption device, encryption method, decryption device, and decryption method
JP2017187724A (en) Encryption device, encryption method, decryption device, and decryption method
JP2000511755A (en) How to encrypt binary code information
KR20050022623A (en) Interdependent parallel processing hardware cryptographic engine providing for enhanced self fault-detecting and hardware encryption processing method thereof
JP6287785B2 (en) Cryptographic processing apparatus, cryptographic processing method, and program
Dutta et al. Lightweight polymorphic encryption for the data associated with constrained internet of things devices
US11269993B2 (en) Encryption device, encryption method, decryption device, and decryption method
Pandian et al. Dynamic Hash key‐based stream cipher for secure transmission of real time ECG signal
Alshammari Comparison of a chaotic cryptosystem with other cryptography systems
Chernenko et al. Encryption Method for Systems with Limited Computing Resources
KR20060011999A (en) Encryption technique based on DES algorithm
WO2018016015A1 (en) Spreading code generation device, spreading code generation program, and spreading code generation method
JP2006025366A (en) Encryption apparatus and semiconductor integrated circuit
EP3618344B1 (en) Code generation device, code generation method and code generation program
Wang Using secret spreading codes to enhance physical layer security in wireless communication
RU2186467C2 (en) Method for iterative block encryption
CN214175074U (en) Parallel true random number generator and carrier thereof

Legal Events

Date Code Title Description
ENP Entry into the national phase

Ref document number: 2016569864

Country of ref document: JP

Kind code of ref document: A

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 16909490

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 16909490

Country of ref document: EP

Kind code of ref document: A1

点击 这是indexloc提供的php浏览器服务,不要输入任何密码和下载