KR102307363B1 - Method and device for encryption and decrytion using signature code based on deep learning - Google Patents

Method and device for encryption and decrytion using signature code based on deep learning Download PDF

Info

Publication number
KR102307363B1
KR102307363B1 KR1020200141564A KR20200141564A KR102307363B1 KR 102307363 B1 KR102307363 B1 KR 102307363B1 KR 1020200141564 A KR1020200141564 A KR 1020200141564A KR 20200141564 A KR20200141564 A KR 20200141564A KR 102307363 B1 KR102307363 B1 KR 102307363B1
Authority
KR
South Korea
Prior art keywords
signature code
deep learning
data
noise vector
encryption
Prior art date
Application number
KR1020200141564A
Other languages
Korean (ko)
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 KR1020200141564A priority Critical patent/KR102307363B1/en
Priority to PCT/KR2020/014857 priority patent/WO2022092345A1/en
Application granted granted Critical
Publication of KR102307363B1 publication Critical patent/KR102307363B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

The present invention provides a method and device for encryption and decryption using a signature code based on deep learning. The method, which is performed by a computer, includes the steps of: generating first ciphertext data by encrypting input plaintext data based on an encryption key; generating a signature code by applying the periodically extracted noise vector to a deep learning-based generative model; and generating second ciphertext data by inserting the signature code and the noise vector into the first ciphertext data, wherein the generating of the signature code includes the steps of: periodically extracting the noise vector whenever m pieces of plaintext data (where m is a natural number) are encrypted; generating a first input value by encoding the periodically extracted noise vector based on the deep learning-based generative model; and converting a first input value into the signature code based on a preset signature code conversion table.

Description

딥러닝 기반의 시그니처 코드를 이용한 암호화 및 복호화 방법 및 장치{METHOD AND DEVICE FOR ENCRYPTION AND DECRYTION USING SIGNATURE CODE BASED ON DEEP LEARNING}Encryption and decryption method and device using deep learning-based signature code

본 발명은 암호화 및 복호화 방법에 관한 것이다. 보다 상세하게는 딥러닝 기반의 생성 모델을 이용하여, 암호화에 관한 정보를 암호문 데이터에 삽입하는 암호화 및 복호화 방법에 관한 것이다. The present invention relates to encryption and decryption methods. More specifically, it relates to an encryption and decryption method of inserting encryption-related information into ciphertext data using a deep learning-based generative model.

최근, 정보 통신 기술의 급속한 발전과 폭발적인 성장으로 데이터의 양이 늘어나고 복잡해지면서, 주어진 시간 내 데이터를 효율적으로 분석하기 위한 해결책으로 제시된 것이 '빅 데이터'이다. 그러나 대용량의 데이터를 처리하는 빅 데이터 환경에서는, 개인 정보가 유출되어 개인의 사생활과 인권이 침해되는 위험이 존재한다. 뿐만 아니라, 수 많은 정보를 교환하고 관리하는 기업 시스템 또는 기업간의 거래에서는, 고객의 개인 정보뿐만 아니라 기업 내 영업 비밀이 유출되는 위험 또한 존재한다. 이를 방지하기 위해서 많은 기업들이 개인 정보 또는 기업 내 영업 비밀과 관련된 내용을 포함하는 데이터를 암호화하여, 암호문 데이터를 생성하여 사용하고 있다. Recently, as the amount of data increases and becomes more complex due to the rapid development and explosive growth of information and communication technology, 'big data' is presented as a solution for efficiently analyzing data within a given time. However, in a big data environment that processes large amounts of data, there is a risk that personal information is leaked and personal privacy and human rights are infringed. In addition, there is a risk that not only customer personal information but also trade secrets within the company are leaked in corporate systems or transactions between companies that exchange and manage a lot of information. To prevent this, many companies generate and use ciphertext data by encrypting data including personal information or company trade secrets.

이러한 암호화 방법과 관련하여, 통상적으로 사용하는 방식으로는, 암호화와 관련된 내용을 암호문 데이터 내 접두 부분 또는 접미 부분에 포함시켜 사용하는 Prefix 방식과 Postfix 방식이다. In relation to this encryption method, commonly used methods are a Prefix method and a Postfix method in which encryption-related content is included in a prefix or a suffix in the cipher text data.

그러나 상술한 암호화 방식의 경우 암호화 과정에서 통상적으로 수행되는 방식이기 때문에, 암호문 데이터 내에서 제3자에 의해서도 위치에 기반한 추론이 가능하며, 특히 반복적인 암호화 과정에서 나타나는 규칙성으로 인하여, 암호화에 관한 정보가 유출되고, 궁극적으로 개인과 기업이 보호하고자 했던 개인 정보와 기업의 영업 비밀이 유출되기도 한다. However, in the case of the above-mentioned encryption method, since it is a method that is normally performed in the encryption process, it is possible to infer a location based on a third party in the cipher text data. Information is leaked, and ultimately, personal information and company trade secrets that individuals and companies wanted to protect are also leaked.

따라서, 기존의 Prefix 방식과 Postfix 방식에 벗어나, 암호화에 관한 정보를 암호문 데이터 내 포함시키고, 동시에 암호화 과정에서 나타나게 되는 규칙성을 제거하여, 제3자의 추론이 불가능하게 하는 방안이 필요하다.Therefore, there is a need for a method that, apart from the existing Prefix and Postfix methods, includes encryption-related information in the ciphertext data, and at the same time removes regularities appearing in the encryption process, thereby making it impossible for a third party to infer.

공개특허공보 제10-2019-0048104호, 2019.06.26.Laid-open Patent Publication No. 10-2019-0048104, 2019.06.26.

본 발명이 해결하고자 하는 과제는 딥러닝 기반의 시그니처 코드를 이용한 암호화 및 복호화 방법과 장치를 제공하는 것이다.An object of the present invention is to provide a method and apparatus for encryption and decryption using a signature code based on deep learning.

다만, 본 발명이 해결하고자 하는 과제는 상기된 바와 같은 과제로 한정되지 않으며, 또 다른 과제들이 존재할 수 있다.However, the problems to be solved by the present invention are not limited to the problems described above, and other problems may exist.

상술한 과제를 해결하기 위한 본 발명의 일 면에 따른 딥러닝 기반의 암호화 및 복호화 방법은 컴퓨터에 의해 수행되는 방법으로서, 입력된 평문 데이터를 암호화 키를 기초로 암호화하여, 제1 암호문 데이터를 생성하는 단계, 주기적으로 추출되는 노이즈 벡터를 딥러닝 기반의 생성 모델에 적용하여, 시그니처 코드를 생성하는 단계, 상기 시그니처 코드와 상기 노이즈 벡터를 제1 암호문 데이터에 삽입하여 제2 암호문 데이터를 생성하는 단계를 포함하고, 상기 시그니처 코드를 생성하는 단계는, m개의(단, m은 자연수) 평문 데이터를 암호화할 때마다 상기 노이즈 벡터를 주기적으로 추출하는 단계와 상기 딥러닝 기반의 생성 모델을 기반으로, 상기 주기적으로 추출된 노이즈 벡터를 인코딩하여 제1 입력값을 생성하는 단계와 기 설정된 시그니처 코드 변환 테이블을 기초로 제1 입력값을 상기 시그니처 코드로 변환하는 단계를 포함한다. A deep learning-based encryption and decryption method according to an aspect of the present invention for solving the above problems is a method performed by a computer, and encrypts input plaintext data based on an encryption key to generate first ciphertext data generating a signature code by applying the periodically extracted noise vector to a deep learning-based generation model, inserting the signature code and the noise vector into the first ciphertext data to generate second ciphertext data The step of generating the signature code includes periodically extracting the noise vector whenever m (where m is a natural number) plaintext data is encrypted, and the deep learning-based generation model, generating a first input value by encoding the periodically extracted noise vector; and converting the first input value into the signature code based on a preset signature code conversion table.

본 발명의 일부 실시예에서 상기 변환 단계는, 제1 입력값과 상기 시그니처 코드 변환 테이블을 기초로 제1 입력값에 상응하는 상기 시그니처 코드를 구성하는 각각의 문자를 결정하고, 상기 제2 암호문 데이터를 생성하는 단계는, 상기 노이즈 벡터를 제1 암호문 데이터의 제1 위치에 첨부하고, 제1 입력값과 제1 암호문 데이터의 길이 정보를 기초로 제1 암호문 데이터 내에서의 상기 각각의 문자의 삽입 위치를 결정하고, 상기 결정된 각각의 삽입 위치에 상기 각각의 문자를 삽입할 수 있다.In some embodiments of the present invention, in the conversion step, each character constituting the signature code corresponding to the first input value is determined based on the first input value and the signature code conversion table, and the second cipher text data The generating step includes appending the noise vector to a first position of the first ciphertext data, and inserting each of the characters in the first ciphertext data based on the first input value and the length information of the first ciphertext data. A position may be determined, and each character may be inserted at each of the determined insertion positions.

본 발명의 일부 실시예에서, 상기 제2 암호문 데이터를 생성하는 단계는, 상기 제1 암호문 데이터의 길이에 관한 정보를 상기 제1 암호문 데이터의 제2 위치에 첨부할 수 있다. In some embodiments of the present invention, the generating of the second ciphertext data may include attaching information about the length of the first ciphertext data to a second position of the first ciphertext data.

본 발명의 일부 실시예에서 상기 제2 암호문 데이터로부터 상기 노이즈 벡터를 추출하는 단계, 상기 딥러닝 기반의 생성 모델에 상기 노이즈 벡터를 적용하여 시그니처 코드를 생성하는 단계, 상기 시그니처 코드를 기초로, 상기 제2 암호문 데이터에 삽입되어 있는 상기 각각의 문자를 제거하여 제1 암호문 데이터로 복원하는 단계 및 상기 제1 암호문 데이터를 상기 암호화 키를 기초로 복호화하여 상기 평문 데이터를 생성하는 단계를 포함하고, 상기 시그니처 코드를 생성하는 단계는, 상기 딥러닝 기반의 생성 모델을 기반으로, 상기 제2 암호문 데이터로부터 추출된 노이즈 벡터를 인코딩하여 제1 입력값을 생성하는 단계와 상기 설정된 시그니처 코드 변환 테이블을 기초로 제1 입력값을 상기 시그니처 코드로 변환하는 단계를 포함할 수 있다. In some embodiments of the present invention, extracting the noise vector from the second ciphertext data, generating a signature code by applying the noise vector to the deep learning-based generative model, based on the signature code, removing each character inserted in the second ciphertext data to restore the first ciphertext data; and decrypting the first ciphertext data based on the encryption key to generate the plaintext data, wherein the The generating of the signature code may include generating a first input value by encoding the noise vector extracted from the second ciphertext data based on the deep learning-based generation model and the set signature code conversion table. It may include converting the first input value into the signature code.

본 발명의 일부 실시예에서 상기 변환 단계는, 제1 입력값과 상기 시그니처 코드 변환 테이블을 기초로 제1 입력값에 상응하는 상기 시그니처 코드를 구성하는 각각의 문자를 결정하고, 제1 암호문 데이터로 복원하는 단계는, 제1 입력값과 제1 암호문 데이터의 길이 정보를 기초로 제1 암호문 데이터 내에서의 상기 각각의 문자의 삽입 위치를 결정하고, 상기 결정된 각각의 삽입 위치에 상기 각각의 문자를 제거할 수 있다.In some embodiments of the present invention, in the conversion step, each character constituting the signature code corresponding to the first input value is determined based on the first input value and the signature code conversion table, and converted into the first cipher text data. In the restoring step, the insertion position of each character in the first ciphertext data is determined based on the first input value and the length information of the first ciphertext data, and each character is inserted at each of the determined insertion positions. can be removed

본 발명의 일부 실시예에서, 상기 시그니처 코드 변환 테이블을 기초로, 상기 제2 암호문 데이터를 주기적으로 갱신하는 단계를 더 포함하고, 상기 제2 암호문 데이터를 갱신하는 단계는, 상기 시그니처 코드 변화 테이블 내 문자 배열을 주기적으로 조정하고, 상기 조정된 시그니처 코드 변환 테이블 기초로, 상기 제2 암호문 데이터 내의 시그니처 코드를 변경하여 상기 제2 암호문 데이터를 갱신할 수 있다. In some embodiments of the present invention, the method further includes periodically updating the second ciphertext data based on the signature code conversion table, wherein the updating of the second ciphertext data includes: in the signature code change table The second cipher text data may be updated by periodically adjusting the character arrangement and changing the signature code in the second cipher text data based on the adjusted signature code conversion table.

