KR101728281B1 - Method for data encryption and decryption possible multiple password settings - Google Patents
Method for data encryption and decryption possible multiple password settings Download PDFInfo
- Publication number
- KR101728281B1 KR101728281B1 KR1020160144468A KR20160144468A KR101728281B1 KR 101728281 B1 KR101728281 B1 KR 101728281B1 KR 1020160144468 A KR1020160144468 A KR 1020160144468A KR 20160144468 A KR20160144468 A KR 20160144468A KR 101728281 B1 KR101728281 B1 KR 101728281B1
- Authority
- KR
- South Korea
- Prior art keywords
- code
- encryption
- data
- encrypted data
- encrypted
- Prior art date
Links
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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- 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/002—Countermeasures against attacks on cryptographic mechanisms
-
- 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/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
-
- H04L9/28—
Abstract
Description
본 발명은 다중 비밀번호 설정이 가능한 데이터 암호화 및 복호화 방법에 관한 것으로, 더욱 상세하게는 수신 단말별로 구별되는 비밀번호를 이용하여 한 번의 과정으로 다수의 수신 단말로 암호화된 데이터를 제공하는 방안에 관한 것이다.The present invention relates to a data encryption and decryption method capable of setting multiple secrets, and more particularly, to a method for providing encrypted data to a plurality of receiving terminals in a single process using a secret code that is distinguished for each receiving terminal.
일반적으로 사용되는 공개키 시스템 기술은 비밀통신을 수행하고자 하는 각각의 사용자 단말이 자신의 비밀키와 공개키를 쌍으로 생성하고, 비밀통신을 수행하고자 하는 상대방 단말은 정당한 공개키를 획득해야만 통신이 이루어지도록 구성된다. 이때, 통신을 수행하고자 하는 상대방 단말의 공개키를 획득한 사용자는 자신이 획득한 공개키가 정당한지 여부를 입증하기 위해 제3의 신뢰기관으로부터 획득한 공개키에 대한 서명을 받아 이를 공개키의 인증서로 사용한다.Generally, a public key system technology is such that each user terminal that intends to perform secret communication generates a pair of its own private key and a public key, and the counterpart terminal that intends to perform secret communication must acquire a legitimate public key, . At this time, the user who has acquired the public key of the counterpart terminal to perform the communication receives the signature of the public key obtained from the third trust authority in order to verify whether or not the public key obtained is correct, Use as a certificate.
다만, 이와 같은 인증서 기반의 공개키 시스템은 공개키 인증서의 폐기 시, 인증서 폐기 목록을 일정 기간 동안 유지하거나, 지속적으로 관리해야 함에 따라 관리에 따른 비용 및 시간 소모가 발생하는 문제점이 발생하였다.However, such a certificate-based public key system has a problem that cost and time are consumed due to maintenance because the certificate revocation list is maintained for a predetermined period or continuously when the public key certificate is revoked.
이를 해결하기 위해, 암호 데이터 수신 장치의 식별 정보(ID) 기반 공개키 암호화 방법이 연구되어 왔다. 특히, 암호 데이터 수신 장치의 식별 정보(ID)를 이용하여 효율적으로 개인키를 생성하고, 암호 데이터를 생성하는 방법이 연구되고 있다. 이외에도 데이터를 다수의 암호 데이터 수신 장치로 전송하는 경우에도 적용이 가능한 암호 데이터 생성 방법이 필요하다.To solve this problem, a public key encryption method based on identification information (ID) of an encrypted data receiving apparatus has been studied. Particularly, a method for efficiently generating a private key using identification information (ID) of an encrypted data receiving apparatus and generating encrypted data has been studied. There is also a need for a method of generating an encrypted data that can be applied to a case where data is transmitted to a plurality of encrypted data receiving apparatuses.
본 발명이 해결하려는 과제는 하나의 암호화 코드를 이용하여 다수의 수신 단말로 암호화 데이터를 전송하는 방안을 제안함에 있다.The present invention provides a method for transmitting encrypted data to a plurality of receiving terminals using one encryption code.
본 발명이 해결하려는 다른 과제는 암호화 데이터를 제공하고자 하는 수신 단말에서만 암호화 데이터를 복호화하는 방안을 제안함에 있다.Another problem to be solved by the present invention is to provide a method of decrypting encrypted data only at a receiving terminal to provide encrypted data.
본 발명의 해결하려는 또 다른 과제는 수신 단말의 개수에 상관없이 하나의 전송 과정으로 다수의 수신 단말로 암호화 데이터를 전송하는 방안을 제안함에 있다.A further object of the present invention is to provide a method for transmitting encrypted data to a plurality of receiving terminals in a single transmission process irrespective of the number of receiving terminals.
본 발명이 해결하려는 또 다른 과제는 데이터를 암호화한 암호화 코드를 송신 단말에서 수신 단말로 제공하지 않는 방안을 제안함에 있다.Another problem to be solved by the present invention is to propose a method in which a transmitting terminal does not provide an encryption code that encrypts data to a receiving terminal.
본 발명이 해결하려는 또 다른 과제는 송신 단말에서 암호화 코드를 저장하지 않고, 랜덤하게 생성하여 사용하는 방안을 제안함에 있다. Another object of the present invention is to provide a method of randomly generating and using an encryption code in a transmitting terminal without storing the encryption code.
이를 위해 본 발명의 송신 단말에서 데이터를 암호화하여 전송하는 방법은 설정된 자리수를 갖는 랜덤 해쉬 코드인 제1 암호화 코드를 생성하는 단계, 상기 데이터를 전송할 적어도 둘 이상의 수신 단말별로 대응되는 비밀번호를 입력받는 단계, 입력받은 둘 이상의 비밀번호별로 해쉬 알고리즘을 이용하여 제2 암호화 코드를 생성하는 단계, 생성한 상기 제1 암호화 코드와 제2 암호화 코드간의 거리를 나타내는 오프셋 해쉬 코드인 제3 암호화 코드를 산출하는 단계, 상기 제2 암호화 코드를 해쉬 알고리즘을 이용하여 제4 암호화 코드를 생성하는 단계, 상기 제1 암호화 코드를 이용하여 상기 데이터를 암호화한 암호화 데이터를 생성하는 단계 및 상기 입력받은 비밀번호의 개수, 각 비밀번호에 대응되는 제3 암호화코드 및 제4 암호화코드가 포함된 암호화 데이터 헤더와 상기 암호화 데이터를 외부로 전송하는 단계를 포함한다. To this end, a method for encrypting and transmitting data in a transmitting terminal of the present invention includes generating a first encrypted code, which is a random hash code having a predetermined number of digits, receiving a password corresponding to each of at least two receiving terminals to transmit the data, Generating a second encryption code using a hash algorithm for each of the two or more received passwords, calculating a third encryption code that is an offset hash code indicating a distance between the generated first encryption code and the second encryption code, Generating a fourth encrypted code using the second encryption code using a hash algorithm; generating encrypted data obtained by encrypting the data using the first encrypted code; A password including the corresponding third encryption code and the fourth encryption code And transmitting the data header and the encrypted data to the outside.
이를 위해 본 발명의 수신 단말에서 암호화된 데이터를 복호화 방법은 비밀번호의 개수, 각 비밀번호에 대응되는 제3 암호화 코드 및 제4 암호화 코드가 포함된 암호화 데이터 헤더와 암호화 데이터를 수신하는 단계, 입력받은 비밀번호를 해쉬 알고리즘을 이용하여 제2' 복호화 코드를 생성하는 단계, 상기 제2' 복호화 알고리즘을 해쉬 알고리즘을 이용하여 제4' 복호화 코드를 생성하는 단계, 상기 제4' 복호화 코드와 동일한 제4 암호화 코드가 상기 암호화 데이터 헤더에 포함되어 있으면, 상기 제4 암호화 코드에 대응되는 제3 암호화 코드를 추출하는 단계, 상기 제2' 복호화 코드와 상기 제3 암호화 코드간의 거리를 나타내는 오프셋 해쉬 코드인 제1' 복호화 코드를 산출하는 단계 및 상기 제1' 복호화 코드를 이용하여 상기 암호화 데이터를 복호화하는 단계를 포함한다.To this end, a method for decrypting encrypted data in a receiving terminal of the present invention includes receiving encrypted data header and encrypted data including a number of passwords, a third encryption code corresponding to each password, and a fourth encryption code, Generating a second decryption code using a hash algorithm, generating a fourth decryption code using the second decryption algorithm using a hash algorithm, generating a fourth decryption code using the same fourth encryption code as the fourth decryption code, Extracting a third encrypted code corresponding to the fourth encrypted code if the encrypted data header is included in the encrypted data header, extracting a third encrypted code corresponding to the first encrypted code, A step of calculating a decryption code and a step of decrypting the encrypted data using the first decryption code .
본 발명에 따른 다중 비밀번호 설정이 가능한 데이터 암호화 및 복호화 방법은 수신 단말에 대응되는 비밀번호를 입력하는 것으로 암호화된 하나의 데이터를 동일 시점에 다수의 수신 단말로 전송할 수 있다.The data encryption and decryption method capable of setting a multiple secret number according to the present invention can input a password corresponding to a receiving terminal and transmit one encrypted data to a plurality of receiving terminals at the same time.
또한, 본 발명은 송신 단말과 수신 단말이 별도의 암호화키를 공유할 필요없이 수신 단말에 대응되는 비밀번호만 공유하면 되므로, 송신 단말의 사용자가 암호화키를 인지할 필요가 없는 장점이 있다. 즉, 송신 단말의 사용자와 수신 단말의 사용자를 데이터를 암호화한 암호화 코드를 공유하는 대신 수신 단말에 대응되는 비밀번호를 공유하면 되는 장점이 있다.In addition, the present invention is advantageous in that it is not necessary for the user of the transmitting terminal to recognize the encryption key, because only the password corresponding to the receiving terminal can be shared without the transmitting terminal and the receiving terminal sharing the separate encryption key. That is, there is an advantage that the user corresponding to the transmitting terminal and the user of the receiving terminal are required to share the password corresponding to the receiving terminal instead of sharing the encrypted code in which the data is encrypted.
도 1은 본 발명의 일실시 예에 따른 다중 비밀번호 설정이 가능한 데이터 암호화 시스템을 도시하고 있다.
도 2는 본 발명의 일실시 예에 따른 송신 단말에서 데이터를 암호화하는 과정을 도시한 흐름도이다.
도 3은 본 발명의 일실시 예에 따른 제3 암호화 코드를 생성하는 예를 도시하고 있다.
도 4는 암호화 파일 헤더의 구성을 도시하고 있다.
도 5는 본 발명의 일실시 예에 따른 수신 단말에서 암호화 데이터를 복호화하는 과정을 도시한 흐름도이다.
도 6은 본 발명의 일실시 예에 따른 송신 단말의 구성을 도시한 블록도이다.
도 7은 본 발명의 일실시 예에 따른 수신 단말의 구성을 도시한 블록도이다.FIG. 1 illustrates a data encryption system capable of setting multiple passwords according to an embodiment of the present invention.
2 is a flowchart illustrating a process of encrypting data in a transmitting terminal according to an exemplary embodiment of the present invention.
FIG. 3 illustrates an example of generating a third encrypted code according to an embodiment of the present invention.
4 shows the structure of an encrypted file header.
5 is a flowchart illustrating a process of decrypting encrypted data in a receiving terminal according to an embodiment of the present invention.
6 is a block diagram illustrating the configuration of a transmitting terminal according to an embodiment of the present invention.
7 is a block diagram illustrating a configuration of a receiving terminal according to an embodiment of the present invention.
전술한, 그리고 추가적인 본 발명의 양상들은 첨부된 도면을 참조하여 설명되는 바람직한 실시 예들을 통하여 더욱 명백해질 것이다. 이하에서는 본 발명의 이러한 실시 예를 통해 당업자가 용이하게 이해하고 재현할 수 있도록 상세히 설명하기로 한다.BRIEF DESCRIPTION OF THE DRAWINGS The foregoing and further aspects of the present invention will become more apparent from the following detailed description of preferred embodiments with reference to the accompanying drawings. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Reference will now be made in detail to the embodiments of the present invention, examples of which are illustrated in the accompanying drawings.
도 1은 본 발명의 일실시 예에 따른 다중 비밀번호 설정이 가능한 데이터 암호화 시스템을 도시하고 있다. 이하 도 1을 이용하여 본 발명의 일실시 예에 따른 다중 비밀번호 설정이 가능한 데이터 암호화 시스템에 대해 상세하게 알아보기로 한다.FIG. 1 illustrates a data encryption system capable of setting multiple passwords according to an embodiment of the present invention. Hereinafter, a data encryption system capable of setting multiple passwords according to an embodiment of the present invention will be described in detail with reference to FIG.
도 1에 의하면, 다중 비밀번호 설정이 가능한 데이터 암호화 시스템(100)은 송신 단말, 서버 및 수신 단말을 포함한다. 물론 상술한 구성 이외에 다른 구성이 본 발명에서 제안하는 다중 비밀번호 설정이 가능한 데이터 암호화 시스템에 포함될 수 있다.Referring to FIG. 1, a
송신 단말(110)은 작성한 데이터 또는 저장된 데이터를 설정된 암호화 알고리즘을 이용하여 암호화한다. 송신 단말(110)은 설정된 암호화 알고리즘을 이용하여 작성한 데이터 또는 저장된 데이터를 암호화하기 위해 비밀번호를 입력받는다. 특히 본 발명은 하나의 비밀번호를 입력받는 것이 아니라 수신 단말(130)별로 구별되는 비밀번호를 입력받는다.The transmitting
부연하여 설명하면, 수신 단말(130)의 개수가 하나이면 하나의 비밀번호를 입력받으며, 수신 단말(130)의 개수가 2개이면 2개의 비밀번호를 입력받는다. 물론 비밀번호는 수신 단말(130)별로 고유한 식별번호이다.In other words, one password is input when the number of receiving
송신 단말(110)은 서버(120)로부터 본 발명에서 제안하는 암호화 알고리즘을 다운로드받아 설치하며, 데이터 전송이 요구되는 경우 설치된 암호화 알고리즘에 따라 데이터를 암호화한 후 서버(120)로 전송한다.The transmitting
수신 단말(130)은 서버로부터 전송받은 암호화된 데이터를 복호화 알고리즘을 이용하여 복호화한다. 이를 위해 수신 단말(130)은 암호화된 데이터를 복호화하기 위해 비밀번호를 입력받는다. 물론 비밀번호는 수신 단말(130)에 저장될 수 있다. 상술한 비밀번호는 수신 단말(130)에 대응되는 고유한 식별번호이다.The
수신 단말(130)은 서버(120)로부터 복호화 알고리즘을 다운로드받아 설치한다. 암호화된 데이터가 수신되면 복호화 알고리즘을 이용하여 복호화한다.The
서버(120)는 송신 단말(110)로 암호화 알고리즘을 제공하며, 수신 단말(130)로 복호화 알고리즘을 제공한다. 서버(120)는 송신 단말(110)로부터 수신한 암호된 데이터를 수신 단말(130)로 전송한다.The
이외에도 서버(120)는 송신 단말(110)로 암호화 알고리즘을, 수신 단말(130)로 복호화 알고리즘을 제공하는 대신, 송신 단말(110)로부터 데이터와 비밀번호를 제공받아 데이터를 암호화할 수 있다. 물론 서버(120)는 수신 단말(130)로부터 비밀번호를 제공받아 암호화된 데이터를 복호화하여 수신 단말(130)로 제공할 수 있다. 이외에도 다양한 방식으로 데이터를 암호화하거나 복호화할 수 있다.The
이하에서는 송신 단말(110)에서 암호화 알고리즘을 이용하여 데이터를 암호화하는 과정에 대해 알아보기로 한다.Hereinafter, a process of encrypting data using the encryption algorithm at the transmitting
도 2는 본 발명의 일실시 예에 따른 송신 단말에서 데이터를 암호화하는 과정을 도시한 흐름도이다. 이하 도 2를 이용하여 본 발명의 일실시 예에 따른 송신 단말에서 데이터를 암호화하는 과정에 대해 상세하게 알아보기로 한다.2 is a flowchart illustrating a process of encrypting data in a transmitting terminal according to an exemplary embodiment of the present invention. Hereinafter, a process of encrypting data in a transmitting terminal according to an embodiment of the present invention will be described in detail with reference to FIG.
S200단계에서 송신 단말은 0 내지 f까지의 값을 갖는 64자리 랜덤 해쉬 코드인 제1 암호화 코드를 생성한다. 0 내지 f까지의 값은 0 내지 9 및 a 내지 f의 16자리 값을 의미한다. 본 발명은 제1 암호화 코드의 자리 수가 64자리라고 언급하고 있으나, 생성되는 제1 암호화 코드의 자리는 환경에 따라 달라질 수 있다.In step S200, the transmitting terminal generates a first encryption code, which is a 64-digit random hash code having a value ranging from 0 to f. Values from 0 to f means 0 to 9 and a to f of 16 digit values. Although the number of digits of the first encryption code is 64 in the present invention, the position of the first encryption code to be generated may vary depending on the environment.
S202단계에서 송신 단말은 비밀번호를 입력받는다. 본 발명과 관련하여 입력되는 비밀번호의 개수는 하나가 아니라 수신 단말의 개수와 관련된다. 즉, 수신 단말의 개수가 2개이면, 입력되는 비밀번호 역시 2개가 된다. 본 발명과 관련하여 비밀번호는 수신 단말별로 고유한 식별번호가 해당된다. 일 예로 비밀번호는 수신 단말은 전화번호, 수신 단말을 사용하는 사용자의 고유번호가 포함된다. 물론 비밀번호는 사전에 송신 단말과 수신 단말 사이에 설정하거나, 암호화된 데이터 전송 시 별도로 제공될 수 있다.In step S202, the transmitting terminal receives the password. The number of passwords inputted in connection with the present invention is not one but related to the number of receiving terminals. That is, if the number of receiving terminals is two, the number of input passwords is also two. In association with the present invention, the password corresponds to an identification number unique to each receiving terminal. For example, the password includes the telephone number of the receiving terminal, and the unique number of the user using the receiving terminal. Of course, the password may be set in advance between the transmitting terminal and the receiving terminal, or separately provided when encrypted data is transmitted.
본 발명과 관련하여 식별번호가 수신 단말의 전화번호이면, 수신 단말별로 전화번호를 각각 입력받는다. 수신 단말의 2개인 경우, 수신 단말a에 대응되는 비밀번호a, 수신 단말b에 대응되는 비밀번호b를 입력받는다.In the present invention, if the identification number is the telephone number of the receiving terminal, the telephone number is input for each receiving terminal. When there are two receiving terminals, a password a corresponding to the receiving terminal a and a password b corresponding to the receiving terminal b are input.
S204단계에서 송신 단말은 비밀번호를 해쉬 알고리즘을 이용하여 16자리의 제2 암호화 코드를 생성한다. 물론 생성되는 제2 암호화 코드의 자리수는 제1 암호화 코드의 자리수와 동일하다.In step S204, the transmitting terminal generates a 16-digit second encrypted code using a hash algorithm. Of course, the number of digits of the generated second encryption code is the same as the number of digits of the first encryption code.
또한, 생성되는 제2 암호화 코드의 개수는 S202단계에서 입력되는 비밀번호의 개수와 동일하다. 즉, 입력되는 비밀번호의 개수가 2개인 경우 생성되는 제2 암호화 코드 역시 2개가 된다.In addition, the number of generated second encryption codes is equal to the number of passwords input in step S202. That is, if the number of inputted passwords is two, the second encryption code to be generated is also two.
S206단계에서 송신 단말은 제1 암호화 코드와 제2 암호화 코드간의 오프셋 해쉬 코드인 제3 암호화 코드를 생성한다.In step S206, the transmitting terminal generates a third encrypted code which is an offset hash code between the first encrypted code and the second encrypted code.
도 3은 본 발명의 일실시 예에 따른 제3 암호화 코드를 생성하는 예를 도시하고 있다.FIG. 3 illustrates an example of generating a third encrypted code according to an embodiment of the present invention.
도 3에 의하면, 제1 암호화 코드와 제2 암호화 코드를 도시하고 있으며, 제1 암호화 코드의 일 예는 다음과 같다.Referring to FIG. 3, the first encryption code and the second encryption code are shown, and an example of the first encryption code is as follows.
○ 제1 암호화 코드○ First encryption code
또한, 제2 암호화 코드의 일 예는 다음과 같다.An example of the second encryption code is as follows.
○ 제2 암호화 코드Second encryption code
도 3에 도시되어 있는 오프셋 서클을 이용하여 제1 암호화 코드를 구성하는 각 코드와 제2 암호화 코드를 구성하는 각 코드 사이의 거리를 산출한다. 이 경우 제1 암호화 코드를 구성하는 각 코드와 제2 암호화 코드를 구성하는 각 코드 사이의 거리는 시계 반대 방향으로 산출한다. The distance between each code constituting the first encryption code and each code constituting the second encryption code is calculated by using the offset circle shown in Fig. In this case, the distance between each code constituting the first encryption code and each code constituting the second encryption code is calculated counterclockwise.
일 예로 제1 암호화 코드의 첫 번째 코드가 'a'이며, 제2 암호화 코드의 첫 번째 코드가 '1'인 경우, 제3 암호화 코드의 첫 번째 코드는 '9'가 된다.For example, when the first code of the first encryption code is 'a' and the first code of the second encryption code is '1', the first code of the third encryption code becomes '9'.
아래는 제1 암호화 코드와 제2 암호화 코드간의 오프셋 해쉬 코드인 제3 암호화 코드를 나타낸다.The following shows a third encryption code which is an offset hash code between the first encryption code and the second encryption code.
○ 제3 암호화 코드 ○ Third Encryption Code
물론 상술한 바와 같이 제3 암호화 코드의 개수 역시 제2 암호화 코드와 동일하게 입력받는 비밀번호의 개수와 동일하다.Of course, as described above, the number of the third encryption codes is the same as the number of the passwords to be input, as in the second encryption code.
S208단계에서 송신 단말은 제2 암호화 코드를 해쉬 알고리즘을 이용하여 재차 암호화한 제4 암호화 코드를 생성한다. 물론 상술한 바와 같이 생성되는 제4 암호화 코드 역시 제2 암호화 코드에 따라 입력받은 비밀번호의 개수와 동일하다.In step S208, the transmitting terminal generates the fourth encrypted code by re-encrypting the second encrypted code using the hash algorithm. Of course, the fourth encryption code generated as described above is also the same as the number of passwords input according to the second encryption code.
S210단계에서 송신 단말은 암호화 데이터 헤더를 저장한다. In step S210, the transmitting terminal stores the encrypted data header.
도 4는 암호화 데이터 헤더의 구성을 도시하고 있다.4 shows the structure of the encrypted data header.
도 4에 의하면, 암호화 데이터 헤더는 비밀번호의 개수, 각 비밀번호에 대응되는 제3 암호화 코드, 제4 암호화 코드이다. 즉, 입력받은 비밀번호가 2개이면, 두 개의 제3 암호화 코드 및 두 개의 제4 암호화 코드가 암호화 데이터 헤더에 포함된다. 또한, 입력받은 비밀번호의 개수가 n개이면 N개의 제3 암호화 코드 및 제4 암호화 코드가 암호화 데이터 헤더에 포함된다.4, the encrypted data header is the number of passwords, the third encryption code corresponding to each password, and the fourth encryption code. That is, if the number of inputted passwords is two, the two third encryption codes and the two fourth encryption codes are included in the encrypted data header. If the number of inputted passwords is n, N pieces of third encryption code and fourth encryption code are included in the encrypted data header.
또한, 암호화 데이터 헤더는 하나의 비밀번호에 대응되는 제3 암호화 코드와 제4 암호화 코드를 매칭하여 저장한다.In addition, the encrypted data header matches and stores the third encryption code and the fourth encryption code corresponding to one password.
S212단계에서 송신 단말은 데이터를 제1 암호화 코드를 이용하여 암호화한 암호화 데이터를 생성한다.In step S212, the transmitting terminal generates encrypted data obtained by encrypting the data using the first encryption code.
S214단계에서 송신 단말은 암호화 데이터를 암호화 데이터 헤더와 함께 서버를 경유하여 수신 단말로 전송한다.In step S214, the transmitting terminal transmits the encrypted data together with the encrypted data header to the receiving terminal via the server.
도 5는 본 발명의 일실시 예에 따른 수신 단말에서 암호화 데이터를 복호화하는 과정을 도시한 흐름도이다. 이하 도 5를 이용하여 본 발명의 일실시 예에 따른 암호화 데이터를 복호화하는 과정에 대해 상세하게 알아보기로 한다.5 is a flowchart illustrating a process of decrypting encrypted data in a receiving terminal according to an embodiment of the present invention. Hereinafter, a process of decrypting encrypted data according to an embodiment of the present invention will be described in detail with reference to FIG.
S500단계에서 수신 단말은 서버 또는 송신 단말로부터 암호화 데이터를 수신한다. 물론 수신 단말은 암호화 데이터뿐만 아니라 암호화 데이터 헤더도 함께 수신한다. 상술한 바와 같이 암호화 데이터 헤더에는 적어도 하나 이상의 제3 암호화 코드 및 제4 암호화 코드가 포함된다.In step S500, the receiving terminal receives the encrypted data from the server or the transmitting terminal. Of course, the receiving terminal receives both the encrypted data as well as the encrypted data header. As described above, at least one third encryption code and a fourth encryption code are included in the encrypted data header.
S502단계에서 수신 단말은 비밀번호를 입력받는다. 상술한 바와 같이 비밀번호는 수신 단말의 고유한 식별번호이며, 수신 단말의 전화번호일 수 있다.In step S502, the receiving terminal receives the password. As described above, the password is a unique identification number of the receiving terminal, and may be the telephone number of the receiving terminal.
S504단계에서 수신 단말은 입력받은 비밀번호를 해쉬 알고리즘을 이용하여 16자리의 제2' 복호화 코드를 생성한다.In step S504, the receiving terminal generates a 16-digit second decryption code using the hash algorithm.
S506단계에서 수신 단말은 제2' 복호화 코드를 해쉬 알고리즘을 이용하여 16자의 제4' 복호화 코드를 생성한다.In step S506, the receiving terminal generates a 4 'decoded code of 16 characters using the second' decoded code using the hash algorithm.
S508단계에서 수신 단말은 생성한 제4' 복호화 코드와 동일한 제4 암호화 코드가 수신한 암호화 데이터 헤더에 포함되어 있는 지 확인한다. 수신 단말은 생성한 제4' 복호화 코드와 동일한 제4 암호화 코드가 수신한 암호화 데이터 헤더에 포함되어 있지 않으면 복호화 과정을 종료한다.In step S508, the receiving terminal determines whether a fourth encryption code identical to the generated fourth encryption code is included in the received encryption data header. If the fourth encryption code identical to the generated fourth decryption code is not included in the received encryption data header, the receiving terminal ends the decryption process.
S510단계에서 수신 단말은 제4' 복호화 코드와 동일한 제4 암호화 코드가 수신한 암호화 데이터 헤더에 포함되어 있으면, 제4 암호화 코드에 대응되는 제3 암호화 코드를 추출한다.In step S510, if the fourth encryption code identical to the fourth decryption code is included in the received encrypted data header, the receiving terminal extracts the third encryption code corresponding to the fourth encryption code.
S512단계에서 수신 단말은 제2' 복호화코드와 제3 암호화코드간의 오프셋 해쉬 코드를 이용하여 제1' 복호화코드를 생성한다. 제2' 복호화코드와 제3 암호화코드간의 오프셋 해쉬 코드는 도 3에 도시되어 있는 오프셋 서클을 이용한다.In step S512, the receiving terminal generates the first 'decoded code using the offset hash code between the second' decoded code and the third encoded code. The offset hash code between the second 'decryption code and the third encryption code uses the offset circle shown in FIG.
S514단계에서 생성한 제1' 복호화 코드를 이용하여 암호화 데이터를 복호화한다.Decrypts the encrypted data using the first 'decryption code generated in step S514.
이와 같이 본 발명은 송신 단말은 암호화 데이터를 수신하고자 하는 수신 단말에 대응되는 비밀번호를 입력하며, 수신 단말은 자신의 비밀번호를 입력하는 것으로 데이터에 대한 암호화 및 복호화가 이루어진다.As described above, according to the present invention, a transmitting terminal inputs a password corresponding to a receiving terminal to receive encrypted data, and a receiving terminal inputs its own password, whereby data is encrypted and decrypted.
또한, 송신 단말과 수신 단말은 실제 데이터를 암호화한 암호화 코드를 송신하거나 수신받지 않는다. 또한, 송신 단말은 수신 단말별로 데이터를 암호화하여 전송하는 것이 아니라 동일한 암호화 코드를 이용하여 암호화한 암호화 데이터를 수신 단말로 전송한다. 물론, 송신 단말은 수신 단말별로 고유한 비밀번호를 이용하며, 암호화된 암호화 데이터를 수신하고자 하는 수신 단말별로 고유한 비밀번호를 입력하는 것으로, 다수의 수신 단말에 암호화된 암호화 데이터를 송신할 수 있다.Further, the transmitting terminal and the receiving terminal do not transmit or receive the encryption code in which the actual data is encrypted. Further, the transmitting terminal does not encrypt data for each receiving terminal but transmits the encrypted data, which is encrypted using the same encryption code, to the receiving terminal. Of course, the transmitting terminal can use the unique password for each receiving terminal, and can input the unique password for each receiving terminal to receive the encrypted encrypted data, thereby transmitting the encrypted encrypted data to a plurality of receiving terminals.
도 6은 본 발명의 일실시 예에 따른 송신 단말의 구성을 도시한 도면이다. 이하 도 6을 이용하여 본 발명의 일실시 예에 따른 송신 단말의 구성에 대해 상세하게 알아보기로 한다.6 is a diagram illustrating a configuration of a transmitting terminal according to an embodiment of the present invention. Hereinafter, a configuration of a transmitting terminal according to an embodiment of the present invention will be described in detail with reference to FIG.
도 6에 의하면, 송신 단말은 제어부, 통신부, 저장부, 입력부를 포함한다. 물론 상술한 구성 이외에 다른 구성이 본 발명의 일실시 예에 따른 송신 단말에 포함될 수 있다.According to Fig. 6, the transmitting terminal includes a control unit, a communication unit, a storage unit, and an input unit. Of course, other configurations other than the above-described configuration may be included in the transmitting terminal according to an embodiment of the present invention.
통신부(112)는 외부의 서버로부터 해쉬 알고리즘 및 암호화 알고리즘을 제공받는다. 통신부(112)는 데이터를 해쉬 알고리즘과 암호화 알고리즘을 이용하여 암호화한 암호화 데이터와 암호화 데이터 헤더를 서버로 전송한다.The
저장부(113)는 서버로부터 제공받은 해쉬 알고리즘 및 암호화 알고리즘을 저장하며, 필요한 경우 데이터를 저장한다. 저장부(113)는 데이터를 암호화한 암호화 데이터 및 암호화 데이터 헤더를 저장한다. 저장부(113)는 입력부(114)를 통해 입력받은 비밀번호를 저장한다.The
입력부(114)는 데이터를 입력받으며, 비밀번호를 입력받는다. 입력부(114)는 작성한 데이터 또는 저장된 데이터를 적어도 하나 이상의 수신 단말로의 전송을 요청받는다.The
제어부(111)는 저장된 해쉬 알고리즘과 암호화 알고리즘을 이용하여 데이터를 암호화한다. 또한, 제어부(111)는 저장된 해쉬 알고리즘과 암호화 알고리즘을 이용하여 암호화 데이터 헤더를 생성하며, 입력부(114)의 요청에 따라 암호화 데이터와 암호화 데이터 헤더를 수신 단말로 제공하도록 통신부(112)에 요청한다.The
도 7은 본 발명의 일실시 예에 따른 수신 단말의 구성을 도시한 도면이다. 이하 도 7을 이용하여 본 발명의 일실시 예에 따른 수신 단말의 구성에 대해 상세하게 알아보기로 한다.7 is a diagram illustrating a configuration of a receiving terminal according to an embodiment of the present invention. Hereinafter, the configuration of a receiving terminal according to an embodiment of the present invention will be described in detail with reference to FIG.
도 7에 의하면, 수신 단말은 제어부, 통신부, 저장부, 입력부를 포함한다. 물론 상술한 구성 이외에 다른 구성이 본 발명의 일실시 예에 따른 수신 단말에 포함될 수 있다.According to Fig. 7, the receiving terminal includes a control unit, a communication unit, a storage unit, and an input unit. Of course, other configurations than those described above may be included in the receiving terminal according to an embodiment of the present invention.
통신부(132)는 외부의 서버로부터 해쉬 알고리즘 및 암호화 알고리즘을 제공받는다. 통신부(132)는 서버로부터 암호화 데이터와 암호화 데이터 헤더를 수신한다.The
저장부(133)는 서버로부터 제공받은 해쉬 알고리즘 및 암호화 알고리즘을 저장하며, 필요한 경우 데이터를 저장한다. 저장부(133)는 입력부(134)를 통해 입력받은 비밀번호를 저장한다.The
입력부(134)는 비밀번호를 입력받는다.The
제어부(131)는 저장된 해쉬 알고리즘과 암호화 알고리즘을 이용하여 암호화된 암호화 데이터를 복호화한다. 또한, 제어부(131)는 입력받은 비밀번호를 이용하여 제2' 복호화 코드를 생성하며, 생성한 제2' 복호화 코드를 이용하여 제4' 복호화 코드를 생성한다. 제어부(131)는 제4' 복호화 코드로부터 추출한 제3 암호화 코드를 이용하여 제1' 복호화 코드를 생성하며, 생성한 제1' 복호화 코드를 이용하여 암호화된 데이터를 복호화한다.The
본 발명은 도면에 도시된 일실시 예를 참고로 설명되었으나, 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it will be understood by those of ordinary skill in the art that various changes in form and details may be made therein without departing from the scope of the present invention .
100: 시스템 110: 송신 단말
120: 서버 130: 수신 단말
111: 제어부 112: 통신부
113: 저장부 114: 입력부
131: 제어부 132: 통신부
133: 저장부 134: 입력부100: system 110: transmitting terminal
120: server 130: receiving terminal
111: control unit 112:
113: storage unit 114: input unit
131: control unit 132:
133: storage unit 134: input unit
Claims (7)
설정된 자리수를 갖는 랜덤 해쉬 코드인 제1 암호화 코드를 생성하는 단계;
상기 데이터를 전송할 적어도 둘 이상의 수신 단말별로 대응되는 비밀번호를 입력받는 단계;
입력받은 둘 이상의 비밀번호별로 해쉬 알고리즘을 이용하여 제2 암호화 코드를 생성하는 단계;
생성한 상기 제1 암호화 코드와 제2 암호화 코드간의 거리를 나타내는 오프셋 해쉬 코드인 제3 암호화 코드를 산출하는 단계;
상기 제2 암호화 코드를 해쉬 알고리즘을 이용하여 제4 암호화 코드를 생성하는 단계;
상기 제1 암호화 코드를 이용하여 상기 데이터를 암호화한 암호화 데이터를 생성하는 단계; 및
상기 입력받은 비밀번호의 개수, 각 비밀번호에 대응되는 제3 암호화코드 및 제4 암호화코드가 포함된 암호화 데이터 헤더와 상기 암호화 데이터를 외부로 전송하는 단계를 포함함을 특징으로 하는 송신 단말에서 데이터를 암호화하여 전송하는 방법.
A method for encrypting and transmitting data in a transmitting terminal,
Generating a first encrypted code that is a random hash code having a predetermined number of digits;
Receiving a password corresponding to at least two or more receiving terminals to which the data is to be transmitted;
Generating a second encrypted code using a hash algorithm for each of the two or more received passwords;
Calculating a third encryption code that is an offset hash code indicating a distance between the generated first encryption code and the second encryption code;
Generating a fourth encrypted code using the second encrypted code using a hash algorithm;
Generating encrypted data by encrypting the data using the first encrypted code; And
And transmitting the encrypted data header and the encrypted data including the number of the input passwords, the third encryption code corresponding to each password, and the fourth encryption code to the external device. Lt; / RTI >
64자리의 제1 암호화 코드를 생성함을 특징으로 하는 송신 단말에서 데이터를 암호화하여 전송하는 방법.
2. The method of claim 1, wherein generating the first encryption code comprises:
And generating a first encryption code of 64 digits.
각 비밀번호에 대응되는 제3 암호화 코드 및 제4 암호화 코드는 매칭하여 저장됨을 특징으로 하는 송신 단말에서 데이터를 암호화하여 전송하는 방법.
3. The method of claim 2,
And a third encryption code and a fourth encryption code corresponding to each password are matched and stored.
비밀번호의 개수, 각 비밀번호에 대응되는 제3 암호화 코드 및 제4 암호화 코드가 포함된 암호화 데이터 헤더와 암호화 데이터를 수신하는 단계;
입력받은 비밀번호를 해쉬 알고리즘을 이용하여 제2' 복호화 코드를 생성하는 단계;
제2' 복호화 알고리즘을 해쉬 알고리즘을 이용하여 제4' 복호화 코드를 생성하는 단계;
상기 제4' 복호화 코드와 동일한 제4 암호화 코드가 상기 암호화 데이터 헤더에 포함되어 있으면, 상기 제4 암호화 코드에 대응되는 제3 암호화 코드를 추출하는 단계;
상기 제2' 복호화 코드와 상기 제3 암호화 코드간의 거리를 나타내는 오프셋 해쉬 코드인 제1' 복호화 코드를 산출하는 단계; 및
상기 제1' 복호화 코드를 이용하여 상기 암호화 데이터를 복호화하는 단계를 포함함을 특징으로 하는 수신 단말에서 암호화 데이터를 복호화하는 방법.
A method of decrypting encrypted data at a receiving terminal,
Receiving encrypted data header and encrypted data including a number of passwords, a third encryption code corresponding to each password, and a fourth encryption code;
Generating a second 'decryption code using the hash algorithm;
Generating a fourth decryption code using a second decryption algorithm using a hash algorithm;
Extracting a third encryption code corresponding to the fourth encryption code if a fourth encryption code identical to the fourth decryption code is included in the encrypted data header;
Calculating a first decryption code that is an offset hash code indicating a distance between the second decryption code and the third encryption code; And
And decrypting the encrypted data using the first 'decryption code. The method of claim 1, wherein the encrypted data is decrypted using the first decryption code.
각 비밀번호에 대응되는 제3 암호화 코드 및 제4 암호화 코드는 매칭하여 저장됨을 특징으로 하는 수신 단말에서 암호화 데이터를 복호화하는 방법.
5. The method of claim 4,
And the third encryption code and the fourth encryption code corresponding to each password are matched and stored.
The method of claim 5, wherein if the fourth encryption code identical to the fourth decryption code is not included in the encrypted data header, the decoding process is terminated.
각 수신 단말을 구별할 수 있는 식별번호임을 특징으로 하는 수신 단말에서 암호화 데이터를 복호화하는 방법.7. The method according to claim 6,
Wherein the identification number is an identification number that can distinguish each receiving terminal.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160144468A KR101728281B1 (en) | 2016-11-01 | 2016-11-01 | Method for data encryption and decryption possible multiple password settings |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160144468A KR101728281B1 (en) | 2016-11-01 | 2016-11-01 | Method for data encryption and decryption possible multiple password settings |
Publications (1)
Publication Number | Publication Date |
---|---|
KR101728281B1 true KR101728281B1 (en) | 2017-04-18 |
Family
ID=58703817
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020160144468A KR101728281B1 (en) | 2016-11-01 | 2016-11-01 | Method for data encryption and decryption possible multiple password settings |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101728281B1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101793409B1 (en) * | 2017-06-19 | 2017-11-20 | 송현섭 | Data encryption and decryption method using QR code |
-
2016
- 2016-11-01 KR KR1020160144468A patent/KR101728281B1/en active IP Right Grant
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101793409B1 (en) * | 2017-06-19 | 2017-11-20 | 송현섭 | Data encryption and decryption method using QR code |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101974452B1 (en) | Methods and system for managing personal information based on programmable blockchain and one-id | |
US10015159B2 (en) | Terminal authentication system, server device, and terminal authentication method | |
US9716591B2 (en) | Method for setting up a secure connection between clients | |
US20180131511A1 (en) | Systems and Methods for Dynamic Cypher Key Management | |
TWI581599B (en) | Key generation system, data signature and encryption system and method | |
CN104641592A (en) | Method and system for a certificate-less authentication encryption (CLAE) | |
CN105164968A (en) | Method performed by at least one server for processing a data packet from a first computing device to a second computing device to permit end-to-end encryption communication | |
JP5380583B1 (en) | Device authentication method and system | |
KR20080004165A (en) | Method for device authentication using broadcast encryption | |
JP6167990B2 (en) | Signature verification system, verification device, and signature verification method | |
CN103036880A (en) | Network information transmission method, transmission equipment and transmission system | |
JP2020530726A (en) | NFC tag authentication to remote servers with applications that protect supply chain asset management | |
EP1519530A1 (en) | Method for establishing an encrypted communication by means of keys | |
JP2013207376A (en) | Information processing device and program | |
KR20180015667A (en) | Method and system for secure SMS communication | |
CN105554008A (en) | User terminal, authentication server, middle server, system and transmission method | |
JP2006197065A (en) | Terminal device and authentication device | |
JP6501701B2 (en) | SYSTEM, TERMINAL DEVICE, CONTROL METHOD, AND PROGRAM | |
CN107409043B (en) | Distributed processing of products based on centrally encrypted stored data | |
KR101728281B1 (en) | Method for data encryption and decryption possible multiple password settings | |
KR101912443B1 (en) | Public key based encryption method and key generation server | |
KR101793528B1 (en) | Certificateless public key encryption system and receiving terminal | |
CN113918971A (en) | Block chain based message transmission method, device, equipment and readable storage medium | |
WO2022115143A1 (en) | Scalable key management for encrypting digital rights management authorization tokens | |
KR101595056B1 (en) | System and method for data sharing of intercloud enviroment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |