KR20020025343A - Apparatus and Method for encryption and decryption of file using base key and one-time key - Google Patents

Apparatus and Method for encryption and decryption of file using base key and one-time key Download PDF

Info

Publication number
KR20020025343A
KR20020025343A KR1020000057063A KR20000057063A KR20020025343A KR 20020025343 A KR20020025343 A KR 20020025343A KR 1020000057063 A KR1020000057063 A KR 1020000057063A KR 20000057063 A KR20000057063 A KR 20000057063A KR 20020025343 A KR20020025343 A KR 20020025343A
Authority
KR
South Korea
Prior art keywords
key
encryption
file
generating
random number
Prior art date
Application number
KR1020000057063A
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 KR1020000057063A priority Critical patent/KR20020025343A/en
Publication of KR20020025343A publication Critical patent/KR20020025343A/en

Links

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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)

Abstract

PURPOSE: A method and apparatus for encoding and decoding file using basic and disposable keys are provided to generate and encode a password key based on basic and disposable keys and form information having the disposable key as a header. CONSTITUTION: A basic key generation storage section(501) generates an initial key based on a user' input information and time information of an encoding system. The basic key generation storage section(501) generates a random number having the initial key as a seed. The basic key generation storage section(501) stores the random number as a basic key. A disposable key generator(507) receives time information of a time point when a plaintext file is encoded, drives a random number generator using the data as a seed, and outputs a resulting disposable key. A password key generator(503) generates a password key based on the basic and disposable keys. A first encoder(505) receives the password key, encodes a plaintext file, and outputs encoded data. A second encoder(509) sets the encoded data as a password file body, sets information having the disposable key as a password file header, and outputs a final encoded file.

Description

기본키와 일회용키를 이용한 파일 암호 와 복호 방법 및 그 장치{Apparatus and Method for encryption and decryption of file using base key and one-time key}Apparatus and Method for encryption and decryption of file using base key and one-time key}

본 발명은 컴퓨터같은 정보처리기능을 가진 장치에서 소프트웨어 파일(이하 "파일"이라고 한다)을 암호화하고 암호화된 파일을 복호화하는 방법 및 그 장치에 관한 것이다.The present invention relates to a method and apparatus for encrypting a software file (hereinafter referred to as "file") and decrypting an encrypted file in a device having an information processing function such as a computer.

파일을 암호화하고 복호화하는 암호시스템에서 파일을 암호화할 때 사용되는 암호키와 복호화할 때 사용되는 복호키가 있는데, 이 두가지 키에 의해 암호시스템은 두가지로 분류된다. 그 첫번째는 암호키와 복호키가 같은 경우로서 비밀키 암호시스템이라고 한다. 그 두번째는 암호키와 복호키가 다른 경우로서 공개키 암호시스템이라고 한다. 일반적으로 비밀키 암호시스템은 데이터 혹은 파일을 암호할 때 사용되고, 공개키 암호시스템은 디지털 서명 혹은 비밀키 암호시스템의 키 관리에 사용된다.In the encryption system for encrypting and decrypting a file, there are an encryption key used for encrypting a file and a decryption key used for decrypting. There are two types of encryption systems. The first is a case where the encryption key and the decryption key are the same, which is called a secret key encryption system. The second is a case where the encryption key and the decryption key are different, which is called a public key cryptosystem. In general, a secret key cryptosystem is used to encrypt data or files, while a public key cryptosystem is used to manage digital signatures or keys in a secret key cryptosystem.

종래의 비밀키 암호시스템을 이용하는 컴퓨터등 정보처리기능을 가진 장치에서의 암호화 키 관리방법은 상기 장치에 하나의 암호키를 저장하고 파일암호시 사용함으로써 파일을 암호화할 때마다 항상 동일한 암호키를 사용하여왔다. 이러한 경우 동일한 암호키를 계속적으로 사용함에 따라 암호시스템의 안전성에 문제가 생긴다. 따라서 일정한 주기로 암호키를 변경하여 사용하여야 하는 불편함이 따르게 된다.The encryption key management method in a device having an information processing function, such as a computer using a conventional secret key encryption system, always uses the same encryption key each time a file is encrypted by storing one encryption key in the device and using it for file encryption. Has been. In this case, there is a problem in the security of the encryption system by using the same encryption key continuously. Therefore, it is inconvenient to change and use the encryption key at regular intervals.

본 발명이 이루고자 하는 기술적 과제는 평문파일을 암호화하는데 있어서, 사용자가 정의하는 정보를 포함하는 정보를 기초로하는 기본키와 평문파일을 암호화할때마다 다른 값을 가지는 일회용키를 기초로 암호키를 생성하여 암호화하고 일회용키를 포함하는 정보를 헤더로 구성하는 암호방법 및 그 장치에 있다.The technical problem to be solved by the present invention is to encrypt a plain text file, the encryption key based on a one-time key having a different value each time encrypting a plain text file and a primary key based on information including information defined by the user An encryption method and apparatus for generating, encrypting, and configuring a header including information including a one-time key.

본 발명이 이루고자 하는 다른 기술적 과제는 암호화파일을 복호하는데 있어서, 기본키와 일회용키를 판독하여 이들을 기초로 복호키를 생성하여 평문파일로복호하는 복호방법 및 그 장치에 있다.Another technical problem to be solved by the present invention is a decryption method and apparatus for decrypting a plain text file by generating a decryption key based on reading a primary key and a disposable key in decrypting an encrypted file.

도 1은 평문파일을 암호화하는 단계의 흐름을 나타내는 흐름도이다.1 is a flowchart showing a flow of encrypting a plain text file.

도 2는 도 1의 기본키를 생성하고 저장하는 단계의 흐름을 상세히 나타내는 흐름도이다.FIG. 2 is a flowchart illustrating in detail a flow of generating and storing a primary key of FIG. 1.

도 3은 암호파일을 복호하기 위한 복호키의 생성흐름도이다.3 is a flowchart of generation of a decryption key for decrypting an encryption file.

도 4는 평문파일을 암호화한 후 복호화하는 과정까지의 전과정을 보여주는 흐름도이다.4 is a flowchart illustrating the entire process from encrypting and decrypting plain text files.

도 5는 평문파일을 암호화하는 암호화장치와 암호파일을 수신하여 복호하는 복호화장치를 함께 보여주는 도면이다.FIG. 5 is a diagram illustrating an encryption apparatus for encrypting a plain text file and a decryption apparatus for receiving and decrypting an encryption file.

상기의 기술적 과제를 이루기 위하여 본 발명에 의한 기본키와 일회용키를 이용한 암호화방법은 사용자가 입력하는 정보에 기초하여 기본 키를 생성하고 저장하는 단계; 암호화하려는 평문 파일 단위로 일회용 키를 생성하는 단계; 상기 기본 키와 상기 일회용 키를 입력받아 암호키를 생성하는 단계; 상기 암호키를 기초로 상기 평문파일을 암호화하여 암호화데이터를 생성하는 단계;및 상기 암호화데이터를 암호파일바디(body)로 하고 상기 일회용 키를 포함하는 정보를 암호파일헤더 (header)로 추가하여 최종 암호화 파일로 생성하는 단계를 포함하는 것을 특징으로 한다.In order to achieve the above technical problem, an encryption method using a primary key and a disposable key according to the present invention includes generating and storing a primary key based on information input by a user; Generating a one-time key for each plain text file to be encrypted; Generating an encryption key by receiving the primary key and the disposable key; Encrypting the plain text file based on the encryption key to generate encrypted data; and adding the encrypted data as an encryption file body and adding the disposable key as an encryption file header. And generating the encrypted file.

상기의 기술적 과제를 이루기 위하여 본 발명에 의한 기본키와 일회용키를 이용한 암호장치는 사용자가 입력하는 정보와 암호시스템의 시각정보를 기초로 초기키를 생성하고, 상기 초기키를 씨드로 하여 제3난수를 생성해서 상기 제3난수를 기본키로서 저장하는 기본키 생성저장부; 평문 화일을 암호화하는 시점의 시각정보를 포함하는 데이터를 입력받아 상기 데이터를 씨드로 난수발생기를 구동하여 그 결과인 일회용 키를 출력하는 일회용키 생성부; 상기 기본 키와 상기 일회용 키를 기초로 암호키를 출력하는 암호키 생성부; 상기 암호키를 입력받아 평문 파일을 암호화하여 암호화데이터를 출력하는 제1암호화부;및 상기 암호화데이터를 암호파일바디로 하고 상기 일회용 키를 포함하는 정보를 암호파일헤더로 하여 최종 암호화 파일로 출력하는 제2암호화부를 포함하는 것을 특징으로 한다.In order to achieve the above technical problem, an encryption device using a primary key and a disposable key according to the present invention generates an initial key based on information input by a user and visual information of a cryptographic system, and uses the initial key as a seed to generate a third device. A primary key generation storage unit for generating a random number and storing the third random number as a primary key; A one-time key generation unit that receives data including visual information at the time of encrypting the plain text file and drives the random number generator with the data to output a resultant one-time key; An encryption key generation unit for outputting an encryption key based on the basic key and the disposable key; A first encryption unit for receiving the encryption key and encrypting a plain text file to output encrypted data; and outputting the encrypted data as an encryption file body and outputting information including the one-time key as an encryption file header as a final encryption file. It characterized in that it comprises a second encryption unit.

이하에서 첨부된 도면을 참조하여 본 발명의 바람직한 실시예에 대하여 상세히 설명한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 1은 파일을 암호화하는 단계의 흐름을 나타내는 흐름도이며, 도 2는 도 1의 기본키를 생성하고 저장하는 단계의 흐름을 상세히 나타내는 흐름도이다.1 is a flow chart showing the flow of the step of encrypting a file, Figure 2 is a flow chart illustrating in detail the flow of the step of generating and storing the primary key of FIG.

일반적으로 개인용 컴퓨터에서 평문파일을 암호화할 때 평문파일을 암호키에 의하여 암호하여 암호파일을 생성한다. 그리고 상기 암호파일을 복호할 때는 복호키에 의하여 평문파일을 복원하게 된다. 이 때 사용되는 키는 암호키를 이용하여 파일을 암호할 때마다 달라야 하고, 암호키 및 복호키를 생성하는데 시간이 적게 소요되어야하며 시스템의 구성이 복잡하지 않아야 할 필요성이 있다. 이러한 관점에서 본 발명에 의한 일회용키를 이용한 암호화 방법 및 복호화 방법을 제안한다.In general, when a plain text file is encrypted on a personal computer, the plain text file is encrypted using an encryption key to generate an encrypted file. When decrypting the encrypted file, the plain text file is restored by a decryption key. At this time, the key used must be different each time the file is encrypted using the encryption key, it takes less time to generate the encryption key and decryption key, and the configuration of the system should not be complicated. In this respect, we propose an encryption method and a decryption method using a one-time key according to the present invention.