본 발명의 일부 실시예에서, 상기 딥러닝 기반의 생성 모델은, 상기 노이즈 벡터의 분포 정보가 주기적으로 변경되어 재학습되고, 상기 제2 암호문 데이터는, 상기 재학습된 딥러닝 기반의 생성 모델을 기초로 주기적으로 갱신될 수 있다. In some embodiments of the present invention, in the deep learning-based generative model, the distribution information of the noise vector is periodically changed and re-learned, and the second ciphertext data is the re-trained deep learning-based generative model. It can be updated periodically on a regular basis.

본 발명의 일부 실시예에서, 상기 시그니처 코드의 길이 정보를 사전에 설정하는 단계를 더 포함하고, 상기 제1 입력값을 생성하는 단계는, 상기 노이즈 벡터를 상기 길이 정보에 상응하는 개수만큼 추출하여 제1 입력값을 생성하는 것을 특징으로 할 수 있다. In some embodiments of the present invention, the method further includes setting length information of the signature code in advance, and generating the first input value includes extracting the noise vector by a number corresponding to the length information. It may be characterized in that the first input value is generated.

본 발명의 다른 실시예에서 메모리, 평문 데이터를 획득하는 획득부, 및 상기 평문 데이터를 암호화 키를 기초로 암호화하여, 제1 암호문 데이터를 생성하고, 주기적으로 노이즈 벡터를 추출하여, 딥러닝 기반의 생성 모델에 상기 노이즈 벡터를 적용하여, 시그니처 코드를 생성하고, 상기 시그니처 코드와 상기 노이즈 벡터를 상기 제1 암호문 데이터에 삽입하여 제2 암호문 데이터를 생성하고, 상기 제어부는 m개의(단, m은 자연수) 평문 데이터를 암호화할 때마다 상기 노이즈 벡터를 주기적으로 추출하고, 상기 딥러닝 기반의 생성 모델을 기반으로, 상기 주기적으로 추출된 노이즈 벡터를 인코딩하여 제1 입력값을 생성하고, 기 설정된 시그니처 코드 변환 테이블을 기초로 제1 입력값을 상기 시그니처 코드로 변환하여 상기 시그니처 코드를 생성한다.In another embodiment of the present invention, a memory, an acquiring unit for acquiring plaintext data, and encrypting the plaintext data based on an encryption key to generate first ciphertext data, and periodically extracting a noise vector, The noise vector is applied to a generation model to generate a signature code, and the signature code and the noise vector are inserted into the first ciphertext data to generate second ciphertext data, and the control unit generates m (where m is natural number) whenever plaintext data is encrypted, the noise vector is periodically extracted, and the first input value is generated by encoding the periodically extracted noise vector based on the deep learning-based generation model, and a preset signature is generated. The signature code is generated by converting a first input value into the signature code based on the code conversion table.

상술한 과제를 해결하기 위한 본 발명의 다른 면에 따른 컴퓨터 프로그램은, 하드웨어인 컴퓨터와 결합하여 상기 딥러닝 기반의 암호화 및 복호화 방법을 실행하며, 컴퓨터 판독가능 기록매체에 저장될 수 있다.A computer program according to another aspect of the present invention for solving the above-described problems executes the deep learning-based encryption and decryption method in combination with a computer, which is hardware, and may be stored in a computer-readable recording medium.

본 발명의 기타 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.Other specific details of the invention are included in the detailed description and drawings.

상술한 본 발명에 의하면, 암호문 데이터 내 포함되어 있는 암호화 정보에 관한 데이터를 제3자가 추론하거나 인지하지 못하도록 한다. According to the present invention described above, it prevents a third party from inferring or recognizing the data related to the encryption information included in the cipher text data.

또한, 딥러닝 기반의 암호화 과정을 통해 암호화 과정에서 나타나게 되는 규칙성을 제거하고, 암호문 데이터를 주기적으로 갱신함에 따라 암호문 데이터의 보안성을 강화할 수 있다. In addition, through the deep learning-based encryption process, regularity that appears in the encryption process can be removed, and the security of the ciphertext data can be strengthened by periodically updating the ciphertext data.

본 발명의 효과들은 이상에서 언급된 효과로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.Effects of the present invention are not limited to the effects mentioned above, and other effects not mentioned will be clearly understood by those skilled in the art from the following description.

도 1은 본 발명에 따른 딥러닝 기반의 암호화 및 복호화 장치의 개략적인 구성도이다.
도 2는 본 발명에 따른, 딥러닝 기반의 생성 모델을 이용한 암호화 방법을 개략적으로 나타낸 순서도이다.
도 3은 본 발명에 따른, 개인 정보를 포함하는 평문 데이터를 암호화 키를 이용하여 제1 암호문으로 암호화하는 것을 나타낸 예시도이다.
도 4는 본 발명에 따른, 시그니처 생성 방법에 대한 개략적인 순서도이다.
도 5는 본 발명에 따른 주기적으로 노이즈 벡터를 추출하는 것을 나타낸 예시도이고,
도 6은 본 발명에 따른, 딥러닝 기반의 생성 모델을 이용하여, 노이즈 벡터를 인코딩하는 것을 나타낸 예시도이다.
도 7은 본 발명에 따른, 노이즈 벡터를 인코딩 하여 제1 입력값을 생성하는 것을 나타낸 예시도이고,
도 8은 본 발명에 따른, 시그니처 코드를 구성하는 각각의 문자를 생성하는 방법을 나타낸 예시도이다.
도 9는 본 발명에 따른, 제2 암호문 데이터를 생성하는 방법을 개략적으로 나타낸 순서도이다.
도 10은 본 발명에 따른, 시그니처 코드를 구성하는 각각의 문자의 제1 암호문 데이터 내의 삽입 위치를 결정하는 것을 나타낸 예시도이다.
도 11은 노이즈 값과 시그니처 코드를 기초로, 제2 암호문 데이터를 생성하는 것을 나타낸 예시도이다.
도 12는 제1 암호문 데이터 길이 정보와, 시그니처 코드 식별 키를 더 이용하여 제2 암호문 데이터를 생성하는 예시도이다.
도 13은 본 발명에 따른, 제2 암호화 데이터를 복호화 하는 방법을 개략적으로 나타낸 순서도이다.
도 14는 본 발명에 따른, 시그니처 코드 변환 테이블 조정을 통한, 제2 암호문 데이터의 갱신 방법을 나타낸 예시도이다.
1 is a schematic configuration diagram of a deep learning-based encryption and decryption apparatus according to the present invention.
2 is a flowchart schematically illustrating an encryption method using a deep learning-based generative model according to the present invention.
3 is an exemplary diagram illustrating encryption of plaintext data including personal information into a first ciphertext using an encryption key according to the present invention.
4 is a schematic flowchart of a signature generation method according to the present invention.
5 is an exemplary view showing periodically extracting a noise vector according to the present invention;
6 is an exemplary diagram illustrating encoding of a noise vector using a deep learning-based generative model according to the present invention.
7 is an exemplary diagram illustrating generating a first input value by encoding a noise vector according to the present invention;
8 is an exemplary diagram illustrating a method of generating each character constituting a signature code according to the present invention.
9 is a flowchart schematically illustrating a method for generating second ciphertext data according to the present invention.
10 is an exemplary diagram illustrating determining an insertion position in the first cipher text data of each character constituting the signature code according to the present invention.
11 is an exemplary diagram illustrating generation of second cipher text data based on a noise value and a signature code.
12 is an exemplary diagram of generating second cipher text data by further using first cipher text data length information and a signature code identification key.
13 is a flowchart schematically illustrating a method of decrypting second encrypted data according to the present invention.
14 is an exemplary diagram illustrating a method of updating second ciphertext data by adjusting a signature code conversion table according to the present invention.

본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나, 본 발명은 이하에서 개시되는 실시예들에 제한되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술 분야의 통상의 기술자에게 본 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. Advantages and features of the present invention and methods of achieving them will become apparent with reference to the embodiments described below in detail in conjunction with the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below, but may be implemented in various different forms, and only these embodiments allow the disclosure of the present invention to be complete, and those of ordinary skill in the art to which the present invention pertains. It is provided to fully understand the scope of the present invention to those skilled in the art, and the present invention is only defined by the scope of the claims.

본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소 외에 하나 이상의 다른 구성요소의 존재 또는 추가를 배제하지 않는다. 명세서 전체에 걸쳐 동일한 도면 부호는 동일한 구성 요소를 지칭하며, "및/또는"은 언급된 구성요소들의 각각 및 하나 이상의 모든 조합을 포함한다. 비록 "제1", "제2" 등이 다양한 구성요소들을 서술하기 위해서 사용되나, 이들 구성요소들은 이들 용어에 의해 제한되지 않음은 물론이다. 이들 용어들은 단지 하나의 구성요소를 다른 구성요소와 구별하기 위하여 사용하는 것이다. 따라서, 이하에서 언급되는 제1 구성요소는 본 발명의 기술적 사상 내에서 제2 구성요소일 수도 있음은 물론이다.The terminology used herein is for the purpose of describing the embodiments and is not intended to limit the present invention. As used herein, the singular also includes the plural unless specifically stated otherwise in the phrase. As used herein, “comprises” and/or “comprising” does not exclude the presence or addition of one or more other components in addition to the stated components. Like reference numerals refer to like elements throughout, and "and/or" includes each and every combination of one or more of the recited elements. Although "first", "second", etc. are used to describe various elements, these elements are not limited by these terms, of course. These terms are only used to distinguish one component from another. Accordingly, it goes without saying that the first component mentioned below may be the second component within the spirit of the present invention.

다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야의 통상의 기술자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또한, 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.Unless otherwise defined, all terms (including technical and scientific terms) used herein will have the meaning commonly understood by those of ordinary skill in the art to which this invention belongs. In addition, terms defined in a commonly used dictionary are not to be interpreted ideally or excessively unless specifically defined explicitly.

종래 많은 기업이나 보안 업체에서는 암호화 방식으로, 개인 정보를 포함하는 평문 데이터를 암호화하여 암호문 데이터를 생성한 후, 암호문 데이터의 접두 또는 접미 부분에 암호화 Context에 관한 정보(암호화 키, 암호화 알고리즘 등)를 포함시키는, Prefix 또는 Postfix 방식을 활용하였다. In the past, many companies or security companies encrypt plaintext data including personal information using an encryption method to generate ciphertext data, and then add information about the encryption context (encryption key, encryption algorithm, etc.) to the prefix or suffix of the ciphertext data. Including, Prefix or Postfix method was used.

그러나 이러한 암호화 방식은 이제는 암호화를 위해 통상적으로 사용되기 때문에, 암호화 과정에서 참여하거나 개입하지 않음에도 불구하고, 제3자가 암호문 또는 암호 데이터의 접두 또는 접미 부분에 암호화와 관련된 정보가 포함되어 있다고 쉽게 추론이 가능하다. 즉, 암호화 방식과 관련된 Prefix 방식 그리고 Postfix 방식은 현재로서는 보안상의 취약점을 가지고 있다. However, since these encryption methods are now commonly used for encryption, it is easy to infer that a third party contains encryption-related information in the prefix or suffix of the ciphertext or encryption data, even though it does not participate or intervene in the encryption process. This is possible. That is, the Prefix method and Postfix method related to the encryption method have security vulnerabilities at present.

본 발명은 이러한 문제점을 해결하고자, 암호화 Context 정보를 암호문 데이터의 접두 또는 접미가 아닌 내부에 삽입한다. 이와 더불어 암호화 Context 정보를 포함하는 문자 또는 코드를 생성하는데 있어, 제3자가 규칙성을 추론하지 못하도록 딥러닝 기반의 생성 모델을 활용한다. 이하에서는, 첨부된 도면을 참조하여 이와 관련된 본 발명의 실시예에 대하여 상세히 설명하도록 한다. In order to solve this problem, the present invention inserts encryption context information into the cipher text data rather than the prefix or suffix. In addition, in generating a character or code including encryption context information, a deep learning-based generation model is used to prevent a third party from inferring regularity. Hereinafter, an embodiment of the present invention related thereto will be described in detail with reference to the accompanying drawings.

도 1은 본 발명에 따른 딥러닝 기반의 암호화 및 복호화 장치의 개략적인 구성도이다. 1 is a schematic configuration diagram of a deep learning-based encryption and decryption apparatus according to the present invention.

