KR101867663B1 - A method for otp generating of chain structure and a method for encoding/decoding using the same - Google Patents
A method for otp generating of chain structure and a method for encoding/decoding using the same Download PDFInfo
- Publication number
- KR101867663B1 KR101867663B1 KR1020160049911A KR20160049911A KR101867663B1 KR 101867663 B1 KR101867663 B1 KR 101867663B1 KR 1020160049911 A KR1020160049911 A KR 1020160049911A KR 20160049911 A KR20160049911 A KR 20160049911A KR 101867663 B1 KR101867663 B1 KR 101867663B1
- Authority
- KR
- South Korea
- Prior art keywords
- otp
- value
- generating
- deriving
- inputting
- Prior art date
- Legal status (The legal status 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 status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 42
- 230000005540 biological transmission Effects 0.000 claims abstract description 15
- 238000000605 extraction Methods 0.000 claims abstract description 7
- 238000006243 chemical reaction Methods 0.000 claims description 26
- 230000009466 transformation Effects 0.000 claims description 24
- 238000012360 testing method Methods 0.000 claims description 10
- 230000002708 enhancing effect Effects 0.000 abstract description 2
- 238000004891 communication Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000010276 construction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0863—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving passwords or one-time passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0041—Arrangements at the transmitter end
- H04L1/0042—Encoding specially adapted to other signal generation operation, e.g. in order to reduce transmit distortions, jitter, or to improve signal shape
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0045—Arrangements at the receiver end
- H04L1/0047—Decoding adapted to other signal detection operation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0631—Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Storage Device Security (AREA)
Abstract
본 발명은 사슬구조의 OTP 생성방법 및 이를 이용한 고정형 자료의 인코딩, 디코딩 방법에 관한 것이다. 본 발명에 따른 사슬구조의 OTP 생성방법은 OTP(ONE TIME PASSWORD) 및 유효토큰의 수를 초기화하는 단계(S110); 문자열, 생성일자, 생성시각, 유효토큰의 수 및 상기 OTP로부터 연계정보를 생성하는 단계(S120); 상기 연계정보를 생성알고리즘에 적용하여 암호문을 생성하는 단계(S130); 상기 암호문을 추출알고리즘에 적용하여 OTP를 생성하는 단계(S140); 상기 유효토큰의 수만큼, 상기 연계정보를 생성하는 단계(S120), 상기 암호문을 생성하는 단계(S130) 및 OTP를 생성하는 단계(S140)를 반복하는 단계(S150); 및 상기 반복하는 단계(S150)에서 마지막으로 생성된 OTP를 최종 OTP로 도출하는 단계(S160);를 포함한다. 본 발명에 따르면, 자료의 보안이 필요한 경우 해당 사슬구조의 일회용 비밀번호(OTP)를 이용한 인코딩/디코딩 체계를 통한 전송체계를 적용할 수 있으므로, 논리적인 자료 보안의 기밀성을 높일 수 있다.The present invention relates to a method of generating an OTP of a chain structure and a method of encoding and decoding fixed data using the same. A method of generating an OTP of a chain structure according to the present invention comprises: initializing (S110) the number of OTP (ONTIME PASSWORD) and valid tokens; Generating a string, a creation date, a creation time, a number of valid tokens, and linkage information from the OTP (S120); Applying the association information to the generation algorithm to generate a cipher text (S130); Applying the cipher text to an extraction algorithm to generate an OTP (S140); A step S150 of generating the linkage information by the number of the valid tokens S120, generating the ciphertext S130, and generating the OTP S140; And deriving the OTP finally generated in the repeating step (S150) as a final OTP (S160). According to the present invention, when data security is required, a transmission scheme using an encoding / decoding scheme using a one-time password (OTP) of the corresponding chain structure can be applied, thereby enhancing the confidentiality of logical data security.
Description
본 발명은 사슬구조의 OTP 생성방법 및 이를 이용한 고정형 자료의 인코딩, 디코딩 방법에 관한 것으로서, 보다 상세하게는 고정형(정수형, 실수형) 자료를 네트워크 전송 간에 쉽게 해석하지 못하게 하기 위하여 필요한 사슬 구조의 일회용 비밀번호(ONE TIME PASSWORD, 이하 OTP)를 이용한 선형변환기반의 자료 변환체계에 관한 것이다.The present invention relates to a method of generating an OTP of a chain structure and a method of encoding and decoding fixed data using the same. More particularly, the present invention relates to an OTP generation method of a chain structure, And a data conversion system based on a linear transformation using a password (ONTIME PASSWORD, hereinafter referred to as OTP).
유도무기 및 화력시험 시 각종 추적레이더, 원격측정시스템에서 생산하는 시험체의 실시간 시공간 위치정보 및 특성정보를 전송할 때, 전송되는 내용은 고정형(정수형, 실수형) 자료의 정해진 배열로 표현된다.When transmitting real-time and spatio-temporal position information and characteristic information of test specimens produced by various tracking radar and telemetry system during guided weapon and firepower test, the transmitted contents are expressed as a fixed array of fixed type (integer type, real number type) data.
종래의 네트워크 전송체계는 특정한 자료를 송신할 때, 자료구조체의 일부를 통해 자료를 송신 또는 수신했다. 비행시험 통제컴퓨터 네트워크 전송체계는 실시간 데이터를 네트워크를 통해 효과적으로 송수신 및 관리할 수 있도록 지원해주는 생산자(Publisher) / 수신자(Subscriber) 모델 기반의 DDS(Data Distribution System) 통신방법을 적용하여 구성되었다. 해당 전송체계는 기존의 UDP Broadcast 통신방법보다 더 효율적인 구성이 가능하다. DDS는 TOPIC이라는 자료 전달 구조를 제공하는데, 이는 UDP Broadcast Protocol 에서의 패킷과 유사한 개념이다. 이 TOPIC은 DDS에서 자료를 생산하여 송신하는 생산자(Publisher)와 자료를 수신하여 소비하는 수신자(Subscriber) 간의 전송단위로 사용되며, TOPIC의 구성과 처리 방법은 시스템 설계에 따라 달라진다. 실시간 시험자료 전달체계의 복잡성을 낮추고 전체 시스템 유지보수성을 높이기 위해, DDS를 기반으로 각종 추적레이더 및 원격측정 시스템 등에서 생산한 시공간 위치정보와 자세정보를 통제시스템과 전시시스템에 실시간으로 전달하고 있다.Conventional network transport schemes transmit or receive data through a portion of a data structure when transmitting certain data. The flight test control computer network transmission system was constructed by applying a DDS (Data Distribution System) communication method based on a Publisher / Subscriber model that supports the effective transmission and reception of real time data through the network. The transmission system can be configured more efficiently than the conventional UDP broadcast communication method. DDS provides a data transfer structure called TOPIC, which is similar to a packet in the UDP Broadcast Protocol. This TOPIC is used as a transmission unit between a producer that generates and transmits data in DDS and a receiver that consumes and receives data. The structure and processing method of TOPIC varies depending on the system design. In order to reduce the complexity of the real-time test data delivery system and to enhance the maintenance of the whole system, the real time location information and attitude information produced by various tracking radar and remote measurement system based on DDS are delivered to the control system and the exhibition system in real time.
그러나 상기와 같은 종래의 실시간 DDS 전송체계에서 송수신 되는 자료는 물리적으로 네트워크가 보호받고 있으나, 시험자료의 보안이 요구되는 경우, 이를 해결할 수 있는 방법이 없는 문제점이 있었다. However, the data transmitted and received in the conventional real-time DDS transmission system is physically protected by the network, but there is no method to solve the problem when security of test data is required.
또한, 시험자료의 보안을 위해 과도한 암호화 알고리즘이 적용되어 실시간 자료의 암호화를 수행하는 경우, 상당한 계산량과 시간이 소모되어 비행시험 수행을 방해하는 문제점이 있었다.In addition, when encryption of real-time data is performed by applying an excessive encryption algorithm for security of test data, considerable computation time and time are consumed, which hinders flight test execution.
또한, 일반적인 암호화 알고리즘이 적용되는 경우, 키분배/자격증명에 체계의 고려가 이루어져야 하고, 송수신 자료구조가 변경이 되어야 하는 문제점이 있었다.In addition, when a general encryption algorithm is applied, there has been a problem in that a system must be considered in the key distribution / credentials and the transmission / reception data structure must be changed.
또한, 암호화가 필요없는 자료와 혼용할 경우, 송수신 구조체를 달리해야 하는 문제점이 있었다.In addition, when the data is mixed with data that does not require encryption, the transmission / reception structure must be different.
본 발명은 상기와 같은 문제점을 해결하기 위하여 안출된 것으로, 본 발명의 목적은 기존 DDS 기반의 실시간 전송 체계를 변경시키지 않으면서도, 고정형 자료(정수형, 실수형)를 쉽게 해석할 수 없게 하는 사슬구조의 OTP 생성방법 및 이를 이용한 고정형 자료의 인코딩, 디코딩 방법을 제공하는 것이다.SUMMARY OF THE INVENTION It is an object of the present invention to provide a DDS-based real-time transmission system, And a method for encoding and decoding fixed data using the method.
본 발명에 따른 사슬구조의 OTP 생성방법은 OTP(ONE TIME PASSWORD) 및 유효토큰의 수를 초기화하는 단계(S110); 문자열, 생성일자, 생성시각, 유효토큰의 수 및 상기 OTP로부터 연계정보를 생성하는 단계(S120); 상기 연계정보를 생성알고리즘에 적용하여 암호문을 생성하는 단계(S130); 상기 암호문을 추출알고리즘에 적용하여 OTP를 생성하는 단계(S140); 상기 유효토큰의 수만큼, 상기 연계정보를 생성하는 단계(S120), 상기 암호문을 생성하는 단계(S130) 및 OTP를 생성하는 단계(S140)를 반복하는 단계(S150); 및 상기 반복하는 단계(S150)에서 마지막으로 생성된 OTP를 최종 OTP로 도출하는 단계(S160);를 포함한다.A method of generating an OTP of a chain structure according to the present invention comprises: initializing (S110) the number of OTP (ONTIME PASSWORD) and valid tokens; Generating a string, a creation date, a creation time, a number of valid tokens, and linkage information from the OTP (S120); Applying the association information to the generation algorithm to generate a cipher text (S130); Applying the cipher text to an extraction algorithm to generate an OTP (S140); A step S150 of generating the linkage information by the number of the valid tokens S120, generating the ciphertext S130, and generating the OTP S140; And deriving the OTP finally generated in the repeating step (S150) as a final OTP (S160).
본 발명에 따른 고정형 자료의 인코딩 방법은 상기 사슬구조의 OTP 생성방법에 의해 OTP를 생성하는 단계(S100); 및 상기 OTP를 이용하여 고정형 자료를 인코딩하는 단계(S200);를 포함한다.The method of encoding fixed data according to the present invention includes the steps of generating an OTP by an OTP generation method of the chain structure (S100); And encoding the fixed data using the OTP (S200).
상기 고정형 자료를 인코딩하는 단계(S200)는 암호화 횟수인 라운드(ROUND)의 수를 설정하는 단계(S210); 상기 도출하는 단계(S160)에서 도출된 상기 최종 OTP를 라운드키(ROUND KEY)에 입력하는 단계(S220); 상기 라운드키(ROUND KEY)인 제 1 함수인자값 및 인코딩될 고정형자료인 제 1 입력값을 기 설정된 선형변환함수에 입력하는 단계(S230); 상기 선형변환함수를 실행하여 제 1 변환값을 도출하는 단계(S240); 상기 라운드키(ROUND KEY)를 비트시프트 시키는 단계(S250); 비트시프트된 라운드키(ROUND KEY)인 제 2 함수인자값 및 상기 제 1 변환값인 제 2 입력값을 상기 선형변환함수에 입력하는 단계(S260); 상기 선형변환함수를 실행하여 제 2 변환값을 도출하는 단계(S270); 상기 라운드(ROUND)의 수에서 1회 적은 횟수만큼, 상기 라운드키(ROUND KEY)를 비트시프트 시키는 단계(S250), 상기 선형변환함수에 입력하는 단계(S260) 및 상기 제 2 변환값을 도출하는 단계(S270)를 반복하는 단계(S280); 및 상기 반복하는 단계(S280)에서 도출된 최종 제 2 변환값을 인코딩된 고정형 자료로 도출하는 단계(S290);를 포함하는 것을 특징으로 한다.The step of encoding the fixed data (S200) comprises: setting (S210) the number of rounds as the number of encryption times; Inputting the final OTP derived in the deriving step (S160) into a round key (S220); Inputting a first function factor value, which is the ROUND KEY, and a first input value, which is a fixed data to be encoded, into a predetermined linear transformation function (S230); Performing the linear transformation function to derive a first transformed value (S240); A step (S250) of bit-shifting the ROUND KEY; A second function factor value being a bit-shifted round key (ROUND KEY) and a second input value being the first conversion value to the linear transformation function (S260); Performing the linear transformation function to derive a second transformed value (S270); A step S250 of bit-shifting the ROUND KEY by a number of times smaller than the number of rounds by one, a step S260 of inputting to the linear conversion function S260, and a step S260 of deriving the second conversion value Repeating step S270 (S280); And deriving the final second conversion value derived in the repeating step S280 as encoded fixed data (S290).
본 발명에 따른 인코딩된 고정형 자료의 디코딩 방법은 상기 사슬구조의 OTP 생성방법에 의해 OTP를 생성하는 단계(S100); 상기 고정형 자료의 인코딩 방법에 의해 고정형 자료를 인코딩하는 단계(S200); 및 상기 OTP를 이용하여 인코딩된 고정형 자료를 디코딩하는 단계(S300);를 포함한다.A method of decoding encoded fixed data according to the present invention includes: generating OTP by an OTP generation method of the chain structure (S100); Encoding the fixed data by the encoding method of the fixed data (S200); And decoding the encoded fixed data using the OTP (S300).
상기 인코딩된 고정형 자료를 디코딩하는 단계(S300)는 N번 비트시프트된 상기 최종 OTP를 N번째 라운드키(ROUND KEY)로 입력하는 단계(S311); 상기 입력하는 단계(S312)를 상기 라운드(ROUND)의 수만큼 반복하는 단계(S312); 상기 반복하는 단계(S312)에서 도출된 최종 라운드키(ROUND KEY)인 제 3 함수인자값 및 상기 도출하는 단계(S290)에서 도출된 인코딩된 고정형자료인 제 3 입력값을 기 설정된 선형변환역함수에 입력하는 단계(S313); 상기 선형변환역함수를 실행하여 제 3 변환값을 도출하는 단계(S314); 상기 도출하는 단계(S314)의 상기 제 3 변환값을 상기 선형변환역함수의 제 4 입력값으로 입력하는 단계(S315); 상기 N번째 라운드키(ROUND KEY)인 제 4 함수인자값을 상기 선형변환역함수에 입력하는 단계(S316); 상기 선형변환역함수를 실행하여 제 4 변환값을 도출하는 단계(S317); 상기 도출하는 단계(S317)의 상기 제 4 변환값을 상기 선형변환역함수의 제 4 입력값으로 재입력하는 단계(S318); 상기 라운드(ROUND)의 수에서 1회 적은 횟수만큼, 상기 입력하는 단계(S316), 상기 변환값을 도출하는 단계(S317) 및 상기 입력하는 단계(S318)를 반복하는 단계(S319); 및 상기 반복하는 단계(S319)에서 도출된 최종 제 4 변환값을 디코딩된 고정형 자료로 도출하는 단계(S320);를 포함하는 것을 특징으로 한다.The decoding (S300) of the encoded fixed data may include inputting (S311) the Nth bit-shifted final OTP as an Nth round key (S311); Repeating the inputting step S312 by the number of rounds (S312); A third function factor value, which is a final round key derived in the repeating step S312, and a third input value, which is the encoded fixed data derived in the deriving step S290, (S313); Executing the linear transform inverse function to derive a third transformed value (S314); (S315) inputting the third converted value of the deriving step (S314) as a fourth input value of the linear transformation inverse function; Inputting a fourth function factor value, which is the Nth round key, into the linear inverse function (S316); Executing the linear inverse function to derive a fourth transformed value (S317); Re-inputting (S318) the fourth converted value of the deriving step S317 as the fourth input value of the linear transformation inverse function; A step S319 of repeating the inputting step S316, deriving the conversion value S317, and the inputting step S318 by a number of times smaller than the number of times of the ROUNDs one time; And deriving the final fourth conversion value derived in the repeating step S319 as a decoded fixed type data (S320).
본 발명에 따른 사슬구조의 OTP를 이용한 고정형 자료의 인코딩 및 디코딩 장치는 상기 사슬구조의 OTP 생성방법에 따라 OTP를 생성하고, 상기 고정형 자료의 인코딩 방법에 따라 고정형자료를 인코딩하는 생산자(100); 및 상기 인코딩된 고정형 자료의 디코딩 방법에 따라 인코딩된 고정형 자료를 디코딩하는 수신자(200);를 포함한다.The apparatus for encoding and decoding fixed data using OTP having a chain structure according to the present invention includes: a
상기에서 살펴본 바와 같이 본 발명에 따르면, 자료의 보안이 필요한 경우 해당 사슬구조의 일회용 비밀번호(OTP)를 이용한 인코딩/디코딩 체계를 통한 전송체계를 적용할 수 있으므로, 논리적인 자료 보안의 기밀성을 높일 수 있다.As described above, according to the present invention, when data security is required, a transmission scheme based on an encoding / decoding scheme using a one-time password (OTP) of a corresponding chain structure can be applied, thereby enhancing the confidentiality of logical data security have.
또한, 실시간 전송 시스템의 수정이 없이도 적용할 수 있게 됨에 따라 시스템 운용 효율성을 높일 수 있다.In addition, since the system can be applied without modification of the real-time transmission system, the efficiency of system operation can be increased.
도 1은 본 발명의 개념을 설명하는 도면.
도 2는 본 발명에 따른 OTP 생성방법의 순서도.
도 3은 본 발명에 따른 고정형 자료의 인코딩 방법의 순서도.
도 4는 본 발명에 따른 인코딩된 고정형 자료의 디코딩 방법의 순서도.BRIEF DESCRIPTION OF THE DRAWINGS Fig.
2 is a flowchart of an OTP generation method according to the present invention;
3 is a flowchart of a method of encoding fixed data according to the present invention.
4 is a flowchart of a method of decoding encoded fixed data according to the present invention;
본 명세서 및 청구범위에서 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정되어서는 아니 되며, 발명자는 그 자신의 발명을 가장 최선의 방법으로 설명하기 위해 용어의 개념을 적절하게 정의할 수 있다는 원칙에 입각하여 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야만 한다. 따라서, 본 명세서에 기재된 실시 예와 도면에 도시된 구성은 본 발명의 가장 바람직한 실시 예에 불과할 뿐이고 본 발명의 기술적 사상을 모두 대변하는 것은 아니므로, 본 출원시점에 있어서 이들을 대체할 수 있는 다양한 균등물과 변형 예들이 있을 수 있음을 이해하여야 한다. 또한, 본 발명의 요지를 불필요하게 흐릴 수 있는 공지 기능 및 구성에 대한 상세한 설명은 생략한다. 이하 본 발명의 바람직한 실시 예를 첨부된 도면을 참조하여 상세히 설명하기로 한다.It is to be understood that the words or words used in the present specification and claims are not to be construed in a conventional or dictionary sense and that the inventor can properly define the concept of a term to describe its invention in the best way And should be construed in accordance with the meaning and concept consistent with the technical idea of the present invention. Therefore, the embodiments described in the present specification and the configurations shown in the drawings are merely the most preferred embodiments of the present invention and are not intended to represent all of the technical ideas of the present invention. Therefore, various equivalents It should be understood that water and variations may be present. In the following description, well-known functions or constructions are not described in detail since they would obscure the invention in unnecessary detail. Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings.
도 1은 본 발명의 개념을 설명하는 도면이고, 도 2는 본 발명에 따른 OTP 생성방법의 순서도이며, 도 3은 본 발명에 따른 고정형 자료의 인코딩 방법의 순서도이고, 도 4는 본 발명에 따른 인코딩된 고정형 자료의 디코딩 방법의 순서도이다. 도 1 및 도 2를 참조할 때, 본 발명에 따른 사슬구조의 OTP 생성방법은 OTP(ONE TIME PASSWORD) 및 유효토큰의 수를 초기화하는 단계(S110); 문자열, 생성일자, 생성시각, 유효토큰의 수 및 상기 OTP로부터 연계정보를 생성하는 단계(S120); 상기 연계정보를 생성알고리즘에 적용하여 암호문을 생성하는 단계(S130); 상기 암호문을 추출알고리즘에 적용하여 OTP를 생성하는 단계(S140); 상기 유효토큰의 수만큼, 상기 연계정보를 생성하는 단계(S120), 상기 암호문을 생성하는 단계(S130) 및 OTP를 생성하는 단계(S140)를 반복하는 단계(S150); 및 상기 반복하는 단계(S150)에서 마지막으로 생성된 OTP를 최종 OTP로 도출하는 단계(S160);를 포함한다.2 is a flow chart of a method of generating an OTP according to the present invention, FIG. 3 is a flowchart of a method of encoding fixed data according to the present invention, and FIG. 4 is a flowchart And a decoding method of the encoded fixed data. Referring to FIGS. 1 and 2, a method of generating an OTP of a chain structure according to the present invention comprises: initializing (S110) an OTP (ONTIME PASSWORD) and the number of valid tokens; Generating a string, a creation date, a creation time, a number of valid tokens, and linkage information from the OTP (S120); Applying the association information to the generation algorithm to generate a cipher text (S130); Applying the cipher text to an extraction algorithm to generate an OTP (S140); A step S150 of generating the linkage information by the number of the valid tokens S120, generating the ciphertext S130, and generating the OTP S140; And deriving the OTP finally generated in the repeating step (S150) as a final OTP (S160).
일반적으로 일회용 비밀번호 생성은 한국정보통신기술협회에서 발표한 일회용패스워드(OTP) 알고리즘 프로파일을 준용해서 생성하게 된다. 이에 비해 본 발명은 일회용 패스워드 생성 시 사슬 구조를 적용하여 일회용 비밀번호의 추출을 보다 어렵게 하였다. 또한, 유효 토큰 정보를 추가하여 일회용 비밀번호(OTP)의 무분별한 생성으로 인한 무차별 공격의 가능성을 줄였다. 또한, 생성된 일회용 비밀번호(OTP) 사이에 일련의 순서성을 부여하여, 일회용 비밀번호(OTP)의 재사용 공격의 가능성을 줄였다. Generally, the one-time password generation is generated by applying the one-time password (OTP) algorithm profile published by KISA. In contrast, according to the present invention, when a one-time password is generated, it is difficult to extract a disposable password by applying a chain structure. In addition, by adding valid token information, the possibility of indiscriminate attack due to indiscriminate generation of one time password (OTP) is reduced. In addition, a sequence of generated one-time passwords (OTPs) is assigned to reduce the possibility of reuse attacks of one-time passwords (OTP).
OTP(ONE TIME PASSWORD) 및 유효토큰의 수를 초기화하는 단계(S110)에서는 일회용 패스워드(OTP)를 생성하기 위해, 일회용 비밀번호(OTP) 값과 유효토큰의 수를 초기화한다. 일회용 비밀번호는 사슬 구조를 만들기 위해 사용된다. 유효 토큰의 수가 0보다 큰 경우에만 일회용 패스워드가 생성된다(즉, 초기화된 유효토큰의 수는 양의 정수가 됨). 또한, 유효 토큰이 없을 경우에는 더이상 일회용 비밀번호를 생성하지 않는다. 초기화된 일회용 비밀번호(OTP) 값은 6자리의 임의의 값이 된다.In step S110 of initializing the ONTIME PASSWORD and the number of valid tokens, the number of one-time passwords (OTP) and the number of valid tokens are initialized to generate a one-time password (OTP). Disposable passwords are used to create a chain structure. A one-time password is generated only if the number of valid tokens is greater than zero (that is, the number of validated tokens initialized is a positive integer). Also, if there is no valid token, no more one-time password is generated. The initialized one-time password (OTP) value is an arbitrary value of 6 digits.
연계정보를 생성하는 단계(S120)에서 연계정보는 초기 문자열, 생성일자/시각, 유효 토큰의 잔여 수, 일회용 비밀번호 값을 바탕으로 생성한다. 필요한 경우에는 지정문자열을 추가하여 구성할 수 있다. In step S120 of generating the linkage information, the linkage information is generated based on the initial string, the creation date / time, the remaining number of valid tokens, and the one-time password value. If necessary, it can be configured by adding a specified string.
암호문을 생성하는 단계(S130)에서는 생성된 연계정보를 생성알고리즘(HMAC-SHA1)에 적용하여 일회용 패스워드를 위한 암호문을 생성한다. In step S130 of generating the ciphertext, the generated association information is applied to a generation algorithm (HMAC-SHA1) to generate a ciphertext for a one-time password.
OTP를 생성하는 단계(S140)에서는 상기 생성된 암호문을 정적인 추출알고리즘에 적용하여, 일회용 패스워드(OTP)를 생성한다. 즉, 생성된 암호문 중 연속된 5바이트의 값을 10진수로 변환하고, 이 변환된 값 중 하위 6자리 값을 일회용 패스워드(OTP)로 활용하는 것이다. In the step of generating the OTP (S140), the generated ciphertext is applied to a static extraction algorithm to generate a one-time password (OTP). That is, 5 consecutive bytes of the generated ciphertext are converted into decimal numbers, and the lower 6 digits of the converted values are used as a one-time password (OTP).
반복하는 단계(S150)에서는 상기 유효토큰의 수만큼, 상기 연계정보를 생성하는 단계(S120), 상기 암호문을 생성하는 단계(S130) 및 OTP를 생성하는 단계(S140)를 반복한다. 또한, 최종 OTP로 도출하는 단계(S160)에서는 상기 반복하는 단계(S150)에서 마지막으로 생성된 OTP를 최종 OTP로 도출한다.In the repeating step S150, the connection information generation step S120, the ciphertext generation step S130, and the OTP generation step S140 are repeated for the number of valid tokens. In step S160 of deriving the final OTP, the last OTP generated in the repeating step S150 is derived as the final OTP.
즉, 본 발명에서는 일회용 패스워드의 유추를 어렵게 하기 위해, 일회용 패드워드(OTP)가 생성된 이후, 생성된 일회용 패스워드(OTP)를 활용하여 다시 연계정보를 생성한다. 또한, 암호화 알고리즘 및 추출알고리즘을 다시 적용한다. 상기와 같이 반복되는 사슬형태로 일회용 패스워드를 생성하며, 이와 같은 방법으로 생성된 일회용 패스워드는 정보의 일방향성 및 안정성으로 인해 매우 추출하기가 어려우므로 보안성을 높일 수 있다.That is, in order to make it difficult to deduce the one-time password, after generating the disposable pad word (OTP), the generated one-time password (OTP) is used to generate the linkage information again. In addition, the encryption algorithm and the extraction algorithm are reapplied. One-time passwords are generated in a repeated chain manner as described above, and the one-time passwords generated in this manner are hard to extract due to unidirectionality and stability of information, so that security can be enhanced.
또한, 본 발명에서는 유효 토큰 정보를 추가하여 무분별한 생성으로 인한 무차별 공격의 가능성을 줄였고, 생성된 일회용 비밀번호(OTP) 사이에 일련의 순서성을 부여하여, 일회용 비밀번호(OTP)의 재사용 공격의 가능성을 줄였다. In addition, the present invention reduces the possibility of indiscriminate attacks due to indiscriminate creation by adding valid token information, and assigns a series of ordering among generated one-time passwords (OTPs) to prevent the possibility of reuse attacks of one- .
또한, 일회용 비밀번호(OTP)는 고정형 자료의 형태(정수형, 실수형)에 따라 사용하게 될 일회용 비밀번호를 달리 생성하여 적용할 수 있도록 설계하였다.Also, the disposable password (OTP) is designed to be generated by applying different one - time password to be used according to the fixed data type (integer type, real number type).
도 1 및 도 3을 참조할 때, 본 발명에 따른 고정형 자료의 인코딩 방법은 상기 사슬구조의 OTP 생성방법에 의해 OTP를 생성하는 단계(S100); 및 상기 OTP를 이용하여 고정형 자료를 인코딩하는 단계(S200);를 포함한다.Referring to FIGS. 1 and 3, a method of encoding fixed data according to the present invention includes generating an OTP by an OTP generation method of the chain structure (S100); And encoding the fixed data using the OTP (S200).
상기 고정형 자료를 인코딩하는 단계(S200)는 암호화 횟수인 라운드(ROUND)의 수를 설정하는 단계(S210); 상기 도출하는 단계(S160)에서 도출된 상기 최종 OTP를 라운드키(ROUND KEY)에 입력하는 단계(S220); 상기 라운드키(ROUND KEY)인 제 1 함수인자값 및 인코딩될 고정형자료인 제 1 입력값을 기 설정된 선형변환함수에 입력하는 단계(S230); 상기 선형변환함수를 실행하여 제 1 변환값을 도출하는 단계(S240); 상기 라운드키(ROUND KEY)를 비트시프트 시키는 단계(S250); 비트시프트된 라운드키(ROUND KEY)인 제 2 함수인자값 및 상기 제 1 변환값인 제 2 입력값을 상기 선형변환함수에 입력하는 단계(S260); 상기 선형변환함수를 실행하여 제 2 변환값을 도출하는 단계(S270); 상기 라운드(ROUND)의 수에서 1회 적은 횟수만큼, 상기 라운드키(ROUND KEY)를 비트시프트 시키는 단계(S250), 상기 선형변환함수에 입력하는 단계(S260) 및 상기 제 2 변환값을 도출하는 단계(S270)를 반복하는 단계(S280); 및 상기 반복하는 단계(S280)에서 도출된 최종 제 2 변환값을 인코딩된 고정형 자료로 도출하는 단계(S290);를 포함하는 것을 특징으로 한다.The step of encoding the fixed data (S200) comprises: setting (S210) the number of rounds as the number of encryption times; Inputting the final OTP derived in the deriving step (S160) into a round key (S220); Inputting a first function factor value, which is the ROUND KEY, and a first input value, which is a fixed data to be encoded, into a predetermined linear transformation function (S230); Performing the linear transformation function to derive a first transformed value (S240); A step (S250) of bit-shifting the ROUND KEY; A second function factor value being a bit-shifted round key (ROUND KEY) and a second input value being the first conversion value to the linear transformation function (S260); Performing the linear transformation function to derive a second transformed value (S270); A step S250 of bit-shifting the ROUND KEY by a number of times smaller than the number of rounds by one, a step S260 of inputting to the linear conversion function S260, and a step S260 of deriving the second conversion value Repeating step S270 (S280); And deriving the final second conversion value derived in the repeating step S280 as encoded fixed data (S290).
상기와 같은 순서로 인코딩이 수행된다. 인코딩에 수행되는 라운드(ROUND)의 수는 임의로 설정할 수 있다. 단, 라운드(ROUND)의 수는 최대 8번을 넘을 수 없다. 인코딩은 일반적으로 데이터를 송신하는 측에서 수행되고, 디코딩은 데이터를 수신 및 처리하는 측에서 수행된다. 또한, 디코딩 절차는 인코딩 순서의 반대로 수행된다. 이하, 디코딩 절차에 대해 상술하기로 한다.The encoding is performed in the same order as described above. The number of rounds performed in the encoding may be arbitrarily set. However, the number of rounds (ROUND) can not exceed a maximum of eight. The encoding is generally performed on the side transmitting the data, and the decoding is performed on the side receiving and processing the data. In addition, the decoding procedure is performed in reverse of the encoding order. Hereinafter, the decoding procedure will be described in detail.
도 1 및 도 4를 참조할 때, 본 발명에 따른 인코딩된 고정형 자료의 디코딩 방법은 상기 사슬구조의 OTP 생성방법에 의해 OTP를 생성하는 단계(S100); 상기의 고정형 자료의 인코딩 방법에 의해 고정형 자료를 인코딩하는 단계(S200); 및 상기 OTP를 이용하여 인코딩된 고정형 자료를 디코딩하는 단계(S300);를 포함한다.Referring to FIGS. 1 and 4, a method of decoding encoded fixed data according to the present invention includes generating an OTP by an OTP generation method of the chain structure (S100); Encoding the fixed data by the encoding method of the fixed data (S200); And decoding the encoded fixed data using the OTP (S300).
상기 인코딩된 고정형 자료를 디코딩하는 단계(S300)는 N번 비트시프트된 상기 최종 OTP를 N번째 라운드키(ROUND KEY)로 입력하는 단계(S311); 상기 입력하는 단계(S312)를 상기 라운드(ROUND)의 수만큼 반복하는 단계(S312); 상기 반복하는 단계(S312)에서 도출된 최종 라운드키(ROUND KEY)인 제 3 함수인자값 및 상기 도출하는 단계(S290)에서 도출된 인코딩된 고정형자료인 제 3 입력값을 기 설정된 선형변환역함수에 입력하는 단계(S313); 상기 선형변환역함수를 실행하여 제 3 변환값을 도출하는 단계(S314); 상기 도출하는 단계(S314)의 상기 제 3 변환값을 상기 선형변환역함수의 제 4 입력값으로 입력하는 단계(S315); 상기 N번째 라운드키(ROUND KEY)인 제 4 함수인자값을 상기 선형변환역함수에 입력하는 단계(S316); 상기 선형변환역함수를 실행하여 제 4 변환값을 도출하는 단계(S317); 상기 도출하는 단계(S317)의 상기 제 4 변환값을 상기 선형변환역함수의 제 4 입력값으로 재입력하는 단계(S318); 상기 라운드(ROUND)의 수에서 1회 적은 횟수만큼, 상기 입력하는 단계(S316), 상기 변환값을 도출하는 단계(S317) 및 상기 입력하는 단계(S318)를 반복하는 단계(S319); 및 상기 반복하는 단계(S319)에서 도출된 최종 제 4 변환값을 디코딩된 고정형 자료로 도출하는 단계(S320);를 포함하는 것을 특징으로 한다.The decoding (S300) of the encoded fixed data may include inputting (S311) the Nth bit-shifted final OTP as an Nth round key (S311); Repeating the inputting step S312 by the number of rounds (S312); A third function factor value, which is a final round key derived in the repeating step S312, and a third input value, which is the encoded fixed data derived in the deriving step S290, (S313); Executing the linear transform inverse function to derive a third transformed value (S314); (S315) inputting the third converted value of the deriving step (S314) as a fourth input value of the linear transformation inverse function; Inputting a fourth function factor value, which is the Nth round key, into the linear inverse function (S316); Executing the linear inverse function to derive a fourth transformed value (S317); Re-inputting (S318) the fourth converted value of the deriving step S317 as the fourth input value of the linear transformation inverse function; A step S319 of repeating the inputting step S316, deriving the conversion value S317, and the inputting step S318 by a number of times smaller than the number of times of the ROUNDs one time; And deriving the final fourth conversion value derived in the repeating step S319 as a decoded fixed type data (S320).
여기서, 선형 변환 함수는 특정한 고정형 자료의 값들 사이의 가산성(可算性, Additivity)과 동차성(同次性, Homogeneity)를 지원하는 함수이다. 선형 변환 역함수는 역시 선형변환 함수의 성격을 지니며 선형변환 함수의 역함수를 의미한다. 또한, 비트시프트는 고정형 자료를 비트형태로 표현하고, 표현된 값을 비트 단위로 왼쪽으로 이동하는 것을 의미한다.Here, the linear transformation function is a function that supports additivity and homogeneity between values of fixed data. The linear inverse function also has the nature of a linear transform function and implies the inverse of the linear transform function. Bit shift also means that the fixed data is represented in bit form and the represented value is shifted to the left bit by bit.
본 발명의 또 다른 실시 예에서는 자주 표출되는 고정형 자료에 대해 미리 복수 개의 변환값을 생성하고, 이중 하나의 값을 임의로 선택하여 활용할 수도 있다. 즉, 빈번하게 발생하는 고정형 자료(예를 들어, 정수형 : 5,-4,-3,-2,-1,0,1,2,3,4,5 등, 실수형 : -2.0, -1.5, -1.0, 0.5, 0.0, 0.5, 1.0, 1.5, 2.0 등)에 복수 개(예를 들면 정수형 0의 값에 대해 변환값 10개를 미리 생성함)의 인코딩/디코딩 값을 미리 생성하여 두고, 해당 고정형 자료의 사용시 미리 생성한 변환값 중 하나를 임의로 선택하여 전송할 수도 있다. 이를 통해 반복적인 값의 계산에 대한 오버헤드를 줄이고, 같은 변환값의 반복적인 표출로 인한 자료 추정에 대한 위험성을 낮추었다. 비행시험에 활용되는 고정형 자료들은 일정한 자료의 표현 범위를 가지고 있고, 자료의 표현범위 이외의 데이터를 후보로 사용하게 되면 데이터를 해독시에 상당한 혼란을 줄일 수 있는 장점이 있다.In another embodiment of the present invention, a plurality of conversion values may be generated in advance for the frequently displayed fixed data, and one of the conversion values may be arbitrarily selected and utilized. That is, the fixed data (for example, integer type: 5, -4, -3, -2, -1,0,1,2,3,4,5, etc., (For example, 10 transformed values are generated in advance for a value of integer type 0) in advance (for example, -1.0, 0.5, 0.0, 0.5, 1.0, 1.5, 2.0, One of the conversion values generated in advance when using the fixed type data may be arbitrarily selected and transmitted. This reduces the overhead of calculating recurring values and reduces the risk of data estimation due to repetitive expression of the same transformed values. Fixed data used for flight tests have a range of expression of certain data, and if data other than the range of expression of data are used as candidates, there is an advantage that considerable confusion can be reduced in decrypting the data.
종래의 DDS 자료 전송 체계에서 인코딩/디코딩 체계를 적용할 고정형 자료의 형태는 4바이트의 정수/실수/문자열이다. 즉, 각각 고정형 자료 형태에 해당하는 정수값과 실수값을 바이트 체계로 변환하여 인코딩/디코딩 체계에 적용하게 되며, 변환된 자료의 전송시에도 원래 자료형에 해당하는 바이트 크기대로 전송하고 있다. 따라서, 본 발명은 종래의 전송 체계를 변형하지 않고 적용이 가능하며, 필요한 데이터만 인코딩/디코딩 변환을 적용할 수 있게 되어 탄력적으로 시스템을 활용할 수 있게 된다.In the conventional DDS data transmission system, the type of fixed data to which the encoding / decoding scheme is applied is a 4-byte integer / real number / character string. That is, an integer value and a real number corresponding to the fixed data type are converted into a byte system and applied to the encoding / decoding system. Also, when the converted data is transmitted, the data is transmitted according to the byte size corresponding to the original data type. Therefore, the present invention can be applied without modifying the conventional transmission system, and encoding / decoding conversion can be applied only to necessary data, so that the system can be utilized flexibly.
본 발명에 따른 사슬구조의 OTP를 이용한 고정형 자료의 인코딩 및 디코딩 장치는 상기 사슬구조의 OTP 생성방법에 따라 OTP를 생성하고, 상기 고정형 자료의 인코딩 방법에 따라 고정형자료를 인코딩하는 생산자(100); 및 상기 인코딩된 고정형 자료의 디코딩 방법에 따라 인코딩된 고정형 자료를 디코딩하는 수신자(200);를 포함한다.The apparatus for encoding and decoding fixed data using OTP having a chain structure according to the present invention includes: a
앞서 살펴본 실시 예는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자(이하 '당업자'라 한다)가 본 발명을 용이하게 실시할 수 있도록 하는 바람직한 실시 예일 뿐, 전술한 실시 예 및 첨부한 도면에 한정되는 것은 아니므로 이로 인해 본 발명의 권리범위가 한정되는 것은 아니다. 따라서, 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하다는 것이 당업자에게 있어 명백할 것이며, 당업자에 의해 용이하게 변경 가능한 부분도 본 발명의 권리범위에 포함됨은 자명하다.It is to be understood that both the foregoing general description and the following detailed description of the present invention are exemplary and explanatory only and are not restrictive of the invention, as claimed, and will be fully understood by those of ordinary skill in the art. The present invention is not limited thereto. It will be apparent to those skilled in the art that various substitutions, modifications and variations are possible within the scope of the present invention, and it is obvious that those parts easily changeable by those skilled in the art are included in the scope of the present invention .
100 : 사슬구조의 일회용 비밀번호(OTP)의 생성체계
101 : 일회용 비밀번호(OTP)의 초기 생성값
102 : 고정형 자료 중 실수(FLOAT) 형태에 해당하는 일회용 비밀번호(OTP) 생성값
103 : 고정형 자료 중 정수(INT) 형태에 해당하는 일회용 비밀번호(OTP) 생성값
108 : 고정형 자료 중 실수(FLOAT) 형태에 해당하는 일회용 비밀번호(OTP)를 이용한 인코딩 체계
109 : 고정형 자료 중 실수(FLOAT) 형태에 해당하는 일회용 비밀번호(OTP)를 이용한 디코딩 체계
114 : 고정형 자료 중 정수(INT) 형태에 해당하는 일회용 비밀번호(OTP)를 이용한 인코딩 체계
115 : 고정형 자료 중 정수(INT) 형태에 해당하는 일회용 비밀번호(OTP)를 이용한 디코딩 체계100: Generation system of one-off password (OTP) of chain structure
101: Initial creation value of one-time password (OTP)
102: One-time password (OTP) generation value corresponding to the FLOAT type among fixed data
103: One-time password (OTP) generation value corresponding to INT type of fixed data
108: Encoding system using one-time password (OTP) corresponding to FLOAT type of stationary data
109: Decoding system using one-time password (OTP) corresponding to the FLOAT type among the fixed data
114: Encoding system using one-time password (OTP) corresponding to INT type of stationary data
115: Decoding system using one time password (OTP) corresponding to INT type of fixed data
Claims (5)
상기 생산자가 OTP를 생성하는 단계(S100); 및
상기 생산자가 상기 OTP를 이용하여 고정형 자료를 인코딩하는 단계(S200);를 포함하며,
상기 OTP를 생성하는 단계(S100)는,
OTP(ONE TIME PASSWORD) 및 유효토큰의 수를 초기화하는 단계(S110);
문자열, 생성일자, 생성시각, 유효토큰의 수 및 상기 OTP로부터 연계정보를 생성하는 단계(S120);
상기 연계정보를 생성알고리즘에 적용하여 암호문을 생성하는 단계(S130);
상기 암호문을 추출알고리즘에 적용하여 OTP를 생성하는 단계(S140);
상기 유효토큰의 수만큼, 상기 연계정보를 생성하는 단계(S120), 상기 암호문을 생성하는 단계(S130) 및 OTP를 생성하는 단계(S140)를 반복하는 단계(S150); 및
상기 반복하는 단계(S150)에서 마지막으로 생성된 OTP를 최종 OTP로 도출하는 단계(S160);를 포함하며,
상기 고정형 자료를 인코딩하는 단계(S200)는,
암호화 횟수인 라운드(ROUND)의 수를 설정하는 단계(S210);
상기 도출하는 단계(S160)에서 도출된 상기 최종 OTP를 라운드키(ROUND KEY)에 입력하는 단계(S220);
상기 라운드키(ROUND KEY)인 제 1 함수인자값 및 인코딩될 고정형자료인 제 1 입력값을 기 설정된 선형변환함수에 입력하는 단계(S230);
상기 선형변환함수를 실행하여 제 1 변환값을 도출하는 단계(S240);
상기 라운드키(ROUND KEY)를 비트시프트 시키는 단계(S250);
비트시프트된 라운드키(ROUND KEY)인 제 2 함수인자값 및 상기 제 1 변환값인 제 2 입력값을 상기 선형변환함수에 입력하는 단계(S260);
상기 선형변환함수를 실행하여 제 2 변환값을 도출하는 단계(S270);
상기 라운드(ROUND)의 수에서 1회 적은 횟수만큼, 상기 라운드키(ROUND KEY)를 비트시프트 시키는 단계(S250), 상기 선형변환함수에 입력하는 단계(S260) 및 상기 제 2 변환값을 도출하는 단계(S270)를 반복하는 단계(S280); 및
상기 반복하는 단계(S280)에서 도출된 최종 제 2 변환값을 인코딩된 고정형 자료로 도출하는 단계(S290);
를 포함하는 것을 특징으로 하는 고정형 자료의 인코딩 방법.
A method of encoding fixed data in a flight test control computer network transmission system based on a Publisher and a Subscriber model,
Generating OTP by the producer (S100); And
(S200) of encoding the fixed data using the OTP by the producer,
The step of generating the OTP (S100)
Initializing a number of valid tokens (ONTIME PASSWORD) and OTP (S110);
Generating a string, a creation date, a creation time, a number of valid tokens, and linkage information from the OTP (S120);
Applying the association information to the generation algorithm to generate a cipher text (S130);
Applying the cipher text to an extraction algorithm to generate an OTP (S140);
A step S150 of generating the linkage information by the number of the valid tokens S120, generating the ciphertext S130, and generating the OTP S140; And
(S160) deriving the last generated OTP to the final OTP in the repeating step (S150)
The step (S200) of encoding the fixed-
A step (S210) of setting the number of rounds which is the number of encryptions;
Inputting the final OTP derived in the deriving step (S160) into a round key (S220);
Inputting a first function factor value, which is the ROUND KEY, and a first input value, which is a fixed data to be encoded, into a predetermined linear transformation function (S230);
Performing the linear transformation function to derive a first transformed value (S240);
A step (S250) of bit-shifting the ROUND KEY;
A second function factor value being a bit-shifted round key (ROUND KEY) and a second input value being the first conversion value to the linear transformation function (S260);
Performing the linear transformation function to derive a second transformed value (S270);
A step S250 of bit-shifting the ROUND KEY by a number of times smaller than the number of rounds by one, a step S260 of inputting to the linear conversion function S260, and a step S260 of deriving the second conversion value Repeating step S270 (S280); And
Deriving the final second conversion value derived in the repeating step S280 as encoded fixed data (S290);
The method comprising the steps of:
상기 생산자가 OTP를 생성하는 단계(S100);
상기 생산자가 상기 OTP를 이용하여 고정형 자료를 인코딩하는 단계(S200); 및
상기 수신자가 상기 OTP를 이용하여 인코딩된 고정형 자료를 디코딩하는 단계(S300);
를 포함하며,
상기 OTP를 생성하는 단계(S100)는,
OTP(ONE TIME PASSWORD) 및 유효토큰의 수를 초기화하는 단계(S110);
문자열, 생성일자, 생성시각, 유효토큰의 수 및 상기 OTP로부터 연계정보를 생성하는 단계(S120);
상기 연계정보를 생성알고리즘에 적용하여 암호문을 생성하는 단계(S130);
상기 암호문을 추출알고리즘에 적용하여 OTP를 생성하는 단계(S140);
상기 유효토큰의 수만큼, 상기 연계정보를 생성하는 단계(S120), 상기 암호문을 생성하는 단계(S130) 및 OTP를 생성하는 단계(S140)를 반복하는 단계(S150); 및
상기 반복하는 단계(S150)에서 마지막으로 생성된 OTP를 최종 OTP로 도출하는 단계(S160);를 포함하며,
상기 고정형 자료를 인코딩하는 단계(S200)는,
암호화 횟수인 라운드(ROUND)의 수를 설정하는 단계(S210);
상기 도출하는 단계(S160)에서 도출된 상기 최종 OTP를 라운드키(ROUND KEY)에 입력하는 단계(S220);
상기 라운드키(ROUND KEY)인 제 1 함수인자값 및 인코딩될 고정형자료인 제 1 입력값을 기 설정된 선형변환함수에 입력하는 단계(S230);
상기 선형변환함수를 실행하여 제 1 변환값을 도출하는 단계(S240);
상기 라운드키(ROUND KEY)를 비트시프트 시키는 단계(S250);
비트시프트된 라운드키(ROUND KEY)인 제 2 함수인자값 및 상기 제 1 변환값인 제 2 입력값을 상기 선형변환함수에 입력하는 단계(S260);
상기 선형변환함수를 실행하여 제 2 변환값을 도출하는 단계(S270);
상기 라운드(ROUND)의 수에서 1회 적은 횟수만큼, 상기 라운드키(ROUND KEY)를 비트시프트 시키는 단계(S250), 상기 선형변환함수에 입력하는 단계(S260) 및 상기 제 2 변환값을 도출하는 단계(S270)를 반복하는 단계(S280); 및
상기 반복하는 단계(S280)에서 도출된 최종 제 2 변환값을 인코딩된 고정형 자료로 도출하는 단계(S290);포함하며,
상기 인코딩된 고정형 자료를 디코딩하는 단계(S300)는
N번 비트시프트된 상기 최종 OTP를 N번째 라운드키(ROUND KEY)로 입력하는 단계(S311);
상기 입력하는 단계(S312)를 라운드(ROUND)의 수만큼 반복하는 단계(S312);
상기 반복하는 단계(S312)에서 도출된 최종 라운드키(ROUND KEY)인 제 3 함수인자값 및 상기 도출하는 단계(S290)에서 도출된 인코딩된 고정형자료인 제 3 입력값을 기 설정된 선형변환역함수에 입력하는 단계(S313);
상기 선형변환역함수를 실행하여 제 3 변환값을 도출하는 단계(S314);
상기 도출하는 단계(S314)의 상기 제 3 변환값을 상기 선형변환역함수의 제 4 입력값으로 입력하는 단계(S315);
상기 N번째 라운드키(ROUND KEY)인 제 4 함수인자값을 상기 선형변환역함수에 입력하는 단계(S316);
상기 선형변환역함수를 실행하여 제 4 변환값을 도출하는 단계(S317);
상기 도출하는 단계(S317)의 상기 제 4 변환값을 상기 선형변환역함수의 제 4 입력값으로 재입력하는 단계(S318);
상기 라운드(ROUND)의 수에서 1회 적은 횟수만큼, 상기 입력하는 단계(S316), 상기 변환값을 도출하는 단계(S317) 및 상기 입력하는 단계(S318)를 반복하는 단계(S319); 및
상기 반복하는 단계(S319)에서 도출된 최종 제 4 변환값을 디코딩된 고정형 자료로 도출하는 단계(S320);
를 포함하는 것을 특징으로 하는 인코딩된 고정형 자료의 디코딩 방법.
A method of decoding fixed data in a flight test control computer network transmission system based on a Publisher and a Subscriber model,
Generating OTP by the producer (S100);
Encoding the fixed data using the OTP by the producer (S200); And
Decoding (S300) the fixed data encoded by the receiver using the OTP;
/ RTI >
The step of generating the OTP (S100)
Initializing a number of valid tokens (ONTIME PASSWORD) and OTP (S110);
Generating a string, a creation date, a creation time, a number of valid tokens, and linkage information from the OTP (S120);
Applying the association information to the generation algorithm to generate a cipher text (S130);
Applying the cipher text to an extraction algorithm to generate an OTP (S140);
A step S150 of generating the linkage information by the number of the valid tokens S120, generating the ciphertext S130, and generating the OTP S140; And
(S160) deriving the last generated OTP to the final OTP in the repeating step (S150)
The step (S200) of encoding the fixed-
A step (S210) of setting the number of rounds which is the number of encryptions;
Inputting the final OTP derived in the deriving step (S160) into a round key (S220);
Inputting a first function factor value, which is the ROUND KEY, and a first input value, which is a fixed data to be encoded, into a predetermined linear transformation function (S230);
Performing the linear transformation function to derive a first transformed value (S240);
A step (S250) of bit-shifting the ROUND KEY;
A second function factor value being a bit-shifted round key (ROUND KEY) and a second input value being the first conversion value to the linear transformation function (S260);
Performing the linear transformation function to derive a second transformed value (S270);
A step S250 of bit-shifting the ROUND KEY by a number of times smaller than the number of rounds by one, a step S260 of inputting to the linear conversion function S260, and a step S260 of deriving the second conversion value Repeating step S270 (S280); And
(S290) of deriving the final second converted value derived in the repeating step S280 as encoded fixed data,
The decoding (S300) of the encoded fixed data
Inputting the final OTP bit-shifted N times as an Nth round key (S311);
Repeating the inputting step S312 by the number of rounds (S312);
A third function factor value, which is a final round key derived in the repeating step S312, and a third input value, which is the encoded fixed data derived in the deriving step S290, (S313);
Executing the linear transform inverse function to derive a third transformed value (S314);
(S315) inputting the third converted value of the deriving step (S314) as a fourth input value of the linear transformation inverse function;
Inputting a fourth function factor value, which is the Nth round key, into the linear inverse function (S316);
Executing the linear inverse function to derive a fourth transformed value (S317);
Re-inputting (S318) the fourth converted value of the deriving step S317 as the fourth input value of the linear transformation inverse function;
A step S319 of repeating the inputting step S316, deriving the conversion value S317, and the inputting step S318 by a number of times smaller than the number of times of the ROUNDs one time; And
Deriving the final fourth conversion value derived in the repeating step S319 as a decoded fixed type data (S320);
And decoding the encoded fixed data.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160049911A KR101867663B1 (en) | 2016-04-25 | 2016-04-25 | A method for otp generating of chain structure and a method for encoding/decoding using the same |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160049911A KR101867663B1 (en) | 2016-04-25 | 2016-04-25 | A method for otp generating of chain structure and a method for encoding/decoding using the same |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20170121465A KR20170121465A (en) | 2017-11-02 |
KR101867663B1 true KR101867663B1 (en) | 2018-07-17 |
Family
ID=60383562
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020160049911A Active KR101867663B1 (en) | 2016-04-25 | 2016-04-25 | A method for otp generating of chain structure and a method for encoding/decoding using the same |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101867663B1 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20200143182A (en) * | 2019-06-14 | 2020-12-23 | 우순조 | On Time String Modulating/Demodulating Method by means of proper information and Computing Device Performing The Same |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101127063B1 (en) * | 2009-12-02 | 2012-03-23 | 국방과학연구소 | Computer readable medium recording data structure thereon including the hangul code linked with ascii, encoder and decoder using hangul code linked with ascii and method for encoding and dcoding usint the hangul code linked with ascii and computer readable medium recording program for performing the method |
KR101330664B1 (en) * | 2012-06-15 | 2013-11-15 | 한국전자통신연구원 | Low power encryption apparatus and method |
KR20140009105A (en) * | 2010-06-27 | 2014-01-22 | 킹 사우드 유니버시티 | One-time password authentication with infinite nested hash chains |
KR101480892B1 (en) * | 2014-11-13 | 2015-01-13 | 아이벡스랩 주식회사 | Method for Determining Certifying Pattern and Method Using the Same |
-
2016
- 2016-04-25 KR KR1020160049911A patent/KR101867663B1/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101127063B1 (en) * | 2009-12-02 | 2012-03-23 | 국방과학연구소 | Computer readable medium recording data structure thereon including the hangul code linked with ascii, encoder and decoder using hangul code linked with ascii and method for encoding and dcoding usint the hangul code linked with ascii and computer readable medium recording program for performing the method |
KR20140009105A (en) * | 2010-06-27 | 2014-01-22 | 킹 사우드 유니버시티 | One-time password authentication with infinite nested hash chains |
KR101330664B1 (en) * | 2012-06-15 | 2013-11-15 | 한국전자통신연구원 | Low power encryption apparatus and method |
KR101480892B1 (en) * | 2014-11-13 | 2015-01-13 | 아이벡스랩 주식회사 | Method for Determining Certifying Pattern and Method Using the Same |
Also Published As
Publication number | Publication date |
---|---|
KR20170121465A (en) | 2017-11-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Ahvanooey et al. | AITSteg: An innovative text steganography technique for hidden transmission of text message via social media | |
JP6346942B2 (en) | Blocking password attacks | |
CA2695019A1 (en) | Method and system for encryption of data | |
CN106506487A (en) | A kind of information Encrypt and Decrypt method and device | |
US20220130282A1 (en) | Method, apparatus, and computer-readable medium for format preserving encryption of a numerical value | |
CN106610995A (en) | Ciphertext index creating method, device and system | |
JPH07334081A (en) | Method and apparatus for concealment and decoding of information by digital chaos signal | |
US20060193471A1 (en) | Encryption method and system | |
CN117640256B (en) | Data encryption method, recommendation device and storage medium of wireless network card | |
CN114500006B (en) | Query request processing method and device | |
CN113726512B (en) | Key generation and distribution method, key generation device, and key management system | |
Kumar et al. | A novel approach of symmetric key cryptography | |
Teh et al. | A Chaos‐Based Authenticated Cipher with Associated Data | |
KR20190060804A (en) | Techniques for improving computer security, variable word-length encoding, and variable length decoding | |
Montesinos‐García et al. | Colour image encryption via fractional chaotic state estimation | |
KR101867663B1 (en) | A method for otp generating of chain structure and a method for encoding/decoding using the same | |
Goel et al. | Chaos based joint compression and encryption framework for end‐to‐end communication systems | |
Lee et al. | Conditional Re‐encoding Method for Cryptanalysis‐Resistant White‐Box AES | |
Rafat et al. | Secure digital steganography for ASCII text documents | |
Abdellaoui et al. | Out-of-band authentication using image-based one time password in the cloud environment | |
WO2022021005A1 (en) | Symmetric encryption and decryption method based on exponential complexity | |
Makarov et al. | Theoretical and applied aspects of orthogonal coding in computer networks technologies | |
Alkhzaimi | Cryptanalysis of selected block ciphers | |
US20040174994A1 (en) | Time based encryption algorithm | |
US7505586B2 (en) | Method for computer-based encryption and decryption of data |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
PA0109 | Patent application |
Patent event code: PA01091R01D Comment text: Patent Application Patent event date: 20160425 |
|
PA0201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
PE0902 | Notice of grounds for rejection |
Comment text: Notification of reason for refusal Patent event date: 20170731 Patent event code: PE09021S01D |
|
PG1501 | Laying open of application | ||
E902 | Notification of reason for refusal | ||
PE0902 | Notice of grounds for rejection |
Comment text: Notification of reason for refusal Patent event date: 20180209 Patent event code: PE09021S01D |
|
E701 | Decision to grant or registration of patent right | ||
PE0701 | Decision of registration |
Patent event code: PE07011S01D Comment text: Decision to Grant Registration Patent event date: 20180530 |
|
PR0701 | Registration of establishment |
Comment text: Registration of Establishment Patent event date: 20180607 Patent event code: PR07011E01D |
|
PR1002 | Payment of registration fee |
Payment date: 20180607 End annual number: 3 Start annual number: 1 |
|
PG1601 | Publication of registration | ||
PR1001 | Payment of annual fee |
Payment date: 20210602 Start annual number: 4 End annual number: 4 |
|
PR1001 | Payment of annual fee |
Payment date: 20220603 Start annual number: 5 End annual number: 5 |
|
PR1001 | Payment of annual fee |
Payment date: 20240604 Start annual number: 7 End annual number: 7 |