먼저 암호시스템이 설치되면 기본키가 생성되어 컴퓨터내에 저장되게 되는데(101), 그 상세한 과정은 도 2를 참조하여 설명하면 다음과 같다.First, when the encryption system is installed, a primary key is generated and stored in the computer (101). The detailed process will be described with reference to FIG.

암호화하고자 하는 파일(이하 "평문파일"이라 한다)을 암호화하려는 사용자의 ID와 비밀번호와 같은 사용자정보와 암호시스템의 기본키를 생성하는 시각정보(Time Information)가 입력되면 이러한 정보가 조합된 결과가 난수발생기의 씨드(seed)로 되어 랜덤한 난수가 발생되는 난수발생기가 구동되어 제1난수가 발생된다(203). 한편 암호시스템이 설치되어 기본키를 생성하는 시점의 시각정보가 입력되면(205) 이 시각정보를 씨드로 하는 난수발생기가 구동되어 제2난수가 발생된다(207). 상기 제1난수와 상기 제2난수에 근거하여 초기키를 생성하는데, 이 경우 소정의 논리연산(예를들면 배타적 논리합(Exclusive OR))을 수행함으로써 초기키를 생성한다(209). 제3난수발생단계에서는 상기 초기키를 씨드로 하는 난수발생기를 구동하여 제3난수를 얻어(211) 이 제3난수를 향후 평문파일을 암호화할 때 이용되는 암호키를 생성할 때 이용하기 위하여 저장하게 된다(213). 이렇게 생성된 기본키는 사용자의 ID 혹은 비밀번호가 변경되기 전까지는 유효하게 사용되게 되며, 상기 기본키는 암호키 및 복호키의 생성시 기본요소로 작용하기 때문에 저장보관에 안전성이 필수적이다. 따라서 상기 기본키는 별도로 암호화하여 저장할 필요성이 있으며 윈도우(Windows)시스템에서는 레지스트리(Registry)와 같이 안전한 곳에 보관하는 것이 바람직하다.When user information such as the ID and password of the user who wants to encrypt the file to be encrypted (hereinafter referred to as "plain text file") and time information for generating the primary key of the encryption system are input, the result of combining the information is displayed. The random number generator, which is a seed of the random number generator and generates a random random number, is driven to generate a first random number (203). On the other hand, when the time information at the time when the encryption system is installed to generate the primary key is input (205), a random number generator using the time information as a seed is driven to generate a second random number (207). An initial key is generated based on the first random number and the second random number. In this case, the initial key is generated by performing a predetermined logical operation (for example, an exclusive OR) (209). In the third random number generation step, a random number generator using the initial key as a seed is obtained to obtain a third random number (211), and the third random number is stored for use in generating an encryption key used when encrypting a plain text file in the future. (213) The generated primary key is effectively used until the user's ID or password is changed. Since the primary key acts as a basic element when generating the encryption key and the decryption key, safety is essential for storage and storage. Therefore, the primary key needs to be encrypted and stored separately. In a Windows system, it is preferable to store the primary key in a secure place such as a registry.

다음으로 일회용키를 생성하는 단계(103)를 거치게 되는데, 일회용키는 특정 평문 파일을 암호화할 때마다 다른 값을 가지게 하기 위하여 상기 평문파일을 암호화하는 시점의 시각정보를 씨드로 하는 난수발생기를 구동하여 그 결과 발생하는 제4난수를 일회용키로서 사용한다. 이 때 일회용키의 크기는 임의로 설정할 수 있으며 암호화방법을 적용하는 시스템 또는 암호 알고리즘에 따라 적절하게 조절하여 사용할 수 있다. 상기 일회용키는 평문파일을 암호화하는 시점의 시각정보를 기초로 생성하기 때문에 같은 값을 가지는 다른 일회용키가 발생할 수 없는 장점을 가지게 된다.Next, step 103 of generating a one-time key is generated. The single-use key drives a random number generator that uses the visual information at the time of encrypting the plain text file to have a different value each time a specific plain text file is encrypted. The fourth random number generated as a result is used as a disposable key. At this time, the size of the one-time key can be arbitrarily set, and can be appropriately adjusted according to the system or encryption algorithm to which the encryption method is applied. Since the one-time key is generated based on visual information at the time of encrypting the plain text file, another one-time key having the same value cannot be generated.

그 다음으로 평문파일을 암호화하기위한 암호키를 생성하는 단계(105)를 밟는다. 암호키는 상기 (101)단계에서 생성된 기본키와 상기 (103)단계에서 생성된 일회용키에 근거하여 제1암호키를 얻는데, 이 경우 소정의 논리연산(예를들면 배타적 논리합(Exclusive OR))을 실행하여 제1암호키를 얻는다. 그 후 상기 제1암호키를 씨드로 하는 난수발생기를 구동하여 제5난수를 구하여 이 제5난수를 암호키로서 생성하게 된다.Next, a step 105 of generating an encryption key for encrypting the plain text file is performed. The encryption key obtains a first encryption key based on the primary key generated in step (101) and the disposable key generated in step (103). In this case, a predetermined logical operation (for example, an exclusive OR) ) To get the first encryption key. Thereafter, a random number generator having the first encryption key as a seed is driven to obtain a fifth random number to generate the fifth random number as an encryption key.