도 1을 참조하면, 딥러닝 기반의 암호화 및 복호화 장치(10)는 메모리(13), 획득부(12), 제어부(11)를 포함한다. 다만, 몇몇 실시예에서 암호화 및 복호화 장치(10)는 도 1에 도시된 구성요소보다 더 적은 수의 구성요소나 더 많은 구성요소를 포함할 수도 있다. 여기서, 암호화 및 복호화 장치(10)는 컴퓨팅 장치로서, 서버장치에 해당될 수 있다.Referring to FIG. 1 , a deep learning-based encryption and decryption apparatus 10 includes a memory 13 , an acquisition unit 12 , and a control unit 11 . However, in some embodiments, the encryption/decryption apparatus 10 may include fewer or more components than the components shown in FIG. 1 . Here, the encryption and decryption device 10 is a computing device and may correspond to a server device.

먼저 획득부(12)는 사용자로부터 개인 정보를 포함하는 평문 데이터를 입력 받는다. 또는 제1 입력값을 생성하기 위한 임의의 노이즈 벡터(Noise Vector)를 사용자로부터 입력 받거나, 사전에 설정된 노이즈 벡터 네트워크 내에서 임의의 노이즈 벡터를 획득한다. First, the acquisition unit 12 receives plaintext data including personal information from the user. Alternatively, an arbitrary noise vector for generating the first input value is received from the user, or an arbitrary noise vector is obtained within a preset noise vector network.

한편, 제어부(11)는 평문 데이터를 암호화 키를 기초로 암호화하여 제1 암호문 데이터를 생성하고, 딥러닝 기반의 생성 모델을 기초로 임의의 노이즈 벡터를 인코딩하여 제1 입력값을 생성하고, 기 설정된 시그니처 코드 변환 테이블을 기초로 상기 제1 입력값을 시그니처 코드로 변환하고, 상기 시그니처 코드를 상기 제1 암호문 데이터에 삽입하여 제2 암호문 데이터를 생성한다. On the other hand, the control unit 11 generates the first cipher text data by encrypting the plaintext data based on the encryption key, encodes an arbitrary noise vector based on the deep learning-based generation model to generate a first input value, The first input value is converted into a signature code based on the set signature code conversion table, and the signature code is inserted into the first cipher text data to generate second cipher text data.

메모리(13)는, 딥러닝 기반의 생성 모델에 관한 알고리즘, 암호화 과정에서 이용되는 암호화 키, 암호화 알고리즘 등을 저장한다. The memory 13 stores an algorithm related to a deep learning-based generative model, an encryption key used in an encryption process, an encryption algorithm, and the like.

이하, 암호화 및 복호화를 수행하는 주체는 상술한 사용자에 의해 운영되는 딥러닝 기반의 생성 모델을 이용한 암호화 및 복호화 장치에 의해 수행되는 것으로 이해될 수 있지만, 이에 제한되는 것은 아니다. 한편, 암호화 및 복호화 장치는, 암호화 및 복호화를 수행하는 사용자가 운영하는 서버 컴퓨터로 이해될 수도 있다. 그러나 이에 제한되는 것은 아니다. Hereinafter, the subject performing encryption and decryption may be understood to be performed by the encryption and decryption apparatus using the deep learning-based generative model operated by the user described above, but is not limited thereto. Meanwhile, the encryption and decryption apparatus may be understood as a server computer operated by a user performing encryption and decryption. However, the present invention is not limited thereto.

도 2는 본 발명에 따른, 딥러닝 기반의 생성 모델을 이용한 암호화 방법을 개략적으로 나타낸 순서도이다. 2 is a flowchart schematically illustrating an encryption method using a deep learning-based generative model according to the present invention.

먼저 도 2를 참조하면, 입력된 평문 데이터를 암호화 키를 기초로 암호화하여, 제1 암호문 데이터를 생성한다(S110). First, referring to FIG. 2 , input plaintext data is encrypted based on an encryption key to generate first ciphertext data (S110).

구체적으로 암호화 및 복호화 장치는 사용자로부터 개인정보를 포함하는 평문 데이터를 입력 받으면, 사전 설정에 따라 암호화 키를 이용하여 또는 단방향 또는 양방향 암호 알고리즘을 적용하여 암호화를 수행한다. 예를 들어, 암호 알고리즘으로 SHA512, AES256, SEED128, ARIA256 등이 이용될 수 있으나, 이에 제한되는 것은 아니며, 본 발명이 속하는 기술분야에서 잘 알려진 임의의 암호 알고리즘이 이용될 수 있다. 이때, 제 1암호문에는 평문 이외에 암호화 된 평문에 대한 스펙 정보, 예를 들며 암호화 알고리즘 방식, key index 등이 포함될 수 있다,Specifically, when the encryption and decryption apparatus receives plaintext data including personal information from the user, it performs encryption by using an encryption key or by applying a one-way or two-way encryption algorithm according to a preset. For example, SHA512, AES256, SEED128, ARIA256, etc. may be used as the encryption algorithm, but the present invention is not limited thereto, and any encryption algorithm well known in the art may be used. In this case, the first ciphertext may include specification information about the encrypted plaintext in addition to the plaintext, for example, an encryption algorithm method, a key index, and the like.

도 3은 본 발명에 따른, 개인 정보를 포함하는 평문 데이터를 암호화 키를 이용하여 제1 암호문으로 암호화하는 것을 나타낸 예시도이다. 3 is an exemplary diagram illustrating encryption of plaintext data including personal information into a first ciphertext using an encryption key according to the present invention.

도 3을 참조하면, 특정인의 성명에 관한 개인 정보를 포함하는, 평문 데이터 “홍길동”이 사용자로부터 입력되면, 암호화 및 복호화 장치는 소정의 암호 알고리즘에 따라 평문 데이터를 암호화 하여 제1 암호문 데이터인, “ErmdH6cwFOKjTvS2WUzh!”를 생성한다. Referring to FIG. 3 , when plaintext data “Hong Gil-dong” including personal information about a specific person’s name is input by the user, the encryption and decryption device encrypts the plaintext data according to a predetermined encryption algorithm to form the first encrypted text data, Create “ErmdH6cwFOKjTvS2WUzh!”

한편, 다시 도 2를 참조하면, 제1 암호문 데이터를 생성한 후, 주기적으로 추출되는 노이즈 벡터를 딥러닝 기반의 생성 모델에 적용하여, 시그니처 코드를 생성한다(S120). Meanwhile, referring back to FIG. 2 , after generating the first ciphertext data, a noise vector that is periodically extracted is applied to a deep learning-based generation model to generate a signature code ( S120 ).

구체적으로, 암호화 및 복호화 장치의 제어부(11)는 상기 암호화 및 복호화 장치가 설치되어 있는 시스템 상에서 노이즈 벡터를 추출한다. 그러나 이에 제한되는 것은 아니며, 사용자로부터 획득부(12)를 통해 임의의 노이즈 벡터에 관한 정보를 입력 받을 수도 있을 것이다. Specifically, the control unit 11 of the encryption and decryption apparatus extracts a noise vector on a system in which the encryption and decryption apparatus is installed. However, the present invention is not limited thereto, and information about an arbitrary noise vector may be input from the user through the acquisition unit 12 .

한편, 본 발명의 일 실시예로, 노이즈 벡터는 컴퓨터, 즉 하드웨어의 시스템 정보에 기반하여 생성되는 난수에 기반하여 추출될 수 있다. 예를 들어, 하드웨어의 온도, 시각 등에 기초하여 생성되는 난수를 상술한 노이즈 벡터로 활용할 수도 있다. 이를 위해, 메모리에는 임의의 난수를 생성하는 프로그램이 저장될 수 있다. Meanwhile, according to an embodiment of the present invention, the noise vector may be extracted based on a random number generated based on system information of a computer, that is, hardware. For example, a random number generated based on hardware temperature, time, etc. may be used as the noise vector described above. To this end, a program for generating an arbitrary random number may be stored in the memory.

추출된 노이즈 벡터는 시그니처 코드를 생성하는데 이용된다. 구체적으로는, 딥러닝 기반의 생성 모델에 상기 노이즈 벡터를 입력하여, 제1 입력값을 생성하고, 상기 제1 입력값을 시그니처 코드로 변환한다. The extracted noise vector is used to generate a signature code. Specifically, the noise vector is input to a deep learning-based generative model, a first input value is generated, and the first input value is converted into a signature code.

이하에서는, 도 4 내지 도 8을 참조하면, S120 단계의 시그니처 생성 방법에 대하여 상세히 설명하도록 한다. Hereinafter, a signature generating method in step S120 will be described in detail with reference to FIGS. 4 to 8 .

도 4는 본 발명에 따른, 시그니처 생성 방법에 대한 개략적인 순서도이고, 도 5는 본 발명에 따른 주기적으로 노이즈 벡터를 추출하는 것을 나타낸 예시도이고, 도 6은 본 발명에 따른, 딥러닝 기반의 생성 모델을 이용하여, 노이즈 벡터를 인코딩하는 것을 나타낸 예시도이고, 도 7은 본 발명에 따른, 노이즈 벡터를 인코딩 하여 제1 입력값을 생성하는 것을 나타낸 예시도이고, 도 8은 본 발명에 따른, 시그니처 코드를 구성하는 각각의 문자를 생성하는 방법을 나타낸 예시도이다. 4 is a schematic flowchart of a signature generation method according to the present invention, FIG. 5 is an exemplary diagram illustrating periodically extracting a noise vector according to the present invention, and FIG. 6 is a deep learning-based, according to the present invention. It is an exemplary diagram illustrating encoding a noise vector using a generative model, FIG. 7 is an exemplary diagram illustrating encoding a noise vector according to the present invention to generate a first input value, and FIG. 8 is an exemplary diagram according to the present invention , is an exemplary diagram showing a method of generating each character constituting the signature code.

먼저 도 4를 참조하면, m개의(단, m은 자연수) 평문 데이터를 암호화할 때마다 상기 노이즈 벡터를 주기적으로 추출한다(S121). First, referring to FIG. 4 , the noise vector is periodically extracted whenever m pieces of plaintext data (where m is a natural number) are encrypted ( S121 ).

도 5를 참조하면, m이 2라고 가정하였을 때, 첫 번째로 입력된 평문 데이터 1과 두 번째로 입력된 평문 데이터 2에는 동일한 노이즈 벡터가 추출되어 시그니처 코드를 생성하게 된다. 구체적으로, 평문 데이터 1이 입력되었을 때, 노이즈 벡터 1을 추출하여, 시그니처 코드를 생성한 후 노이즈 벡터 1에 관한 정보를 메모리에 저장한다. 그리고 평문 데이터 2가 입력되었을 때는, 새로운 노이즈 벡터를 추출하지 않으며, 평문 데이터 1의 시그니처 코드 생성 시 이용되었던 노이즈 벡터 1에 관한 정보를 추출하여, 이를 기초로 시그니처 코드를 생성한다.Referring to FIG. 5 , assuming that m is 2, the same noise vector is extracted from the first input plaintext data 1 and the second input plaintext data 2 to generate a signature code. Specifically, when plaintext data 1 is input, noise vector 1 is extracted, a signature code is generated, and information about noise vector 1 is stored in the memory. In addition, when plaintext data 2 is input, a new noise vector is not extracted, but information about noise vector 1 used when generating the signature code of plaintext data 1 is extracted, and a signature code is generated based on this.

이와 마찬가지로 세 번째로 입력된 평문 데이터 3과 네 번째로 입력된 평문 데이터 4는 동일한 노이즈 벡터 2가, 다섯 번째로 입력된 평문 데이터 5와 여섯 번째로 입력된 평문 데이터 6은 동일한 노이즈 벡터 3이 시그니처 코드를 생성하기 위하여 이용된다. 즉, 동일한 주기에 속한 평문 데이터는 동일한 노이즈 벡터가 이용된다. Similarly, the third input plaintext data 3 and the fourth input plaintext data 4 have the same noise vector 2, and the fifth input plaintext data 5 and sixth input plaintext data 6 have the same noise vector 3 Used to generate code. That is, the same noise vector is used for plaintext data belonging to the same period.

다시 도 4를 참조하면, 딥러닝 기반의 생성 모델을 기반으로, 상기 주기적으로 추출된 노이즈 벡터를 인코딩하여 제1 입력값을 생성한다(S122).Referring back to FIG. 4 , based on a deep learning-based generative model, the periodically extracted noise vector is encoded to generate a first input value ( S122 ).