상기와 같은 과정을 거쳐 생성된 암호키를 이용하여 평문파일을 암호화하게 되며(107), 암호화된 파일(이하 "암호화데이타"라고 한다)을 암호파일바디로 하고 일회용키를 포함하는 정보를 암호파일헤더로 하는 암호파일이 최종적으로 생성됨으로써 암호화단계가 종료되게 된다. 이 경우 암호파일헤더에는 일회용키 뿐만 아니라 암호화시에 사용한 암호 알고리즘등 필요한 정보를 필요에 따라 넣을 수 있다.The plain text file is encrypted using the encryption key generated through the above process (107), and the encrypted file (hereinafter referred to as "encryption data") is an encryption file body and the information including the one-time key is an encryption file. The encryption file is finally generated as the header file is encrypted. In this case, the encryption file header can include not only a one-time key but also necessary information such as the encryption algorithm used at the time of encryption.

본 발명에 의한 기본키와 일회용키를 이용한 암호장치는 설명의 중복을 피하기 위하여 상기 기본키와 일회용 키를 이용한 복호장치가 결합된 암호 및 복호장치에서 설명하기로 한다.The encryption device using the primary key and the disposable key according to the present invention will be described in the encryption and decryption device combined with the decryption device using the primary key and the disposable key in order to avoid duplication of description.

상기의 다른 기술적 과제를 이루기 위하여 본 발명에 의한 기본키와 일회용키를 이용한 복호방법은 암호화되는 평문 파일 단위로 생성된 일회용 키와 사용자 정보를 기초로 생성된 기본키를 기초로 암호키를 생성한 후, 상기 평문파일을 암호화하여 바디로 하고 상기 일회용키를 헤더로 하는 암호화파일을 복호하는 방법에 있어서, 저장된 상기 기본키를 독출하고 상기 헤더에서 추출한 일회용키를 독출하여 복호키를 생성하는 단계;및 상기 복호키를 기초로 최종 암호화된 파일을 평문 파일로 복호하는 단계를 포함하는 것을 특징으로 한다.In order to achieve the above technical problem, the decryption method using the primary key and the one-time key according to the present invention generates an encryption key based on the one-time key generated in the unit of the plain text file to be encrypted and the primary key generated based on the user information. A method for decrypting an encrypted file having a body by encrypting the plain text file and using the disposable key as a header, the method comprising: reading the stored primary key and reading a disposable key extracted from the header to generate a decryption key; And decrypting the final encrypted file into a plain text file based on the decryption key.

상기 다른 기술적 과제를 이루기 위하여 본 발명에 의한 기본키와 일회용키를 이용한 복호장치는 암호화되는 평문 파일 단위로 생성된 일회용 키와 사용자 정보를 기초로 생성된 기본키를 기초로 암호키를 생성한 후, 상기 평문파일을 암호화하여 암호파일바디로 하고 상기 일회용키를 암호파일헤더로 하는 암호화파일을 복호하는 장치에 있어서 기본키와 암호파일헤더로부터 판독한 일회용 키를 입력받아 제1복호키를 출력하는 복호키 생성부; 및 상기 제1복호키를 입력으로 하는 난수발생기의 출력난수를 복호키로 하여 수신된 암호화 파일을 복호하여 상기 평문파일을 출력하는 복호화부를 포함하는 것을 특징으로 한다.In order to achieve the above technical problem, the decryption apparatus using the primary key and the disposable key according to the present invention generates an encryption key based on the disposable key generated in units of plain text files to be encrypted and the primary key generated based on user information. And encrypting the plain text file as a cipher file body and decrypting the cipher file using the one-time key as a cipher file header, and receiving a primary key and a one-time key read from the cipher file header to output a first decryption key. Decryption key generation unit; And a decryption unit for outputting the plain text file by decrypting the received encryption file by using the output random number of the random number generator having the first decryption key as the decryption key.

본 발명에 의한 기본키와 일회용키를 이용한 복호방법의 실시예를 첨부한 도면을 참조하여 설명한다.An embodiment of a decoding method using a basic key and a disposable key according to the present invention will be described with reference to the accompanying drawings.

도 3은 암호파일을 복호하는 단계의 흐름을 나타내는 흐름도이다.3 is a flowchart showing the flow of a step of decrypting an encrypted file.

복호단계에서는 암호파일에서 평문파일로 복호하기 위한 복호키의 생성이 필요하게 된다. 여기에서 암호화 파일은 위에서 설명한 기본키와 일회용키를 이용하여 생성된 암호화 파일을 의미한다. 먼저 암호화단계에서 생성되어 저장되어 있는 기본키를 독출하고 암호파일헤더로부터 일회용키를 추출하여(301) 이 두개의 키에 근거하여 소정의 논리연산(예를들면 배타적 논리합(Exlusive OR))을 실행한다. 그 결과 얻어지는 난수는 제1복호키로서 복호키를 생성하기 위한 난수발생기의 씨드가 되며, 그 결과 얻어지는 난수(303)는 암호화단계에서 생성한 암호키와 동일한 복호키로서 생성되게 된다(305). 최종적으로 상기 복호키를 이용하여 암호화 파일을 복호하면 원래의 평문파일을 얻게 된다.In the decryption step, it is necessary to generate a decryption key for decrypting the cipher file from the plain text file. Herein, the encryption file means an encryption file generated by using the primary key and the one-time key described above. First, the primary key generated and stored in the encryption step is read out, and the one-time key is extracted from the encryption file header (301) to execute a predetermined logical operation (for example, an exclusive OR) based on these two keys. do. The resulting random number is the seed of the random number generator for generating the decryption key as the first decryption key, and the resulting random number 303 is generated as the same decryption key as the encryption key generated in the encryption step (305). Finally, when decrypting the encrypted file using the decryption key, the original plain text file is obtained.