구체적으로 노이즈 벡터는 딥러닝 기반의 생성 모델을 이용하여 인코딩 된다. 예를 들어, 노이즈 벡터를 원-핫 인코딩(One-Hot Encoding)을 통해 이진형 벡터로 변환할 수 있으나, 이에 제한되는 것은 아니다. 한편, 상술한 노이즈 벡터의 인코딩 과정은 딥러닝 기반의 생성 모델(Black Box)을 이용하므로, 노이즈 벡터를 인코딩하는 과정에서 내재되어 있는 규칙성을 제3 자가 추론하거나 인지할 수 없도록 하는 효과를 발휘하게 된다. Specifically, the noise vector is encoded using a deep learning-based generative model. For example, a noise vector may be converted into a binary vector through one-hot encoding, but is not limited thereto. On the other hand, since the above-described noise vector encoding process uses a deep learning-based generative model (black box), it has the effect of preventing a third party from inferring or recognizing the regularity inherent in the noise vector encoding process. will do

도 6을 참조하면, 원-핫 인코딩을 통해 획득한 임의의 노이즈 벡터를 4개의 이진형 벡터인, [0 0 0 0 0 1 0 0 0 0], [0 1 0 0 0 0 0 0 0 0], [0 0 0 0 0 0 0 0 1 0], [0 0 0 0 0 0 0 1 0 0]를 생성하였다. 도면에 명확히 도시되지는 않았으나, 4개의 이진형 벡터를 생성하기 위해서 암호화 및 복호화 장치는 4개의 임의의 벡터를 추출한다.Referring to FIG. 6 , the arbitrary noise vectors obtained through one-hot encoding are four binary vectors, [0 0 0 0 0 1 0 0 0 0], [0 1 0 0 0 0 0 0 0 0] , [0 0 0 0 0 0 0 0 1 0], [0 0 0 0 0 0 0 1 0 0] were generated. Although not clearly shown in the drawing, in order to generate four binary vectors, the encryption and decryption apparatus extracts four random vectors.

한편, 노이즈 벡터를 인코딩 한 후에는 제1 입력값을 생성한다. 예를 들어, 도 7을 참조하면, 딥러닝 기반의 생성 모델을 기초로, 노이즈 벡터를 4개의 원-핫 벡터로 인코딩 한 후, 상기 원-핫 벡터를 기초로 제1 입력값을 생성한다. 도 4를 참조하면, 각각의 원-핫 벡터를 각각의 숫자로 변환하고, 변환된 숫자로 구성된 제1 입력값을 생성하였다. 도 4를 참조하면, 4개의 이진형 벡터인 [0 0 0 0 0 1 0 0 0 0], [0 1 0 0 0 0 0 0 0 0], [0 0 0 0 0 0 0 0 1 0], [0 0 0 0 0 0 0 1 0 0]를 기초로, '5187'의 제1 입력값을 생성하였다.Meanwhile, after encoding the noise vector, a first input value is generated. For example, referring to FIG. 7 , based on a deep learning-based generative model, a noise vector is encoded into four one-hot vectors, and a first input value is generated based on the one-hot vectors. Referring to FIG. 4 , each one-hot vector was converted into each number, and a first input value composed of the converted number was generated. 4, four binary vectors [0 0 0 0 1 0 0 0 0], [0 1 0 0 0 0 0 0 0 0], [0 0 0 0 0 0 0 0 1 0], Based on [0 0 0 0 0 0 0 1 0 0], a first input value of '5187' was generated.

이때, 노이즈 벡터의 입력 순서 또는 노이즈 벡터가 인코딩 되어 생성되는 원-핫 벡터의 생성 순서에 기초하여, 각각의 원-핫 벡터로부터 변환된 각각의 숫자로 제1 입력값을 생성할 수 있다. 예를 들어, [0 0 0 0 0 1 0 0 0 0], [0 1 0 0 0 0 0 0 0 0], [0 0 0 0 0 0 0 0 1 0], [0 0 0 0 0 0 0 1 0 0]의 4개의 벡터 중 1번째로 생성된 벡터인, [0 0 0 0 0 1 0 0 0 0]의 변환으로 생성된 '5'는 제1 입력값의 첫 번째 자릿값에 해당한다. In this case, based on the input order of the noise vector or the generation order of the one-hot vector generated by encoding the noise vector, the first input value may be generated with each number converted from each one-hot vector. For example, [0 0 0 0 0 1 0 0 0 0], [0 1 0 0 0 0 0 0 0 0], [0 0 0 0 0 0 0 0 1 0], [0 0 0 0 0 0 0 1 0 0], the first generated vector, '5' generated by the transformation of [0 0 0 0 1 0 0 0 0] corresponds to the first digit of the first input value. .

다시 도 4를 참조하면, 제1 입력값을 생성한 후 기 설정된 시그니처 코드 변환 테이블을 기초로 제1 입력값을 시그니처 코드로 변환한다. 여기서 시그니처 코드 변환 테이블이란, 사전에 정의된 중복되지 않는 순서 정보에 기초하여, 시그니처 코드를 구성하게 되는 문자, 숫자, 기호 등이 배치되어 구성된 변환 테이블을 의미한다.Referring back to FIG. 4 , after generating a first input value, the first input value is converted into a signature code based on a preset signature code conversion table. Here, the signature code conversion table refers to a conversion table configured by arranging letters, numbers, symbols, etc. constituting the signature code, based on predefined non-overlapping sequence information.

구체적으로 도 8을 참조하면,. 제1 입력값과 시그니처 코드 변환 테이블을 기초로 제1 입력값에 상응하는 상기 시그니처 코드를 구성하는 각각의 문자를 결정한다. 시그니처 코드 변환 테이블을 구성하는 전체 문자의 개수가 63이라고 가정하면, 제1 입력값(5187)의 1번째 숫자인 5에 상응하는 시그니처 코드 문자는 다음과 같이 결정될 수 있다. 먼저 다음의 식을 통해 시그니처 코드 변환 테이블 내에서의 변환될 문자가 위치한 순서를 결정한다. Specifically, referring to FIG. 8 . Each character constituting the signature code corresponding to the first input value is determined based on the first input value and the signature code conversion table. Assuming that the total number of characters constituting the signature code conversion table is 63, the signature code character corresponding to the first number 5 of the first input value 5187 may be determined as follows. First, the order of the characters to be converted in the signature code conversion table is determined through the following expression.

[식 1][Equation 1]

변환할 제1입력값의 수/(제1입력값을 구성하는 수의 합) X 시그니처 코드 변환 테이블을 구성하는 전체 문자의 개수 + 변환할 제1입력값의 수의 이전 자리 값의 결과값Number of first input values to be converted/(sum of numbers constituting the first input value) X The total number of characters constituting the signature code conversion table + the result value of the previous digit of the number of first input values to be converted

즉, 제1 입력값(5187)의 1번째 숫자인 5의 경우 시그니처 코드 변환 테이블 내 15번째(5/(5+1+8+7) x 63=15)의 문자인, "D"로 변환된다. That is, in the case of 5, which is the first number of the first input value 5187, it is converted to "D", the 15th (5/(5+1+8+7) x 63=15) character in the signature code conversion table do.

이와 같이 동일한 방법에 의하면, 제1 입력값(5187)의 2번째 숫자인 1은 시그니처 코드 변환 테이블 내 18번째의 문자인, "G"로, 제1 입력값(5187)의 3번째 숫자인 8은 시그니처 코드 변환 테이블 내 42번째 문자인, "e"로, 제1 입력값의 마지막 문자인 7은, 시그니처 코드 변환 테이블 내 63번째 문자인, "z"로 변환된다. 즉, 시그니처 코드는 "DGez"로 생성될 것이다. 이와 같이, 제1 입력값을 구성하는 각각의 숫자는 시그니처 코드를 구성하는 각각의 문자, 숫자 또는 기호 등으로 변환된다. According to the same method as described above, 1, which is the second number of the first input value 5187, is "G", which is the 18th character in the signature code conversion table, and 8, which is the third number of the first input value 5187, is converted into "e", which is the 42nd character in the signature code conversion table, and 7, which is the last character of the first input value, is converted to "z", which is the 63rd character in the signature code conversion table. That is, the signature code will be generated as "DGez". In this way, each number constituting the first input value is converted into each letter, number, or symbol constituting the signature code.

한편, 본 발명의 일 예로, 딥러닝 기반의 생성 모델은 다봉 분포(multimodal-distribution)의 네트워크 내 노이즈 벡터를 기초로 사전 학습된 것일 수 있다. 즉, 일반적인 정규 분포를 가진 네트워크 내 노이즈 벡터가 아닌 다봉 분포의 네트워크 내 노이즈 벡터를 기초로 사전 학습함으로써, 딥러닝 기반의 생성 모델의 결과값의 피처 스페이스(Feature Space)의 복잡성을 높일 수 있을 것이다. Meanwhile, as an example of the present invention, a deep learning-based generative model may be pre-trained based on a noise vector in a multimodal-distribution network. In other words, it is possible to increase the complexity of the feature space of the result of the deep learning-based generative model by pre-learning based on the noise vector in the multimodal distribution network rather than the noise vector in the network having a general normal distribution. .

이외에도, 사전 학습 과정에서, 딥러닝 기반의 생성 모델의 일부 은닉층(Hidden State)의 Drop-Out이나, Distillation학습 기법을 사용하여 제3자의 딥러닝 모델의 파라미터의 예측 가능성을 낮추고, 파라미터의 모방을 방지할 수도 있다. In addition, in the pre-learning process, drop-out of some hidden states of the deep learning-based generative model or the distillation learning technique are used to lower the predictability of the parameters of a third-party deep learning model, and to imitate the parameters. can also be prevented.

또한, 사용자에 의해 기 설정된 딥러닝 기반의 생성 모델의 가중치 값에 따라서 사전 학습을 수행할 수도 있을 것이다. In addition, pre-learning may be performed according to the weight value of the deep learning-based generative model preset by the user.

다시 도 2를 살펴보면, 시그니처 코드를 생성하면, 시그니처 코드와 노이즈 벡터를 제1 암호문 데이터에 삽입하여 제2 암호문 데이터를 생성한다(S130).Referring to FIG. 2 again, when the signature code is generated, the signature code and the noise vector are inserted into the first ciphertext data to generate the second ciphertext data (S130).

이하에서는, 도 9 내지 도 11을 참조하면, 제2 암호문 데이터를 생성하는 구체적인 방법에 대하여 서술하도록 한다. Hereinafter, with reference to FIGS. 9 to 11 , a specific method of generating the second ciphertext data will be described.

도 9는 본 발명에 따른, 제2 암호문 데이터를 생성하는 방법을 개략적으로 나타낸 순서도이고, 도 10은 본 발명에 따른, 시그니처 코드를 구성하는 각각의 문자의 제1 암호문 데이터 내의 삽입 위치를 결정하는 것을 나타낸 예시도이고, 도 11은 노이즈 값과 시그니처 코드를 기초로, 제2 암호문 데이터를 생성하는 것을 나타낸 예시도이다. 9 is a flowchart schematically illustrating a method for generating second cipher text data according to the present invention, and FIG. 10 is a method for determining an insertion position in the first cipher text data of each character constituting a signature code according to the present invention 11 is an exemplary diagram illustrating generation of second ciphertext data based on a noise value and a signature code.

먼저 도 9를 살펴보면, 본 발명의 일 예로, 노이즈 벡터를 제1 암호문 데이터의 제1 위치에 첨부한다(S131). 여기서 제1 위치는 제1 암호문 데이터의 어두 또는 어미에 해당할 수 있다. 바람직하게는, 제1 암호문 데이터의 종결부에 상기 노이즈 벡터를 첨부하는, Postfix방식에 의할 것이다.First, referring to FIG. 9, as an example of the present invention, a noise vector is appended to a first position of the first ciphertext data (S131). Here, the first position may correspond to the beginning or the end of the first cipher text data. Preferably, the postfix method of appending the noise vector to the end of the first ciphertext data will be used.