본 발명에 의한 기본키와 일회용키를 이용한 복호장치는 암호화장치와 결합된 형태로 하여 암호화부터 복호까지의 흐름과 함께 설명한다. 다만 아래에서 설명할 암호화부터 복호까지의 흐름과 장치는 상기에서 설명한 암호화방법 및 복호화방법을 결합한 예이므로 간략하게 설명한다.The decryption apparatus using the primary key and the disposable key according to the present invention will be described together with the flow from encryption to decryption in a form combined with an encryption device. However, since the flow from the encryption to the decryption to be described below and the apparatus are combined examples of the encryption method and the decryption method described above will be briefly described.

도 4는 평문파일을 암호화한 후 복호하는 과정까지의 전과정을 보여주는 흐름도이며, 도 5는 평문파일을 암호화하는 암호화장치와 암호파일을 수신하여 복호하는 복호화장치를 함께 보여주는 도면이다.4 is a flowchart showing the entire process from the encryption of the plain text file to the decryption, and FIG. 5 is a view showing both an encryption device for encrypting a plain text file and a decryption device for receiving and decrypting an encryption file.

암호화장치(500)는 기본키 생성저장부(501), 암호키 생성부(503), 제1암호화부(505), 일회용키 생성부(507),그리고 제2암호화부(509)로 구성된다. 기본키 생성저장부(501)는 사용자정보와 비밀번호를 입력받아 상기 사용자정보와 비밀번호를 씨드로하여 제1난수를 발생시키고, 암호시스템의 기본키 생성시각정보를 포함하는 일회용키 발생정보를 입력받아 상기 발생정보를 씨드로하여 제2난수를 발생시킨 후, 상기 제1난수와 제2난수에 대하여 소정의 논리연산(예를들면 배타적 논리합)을 하여 초기키를 얻은 후, 상기 초기키를 씨드로 하여 다시 제3난수를 발생시켜 이를 기본키로서 저장한다(401). 일회용키 생성부(507)는 평문파일을 암호화하는 시점의 시각정보와 같은 일회용키 발생정보를 입력받아 상기 일회용키 발생정보를 씨드로 하여 난수발생기를 구동하여 일회용키를 출력한다(403). 암호키 생성부(503)는 기본키 생성저장부(501)에서 출력되는 기본키와 일회용키 생성부(507)에서 출력되는 일회용키를 입력받아 기본키와 일회용키에 대하여 소정의 논리연산(예를들면 배타적 논리합)을 하여 암호키를 출력한다(405). 제1암호화부(505)는 암호화하고자 하는 평문파일을 입력받아 상기 암호키를 이용하여 암호화데이타로 가공한 후 제2암호화부(509)로 출력한다(407). 제2암호화부(509)는 상기 암호화데이타를 암호파일의 바디로, 그리고 일회용키 생성부(507)로부터 수신한 일회용키를 암호파일헤더로하는 데이터 포맷으로 구성하여 최종 암호파일을 출력한다(409). 이 경우 데이터 포맷은 도 5의 블록 (530)과 같다.The encryption apparatus 500 includes a basic key generation storage unit 501, an encryption key generation unit 503, a first encryption unit 505, a disposable key generation unit 507, and a second encryption unit 509. . The basic key generation storage unit 501 receives the user information and the password to generate a first random number by using the user information and the password as seeds, and receives the one-time key generation information including the basic key generation time information of the encryption system. After generating the second random number using the generation information as a seed, a predetermined logical operation (for example, an exclusive logical sum) is performed on the first random number and the second random number to obtain an initial key, and then the initial key is used as a seed. A third random number is generated again and stored as a primary key (401). The one-time key generation unit 507 receives the one-time key generation information such as the time information at the time of encrypting the plain text file and drives the random number generator using the one-time key generation information as a seed to output the one-time key. The encryption key generation unit 503 receives the primary key output from the primary key generation storage unit 501 and the disposable key output from the one-time key generation unit 507, and performs a predetermined logical operation on the primary key and the one-time key. For example, an exclusive logical OR) to output an encryption key (405). The first encryption unit 505 receives the plain text file to be encrypted, processes it into encryption data using the encryption key, and outputs it to the second encryption unit 509 (407). The second encryption unit 509 outputs the final encryption file by configuring the encryption data in a data format including the body of the encryption file and the one-time key received from the one-time key generation unit 507 as the encryption file header (409). ). In this case, the data format is the same as block 530 of FIG.