보다 구체적으로 추출된 노이즈 벡터를 바이트(byte)로 변환하여, 제1 암호문 데이터의 종결부에 첨부할 수 있다. 4개의 노이즈 벡터가 추출되었다고 가정하면, 상기 4개의 노이즈 벡터를 각각 바이트 형식으로 변환하여, 각각의 노이즈 벡터가 추출된 순서에 따라서, 제1 암호문 데이터에 Postfix방식에 따라 첨부될 수 있을 것이다.More specifically, the extracted noise vector may be converted into bytes and appended to the end of the first ciphertext data. Assuming that four noise vectors are extracted, each of the four noise vectors is converted into a byte format, and each noise vector may be appended to the first ciphertext data according to the Postfix method according to the extracted order.

다시 도 9를 살펴보면, 제1 입력값과 제1 암호문 데이터의 길이 정보를 기초로 제1 암호문 데이터 내에서의 상기 각각의 문자의 삽입 위치를 결정할 수 있다(S132). Referring to FIG. 9 again, it is possible to determine the insertion position of each character in the first ciphertext data based on the first input value and the length information of the first ciphertext data (S132).

구체적으로, 시그니처 코드를 구성하는 각각의 문자, 숫자 또는 기호가 제1 암호문 내에서 삽입되게 될 위치 정보를 생산한다. 구체적으로는, 시그니처 코드의 각각의 문자 등이 분배되어 제1 암호문에 삽입하게 되는 각각의 위치 정보를 생산하는 것이다. Specifically, each letter, number or symbol constituting the signature code produces positional information to be inserted in the first cipher text. Specifically, each character of the signature code is distributed and each position information inserted into the first cipher text is produced.

본 발명의 일 예로, 시그니처 코드의 삽입 위치는 상술한 비율 방식에 따라서 결정될 수 있다. 예를 들어, 도 10을 참조하면, 먼저 시그니처 코드의 첫 번째 문자인 D의 삽입 위치는 다음의 식에 의해 결정된다. As an example of the present invention, the insertion position of the signature code may be determined according to the ratio method described above. For example, referring to FIG. 10 , the insertion position of D, which is the first character of the signature code, is determined by the following equation.

[식 2][Equation 2]

삽입 위치를 결정할 제1입력값의 수/(제1입력값을 구성하는 수의 합) X 제1 암호문 데이터의 길이 + 삽입 위치를 결정할 제1입력값의 수의 이전 자리 값의 결과값The number of first input values to determine the insertion position/(sum of the numbers constituting the first input value) X the length of the first cipher text data + the result value of the previous digit of the number of first input values to determine the insertion position

즉, D는 제1 암호문 데이터 내에서 5번째(5/(5+1+8+7) x 21=5) 위치에 삽입되게 된다. 이와 같이 시그니처 코드를 구성하는 나머지 문자 G,e,z의 각각의 삽입 위치를 계산하면, G는 제1 암호문 데이터 내 6번째, e는 제1 암호문 데이터 내 14번째 그리고 z는 제1 암호문 데이터 내 21번째로 삽입 위치가 결정된다. That is, D is inserted at the fifth (5/(5+1+8+7) x 21=5) position in the first ciphertext data. In this way, when the insertion positions of the remaining characters G, e, and z constituting the signature code are calculated, G is the 6th in the first cipher text data, e is the 14th in the first cipher text data, and z is the first cipher text data The 21st insertion position is determined.

이때, 상기 식 1과 식 2를 이용한 계산 과정에서, 암호화 장치 및 복호화 장치는 식 1과 식 2을 통해 산출된 값 미만의 최대값으로 시그니처 코드 변환 테이블 내에서의 변환될 문자 위치 순서와 삽입 위치를 결정할 수 있다. In this case, in the calculation process using Equations 1 and 2, the encryption device and the decryption device are the maximum value less than the value calculated through Equations 1 and 2, and the order of the character positions to be converted in the signature code conversion table and the insertion position can be decided

다시 도 9를 살펴보면, 시그니처 코드를 구성하는 각각의 문자의 삽입 위치가 결정되면, 결정된 각각의 삽입 위치에 상기 각각의 문자를 삽입한다S133). Referring to FIG. 9 again, when the insertion position of each character constituting the signature code is determined, each character is inserted at each of the determined insertion positions (S133).

도 11을 참조하면, 먼저, 상술한 바와 같이, S131 단계에서, 노이즈 벡터에 관한 값인, "0011001"을 제1 암호문 데이터에 Postfix 방식에 의하여 첨부한다. 구체적으로, 기존의 제1 암호문 데이터의 종결부에 노이즈 벡터에 관한 값을 첨부한다. 그리고, S132 단계에서, 시그니처 코드를 구성하는 'D', 'G', 'e', 'z'를 각각 결정된 삽입 위치에 따라 제1 암호문 데이터에 삽입한다. 이를 통해, 암호화 및 복호화 장치는 제1 암호문 데이터인 "ErmdH6cwF0KJTvS2WUzh!"에 노이즈 벡터와 시그니처 코드가 삽입된, 제2 암호문 데이터인 "ErmdHD6GcwF0KJTveS2WUh!z0011001"를 생성한다. Referring to FIG. 11, first, as described above, in step S131, "0011001", which is a value related to a noise vector, is appended to the first ciphertext data by the Postfix method. Specifically, a value related to the noise vector is appended to the end of the existing first ciphertext data. Then, in step S132, 'D', 'G', 'e', and 'z' constituting the signature code are inserted into the first ciphertext data according to the determined insertion positions, respectively. Through this, the encryption and decryption apparatus generates "ErmdHD6GcwF0KJTveS2WUh!z0011001", which is the second ciphertext data, in which the noise vector and the signature code are inserted into the first ciphertext data "ErmdH6cwF0KJTvS2WUzh!".

한편, 상술한 바와 같이, 동일한 주기 내의 평문 데이터는 동일한 노이즈 벡터를 이용하여, 동일한 시그니처 코드를 생성한다. 그러나, 제2 암호문 데이터를 생성하는 과정에서, 결정되는 시그니처 코드를 구성하는 각각의 문자, 숫자, 기호의 삽입 위치는, 제1 암호문 데이터의 길이에 기반한다. 그렇기 때문에, 동일한 시그니처 코드를 이용하는 동일한 주기의 평문 데이터라 하더라도, 각각의 평문 데이터에 의해 생성된 제1 암호문 데이터에 따라서, 각각의 제1 암호문 데이터에 삽입되는 길이 정보는 상이할 수 밖에 없다. Meanwhile, as described above, the same signature code is generated for plaintext data within the same period by using the same noise vector. However, in the process of generating the second ciphertext data, insertion positions of each letter, number, and symbol constituting the determined signature code are based on the length of the first ciphertext data. Therefore, even in plaintext data of the same period using the same signature code, length information inserted into each first ciphertext data is inevitably different according to the first ciphertext data generated by each plaintext data.

도 12는 제1 암호문 데이터 길이 정보를 더 이용하여 제2 암호문 데이터를 생성하는 예시도이다. 12 is an exemplary diagram of generating second cipher text data by further using first cipher text data length information.

본 발명의 일 예로, 상술한 S130 단계는, 제1 암호문 데이터의 길이에 관한 정보를 상기 제1 암호문 데이터의 제2 위치에 첨부하여 제2 암호문 데이터를 생성할 수도 있다. 구체적으로, 제2 암호문 데이터는, 제1 암호문 데이터의 길이 정보에 더 기초하여 생성될 수도 있다. 이때, 제1 암호문 데이터의 길이 정보가 첨부되는 제2 위치는 상술한 노이즈 벡터가 첨부되는 제1 위치와는 중복되지 않도록 결정된다. 즉, Postfix 방식에 의하여 노이즈 벡터에 관한 값이 제1 암호문 데이터에 첨부되었다면, 제1 암호문 데이터의 길이에 관한 정보는 Prefix 방식에 의하여 제1 암호문 데이터에 첨부될 수 있다. As an example of the present invention, in step S130 described above, information on the length of the first cipher text data may be appended to the second position of the first cipher text data to generate second cipher text data. Specifically, the second cipher text data may be generated further based on length information of the first cipher text data. In this case, the second position to which the length information of the first ciphertext data is appended is determined not to overlap the first position to which the noise vector is appended. That is, if the value related to the noise vector is attached to the first ciphertext data by the Postfix method, information on the length of the first ciphertext data may be attached to the first ciphertext data by the Prefix method.

즉, 상술한 바와 같이, 동일한 주기 내의 평문 데이터는 동일한 노이즈 벡터에 의하여 생성된 동일한 시그니처 코드를 기초로, 각각 제2 암호문 데이터로 생성된다. 따라서, 동일한 주기 내의 평문 데이터에 상응하는 각각의 제2 암호문 데이터의 경우에는 동일한 시그니처 코드 식별 키가 첨부될 것이다. That is, as described above, plaintext data within the same period is generated as second ciphertext data, respectively, based on the same signature code generated by the same noise vector. Accordingly, the same signature code identification key will be attached to each second ciphertext data corresponding to the plaintext data within the same period.

도 12를 참조하면, 노이즈 벡터가 첨부된 후, 시그니처 코드의 각각의 문자가 삽입된 데이터에 제1 암호문 데이터의 길이 정보가 더 첨부되는 것을 알 수 있다. 또한 상술한 바와 같이, 제1 암호문 데이터의 길이 정보는 노이즈 벡터에 관한 값과는 중복되는 않는 위치에 삽입되었다. 구체적으로, 제1 암호문 데이터의 길이 정보는 제1 암호문 데이터의 시작부에 노이즈 벡터에 관한 값은 제1 암호문 데이터의 종결부에 첨부된 것을 알 수 있다. Referring to FIG. 12 , it can be seen that, after the noise vector is appended, length information of the first cipher text data is further appended to the data in which each character of the signature code is inserted. Also, as described above, the length information of the first cipher text data is inserted at a position that does not overlap with the value related to the noise vector. Specifically, it can be seen that the length information of the first ciphertext data is attached to the beginning of the first ciphertext data, and the value related to the noise vector is appended to the end of the first ciphertext data.

한편 본 발명의 일 예로, 도면에 명확히 도시되지는 않았으나, 딥러닝 기반의 암호화 및 복호화 방법은 시그니처 코드의 길이 정보를 사전에 설정하는 단계를 더 포함할 수 있다. 이때, 제1 입력값을 생성하는 단계는(S120), 임의의 노이즈 벡터를 상기 길이 정보에 상응하는 개수만큼 노이즈 벡터를 추출하여 제1 입력값을 생성할 수 있다. Meanwhile, as an example of the present invention, although not clearly shown in the drawings, the deep learning-based encryption and decryption method may further include the step of setting the length information of the signature code in advance. In this case, in the step of generating the first input value ( S120 ), the first input value may be generated by extracting the number of random noise vectors corresponding to the length information.

구체적으로, 상술한 바와 같이 하나의 노이즈 벡터는 딥러닝 기반의 생성 모델에 의해 하나의 원-핫 벡터로 인코딩되는 것을 알 수 있다. 그리고, 도 5를 참조하면, 4개의 원-핫 벡터를 기초로 생성된 제1 입력값은 4자리의 숫자로 구성된다. 또한, 시그니처 코드는 제1 입력값의 자릿수에 상응하는 문자 개수로 구성된다. 따라서, 시그니처 코드를 구성하는 문자 개수, 즉 시그니처 코드의 길이는 결국, 제1 입력값의 자릿수에 대응된다. 따라서, 사용자는 제1 암호문 데이터에 삽입하고자 하는 시그니처 코드의 길이 정보를 사전에 설정하면, 암호화 및 복호화 장치는 설정된 길이 정보에 상응하는 개수만큼 노이즈 벡터를 추출하여 제1 입력값을 생성한다. Specifically, as described above, it can be seen that one noise vector is encoded as one one-hot vector by a deep learning-based generative model. And, referring to FIG. 5 , the first input value generated based on the four one-hot vectors consists of four digits. In addition, the signature code is composed of the number of characters corresponding to the number of digits of the first input value. Accordingly, the number of characters constituting the signature code, that is, the length of the signature code, eventually corresponds to the number of digits of the first input value. Accordingly, when the user sets the length information of the signature code to be inserted into the first cipher text data in advance, the encryption and decryption apparatus extracts the number of noise vectors corresponding to the set length information to generate the first input value.

예를 들어, 시그니처 코드의 길이 정보가 10이라고 설정되면, 암호화 및 복호화 장치는 10개의 노이즈 벡터를 추출한 후, 각각의 노이즈 벡터를 인코딩하여, 10개의 원-핫 벡터를 생성한 후 10자리의 숫자로 구성된 제1 입력값을 생성하게 된다.For example, if the length information of the signature code is set to 10, the encryption and decryption apparatus extracts 10 noise vectors, encodes each noise vector, generates 10 one-hot vectors, and then a 10-digit number A first input value composed of