한편 상기 (401)단계 내지 (409)단계까지의 과정을 거친 암호파일을 수신한 복호장치(520)의 복호키 생성부(511)는 암호화장치에서 생성되고 저장된 기본키를 독출하고 암호파일헤더에서 일회용키를 추출하여 상기 기본키와 일회용키에 대하여 소정의 논리연산(예를들면 배타적 논리합)을 실행한다. 이 논리연산으로 얻어진 제1복호키를 씨드로 하는 난수발생기를 구동하여 복호키를 얻는다(411). 복호화부(513)는 상기 복호키를 이용하여 암호파일의 암호파일바디를 복호하여 원래의 평문파일을 출력한다(413).On the other hand, the decryption key generation unit 511 of the decryption apparatus 520, which has received the encryption files from step 401 to step 409, reads the basic key generated and stored in the encryption device and in the encryption file header. The disposable key is extracted and a predetermined logical operation (for example, exclusive logical OR) is performed on the primary key and the disposable key. The random number generator using the first decryption key obtained by this logical operation as a seed is driven to obtain a decryption key (411). The decryption unit 513 decrypts the encrypted file body of the encrypted file using the decryption key and outputs the original plain text file (413).

지금까지 설명한 것처럼 기본키와 일회용키를 이용한 파일 암호방법 및 그 장치, 그리고 복호방법 및 그 장치는 각각 별개로 구현할 수도 있으며 또한 각각의 방법 및 장치가 결합된 암호 및 복호 방법 및 장치로도 구현이 가능하다.As described above, the file encryption method and its device using the primary key and the one-time key, and the decryption method and the device may be implemented separately, and the encryption and decryption method and device in which the respective methods and devices are combined may also be implemented. It is possible.

본 발명은 또한 파일암호를 위한 같은 보안서비스를 제공할 필요가 있는 개인용 컴퓨터 뿐만 아니라 다양한 전산시스템에서의 파일 암호 및 복호방법 그리고 그 장치에도 활용할 수 있다.The present invention can also be applied to file encryption and decryption methods in various computer systems, as well as to personal computers that need to provide such security services for file encryption.

본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현되는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다.컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 하드 디스크, 플로피 디스크, 플래쉬 메모리, 광 데이타 저장장치등이 있으며, 또한 캐리어 웨이브(예를들면 인터넷을 통한 전송)의 형태로 구현되는 것도 포함된다. 또한 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 통신망으로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 읽을 수 있는 코드로서 저장되고 실행될 수 있다.The invention may also be embodied as computer readable code on a computer readable recording medium. Computer-readable recording media include any type of recording device that stores data that can be read by a computer system. Examples of computer-readable recording media include ROM, RAM, CD-ROM, magnetic tape, and hard disk. Disks, floppy disks, flash memory, optical data storage, and the like, and those implemented in the form of carrier waves (eg, transmission over the Internet). The computer readable recording medium can also be distributed over computer systems connected over a computer network so that the computer readable code is stored and executed in a distributed fashion.

이상에서 설명한 바와 같이, 본 발명에 의한 기본키와 일회용키를 이용한 파일 암호 와 복호 방법 및 그 장치에 의하면, 파일을 암호화하는데 있어서 사용자 정보와 비밀번호 및 암호시스템의 설치시각정보를 기초로 발생시키는 난수를 기본키로서 생성하고 저장하여 이용함으로써 암호키 및 복호키를 생성하는 시간을 줄일 수 있고, 일회용키를 사용함으로써 특정 평문파일을 암호할 때마다 암호키가 달라짐으로써, 공개키 암호시스템을 사용하지 않더라도 안정성을 확보할 수 있게 된다.As described above, according to the file encryption and decryption method using the primary key and the one-time key according to the present invention, and a device thereof, a random number generated based on user information and password and installation time information of the encryption system in encrypting a file. By creating and storing as a primary key, you can reduce the time to generate the encryption key and decryption key, and by using the one-time key, the encryption key is changed every time a specific plain text file is encrypted. Even if it is not possible to secure stability.

Claims (9)