이하, 도 13을 참조하여, 제2 암호화 데이터를 복호화 하여 평문 데이터를 복원하는 방법에 대하여 설명하도록 한다. Hereinafter, a method of recovering plaintext data by decrypting the second encrypted data will be described with reference to FIG. 13 .

도 13은 본 발명에 따른, 제2 암호화 데이터를 복호화 하는 방법을 개략적으로 나타낸 순서도이다. 13 is a flowchart schematically illustrating a method of decrypting second encrypted data according to the present invention.

먼저, 도 13을 참조하면, 제2 암호문 데이터로부터 노이즈 벡터를 추출한다(S150). 그리고 딥러닝 기반의 생성 모델에 노이즈 벡터를 적용하여, 시그니처 코드를 생성한다(S160).First, referring to FIG. 13 , a noise vector is extracted from the second ciphertext data (S150). Then, a noise vector is applied to the deep learning-based generative model to generate a signature code (S160).

시그니처 코드를 생성한 후에는 시그니처 코드를 기초로, 제2 암호문 데이터에 삽입되어 있는 각각의 문자를 제거하여 제1 암호문 데이터로 복원한(S170) 후, 제1 암호문 데이터를 상기 암호화 키를 기초로 복호화하여 상기 평문 데이터를 생성한다(S180).After the signature code is generated, each character inserted in the second cipher text data is removed based on the signature code and restored to the first cipher text data (S170), and then the first cipher text data is converted into the first cipher text data based on the encryption key. The plaintext data is generated by decoding (S180).

이때, 시그니처 코드를 생성하는 단계(S160)는, 딥러닝 기반의 생성 모델을 기반으로, 제2 암호문 데이터로부터 추출된 노이즈 벡터를 인코딩하여 제1 입력값을 생성하고, 기 설정된 시그니처 코드 변환 테이블을 기초로 제1 입력값을 시그니처 코드로 변환한다.In this case, the step of generating the signature code ( S160 ) is based on a deep learning-based generation model, by encoding the noise vector extracted from the second cipher text data to generate a first input value, and generating a preset signature code conversion table. Converts the first input value into a signature code based on the

상술한 바와 같이, 제2 암호문 데이터 내에는 시그니처 코드를 생성하는데 이용된 노이즈 벡터에 관한 정보가 포함된다. 따라서, 상기 노이즈 벡터를 추출하고, 딥러닝 기반의 생성 모델에 입력하여, 제2 암호문 데이터를 생성할 때, 삽입되었던 시그니처 코드와 동일한 시그니처를 코드를 생성할 수 있는 것이다. 이를 위해, 본 발명의 일 예로는, 암호화 단계에서 이용된 시그니처 코드와 동일한 시그니처 코드를 생성할 수 있도록, 딥러닝 기반의 생성 모델의 필터 정보를 메모리에 저장한다. As described above, information about the noise vector used to generate the signature code is included in the second ciphertext data. Therefore, when the noise vector is extracted and input to a deep learning-based generation model to generate the second cipher text data, the same signature as the inserted signature code can be generated. To this end, as an example of the present invention, filter information of the deep learning-based generation model is stored in the memory so that the same signature code as the signature code used in the encryption step can be generated.

한편, 생성된 시그니처 코드를 기초로, 상기 제2 암호문 데이터에 삽입되어 있는 상기 각각의 문자를 제거하여 제1 암호문 데이터로 복원한다. Meanwhile, based on the generated signature code, each of the characters inserted in the second ciphertext data is removed to restore the first ciphertext data.

도 11을 참조하면, 제2 암호문 데이터, "ErmdHD6GcwF0KJTveS2WUh!z"에 삽입되어 있는 시그니처 코드 "DGez"의 각각의 문자를 제거하여 제1 암호문 데이터, "ErmdH6cwF0KJTvS2WUzh!"로 복원한다. 그리고 제1 암호문 데이터로 복원한 후 메모리(13)로부터 상기 암호화 키 참조 값에 상응하는 상기 암호화 키를 추출한다. 그리고 추출된 암호화 키를 이용하여 상기 제1 암호문 데이터를 복호화하여 상기 평문 데이터를 생성, 복호화가 완료된다. Referring to FIG. 11 , each character of the signature code “DGez” inserted in the second ciphertext data “ErmdHD6GcwF0KJTveS2WUh!z” is removed to restore the first ciphertext data “ErmdH6cwF0KJTvS2WUzh!”. Then, after restoring the first encrypted text data, the encryption key corresponding to the encryption key reference value is extracted from the memory 13 . Then, the first cipher text data is decrypted using the extracted encryption key to generate and decrypt the plain text data.

또한, 본 발명의 일 예로는, 상술한 제1 암호문 데이터의 길이 정보가 첨부되어 있는, 제2 암호문 데이터의 경우에는, 상기 제1 암호문 데이터의 길이 정보와 노이즈 벡터를 기초로, 제2 암호문 데이터에 삽입되어 있는, 시그니처 코드를 제거할 수 있다. In addition, as an example of the present invention, in the case of the second ciphertext data to which the length information of the above-described first ciphertext data is attached, the second ciphertext data is based on the length information of the first ciphertext data and the noise vector. You can remove the signature code, which is inserted in .

구체적으로, 제2 암호문 데이터의 제1 위치, 예를 들어 종결부에 첨부되어 있는 노이즈 벡터를 추출하여, 딥러닝 기반의 생성 모델에 적용하여 제1 값을 산출한다. 상기 제1 값과 기 저장된 시그니처 코드 변환 테이블을 기반으로, 시그니처 코드를 구성하는 각각의 문자를 생성한다. 또한, 제2 암호문 데이터의 제2 위치, 예를 들어 시작부에 첨부되어 있는 제1 암호문 데이터의 길이 정보를 추출하여, 상기 제1 값과 상기 제1 암호문 데이터의 길이 정보를 기초로, 제2 암호문 데이터 내에 삽입되어 있는 시그니처 코드를 구성하는 각각의 문자의 삽입 위치를 결정한다. 그리고, 결정된 삽입 위치로부터 각각의 문자를 제거함으로써, 제2 암호문 데이터를 제1 암호문 데이터로 복원할 수 있을 것이다. Specifically, the first position of the second ciphertext data, for example, a noise vector attached to the end is extracted and applied to a deep learning-based generative model to calculate a first value. Based on the first value and the pre-stored signature code conversion table, each character constituting the signature code is generated. In addition, the second position of the second cipher text data, for example, by extracting the length information of the first cipher text data attached to the beginning, based on the first value and the length information of the first cipher text data, the second The insertion position of each character constituting the signature code inserted in the ciphertext data is determined. And, by removing each character from the determined insertion position, the second cipher text data may be restored to the first cipher text data.

한편, 본 발명의 다른 예로는, Caching 방식을 기반으로, 복호화를 수행할 수도 있다. 구체적으로, 사전에 설정된 n개(단, n은 자연수)의 노이즈 벡터와 시그니처 코드를 맵핑하여 저장한 후, 제2 암호문 데이터로부터 노이즈 벡터를 추출하여, 상기 추출된 노이즈 벡터에 상응하는 시그니처 코드를 메모리로부터 추출한다. 그리고, 상기 시그니처 코드를 이용하여, 제2 암호문 데이터에 포함되어 있는, 시그니처 코드를 구성하는, 각각의 문자를 제거한다. 이를 통해, 보다 신속하게 복호화 과정을 수행할 수 있도록 한다. 한편, 사전에 설정된 n개의 노이즈 벡터는, 암호화 및 복호화 서비스를 제공하는 사용자 등에 의해, 노이즈 벡터의 빈도수 등에 따라 주기적으로 변경될 수 있다. 그러나 이에 제한되는 것은 아니다. Meanwhile, as another example of the present invention, decoding may be performed based on a caching method. Specifically, after mapping and storing n preset noise vectors (where n is a natural number) and a signature code, the noise vector is extracted from the second cipher text data, and a signature code corresponding to the extracted noise vector is obtained. extract from memory. Then, each character constituting the signature code included in the second cipher text data is removed by using the signature code. Through this, the decryption process can be performed more quickly. Meanwhile, the preset n noise vectors may be periodically changed according to the frequency of the noise vectors, etc. by a user who provides encryption and decryption services. However, the present invention is not limited thereto.

한편, 제2 암호문 데이터는 주기적으로 갱신함으로써, 제2 암호문 데이터의 해독 가능성을 없애고, 평문 데이터가 유출되는 것을 방지할 수 있다. On the other hand, by periodically updating the second cipher text data, it is possible to eliminate the possibility of decryption of the second cipher text data and to prevent leakage of the plain text data.

이하, 제2 암호문 데이터를 주기적으로 갱신하는 방법에 대하여 설명하도록 한다. Hereinafter, a method of periodically updating the second ciphertext data will be described.

도 14는 본 발명에 따른, 시그니처 코드 변환 테이블 조정을 통한, 제2 암호문 데이터의 갱신 방법을 나타낸 예시도이다. 14 is an exemplary diagram illustrating a method of updating second ciphertext data by adjusting a signature code conversion table according to the present invention.

먼저, 제2 암호문 데이터 내 삽입되어 있는 시그니처 코드를 주기적으로 변경함으로써, 궁극적으로 제2 암호문 데이터를 갱신한다. First, by periodically changing the signature code inserted in the second cipher text data, the second cipher text data is ultimately updated.

도면에 명확히 도시되지는 않았으나, 본 발명의 일 예로, 상술한 딥러닝 기반의 생성 모델을 이용한 암호화 방법 및 복호화 방법은, 시그니처 코드 변환 테이블을 기초로, 상기 제2 암호문 데이터를 주기적으로 갱신하는 단계를 더 포함할 수 있다. 이때, 상기 제2 암호문 데이터를 갱신하는 단계는, 상기 시그니처 코드 변화 테이블 내 문자 배열을 주기적으로 조정하고, 상기 조정된 시그니처 코드 변환 테이블 기초로, 상기 제2 암호문 데이터 내의 시그니처 코드를 변경하여 상기 제2 암호문 데이터를 갱신할 수 있다. Although not clearly shown in the drawings, as an example of the present invention, the encryption method and the decryption method using the deep learning-based generative model described above include periodically updating the second ciphertext data based on a signature code conversion table. may further include. In this case, the updating of the second cipher text data includes periodically adjusting the character arrangement in the signature code change table, and changing the signature code in the second cipher text data based on the adjusted signature code conversion table. 2 The ciphertext data can be updated.

도 14를 참조하면, 동일한 제1 입력값인 5187에 대한 시그니처 코드가 시그니처 코드 변환 테이블 내 문자 배열의 조정에 따라, 다르게 생성되는 것을 알 수 있다. 구체적으로, 제1 시그니처 코드 변환 테이블에 기초하여 생성된 시그니처 코드는 "DGez"인데 반해, 제2 시그니처 코드 변환 테이블에 기초하여 생성된 시그니처 코드는 "orP9"이다. Referring to FIG. 14 , it can be seen that the signature code for 5187, which is the same first input value, is differently generated according to the adjustment of the character arrangement in the signature code conversion table. Specifically, the signature code generated based on the first signature code conversion table is "DGez", whereas the signature code generated based on the second signature code conversion table is "orP9".

그리고 각각의 시그니처 코드가 삽입되어 생성된 제2 암호문 데이터 또한 상이한 것을 알 수 있다. 이와 같이 시그니처 코드를 변경함으로써, 제2 암호문 데이터를 갱신할 수 있다. In addition, it can be seen that the second ciphertext data generated by inserting each signature code is also different. By changing the signature code in this way, the second cipher text data can be updated.

각각의 시그니처 코드는 각각의 제1 입력값과 상응한다. 그렇기 때문에 시그니처 코드 변환 테이블의 변경을 통한 제2 암호문 데이터를 갱신하기 위해서는 동일한 제1 입력값에 의하여야만 한다. 따라서, 본 발명의 일 예로 암호화 및 복호화 장치는 각각의 제2 암호문 데이터에 첨부된, 노이즈 벡터를 추출하여, 딥러닝 기반의 생성 모델을 통해, 제1 입력값을 생성할 수 있다. . Each signature code corresponds to a respective first input value. Therefore, in order to update the second ciphertext data through the change of the signature code conversion table, the same first input value must be used. Accordingly, as an example of the present invention, the encryption and decryption apparatus may extract a noise vector attached to each second ciphertext data, and generate a first input value through a deep learning-based generative model. .

한편, 본 발명의 일 예로, 상술한 제2 암호문 데이터의 갱신 단계는, 동일한 주기에 속하는 제2 암호문 데이터에 대해서 일괄적으로 갱신할 수 있을 것이다. On the other hand, as an example of the present invention, in the above-described step of updating the second ciphertext data, the second ciphertext data belonging to the same period may be collectively updated.

한편, 본 발명의 다른 일 예로, 제2 암호화 데이터는 딥러닝 기반의 생성모델의 재학습을 기초로, 갱신될 수도 있다. On the other hand, as another example of the present invention, the second encrypted data may be updated based on the re-learning of the deep learning-based generative model.

구체적으로, 딥러닝 기반의 생성 모델의 사전 학습과 관련하여, 노이즈 벡터의 분포 정보를 주기적으로 변경한 후 딥러닝 기반의 생성 모델을 재학습 시켜, 생성 모델의 은닉층(Hidden State)의 가중치 값을 조정한다. 그리고, 조정된 가중치 값을 기초로, 새로운 제1 입력값(이하, "제2 입력값")을 생성한다. 그리고 제2 입력값을 새로운 시그니처 코드(이하, "제2 시그니처 코드")로 변환한 후, 상기 제2 시그니처 코드를 제1 암호문 데이터에 삽입하여 제2 암호문 데이터를 주기적으로 갱신한다. Specifically, in relation to the prior learning of the deep learning-based generative model, the distribution information of the noise vector is periodically changed and then the deep learning-based generative model is re-learned to determine the weight value of the hidden state of the generative model. Adjust. Then, based on the adjusted weight value, a new first input value (hereinafter, “second input value”) is generated. After converting the second input value into a new signature code (hereinafter, “second signature code”), the second signature code is inserted into the first cipher text data to periodically update the second cipher text data.

즉, 상술한 시그니처 코드 변환 테이블의 조정을 통한, 제2 암호문 데이터의 갱신 방법은 동일한 제1 입력값을 기초로 수행되었다면, 딥러닝 기반의 생성 모델의 재학습을 통한, 갱신 방법은 암호문을 생성 당시에 사용되었던 제1 입력값과는 다른 제1 입력값을 기초로 수행될 수 있다. 한편, 재학습에 따른 딥러닝 기반의 생성 모델의 필터 정보와 은닉층의 가중치 값에 대한 정보는 암호화 및 복호화 장치의 메모리(13)에 저장된다. That is, if the method of updating the second cipher text data through the adjustment of the above-described signature code conversion table is performed based on the same first input value, the update method through re-learning of the deep learning-based generative model generates the cipher text It may be performed based on a first input value different from the first input value used at the time. Meanwhile, the filter information of the deep learning-based generative model according to the re-learning and information on the weight value of the hidden layer are stored in the memory 13 of the encryption and decryption device.

한편, 본 발명의 일 예로, 상술한 제2 암호문 데이터의 갱신 단계는 제2 암호문 데이터의 복호화 단계 이후에 수행될 수 있다. On the other hand, as an example of the present invention, the above-described step of updating the second cipher text data may be performed after the decrypting step of the second cipher text data.

한편, 상술한 설명에서, 단계 S110 내지 S180은 본 발명의 구현예에 따라서, 추가적인 단계들로 더 분할되거나, 더 적은 단계들로 조합될 수 있다. 또한, 일부 단계는 필요에 따라 생략될 수도 있고, 단계 간의 순서가 변경될 수도 있다. 아울러, 기타 생략된 내용이라 하더라도 후술하는 도 1의 내용은 도 2 내지 도 11의 딥러닝 기반의 암호화 및 복호화 방법에도 적용될 수 있다.Meanwhile, in the above description, steps S110 to S180 may be further divided into additional steps or combined into fewer steps according to an embodiment of the present invention. In addition, some steps may be omitted as necessary, and the order between steps may be changed. In addition, even if other contents are omitted, the contents of FIG. 1 to be described later may also be applied to the deep learning-based encryption and decryption methods of FIGS. 2 to 11 .

이상에서 전술한 본 발명에 따른 딥러닝 기반의 암호화 및 복호화 방법은, 하드웨어인 컴퓨터와 결합되어 실행되기 위해 프로그램(또는 어플리케이션)으로 구현되어 컴퓨터 판독가능 기록 매체에 저장될 수 있다.The deep learning-based encryption and decryption method according to the present invention described above may be implemented as a program (or application) to be executed in combination with a computer, which is hardware, and stored in a computer-readable recording medium.

상기 전술한 프로그램은, 상기 컴퓨터가 프로그램을 읽어 들여 프로그램으로 구현된 상기 방법들을 실행시키기 위하여, 상기 컴퓨터의 프로세서(CPU)가 상기 컴퓨터의 장치 인터페이스를 통해 읽힐 수 있는 C, C++, JAVA, Ruby, 기계어 등의 컴퓨터 언어로 코드화된 코드(Code)를 포함할 수 있다. 이러한 코드는 상기 방법들을 실행하는 필요한 기능들을 정의한 함수 등과 관련된 기능적인 코드(Functional Code)를 포함할 수 있고, 상기 기능들을 상기 컴퓨터의 프로세서가 소정의 절차대로 실행시키는데 필요한 실행 절차 관련 제어 코드를 포함할 수 있다. 또한, 이러한 코드는 상기 기능들을 상기 컴퓨터의 프로세서가 실행시키는데 필요한 추가 정보나 미디어가 상기 컴퓨터의 내부 또는 외부 메모리의 어느 위치(주소 번지)에서 참조되어야 하는지에 대한 메모리 참조관련 코드를 더 포함할 수 있다. 또한, 상기 컴퓨터의 프로세서가 상기 기능들을 실행시키기 위하여 원격(Remote)에 있는 어떠한 다른 컴퓨터나 서버 등과 통신이 필요한 경우, 코드는 상기 컴퓨터의 통신 모듈을 이용하여 원격에 있는 어떠한 다른 컴퓨터나 서버 등과 어떻게 통신해야 하는지, 통신 시 어떠한 정보나 미디어를 송수신해야 하는지 등에 대한 통신 관련 코드를 더 포함할 수 있다.The above-mentioned program, in order for the computer to read the program and execute the methods implemented as a program, C, C++, JAVA, Ruby, which the processor (CPU) of the computer can read through the device interface of the computer; It may include code coded in a computer language such as machine language. Such code may include functional code related to functions defining functions necessary for executing the methods, etc. can do. In addition, the code may further include additional information necessary for the processor of the computer to execute the functions or code related to memory reference for which location (address address) in the internal or external memory of the computer should be referenced. have. In addition, when the processor of the computer needs to communicate with any other computer or server located remotely in order to execute the functions, the code uses the communication module of the computer to determine how to communicate with any other computer or server remotely. It may further include a communication-related code for whether to communicate and what information or media to transmit and receive during communication.

상기 저장되는 매체는, 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 구체적으로는, 상기 저장되는 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있지만, 이에 제한되지 않는다. 즉, 상기 프로그램은 상기 컴퓨터가 접속할 수 있는 다양한 서버 상의 다양한 기록매체 또는 사용자의 상기 컴퓨터상의 다양한 기록매체에 저장될 수 있다. 또한, 상기 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장될 수 있다.The storage medium is not a medium that stores data for a short moment, such as a register, a cache, a memory, etc., but a medium that stores data semi-permanently and can be read by a device. Specifically, examples of the storage medium include, but are not limited to, ROM, RAM, CD-ROM, magnetic tape, floppy disk, and optical data storage device. That is, the program may be stored in various recording media on various servers accessible by the computer or in various recording media on the computer of the user. In addition, the medium may be distributed in a computer system connected by a network, and a computer readable code may be stored in a distributed manner.

전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.The above description of the present invention is for illustration, and those of ordinary skill in the art to which the present invention pertains can understand that it can be easily modified into other specific forms without changing the technical spirit or essential features of the present invention. will be. Therefore, it should be understood that the embodiments described above are illustrative in all respects and not restrictive. For example, each component described as a single type may be implemented in a dispersed form, and likewise components described as distributed may be implemented in a combined form.

본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.The scope of the present invention is indicated by the following claims rather than the above detailed description, and all changes or modifications derived from the meaning and scope of the claims and their equivalent concepts should be interpreted as being included in the scope of the present invention. do.

10 : 딥러닝 기반의 암호화 및 복호화 장치
11 : 제어부
12 : 획득부
13 : 메모리
10: Deep learning-based encryption and decryption device
11: control unit
12: Acquisition
13 : memory

Claims (10)