(a) 사용자가 입력하는 정보에 기초하여 기본 키를 생성하고 저장하는 단계;(a) generating and storing a primary key based on information input by a user; (b) 암호화하려는 평문 파일 단위로 일회용 키를 생성하는 단계;(b) generating a one-time key for each plain text file to be encrypted; (c) 상기 기본 키와 상기 일회용 키를 입력받아 암호키를 생성하는 단계;(c) generating an encryption key by receiving the primary key and the disposable key; (d) 상기 암호키를 기초로 상기 평문파일을 암호화하여 암호화데이터를 생성하는 단계;및(d) encrypting the plain text file based on the encryption key to generate encrypted data; and (e) 상기 암호화데이터를 암호파일바디(body)로 하고 상기 일회용 키를 포함하는 정보를 암화파일헤더(header)로 추가하여 최종 암호화 파일로 생성하는 단계를 포함하는 것을 특징으로 하는 파일 암호화 방법.(e) generating the final encrypted file by adding the encrypted data as an encrypted file body and adding the information including the disposable key as an encrypted file header. 제1항에 있어서, 상기 (a)단계는The method of claim 1, wherein step (a) 사용자 정보와 비밀번호를 포함하는 정보를 씨드(seed)로 하여 제1난수를 발생시키는 단계;Generating a first random number by seeding information including user information and a password; 암호시스템 기본키 생성 시각 정보를 씨드로 하여 제2난수를 발생시키는 단계;Generating a second random number based on the encryption system primary key generation time information; 상기 제1난수와 제2난수에 근거하여 초기 키를 생성하고 다시 상기 초기 키를 씨드로 하여 제3난수를 발생시키는 단계;및Generating an initial key based on the first random number and the second random number, and generating a third random number by using the initial key as a seed; and 상기 제3난수를 기본키로서 저장하는 단계를 포함하는 것을 특징으로 하는 파일암호화 방법.And storing the third random number as a primary key. 제1항에 있어서, 상기 (b)단계는The method of claim 1, wherein step (b) 상기 평문 데이터를 암호화하는 시각의 시각정보를 씨드로 하여 제4난수를 발생시켜 일회용 키로서 생성하는 단계를 포함하는 것을 특징으로 하는 파일 암호화 방법.And generating a fourth random number using the time information of the time at which the plain text data is encrypted as a seed to generate a fourth random number. 제1항에 있어서, 상기 (c)단계는The method of claim 1, wherein step (c) 상기 기본키와 상기 일회용 키에 근거하여 제1암호키를 생성하는 단계;및Generating a first encryption key based on the primary key and the disposable key; and 상기 제1암호키를 씨드로 하여 제5난수를 발생시켜 암호키로서 생성하는 단계를 포함하는 것을 특징으로 하는 파일 암호화 방법.And generating a fifth random number using the first encryption key as a seed and generating the fifth random number as an encryption key. 사용자가 입력하는 정보와 암호시스템의 시각 정보를 기초로 초기키를 생성하고, 상기 초기키를 씨드로 하는 난수를 생성해서 상기 난수를 기본키로서 저장하는 기본키 생성저장부;A basic key generation storage unit generating an initial key based on information input by a user and time information of a cryptographic system, generating a random number using the initial key as a seed, and storing the random number as a primary key; 평문 화일을 암호화하는 시점의 시각정보를 포함하는 데이터를 입력받아 상기 데이터를 씨드로 난수발생기를 구동하여 그 결과인 일회용 키를 출력하는 일회용키 생성부;A one-time key generation unit that receives data including visual information at the time of encrypting the plain text file and drives the random number generator with the data to output a resultant one-time key; 상기 기본 키와 상기 일회용 키에 근거하여 암호키를 출력하는 암호키 생성부;An encryption key generation unit for outputting an encryption key based on the basic key and the disposable key; 상기 암호키를 입력받아 평문 파일을 암호화하여 암호화데이터를 출력하는 제1암호화부;및A first encryption unit which receives the encryption key and encrypts a plain text file to output encrypted data; and 상기 암호화데이터를 암호파일바디(body)로 하고 상기 일회용 키를 포함하는 정보를 암호파일헤더(header)로 하여 최종 암호화 파일로 출력하는 제2암호화부를 포함하는 것을 특징으로 하는 파일 암호화 장치.And a second encryption unit for outputting the encrypted data as an encryption file body and outputting the information including the one-time key as an encryption file header as a final encryption file. 암호화되는 평문 파일 단위로 생성된 일회용 키와 사용자 정보를 기초로 생성된 기본키를 기초로 암호키를 생성한 후, 상기 평문파일을 암호화하여 바디로 하고 상기 일회용키를 헤더로 하는 암호화 파일을 복호하는 방법에 있어서,After generating an encryption key based on the one-time key generated in units of the plain text file to be encrypted and the basic key generated based on the user information, the plain text file is encrypted to be a body and the encrypted file having the one-time key as a header is decrypted. In the way, (a) 저장된 상기 기본키를 독출하고 상기 헤더에서 추출한 일회용키를 기초로 복호키를 생성하는 단계;(a) reading the stored primary key and generating a decryption key based on the disposable key extracted from the header; (b) 상기 복호키를 기초로 최종 암호파일을 평문 파일로 복호하는 단계를 포함하는 것을 특징으로 하는 암호화 파일 복호 방법.(b) decrypting the final encrypted file into a plain text file based on the decryption key. 제6항에 있어서, 상기 (a)단계는The method of claim 6, wherein step (a) 상기 기본키와 상기 일회용 키에 근거하여 제1복호키를 생성하는 단계;Generating a first decryption key based on the primary key and the disposable key; 상기 제1복호키를 씨드로 하여 난수를 발생시켜 상기 난수를 복호키로서 생성하는 단계를 포함하는 것을 특징으로 하는 파일 복호 방법.And generating a random number by using the first decryption key as a seed, and generating the random number as a decryption key. 암호화되는 평문 파일 단위로 생성된 일회용 키와 사용자 정보를 기초로 생성된 기본키를 기초로 암호키를 생성한 후, 상기 평문파일을 암호화하여 암호파일바디로 하고 상기 일회용키를 암호파일헤더로 하는 암호화된 파일을 복호하는 장치에 있어서After generating an encryption key based on a one-time key generated in units of encrypted plain text files and a basic key generated based on user information, the plain text file is encrypted to be an encryption file body and the one-time key is an encryption file header. In a device that decrypts an encrypted file 기본키와 암호파일헤더로부터 추출한 일회용 키를 입력받아 복호키를 출력하는 복호키 생성부; 및Decryption key generation unit for receiving the disposable key extracted from the primary key and the encryption file header and outputs a decryption key; And 상기 복호키로 수신된 암호화 파일를 복호하여 상기 평문파일을 출력하는 복호화부를 포함하는 것을 특징으로 하는 파일의 복호 장치.And a decryption unit for decrypting the encrypted file received by the decryption key and outputting the plain text file. 제1항 혹은 제6항중 적어도 하나의 항의 단계를 포함하는 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.A non-transitory computer-readable recording medium having recorded thereon a program for executing the method comprising the step of at least one of the preceding claims.
KR1020000057063A 2000-09-28 2000-09-28 Apparatus and Method for encryption and decryption of file using base key and one-time key KR20020025343A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020000057063A KR20020025343A (en) 2000-09-28 2000-09-28 Apparatus and Method for encryption and decryption of file using base key and one-time key

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020000057063A KR20020025343A (en) 2000-09-28 2000-09-28 Apparatus and Method for encryption and decryption of file using base key and one-time key

Publications (1)

Publication Number Publication Date
KR20020025343A true KR20020025343A (en) 2002-04-04

Family

ID=19690899

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020000057063A KR20020025343A (en) 2000-09-28 2000-09-28 Apparatus and Method for encryption and decryption of file using base key and one-time key

Country Status (1)

Country Link
KR (1) KR20020025343A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100612215B1 (en) * 2004-07-24 2006-08-16 삼성전자주식회사 Data writing/reproducing device for using password and method thereof
KR100698834B1 (en) * 2005-01-28 2007-03-26 펜타시큐리티시스템 주식회사 Method of encoding index column
KR100954223B1 (en) * 2007-11-22 2010-04-21 한국전자통신연구원 Apparatus and method for security communication between encryption systems using Real Time Clock
US10171428B2 (en) 2014-03-14 2019-01-01 Rowem Inc. Confidential data management method and device, and security authentication method and system

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11202765A (en) * 1998-01-16 1999-07-30 Mitsubishi Materials Corp Ciphered information processor, ciphered information processing method and recording medium
JP2000122908A (en) * 1998-10-12 2000-04-28 Nippon Telegr & Teleph Corp <Ntt> File managing method and storage medium storing the same
KR20000039411A (en) * 1998-12-12 2000-07-05 이계철 Authorization method using coding mechanism and disposable password
KR20010050484A (en) * 1999-11-15 2001-06-15 하세가와 히로요시 Electronic authentication system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11202765A (en) * 1998-01-16 1999-07-30 Mitsubishi Materials Corp Ciphered information processor, ciphered information processing method and recording medium
JP2000122908A (en) * 1998-10-12 2000-04-28 Nippon Telegr & Teleph Corp <Ntt> File managing method and storage medium storing the same
KR20000039411A (en) * 1998-12-12 2000-07-05 이계철 Authorization method using coding mechanism and disposable password
KR20010050484A (en) * 1999-11-15 2001-06-15 하세가와 히로요시 Electronic authentication system

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100612215B1 (en) * 2004-07-24 2006-08-16 삼성전자주식회사 Data writing/reproducing device for using password and method thereof
US8108690B2 (en) 2004-07-24 2012-01-31 Samsung Electronics Co., Ltd. Password-protected data writing and reproducing device and method
KR100698834B1 (en) * 2005-01-28 2007-03-26 펜타시큐리티시스템 주식회사 Method of encoding index column
KR100954223B1 (en) * 2007-11-22 2010-04-21 한국전자통신연구원 Apparatus and method for security communication between encryption systems using Real Time Clock
US8036383B2 (en) 2007-11-22 2011-10-11 Electronics And Telecommunications Research Institute Method and apparatus for secure communication between cryptographic systems using real time clock
US10171428B2 (en) 2014-03-14 2019-01-01 Rowem Inc. Confidential data management method and device, and security authentication method and system

Similar Documents

Publication Publication Date Title
US6011849A (en) Encryption-based selection system for steganography
JP3229148B2 (en) Encryption method and system
US7676040B2 (en) Changing encryption key of encrypted data
US6859535B1 (en) Digital content protection system
US6549623B1 (en) Cryptographic key split combiner
KR100683342B1 (en) Digital data recording device, digital data memory device, and digital data utilizing device for converting management information which contains restrictive information using a different key in each management information send/receive session
US9350544B2 (en) Apparatus for encrypting data
JPH103256A (en) Ciphering method and device therefor, recording method, decoding method and device therefor and recording medium
KR20100028516A (en) Accelerated cryptography with an encryption attribute
JP2000172548A (en) Electronic data management method and device and recording medium of electronic data management program
WO2007001075A1 (en) Encryption device, encryption method, decryption device, decryption method, and data structure
WO1998036520A1 (en) Cryptographic key split combiner
JPWO2006033347A1 (en) Confidential information processing method, confidential information processing apparatus, and content data reproducing apparatus
WO2012053886A1 (en) A method and system for file encryption and decryption in a server
JP2002185443A (en) Secret key managing system
KR20140055093A (en) System and method of distrubuted data storage, restoration
JPH10271104A (en) Ciphering method and decipherinc method
EP1033008A2 (en) Encryption system for secure data
JPH02110491A (en) Storage device
KR20020025343A (en) Apparatus and Method for encryption and decryption of file using base key and one-time key
US20100031057A1 (en) Traffic analysis resistant storage encryption using implicit and explicit data
JPH11161167A (en) Device and method for ciphering and recording medium which records ciphering program
JP2004023122A (en) Encryption system utilizing ic card
WO2021044465A1 (en) Encrypting device, decrypting device, computer program, encryption method, decryption method, and data structure
JP2005202048A (en) Cipher communication system, encryption device and decryption device used for the system, encrypting method and decrypting method, encrypting program and decrypting program, and recording medium

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application
J201 Request for trial against refusal decision
J121 Written withdrawal of request for trial