컴퓨터에 의해 수행되는 방법으로,
입력된 평문 데이터를 암호화 키를 기초로 암호화하여, 제1 암호문 데이터를 생성하는 단계;
주기적으로 추출되는 노이즈 벡터를 딥러닝 기반의 생성 모델에 적용하여, 시그니처 코드를 생성하는 단계; 및
상기 시그니처 코드와 상기 노이즈 벡터를 제1 암호문 데이터에 삽입하여 제2 암호문 데이터를 생성하는 단계를 포함하고,
상기 시그니처 코드를 생성하는 단계는,
m개의(단, m은 자연수) 평문 데이터를 암호화할 때마다 상기 노이즈 벡터를 주기적으로 추출하는 단계와
상기 딥러닝 기반의 생성 모델을 기반으로, 상기 주기적으로 추출된 노이즈 벡터를 인코딩하여 제1 입력값을 생성하는 단계와
기 설정된 시그니처 코드 변환 테이블을 기초로 제1 입력값을 상기 시그니처 코드로 변환하는 단계를 포함하고,
상기 시그니처 코드를 생성하는 단계는, 동일 주기에 속하는 평문 데이터의 경우, 동일한 노이즈 벡터에 의해 각각의 시그니처 코드를 생성하는 것을 특징으로 하는, 딥러닝 기반의 생성 모델을 이용한 암호화 및 복호화 방법.
A method performed by a computer, comprising:
generating first ciphertext data by encrypting the input plaintext data based on an encryption key;
generating a signature code by applying the periodically extracted noise vector to a deep learning-based generative model; and
generating second ciphertext data by inserting the signature code and the noise vector into first ciphertext data;
The step of generating the signature code includes:
Periodically extracting the noise vector whenever m pieces of plaintext data (where m is a natural number) are encrypted;
Generating a first input value by encoding the periodically extracted noise vector based on the deep learning-based generation model;
converting a first input value into the signature code based on a preset signature code conversion table;
In the generating of the signature code, in case of plaintext data belonging to the same period, each signature code is generated by the same noise vector. An encryption and decryption method using a deep learning-based generative model.
제1항에 있어서,
상기 변환 단계는,
제1 입력값과 상기 시그니처 코드 변환 테이블을 기초로 제1 입력값에 상응하는 상기 시그니처 코드를 구성하는 각각의 문자를 결정하고,
상기 제2 암호문 데이터를 생성하는 단계는,
상기 노이즈 벡터를 제1 암호문 데이터의 제1 위치에 첨부하고,
제1 입력값과 제1 암호문 데이터의 길이 정보를 기초로 제1 암호문 데이터 내에서의 상기 각각의 문자의 삽입 위치를 결정하고,
상기 결정된 각각의 삽입 위치에 상기 각각의 문자를 삽입하는,
딥러닝 기반의 생성 모델을 이용한 암호화 및 복호화 방법.
According to claim 1,
The conversion step is
determining each character constituting the signature code corresponding to the first input value based on the first input value and the signature code conversion table;
The step of generating the second cipher text data comprises:
appending the noise vector to a first position of the first ciphertext data;
determining an insertion position of each character in the first ciphertext data based on the first input value and the length information of the first ciphertext data;
inserting each of the characters at the determined respective insertion positions,
Encryption and decryption methods using deep learning-based generative models.
제2항에 있어서,
상기 제2 암호문 데이터를 생성하는 단계는,
상기 제1 암호문 데이터의 길이에 관한 정보를 상기 제1 암호문 데이터의 제2 위치에 첨부하는,
딥러닝 기반의 생성 모델을 이용한 암호화 및 복호화 방법.
3. The method of claim 2,
The step of generating the second cipher text data comprises:
appending information about the length of the first cipher text data to a second position of the first cipher text data;
Encryption and decryption methods using deep learning-based generative models.
제2항에 있어서,
상기 제2 암호문 데이터로부터 상기 노이즈 벡터를 추출하는 단계;
상기 딥러닝 기반의 생성 모델에 상기 노이즈 벡터를 적용하여, 시그니처 코드를 생성하는 단계;
상기 시그니처 코드를 기초로, 상기 제2 암호문 데이터에 삽입되어 있는 상기 각각의 문자를 제거하여 제1 암호문 데이터로 복원하는 단계; 및
상기 제1 암호문 데이터를 상기 암호화 키를 기초로 복호화하여 상기 평문 데이터를 생성하는 단계;를 포함하고,
상기 시그니처 코드를 생성하는 단계는,
상기 딥러닝 기반의 생성 모델을 기반으로, 상기 제2 암호문 데이터로부터 추출된 노이즈 벡터를 인코딩하여 제1 입력값을 생성하는 단계, 및
기 설정된 시그니처 코드 변환 테이블을 기초로 제1 입력값을 상기 시그니처 코드로 변환하는 단계를 포함하는,
딥러닝 기반의 생성 모델을 이용한 암호화 및 복호화 방법.
3. The method of claim 2,
extracting the noise vector from the second ciphertext data;
generating a signature code by applying the noise vector to the deep learning-based generative model;
restoring the first ciphertext data by removing each of the characters inserted in the second ciphertext data based on the signature code; and
Decrypting the first ciphertext data based on the encryption key to generate the plaintext data;
The step of generating the signature code includes:
generating a first input value by encoding a noise vector extracted from the second ciphertext data based on the deep learning-based generation model; and
converting a first input value into the signature code based on a preset signature code conversion table;
Encryption and decryption methods using deep learning-based generative models.
제4항에 있어서,
상기 변환 단계는,
제1 입력값과 상기 시그니처 코드 변환 테이블을 기초로 제1 입력값에 상응하는 상기 시그니처 코드를 구성하는 각각의 문자를 결정하고,
제1 암호문 데이터로 복원하는 단계는,
제1 입력값과 제1 암호문 데이터의 길이 정보를 기초로 제1 암호문 데이터 내에서의 상기 각각의 문자의 삽입 위치를 결정하고, 상기 결정된 각각의 삽입 위치에 상기 각각의 문자를 제거하는
딥러닝 기반의 생성 모델을 이용한 암호화 및 복호화 방법.
5. The method of claim 4,
The conversion step is
determining each character constituting the signature code corresponding to the first input value based on the first input value and the signature code conversion table;
The step of restoring the first ciphertext data is,
determining an insertion position of each character in the first ciphertext data based on a first input value and length information of the first ciphertext data, and removing each character at each of the determined insertion positions
Encryption and decryption methods using deep learning-based generative models.
제1항에 있어서,
상기 시그니처 코드 변환 테이블을 기초로, 상기 제2 암호문 데이터를 주기적으로 갱신하는 단계를 더 포함하고,
상기 제2 암호문 데이터를 갱신하는 단계는, 상기 시그니처 코드 변화 테이블 내 문자 배열을 주기적으로 조정하고, 상기 조정된 시그니처 코드 변환 테이블 기초로, 상기 제2 암호문 데이터 내의 시그니처 코드를 변경하여 상기 제2 암호문 데이터를 갱신하는,
딥러닝 기반의 생성 모델을 이용한 암호화 및 복호화 방법.
According to claim 1,
The method further comprising periodically updating the second ciphertext data based on the signature code conversion table,
The updating of the second cipher text data includes periodically adjusting a character arrangement in the signature code change table, and changing the signature code in the second cipher text data based on the adjusted signature code conversion table to change the second cipher text. update data,
Encryption and decryption methods using deep learning-based generative models.
제1항에 있어서,
상기 딥러닝 기반의 생성 모델은,
상기 노이즈 벡터의 분포 정보가 주기적으로 변경되어 재학습되고,
상기 제2 암호문 데이터는,
상기 재학습된 딥러닝 기반의 생성 모델을 기초로 주기적으로 갱신되는,
딥러닝 기반의 생성 모델을 이용한 암호화 및 복호화 방법.
According to claim 1,
The deep learning-based generative model is
The distribution information of the noise vector is periodically changed and re-learned,
The second cipher text data is
Periodically updated based on the retrained deep learning-based generative model,
Encryption and decryption methods using deep learning-based generative models.
제1항에 있어서,
상기 시그니처 코드의 길이 정보를 사전에 설정하는 단계를 더 포함하고,
상기 제1 입력값을 생성하는 단계는,
상기 노이즈 벡터를 상기 길이 정보에 상응하는 개수만큼 추출하여 제1 입력값을 생성하는 것을 특징으로 하는 딥러닝 기반의 생성 모델을 이용한 암호화 및 복호화 방법.
According to claim 1,
Further comprising the step of setting the length information of the signature code in advance,
The step of generating the first input value comprises:
An encryption and decryption method using a deep learning-based generative model, characterized in that the first input value is generated by extracting the number of noise vectors corresponding to the length information.
메모리;
평문 데이터를 획득하는 획득부; 및
제어부;를 포함하고,
상기 제어부는 상기 평문 데이터를 암호화 키를 기초로 암호화하여, 제1 암호문 데이터를 생성하고, 주기적으로 노이즈 벡터를 추출하여, 딥러닝 기반의 생성 모델에 상기 노이즈 벡터를 적용하여, 시그니처 코드를 생성하고, 상기 시그니처 코드와 상기 노이즈 벡터를 상기 제1 암호문 데이터에 삽입하여 제2 암호문 데이터를 생성하고,
상기 시그니처 코드를 생성하는 것은, 상기 제어부가 m개의(단, m은 자연수) 평문 데이터를 암호화할 때마다 상기 노이즈 벡터를 주기적으로 추출하고, 상기 딥러닝 기반의 생성 모델을 기반으로, 상기 주기적으로 추출된 노이즈 벡터를 인코딩하여 제1 입력값을 생성하고, 기 설정된 시그니처 코드 변환 테이블을 기초로 제1 입력값을 상기 시그니처 코드로 변환하여 상기 시그니처 코드를 생성하되,
상기 시그니처 코드를 생성하는 것은, 동일 주기에 속하는 평문 데이터의 경우 동일한 노이즈 벡터에 의해 각각의 시그니처 코드를 생성하는 것을 특징으로 하는,
딥러닝 기반의 생성 모델을 이용한 암호화 및 복호화 장치.
Memory;
an acquisition unit for acquiring plaintext data; and
control unit; including;
The control unit encrypts the plaintext data based on the encryption key to generate first ciphertext data, periodically extracts a noise vector, applies the noise vector to a deep learning-based generative model to generate a signature code, , inserting the signature code and the noise vector into the first ciphertext data to generate second ciphertext data,
The generation of the signature code includes periodically extracting the noise vector whenever the control unit encrypts m pieces of plaintext data (where m is a natural number), and based on the deep learning-based generation model, periodically A first input value is generated by encoding the extracted noise vector, and the first input value is converted into the signature code based on a preset signature code conversion table to generate the signature code,
The generating of the signature code is characterized in that in case of plaintext data belonging to the same period, each signature code is generated by the same noise vector.
Encryption and decryption device using a generative model based on deep learning.
컴퓨터와 결합하여, 제1항 내지 제8항 중 어느 하나의 항의 딥러닝 기반의 생성 모델을 이용한 암호화 및 복호화 방법을 실행시키기 위하여 컴퓨터 판독가능 기록매체에 저장된 컴퓨터 프로그램.A computer program stored in a computer-readable recording medium in order to execute the encryption and decryption method using the deep learning-based generative model of any one of claims 1 to 8 in combination with a computer.
KR1020200141564A 2020-10-28 2020-10-28 Method and device for encryption and decrytion using signature code based on deep learning KR102307363B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020200141564A KR102307363B1 (en) 2020-10-28 2020-10-28 Method and device for encryption and decrytion using signature code based on deep learning
PCT/KR2020/014857 WO2022092345A1 (en) 2020-10-28 2020-10-29 Deep-learning-based encryption and decryption method and apparatus using signature code

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200141564A KR102307363B1 (en) 2020-10-28 2020-10-28 Method and device for encryption and decrytion using signature code based on deep learning

Publications (1)

Publication Number Publication Date
KR102307363B1 true KR102307363B1 (en) 2021-09-30

Family

ID=77920390

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200141564A KR102307363B1 (en) 2020-10-28 2020-10-28 Method and device for encryption and decrytion using signature code based on deep learning

Country Status (2)

Country Link
KR (1) KR102307363B1 (en)
WO (1) WO2022092345A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11915477B2 (en) 2021-11-05 2024-02-27 Korea University Research And Business Foundation Video processing system and video processing method using split learning

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002542523A (en) * 1999-04-20 2002-12-10 シグナファイ、 インコーポレイテッド Method and apparatus for inserting a digital signature into digital data and authenticating the digital signature in the digital data
JP2005301464A (en) * 2004-04-08 2005-10-27 Hitachi Ltd Backup method and system
KR20190048104A (en) 2017-10-30 2019-05-09 (주)한국플랫폼서비스기술 Method of encryption using deep-learning
JP2020013561A (en) * 2018-07-17 2020-01-23 パロ アルト リサーチ センター インコーポレイテッド System and method for characterizing arbitrary-length time series using pre-selected signatures

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100912371B1 (en) * 2007-12-17 2009-08-19 한국전자통신연구원 Indexing System And Method For Data With High Demensionality In Cluster Environment
US10785646B2 (en) * 2018-08-24 2020-09-22 International Business Machines Corporation Use of generative adversarial networks (GANs) for robust transmitter authentication

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002542523A (en) * 1999-04-20 2002-12-10 シグナファイ、 インコーポレイテッド Method and apparatus for inserting a digital signature into digital data and authenticating the digital signature in the digital data
JP2005301464A (en) * 2004-04-08 2005-10-27 Hitachi Ltd Backup method and system
KR20190048104A (en) 2017-10-30 2019-05-09 (주)한국플랫폼서비스기술 Method of encryption using deep-learning
JP2020013561A (en) * 2018-07-17 2020-01-23 パロ アルト リサーチ センター インコーポレイテッド System and method for characterizing arbitrary-length time series using pre-selected signatures

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11915477B2 (en) 2021-11-05 2024-02-27 Korea University Research And Business Foundation Video processing system and video processing method using split learning

Also Published As

Publication number Publication date
WO2022092345A1 (en) 2022-05-05

Similar Documents

Publication Publication Date Title
CN108667595B (en) Compression encryption method for big data file
CN115694784B (en) Data security storage method
CN106888080A (en) Protection whitepack feistel network implementations are in case fault analysis
CN105959098A (en) Format-reserved encryption algorithm based on multi-segmented Feistel network
CN113434878B (en) Modeling and application method, device, equipment and storage medium based on federal learning
CN108768617A (en) A kind of holding format encryption method based on legacy packets password
CN107358284A (en) Generation method, read method, generating means and the reading device of Quick Response Code
CN110084599A (en) Cipher key processing method, device, equipment and storage medium
EP3667647A1 (en) Encryption device, encryption method, decryption device, and decryption method
CN109726565A (en) Whitepack is used in anti-leakage primitive
KR102307363B1 (en) Method and device for encryption and decrytion using signature code based on deep learning
CN103095449A (en) Dynamic encryption and decryption method based on stream ciphers
JP2020038350A (en) Method, apparatus, and computer-readable medium for searching polymorphically encrypted data
CN106656500A (en) Encryption device and method
KR102525749B1 (en) Method and Apparatus for Artificial Intelligence Post-Quantum Cryptography
CN105678185B (en) A kind of data security protection method and intelligent terminal management system
Premkumar et al. A novel ECG based encryption algorithm for securing patient confidential information
CN111523885B (en) Encryption multi-account construction method for blockchain wallet, computer readable storage medium and blockchain encryption multi-account wallet
CN107579987A (en) A kind of encryption of server high in the clouds diagnostic system rule base two level, access method and system
CN114900284A (en) Method for generating SM2 key based on mnemonic words
Mishra et al. Image encryption technique based on chaotic system and hash function
Mandal et al. Utilizing Extended Visual Cryptography for Ensuring Safety and Accuracy of PDF File in Cloud Storage
Taha et al. Retina random number generator for stream cipher cryptography
CN117057804B (en) Financial transaction data secure storage method and system based on hash sequence
CN110795726A (en) Password protection method and system based on artificial neural network

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant