KR100404246B1 - 비주기형 암호키 데이터열 생성방법 및 그 시스템 - Google Patents

비주기형 암호키 데이터열 생성방법 및 그 시스템 Download PDF

Info

Publication number
KR100404246B1
KR100404246B1 KR10-2001-0047304A KR20010047304A KR100404246B1 KR 100404246 B1 KR100404246 B1 KR 100404246B1 KR 20010047304 A KR20010047304 A KR 20010047304A KR 100404246 B1 KR100404246 B1 KR 100404246B1
Authority
KR
South Korea
Prior art keywords
encryption key
key data
data string
data
generating
Prior art date
Application number
KR10-2001-0047304A
Other languages
English (en)
Other versions
KR20020012513A (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 정인숙
Publication of KR20020012513A publication Critical patent/KR20020012513A/ko
Application granted granted Critical
Publication of KR100404246B1 publication Critical patent/KR100404246B1/ko

Links

Classifications

    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0435Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)

Abstract

본 발명은 비주기성 또는 비순환성을 갖추어 송수신 데이터에 대한 확실한 보안을 제공할 수 있도록 해주는 암호키 데이터열을 생성하기 위한 비주기형 암호키 데이터열 생성방법 및 그 시스템에 관한 것이다.
본 발명에 있어서는 단말기 간에 약정된 소정의 공개키 와 통신자간에 약속되어 통신시 사용자가 입력하게 되는 개인키를 근거로 암호키 데이터를 생성하는 암호키 데이터 생성장치(20)와, 이 암호키 데이터 생성장치(20)에서 생성된 암호키 데이터를 근거로 암호키 데이터열을 생성하는 암호키 데이터열 생성장치(30)가 구비된다. 암호키 데이터열 구조변환장치(40)는 암호키 데이터열 생성장치(30)에서 출력되는 암호키 데이터열의 구조를 분석하여 동일한 비트 값의 데이터열을 다른 데이터열로 변환함으로써 암호키 데이터열의 구조를 변경하게 된다. 또한, 상기 암호키 데이터열 생성장치(30)에는 암호키 데이터열의 주기를 감시하기 위한 주기 감시수단이 구비되어 출력되는 암호키 데이터열이 주기성을 갖는 경우에는 암호키의 재조합 및 재생성을 통하여 암호키 데이터열이 비주기성을 갖도록 하게 된다.

Description

비주기형 암호키 데이터열 생성방법 및 그 시스템{Methode and system for generating non-periodical encryption data stream}
본 발명은 예컨대 통신시스템에 있어서 송수신되는 데이터를 암호화 또는 확산시키기 위한 암호키 데이터열 생성에 관한 것으로, 특히 비주기성 또는 비순환성을 갖추어 송수신 데이터에 대한 확실한 보안을 제공할 수 있도록 해주는 암호키 데이터열을 생성하기 위한 비주기형 암호키 데이터열 생성방법 및 그 시스템에 관한 것이다.
통신기술이 급속도로 발전되면서 다양한 형태의 통신시스템이 개발되어 사용되고 있다. 즉, 종래에는 PSTN(Public Switched Telephone Network)을 이용한 유선통신시스템이 통신시스템의 근간을 이루었는데 반하여, 최근에는 ISDN(Integrated Services Digital Network)이나 WLL(Wireless Local Loop) 시스템이 폭넓게 보급되고 있고, 또한 개인이 이동중에 통화를 실행할 수 있는 개인 이동통신 시스템이 급속도로 보급되고 있다. 또한, TCP/IP(Transmission Control Protocol/InternetProtocol)를 기반으로 하는 인터넷이 급속도로 보급되면서 전 세계 적으로 각종 통신시스템이 인터넷을 중심으로 네트워크화 되고 있다. 즉, 각종 통신 단말기 및 통신시스템이 무선화 및 네트워크화 되고 있다.
한편, 통신시스템의 무선화 및 네트워크화에는 송수신 데이터를 제3자로부터 보호하기 위한 통신보안에 대한 요구가 필수적으로 수반된다. 따라서, 종래의 통신시스템에 있어서는 송수신 데이터를 암호화하기 위한 별도의 암호키 데이터열을 생성한 후 이를 이용하여 송수신 데이터를 변환 처리함으로써 통신보안 문제에 대처하고 있다.
도 1은 일반적인 데이터 암호화 장치를 나타낸 개념도이다. 도 1에서 수신 또는 송신되는 데이터는 연산기(또는 승산기)(11)에서 암호키 데이터열과 연산되어 출력되게 된다. 그리고, 상기 연산기(11)로 공급되는 암호키 데이터열은 암호키 데이터열 생성장치(10)에서 생성되게 된다.
여기서, 상기 암호키 데이터열 생성장치(10)는 크게 2가지 방법, 즉 난수발생 알고리즘을 이용하는 방법과, 예컨대 다수의 시프트 레지스터와 모듈러-2 가산기를 포함하는 PN(Pseduo Noise) 코드 발생기를 이용하여 의사 난수(Pseduo Random Number)를 발생시키는 방법을 통해서 암호키 데이터열을 생성하게 된다. 특히, 여기서 PN 코드 발생기를 이용하는 방법은 암호화 알고리즘의 노출에 대한 위험성이 적고, 또한 PN 코드 발생기에 초기에 설정되는 초기값에 따라 다양한 별개의 암호키 데이터열이 생성되기 때문에 통신시스템에 폭넓게 채용되고 있다.
또한, 상기 암호화된 데이터를 수신하는 수신측 에서는 상기 암호화 장치와동일한 구성을 갖는 복호화 장치를 이용하여 수신된 데이터를 처리함으로써 본래의 데이터를 복구하게 된다.
그런데, 종래의 통신시스템에 채용된 암호화 방법에 있어서는 다음과 같은 문제가 있게 된다.
종래의 통신시스템에 있어서는 통신보안을 위한 암호키 데이터열이 통신 단말기간에 송수신되기 때문에 암호키 데이터열이 노출될 우려가 있게 된다. 즉, 예컨대 암호키 데이터열 생성장치(10)로서 PN 코드 발생기를 이용하는 경우에 있어서는 양 통신단말기에 구비되는 PN 코드 발생기에 초기값으로서 동일한 데이터를 설정하는 것이 필요하다. 따라서, 종래의 통신시스템에 있어서는 한 쪽의 통신단말기에서 상대방측 통신단말기에 대하여 상기 초기값을 전송함으로써 암호키 데이터열을 상호 일치시키도록 하고 있다. 그런데, 이와 같이 송수신되는 초기값은 유무선 환경에 있어서 악의의 제3자에게 노출될 우려가 있게 되고, 또한 이러한 초기값 노출은 그 이후에 송수신되는 데이터의 완전한 노출을 의미하게 되므로, 안정적인 통신시스템의 구현이 불가능하게 된다.
또한, 이러한 문제를 고려하여 송수신되는 암호화 데이터와 단말기 고유번호를 합성하여 암호화 데이터를 생성하도록 한 시스템도 소개된 바 있으나, 이 역시 단말기 고유번호의 노출을 통해 암호키 데이터열이 누출되는 문제가 발생하게 된다.
또한, 일반적으로 암호키 데이터열 알고리즘이나 PN 코드 발생기를 통해 생성되는 암호키 데이터열은 주기성과 순환성을 가지고 있게 된다. 따라서, 악의의제3자가 송수신되는 데이터를 일정 시간이상 분석함으로써 암호키 데이터열 알고리즘을 해석할 수 있게 되는 문제가 발생하게 된다.
이에, 본 발명은 상기한 문제점을 해결하기 위하여 창출된 것으로서, 암호키 데이터열 알고리즘이나 암호화 데이터가 노출될 우려가 없는 양호한 암호키 데이터열 생성방법 및 그 시스템을 제공함에 그 목적이 있다.
도 1은 일반적인 데이터 암호화 장치를 나타낸 구성도.
도 2는 본 발명의 일실시예에 따른 비주기형 암호키 데이터열 생성시스템의 구성을 나타낸 블록구성도.
도 3은 도 2에서 암호키 데이터 생성장치(20)의 구성을 타나낸 블록구성도.
도 4는 도 3에 도시된 구성의 동작을 설명하기 위한 도면.
도 5는 도 2에서 암호키 데이터열 생성장치(30)의 구성을 나타낸 블록구성도.
도 6은 도 5에서 데이터 입력부(31)의 구체적인 구성예를 나타낸 블록구성도.
도 7은 도 5에서 데이터 출력부(33)의 구체적인 구성예를 나타낸 블록구성도.
도 8은 도 5에서 데이터 출력부(33)의 다른 구성예를 나타낸 블록구성도.
도 9는 본 발명의 다른 실시예에 따른 비주기형 암호키 데이터열 생성시스템의 구성을 나타낸 블록구성도.
도 10은 도 9에서 암호키 데이터열 구조변환장치(40)의 구성을 타나낸 블록구성도.
도 11은 도 10에서 프로세서(44)에 의해 처리되는 동작을 설명하기 위한 설명도
*** 도면의 주요 부분에 대한 부호의 설명 ***
20 : 암호키 데이터 생성장치, 30 : 암호키 데이터열 생성장치,
40 : 암호키 데이터열 구조변환장치.
상기 목적을 실현하기 위한 본 발명의 제1 관점에 따른 비주기형 암호키 데이터열 생성방법은 통신 단말기간에 송수신되는 데이터를 암호화하기 위한 암호키 데이터열을 생성하는 방법에 있어서, 통신 단말기 상호간에 약정된 공개키 와 단말기 사용자간에 약정된 개인키를 조합하여 암호키 데이터를 생성하는 제1 암호키 데이터 생성단계와, 상기 제1 암호키 생성단계에서 생성된 암호키 데이터를 재배열하여 다수의 암호키 데이터를 생성하는 제2 암호키 데이터 생성단계, 상기 제2 암호키 데이터 생성단계에서 생성된 각각의 암호키 데이터를 근거로 암호키 데이터열을 생성하는 암호키 데이터열 생성단계 및, 상기 암호키 데이터열 생성단계에서 생성된 암호키 데이터열을 조합하여 출력하는 암호키 데이터열 출력단계를 포함하여 구성된 것을 특징으로 한다.
또한, 상기 목적을 실현하기 위한 본 발명의 제2 관점에 따른 비주기형 암호키 데이터열 생성시스템은 통신 단말기 상호간에 약정된 공개키 와 단말기 사용자간에 약정된 개인키를 근거로 암호키 데이터를 생성하는 암호키 데이터 생성수단과, 상기 암호키 데이터 생성수단에 의해 생성된 암호키 데이터를 근거로 암호키 데이터열을 생성하는 암호키 데이터열 생성수단을 포함하여 구성된 것을 특징으로 한다.
또한, 상기 목적을 실현하기 위한 본 발명의 제3 관점에 따른 비주기형 암호키 데이터열 생성시스템은 단말기간에 약정된 암호키 데이터를 재조합하여 다수의 암호키 데이터를 생성하는 데이터 입력수단과, 상기 데이터 입력수단에서 생성된 각각의 암호키 데이터를 근거로 상호 직교성을 갖는 암호키 데이터열을 생성하는 다수의 코드 발생수단 및, 상기 코드 발생수단에서 출력되는 코드 데이터열을 조합하여 출력하는 데이터 출력수단을 포함하여 구성되는 것을 특징으로 한다.
또한, 본 발명은 상기 데이터 출력수단을 통해 출력되는 암호키 데이터열의 주기성을 감시하기 위한 적어도 하나의 주기 감시수단을 추가로 포함하여 구성되는 것을 특징으로 한다.
또한, 본 발명은 상기 암호키 데이터열 생성수단에서 출력되는 암호키 데이터열로부터 일정한 비트값이 연속되는 데이터열을 검출하고, 해당 데이터열을 다른 데이터열로 변환하는 적어도 하나의 암호키 데이터열 구조변환수단을 추가로 포함하여 구성되는 것을 특징으로 한다.
이하, 도면을 참조하여 본 발명에 따른 실시예를 설명한다.
도 2는 본 발명의 일실시예에 따른 비주기형 암호키 데이터열 생성시스템을 나타낸 구성도이다.
암호키 데이터열 생성시스템은 소정의 공개키와 사용자가 입력한 개인키를조합하여 암호키 데이터를 생성하는 암호키 데이터 생성장치(20)와, 이 암호키 데이터 생성장치(20)로부터 출력되는 암호키 데이터를 근거로 암호키 데이터열을 생성하는 암호키 데이터열 생성장치(30)를 구비하여 구성된다.
여기서, 상기 소정의 암호키 데이터는 통신 단말기간에 약정된 암호화 코드로서, 이는 예컨대 통신 단말기간에 상호 통신을 통해 송수신하거나, 또는 임의의 다른 장치로부터 전송받게 된다. 이하, 상기 소정의 수신된 통신 암호키 데이터를 공개키 데이터라 칭한다. 또한, 상기 개인키는 사용자가 단말기의 조작키를 눌러서 입력하게 되는 암호키로서, 이는 통신 당사자가 상호 약속을 통해 정해지게 될 것이다.
도 3은 상기 암호키 데이터 생성장치(20)의 구성 예를 나타낸 구성도이다. 이 암호키 데이터 생성장치(20)는 공개키와 개인키를 입력 또는 조합하는 제1 단계와 이와 같이 입력된 데이터를 시계열적으로 재조합하는 제2 단계를 통해 서로 다른 다수의 암호키 데이터를 생성하게 된다. 도 3에서 암호키 데이터 생성장치(20)는 수신된 공개키를 직렬로 입력하여 병렬로 출력하는 시프트 레지스터(21)와 개인키를 직렬로 입력하여 병렬로 출력하는 시프트 레지스터(22), 상기 시프트 레지스터(21, 22)로부터 입력되는 데이터를 공간적으로 재조합하여 출력하는 스위칭부(23) 및, 이 스위칭부(23)에서 출력되는 병렬데이터를 입력하여 직렬로 출력하는 시프트 레지스터(24)를 포함하여 구성된다. 특히, 상기 스위칭부(23)는 주지된 바아 같이 예컨대 다수의 스위칭 IC나 마이크로 프로세서, 또는 다수의 스위칭 IC와 마이크로 프로세서의 조합으로 구성되게 되는데, 이때 스위칭부(23)가 스위칭 IC와 마이크로 프로세서의 조합으로 구성되는 경우에는 마이크로 프로세서가 프로그램적으로 스위칭 IC의 출력을 제어하도록 구성된다.
도 4는 스위칭부(23)에서 시프트 레지스터(21, 22)로부터 입력되는 데이터의 순서를 변환시켜 출력하는 경우의 일례를 나타낸 것으로, 이는 수신된 8비트의 공개키 데이터와 8비트의 개인키 데이터를 근거로 16비트의 암호키 데이터를 생성하는 경우를 예로 들어 나타낸 것이다. 상기 스위칭부(23)는 이와 같이 공개키와 개인키를 시계열적으로 재조합함으로써 서로 다른 다수의 암호키 데이터를 생성 및 출력하게 된다.
도 5는 암호키 데이터열 생성장치(30)의 구성을 나타낸 블록구성도로서, 이는 데이터 입력부(31)와 다수의 PN코드 발생기(32: 321-32N), 데이터 출력부(33), 주기 감시부(34) 및 디코딩부(35)를 구비하여 구성된다.
도 6은 상기 데이터 입력부(31)의 구체적인 구성예를 나타낸 블록구성도이다. 도 6에서 데이터 입력부(31)는 버퍼(311)와 암호키 데이터 변환부(312) 및 제어부(313)를 포함하여 구성된다.
여기서 상기 버퍼(311)는 제어부(313)의 제어에 따라 암호키 데이터 입력장치(20)로부터 입력되는 암호키 데이터를 저장하거나 또는 암호키 데이터 변환부(312)로부터 입력되는 암호키 데이터를 저장하고, 제어부(313)의 제어에 따라 해당 저장 데이터를 PN코드 발생기(32)로 순차 출력하게 된다.
상기 암호키 데이터 변환부(312)는 제어부(313)의 제어에 따라 버퍼(311)로부터 출력되는 암호키 데이터, 즉 암호키 데이터 입력장치(20)로부터 입력되는 암호키 데이터를 저장하고 있다가 제어부(313)의 제어에 따라 해당 암호키 데이터를 변환처리하여 이를 버퍼(311)로 입력하게 된다. 이때 암호키 데이터 변환처리는 해당 암호키 데이터를 재배열하거나 또는 암호키 데이터를 소정의 다른 데이터값으로 변경하는 처리를 포함하는데, 이는 예컨대 해시함수(Hash Function) 등을 이용하여 실행하게 된다.
제어부(313)는 데이터 입력부(31)의 동작을 전반적으로 제어하게 된다. 상기 제어부(313)는 암호키 데이터 입력장치(20)로부터 암호키 데이터가 입력되게 되면 버퍼(311)를 제어하여 이를 저장하게 된다. 그리고 디코딩부(35)로 소정의 제어데이터(또는 어드레스 데이터)를 출력하면서 상기 버퍼(311)에 저장되어 있는 암호키 데이터를 PN코드 발생기(32)로 순차 출력제어하게 된다. 이때 상기 디코딩부(35)로 출력되는 제어데이터는 도 5에 도시된 바와 같이 디코딩부(35)에서 디코딩되어 각 PN코드 발생부(32)에 로드신호(ROAD)로서 공급되게 된다. 또한 제어부(313)는 이후에 설명할 주기 감시부(34)로부터 소정의 감시신호가 입력되면 암호키 데이터 변환부(312)를 제어하여 암호키 데이터 입력장치(20)로부터 입력된 암호키 데이터를 변환처리하여 이를 버퍼(311)에 저장하게 된다. 그리고 상술한 동작과 마찬가지로 제어데이터를 디코딩부(35)로 출력하면서 버퍼(311)에 저장되어 있는 암호키 데이터를 PN코드 발생기(32)로 출력함으로써 상기 암호키 데이터 변환부(312)에 의해 변환처리된 암호키 데이터를 PN코드 발생기(32)에 순차 로드하게 된다.
도 5에서 PN코드 발생기(32)는 통상의 것과 마찬가지로 다수의 시프트 레지스터와 모듈러-2 가산기를 구비하여 구성된다. 이들 각각의 PN코드 발생기(32)는 이후에 설명할 데이터 출력부(33)로부터 공급되는 클록신호(CLK)와 입력부(31)에 의해 로드된 초기 데이터를 근거로 주기적인 일련의 PN코드열을 출력하게 된다.
도 7은 도 5에서 데이터 출력부(33)의 구체적인 구성예를 나타낸 블록구성도이다. 도 7에서 데이터 출력부(33)는 제어부(334)의 제어에 따라 각 PN코드 발생기(32)에서 출력되는 일련의 PN코드를 선택적으로 입력하기 위한 제1 스위칭부(331)와, 제어부(334)의 제어에 따라 각 PN코드 발생기(32)에서 필요로 되는 클록신호(CLK)를 생성하는 클록발생기(332), 제어부(334)의 제어에 따라 상기 클록발생기(332)로부터 출력되는 클록신호를 PN코드 발생기(32)로 선택 공급하기 위한 제2 스위칭부(333), 데이터 출력부(33)의 전체 동작을 제어하기 위한 제어부(334)를 포함하여 구성된다.
상기 제어부(334)는 제1 및 제2 스위칭부(331, 333)를 제어하여 제1 내지 제n PN코드 발생기(321-32N) 중 하나의 PN 코드 발생기(32)를 선택하게 된다. 즉, 하나의 PN 코드 발생기(32)에 대하여 클록신호(CLK)를 공급하면서 해당 PN 코드 발생기(32)로부터 출력되는 PN 코드 데이터를 입력하게 된다. 그리고 이와 같이 하나의 PN 코드 발생기(32)로부터 소정 비트(또는 바이트)의 데이터를 입력한 후에는 다시 제1 및 제2 스위칭부(331, 333)를 통해 다른 PN 코드 발생기(32)를 선택하는 방법을 통해 제1 내지 제n PN코드 발생기(321-32N)로부터 출력되는 PN 코드 데이터를 시계열적으로 조합하여 암호키 데이터열을 생성하게 된다. 이때 각 PN 코드 발생기(32)의 선택은 소정의 알고리즘, 즉 프로그램 적으로 설정되고, 바람직하게는 일정한 시간단위로 그 출력순위가 변경 설정된다. 또한, 이 경우 제어부(334)에서 프로그램적으로 예컨대 1에서 N까지 소정의 난수를 발생시키고, 발생된 숫자에 대응하는 PN코드 발생기(32)를 선택하는 것도 바람직하다.
도 8은 상기 데이터 출력부(33)의 다른 구성예를 나타낸 블록구성도로서, 이는 보다 완벽한 암호키 데이터열을 생성할 수 있도록 한 것이다. 도 8에 있어서는 적어도 1개 이상의 서로 다른 코드 데이터가 저장되어 있는 코드 저장부(335)가 추가로 구비되게 된다. 그리고 제어부(336)는 PN 코드 발생기(32)로부터 선택 입력되는 PN 코드 데이터를 출력하는 사이에 상기 코드 저장부(335)에 저장되어 있는 코드 데이터를 삽입하여 출력하게 된다. 물론 이 경우에도 상기 코드 데이터 선택은 소정의 알고리즘에 따라 실행되고, 또한 난수발생을 통하여 코드 저장부(335)에 저장되어 있는 코드 데이터를 선택하는 것도 가능하다.
한편 도 5에서 주기 감시부(34)는 예상되지 못한 상황에 의해 데이터 출력부(33)로부터 주기성의 암호화 데이터가 출력되는 경우를 고려한 것이다. 이 주기 감시부(34)는 상기 데이터 출력부(33)에서 출력되는 데이터가 주기성을 갖는지를 검출하여 그 검출신호를 데이터 입력부(31)로 인가하게 된다. 주기 감시부(34)는 데이터 출력부(33)로부터의 출력데이터를 저장하기 위한 메모리(도시되지 않음)를 구비하여 소정 비트열의 출력데이터를 저장하게 된다. 그리고, 이후에는 상기 메모리에 저장되어 있는 비트열과 데이터 출력부(33)로부터 출력되는 암호키 데이터열을 예컨대 배타적 논리합(exclusive OR)함으로써 동일한 비트열을 갖는 데이터가 데이터 출력부(33)로부터 출력되는지를 검출하게 된다. 이때 주기 감시부(34)로부터의 검출출력은 상술한 바와 같이 데이터 입력부(31)의 제어부(313)로 입력되어 암호키 데이터 변환처리의 근거 데이터로서 활용되게 된다.
상기한 실시예에 있어서는 수신된 공개키와 통신자만이 알게 되는 개인키가 입력되게 되면, 암호키 데이터 생성장치(20)에서는 입력되는 데이터를 조합하여 새로운 암호키 데이터를 생성하게 된다. 즉, 예를 들어 도 4에서 시프트 레지스터(21, 22)를 통해서 입력되는 수신된 공개키 데이터가 "1010 0101"이고, 개인키 데이터가 "1100 0011"이라 하면, 스위칭부(23)에서는 이를 재조합하여 예컨대 "0100 1000 0111 1101"이라는 새로운 암호키를 생성하여 암호키 데이터열 생성장치(30)로 출력하게 된다. 또한, 이러한 새로운 암호키 생성은 상기 스위칭부(23)를 통해 반복적으로 소정 회수가 실행됨으로써 각각 서로 다른 다수의 암호키 데이터가 암호키 데이터열 생성장치(30)로 입력되게 된다.
한편, 상기와 같이 다수의 서로 다른 암호키 데이터가 암호키 데이터열 생성장치(30)에 입력되게 되면, 도 5 및 도 6에서 데이터 입력부(31)의 제어부(313)는 입력되는 암호키 데이터를 순차적으로 버퍼(311)에 저장한 후, 상술한 바와 같이 소정의 제어데이터를 디코딩부(35)로 출력함과 더불더 버퍼(311)에 저장되어 있는 암호키 데이터를 순차적으로 출력제어함으로써 각각의 서로 다른 암호키 데이터를 PN코드 발생기(32)에 각각 로드하게 된다. 이에 따라 각 PN코드 발생기(32)에는 각기 다른 암호키 데이터가 로드되게 된다. 또한 이 경우 상기 버퍼(311)로부터 출력되는 다수의 암호키 데이터는 암호키 데이터 변환부(312)로 인가되어 내부 메모리(도시되지 않음)에 저장되게 된다.
상기와 같이 각 PN코드 발생기(32)에 소정의 초기값이 로드되게 되면 데이터 출력부(33)에서는 도 7 및 도 8에서 설명한 바와 같이 특정한 PN코드 발생기(32)에 대하여 클록신호(CLK)를 공급하면서 해당 PN코드 발생기(32)로부터 출력되는 PN코드 데이터를 입력하고, 이러한 동작을 모든 PN코드 발생기(32)에 대하여 실행하는 방법을 통해 일련의 암호키 데이터열을 생성하여 출력하게 된다. 그리고 이와 같이 방법을 통해 생성되는 암호키 데이터열은 도 1에서 연산기(11)로 공급되어 입력데이터를 암호화하는데 사용되게 된다.
한편, 상기와 같이 데이터 출력부(33)에서 출력되는 암호키 데이터열은 주기감시부(34)에 입력되어 해당 암호키 데이터열이 주기성이 감시되게 된다. 그리고 주기 감시부(34)에서 암호키 데이터열이 1주기 한 것이 검출되게 되면 소정의 검출신호가 데이터 입력부(31)에 입력되게 된다. 이어 데이터 입력부(31)에서는 도 6에서 설명한 바와 같이 주기 감시부(34)로부터 검출신호가 입력되게 되면 제어부(313)가 암호키 데이터 변환부(312)를 제어하여 버퍼(311)에 저장되는 암호키 데이터를 변환처리하고, 이와 같이 변환처리된 암호키 데이터를 각 PN코드 발생기(32)에 재 로드함으로써 데이터 출력부(33)로부터 출력되는 암호키 데이터열의 주기성을 파괴하게 된다.
따라서, 상술한 실시예에 있어서는 데이터 출력부(33)로부터 출력되는 암호키 데이터열이 항상 비주기성을 갖도록 설정되므로 안정적인 보안시스템을 구현할 수 있게 된다.
한편, 도 9는 본 발명의 다른 실시예에 따른 비주기형 암호키 데이터열 생성시스템을 나타낸 블록구성도로서, 이는 도 5의 데이터 출력부(33)로부터 출력되는 암호키 데이터열의 구조를 분석하여 암호키 데이터열이 노출될 가능성을 보다 확실하게 방지하도록 한 것이다. 또한, 본 실시 예에서 상술한 실시예와 실질적으로 동일한 부분에는 동일한 참조번호를 부가하고 그 상세한 설명은 생략한다.
도 9에 도시된 실시예에 있어서는 암호키 데이터열 생성장치(30)의 후단에 암호키 데이터열 구조변환장치(40)가 부가된 것이다. 일반적으로 송수신되는 데이터를 암호화함에 있어서 암호키 데이터열이 연속적으로 동일한 값을 갖는 경우, 즉 연속적으로 "1"의 값을 갖거나 "0"을 갖는 경우에는 암호키 데이터열이나 또는 해당 암호키 데이터열에 의해 암호화된 송수신 데이터가 악의의 제3자에게 노출될 가능성이 존재하게 된다. 상기 암호키 데이터열 구조변환장치(40)는 암호키 데이터열 생성장치(30)로부터 출력되는 암호키 데이터열의 구조를 감지하여 이와 같이 노출될 가능성이 있는 암호키 데이터열을 별개의 다른 암호키 데이터열로서 변환시키게 된다.
도 10은 상기 암호키 데이터열 구조변환장치(40)의 구성 예를 나타낸 블록구성도이다. 도 10에서 암호키 데이터열 생성장치(30)로부터 입력되는 암호키 데이터열은 시프트 레지스터(43)가 구비되는 제1 라인(41)을 통해 프로세서(44)로 입력됨과 더불어 제2 라인(42)을 통해 프로세서(44)에 직접적으로 입력된다. 여기서, 상기 시프트 레지스터(43)는 제2 라인(42)을 통해 프로세서(44)로 입력되는 암호키 데이터열에 비하여 제1 라인(41)을 통해 프로세서(44)로 입력되는 암호키 데이터열을 소정 비트수 만큼 지연시키기 위한 것이다.
상기 구성에서 프로세서(44)는 제2 라인(42)을 통해 입력되는 암호키 데이터열을 감시하여 동일한 비트값의 암호키 데이터열이 소정 비트 이상, 예컨대 3비트 이상 연속되는지를 검출하게 된다. 그리고, 비트값이 연속되는 암호 키 데이터열의 경우에는 제1 라인(41)을 통해 입력되는 해당 암호키 데이터열을 제2 라인(42)을 통해 입력되는 데이터와 연산, 예컨대 배타적으로 논리합하게 된다. 즉, 도 8에서 (a)가 제2 라인(42)을 통해 입력되는 암호키 데이터열이고, (b)가 제1 라인(41)을 통해 입력되는 암호키 데이터열이라 할 때, 프로세서(44)는 제2 라인(42)을 통해서 입력되는 암호키 데이터열을 근거로 동일한 비트값이 연속되는지를 판정하게 된다. 그리고 (a)에서 밑줄을 그어 나타낸 바와 같이 일정한 비트값이 연속되는 데이터가 존재하는 경우에는 제1 라인(41)을 통해서 입력되는 암호키 데이터열을 출력할 때, 해당 비트값에 대하여 동일한 시점에 제2 라인(42)을 통해 입력되는 비트값, 예를 들어 제1 라인(41)을 통해 입력되는 "1111"의 암호키 데이터열을 출력할 때 제2 라인(42)을 통해 입력되는 "1010"의 데이터를 배타적 논리합(EX OR)함으로써 (c)에 나타낸 바와 같이 연속된 비트값의 데이터가 없는 암호키 데이터열을 출력하게 된다.
즉, 상기 실시예에 있어서는 암호키 데이터열 생성장치(30)에서 출력되는 비주기성 암호키 데이터열의 구조를 감시하여, 노출될 가능성이 있는 구조를 가진 암호키 데이터열을 안정적인 구조의 다른 암호키 데이터열로 변환함으로써 보다 확실한 암호키 데이터열을 구현하게 된다.
또한, 본 발명은 상기 실시예에 한정되지 않고 본 발명의 기술적 요지를 벗어나지 않는 범위내에서 다양하게 변형시켜 실시할 수 있다. 즉, 예를 들어 상기 실시예에 있어서는 도 5의 데이터 출력부(33)에서 출력되는 암호키 데이터열을 단일의 주기 감시부(34)와 암호 키 데이터열 구조변환장치(22)를 통해 변환시키는 경우에 대하여 설명하였다. 그러나, 상기 구조 감시부(34)와 암호 키 데이터열 구조변환장치(40)는 복수단으로 구성하는 것도 가능하고, 이와 같이 하게 되면, 암호키 데이터열의 기밀성을 더욱 높일 수 있게 된다.
또한, 상기 실시예에서 암호키 데이터열 생성장치(30)는 다수의 PN코드 발생기(32)를 구비하여 구성되는 것으로 설명하였으나, 상기 PN코드 발생기 대신에 임의의 다른 코드 발생기, 즉 상호 직교성을 갖는 코드데이터를 생성하는 임의의 다른 코드 발생기를 이용하는 것도 가능하다.
또한, 상기 구성에 있어서는 주기 감시부(34)에서 동일한 주기의 암호키 데이터열 출력이 검출된 경우에 데이터 입력부(31)가 암호키 데이터를 변환처리하여 PN 코드 발생기(32)에 재 로드 하는 경우에 대하여 설명하였으나, 상기 주기 감시부(34)의 검출결과를 근거로 암호키 데이터 생성장치(20)가 암호키 데이터를 재조합하고, 암호키 데이터열 생성장치(30)의 데이터 입력부(31)가 PN코드 발생기(32)에 대하여 암호키 데이터를 재 로드 하도록 구성하는 것도 가능하다.
또한, 상기 실시예에 있어서는 암호키 데이터열 생성장치(30)가 암호키 데이터 생성장치(20)에서 생성된 암호키 데이터를 근거로 암호키 데이터열을 생성하는 것에 대하여 설명하였으나, 본 발명은 상기 암호키 데이터열 생성장치(30)만을 가지고 암호키 데이터열을 생성하는 것도 효과적이다. 즉, 암호키 데이터열 생성장치(30)가 수신된 암호키 데이터를 근거로 암호키 데이터열을 생성하도록 하여도 종래에 비해 우수한 암호화 데이터를 생성할 수 있게 된다.
또한 상기 실시예에서는 암호키 데이터 생성장치(20)에서 스위칭부(23)를 통하여 공개키와 개인키를 시계열적으로 재조합하는 경우에 대하여 설명하였으나, 이는 해시함수를 이용하여 데이터를 변환처리하는 것이 가능하고, 또한 해시함수를 이용하여 데이터 변환처리를 한 후 이를 시계열적으로 조합하는 것도 가능하다.
또한 상기 실시예에서는 암호키 데이터 생성장치(20)에서 모든 PN 코드 발생기(32)에서 필요로 되는 암호키 데이터를 생성하여 암호키 데이터열 생성장치(30)로 입력하는 경우를 예로 들어 설명하였으나, 암호키 데이터 생성장치(20)에서는 하나의 PN 코드 발생기(32)에 대응하는 암호키 데이터를 생성하도록 하고 각 PN 코드 발생기(32)의 구성을 서로 다르게 설정하는 것도 가능하다.
이상 설명한 바와 같이 본 발명에 의하면, 암호키 데이터열을 생성하기 위한 암호키 데이터로서 노출될 우려가 있는 수신된 공개키에 대하여 사용자만이 알고 있는 개인키를 조합하여 사용하게 된다. 따라서 제3자가 네트워크 감시나 무선환경의 감시를 통해 암호키 데이터열이나 송수신 데이터를 파악하는 것이 방지되게 된다.
또한, 상기 암호키 데이터를 재조합하여 암호키 데이터열을 생성하고, 또한 암호키 데이터열의 주기 및 구조를 감시하여 암호키 데이터열이 주기성이나 반복성을 갖는 것을 방지하게 되므로, 확실한 암호화 시스템을 구축할 수 있게 된다.

Claims (16)

  1. 통신 단말기간에 송수신되는 데이터를 암호화하기 위한 암호키 데이터열을 생성하는 방법에 있어서,
    통신 단말기 상호간에 약정된 공개키 데이터와 단말기 사용자간에 약정된 개인키를 조합하여 암호키 데이터를 생성하는 제1 암호키 데이터 생성단계와,
    상기 제1 암호키 생성단계에서 생성된 암호키 데이터를 재배열하여 다수의 암호키 데이터를 생성하는 제2 암호키 데이터 생성단계,
    상기 제2 암호키 데이터 생성단계에서 생성된 각각의 암호키 데이터를 근거로 다수의 암호키 데이터열을 생성하는 암호키 데이터열 생성단계 및,
    상기 암호키 데이터열 생성단계에서 생성된 암호키 데이터열을 조합하여 출력하는 암호키 데이터열 출력단계를 포함하여 구성된 것을 특징으로 하는 비주기형 암호키 데이터열 생성방법.
  2. 제1항에 있어서,
    상기 암호키 데이터열 출력단계에서 출력되는 암호키 데이터열의 주기성을 검출하는 주기 검출단계와,
    상기 주기 검출단계에서 주기성이 검출되면 상기 제2 암호키 데이터 생성단계에서 생성된 암호키 데이터를 변환처리하는 암호키 데이터 변환단계를 추가로 포함하여 구성되는 것을 특징으로 하는 비주기형 암호키 데이터열 생성방법.
  3. 제1항에 있어서,
    상기 암호키 데이터열 출력단계에서 출력되는 암호키 데이터열의 주기성을 검출하는 주기 검출단계와,
    상기 주기 검출단계에서 주기성이 검출되면 상기 제2 암호키 데이터 생성단계를 재실행하는 제2 암호키 생성 재실행단계를 추가로 포함하여 구성되는 것을 특징으로 하는 비주기형 암호키 데이터열 생성방법.
  4. 제1항에 있어서,
    상기 암호키 데이터열 출력단계에서 출력되는 암호키 데이터열의 구조를 검출하는 암호키 데이터열구조 검출단계와,
    암호키 데이터열의 구조를 변경하는 암호키 데이터열 구조변환단계를 추가로 포함하여 구성되는 것을 특징으로 하는 비주기형 암호키 데이터열 생성방법.
  5. 제1항에 있어서,
    상기 암호키 데이터열 출력단계에서는 암호키 데이터열의 조합 사이에 소정의 코드 데이터를 삽입하는 것을 특징으로 하는 비주기형 암호키 데이터열 생성방법.
  6. 통신 단말기 상호간에 약정된 암호키 데이터와 단말기 사용자간에 약정된 키입력데이터를 근거로 암호키 데이터를 생성하는 암호키 데이터 생성수단과,
    상기 암호키 데이터 생성수단에 의해 생성된 암호키 데이터를 근거로 암호키 데이터열을 생성하는 암호키 데이터열 생성수단을 포함하여 구성되고,
    상기 암호키 데이터열 생성수단은 상기 암호키 데이터 생성수단에서 생성된 암호키 데이터를 근거로 상호 직교성을 갖는 암호키 데이터열를 생성하는 다수의 코드 발생수단과, 상기 코드 발생수단에서 출력되는 암호키 데이터열을 조합하여 출력하는 데이터 출력수단을 포함하여 구성된 것을 특징으로 하는 비주기형 암호키 데이터열 생성시스템.
  7. 제6항에 있어서,
    상기 암호키 데이터 입력수단은 입력되는 암호키 데이터를 변환하기 위한 암호키 데이터 변환수단을 추가로 포함하여 구성된 것을 특징으로 하는 비주기형 암호키 데이터열 생성시스템.
  8. 제6항 또는 제7항에 있어서,
    상기 데이터 출력수단을 통해 출력되는 암호키 데이터열의 주기성을 감시하기 위한 적어도 하나의 주기 감시수단을 추가로 포함하여 구성되는 것을 특징으로 하는 비주기형 암호키 데이터열 생성시스템.
  9. 제8항에 있어서,
    상기 데이터 입력수단은 상기 주기 감시수단의 감시결과에 따라 암호키 데이터를 변환처리하는 것을 특징으로 하는 비주기형 암호키 데이터열 생성시스템.
  10. 제8항에 있어서,
    상기 암호키 데이터 생성수단은 상기 주기 감시수단의 감시결과에 따라 암호키 데이터를 재조합하여 출력하는 것을 특징으로 하는 비주기형 암호키 데이터열 생성시스템.
  11. 제6항에 있어서,
    상기 데이터 출력수단은 암호키 데이터열의 조합 사이에 소정의 코드 데이터를 삽입하는 것을 특징으로 하는 비주기형 암호키 데이터열 생성시스템.
  12. 제6항에 있어서,
    상기 암호키 데이터열 생성수단에서 출력되는 암호키 데이터열로부터 일정한 비트값이 연속되는 데이터열을 검출하고, 해당 데이터열을 다른 데이터열로 변환하는 적어도 하나의 암호화 데이터 구조변환수단을 추가로 포함하여 구성되는 것을 특징으로 하는 비주기형 암호키 데이터열 생성시스템.
  13. 단말기 간에 약정된 암호키 데이터를 조합하여 다수의 암호키 데이터를 생성하는 데이터 입력수단과,
    상기 데이터 입력수단에서 생성된 각각의 암호키 데이터를 근거로 상호 직교성을 갖는 암호키 데이터열을 생성하는 다수의 코드 발생수단 및,
    상기 코드 발생수단에서 출력되는 암호키 데이터열을 조합하여 출력하는 데이터 출력수단을 포함하여 구성되는 것을 특징으로 하는 비주기형 암호키 데이터열 생성시스템.
  14. 제13항에 있어서,
    상기 데이터 출력수단을 통해 출력되는 암호키 데이터열의 주기성을 감시하기 위한 적어도 하나의 주기 감시수단을 추가로 포함하여 구성되고, 상기 데이터 입력수단은 상기 주기 감시수단의 감시결과에 따라 암호키 데이터를 변환하는 것을 특징으로 하는 비주기형 암호키 데이터열 생성시스템.
  15. 제13항에 있어서,
    상기 암호키 데이터열 생성수단에서 출력되는 암호키 데이터열로부터 일정한 비트값이 연속되는 데이터열을 검출하고, 해당 데이터열을 다른 데이터열로 변환하는 적어도 하나의 암호키 데이터열 구조변환수단을 추가로 포함하여 구성되는 것을 특징으로 하는 비주기형 암호키 데이터열 생성시스템.
  16. 제13항에 있어서,
    상기 데이터 출력수단은 암호키 데이터열의 조합 사이에 소정의 코드 데이터를 삽입하는 것을 특징으로 하는 비주기형 암호키 데이터열 생성시스템.
KR10-2001-0047304A 2000-08-07 2001-08-06 비주기형 암호키 데이터열 생성방법 및 그 시스템 KR100404246B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020000045584 2000-08-07
KR20000045584 2000-08-07

Publications (2)

Publication Number Publication Date
KR20020012513A KR20020012513A (ko) 2002-02-16
KR100404246B1 true KR100404246B1 (ko) 2003-11-03

Family

ID=19682008

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2001-0047304A KR100404246B1 (ko) 2000-08-07 2001-08-06 비주기형 암호키 데이터열 생성방법 및 그 시스템

Country Status (1)

Country Link
KR (1) KR100404246B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102658004B1 (ko) 2023-04-25 2024-04-15 손성근 데이터 암호화 또는 복호화 장치 및 그 방법

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100446207B1 (ko) * 2002-01-30 2004-08-30 정인숙 암호화기능을 갖는 데이터 송수신시스템
KR100453258B1 (ko) * 2002-10-17 2004-10-15 정성용 카오스 함수를 이용한 균형성을 갖는 수열생성 방법

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1997023972A1 (en) * 1995-12-22 1997-07-03 V-One Corporation Application level security system and method
JPH10177341A (ja) * 1996-07-26 1998-06-30 Nippon Telegr & Teleph Corp <Ntt> Rsa暗号における秘密鍵預託方法およびシステム
JPH10327141A (ja) * 1997-05-08 1998-12-08 Internatl Business Mach Corp <Ibm> データ暗号化解読方法および装置
KR20000016931A (ko) * 1998-08-20 2000-03-25 포만 제프리 엘 비밀키생성시스템
KR20010043748A (ko) * 1999-03-25 2001-05-25 요트.게.아. 롤페즈 다중노드 암호화 및 키 전송
KR20010100473A (ko) * 2000-05-02 2001-11-14 김덕진 암호화에 의해 보안이 유지되는 인터넷상에서의 금융거래방법 및 이를 위한 기록매체

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1997023972A1 (en) * 1995-12-22 1997-07-03 V-One Corporation Application level security system and method
JPH10177341A (ja) * 1996-07-26 1998-06-30 Nippon Telegr & Teleph Corp <Ntt> Rsa暗号における秘密鍵預託方法およびシステム
JPH10327141A (ja) * 1997-05-08 1998-12-08 Internatl Business Mach Corp <Ibm> データ暗号化解読方法および装置
KR20000016931A (ko) * 1998-08-20 2000-03-25 포만 제프리 엘 비밀키생성시스템
KR20010043748A (ko) * 1999-03-25 2001-05-25 요트.게.아. 롤페즈 다중노드 암호화 및 키 전송
KR20010100473A (ko) * 2000-05-02 2001-11-14 김덕진 암호화에 의해 보안이 유지되는 인터넷상에서의 금융거래방법 및 이를 위한 기록매체

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102658004B1 (ko) 2023-04-25 2024-04-15 손성근 데이터 암호화 또는 복호화 장치 및 그 방법

Also Published As

Publication number Publication date
KR20020012513A (ko) 2002-02-16

Similar Documents

Publication Publication Date Title
US6014446A (en) Apparatus for providing improved encryption protection in a communication system
US20090103726A1 (en) Dual-mode variable key length cryptography system
US7200232B2 (en) Method and apparatus for symmetric-key decryption
EP1223707B1 (en) Variable length key encrypting system
JP4052480B2 (ja) 疑似乱数発生方法、疑似乱数発生器、及び疑似乱数発生プログラム
EP0839418B1 (en) Cryptographic method and apparatus for non-linearly merging a data block and a key
KR100610367B1 (ko) 정보 누출 공격을 방지하기 위한 갈로아 필드 상의 곱셈방법 및 장치, 역변환 장치 그리고 aes 바이트 치환연산장치
US8654972B2 (en) Keystream encryption device, method, and program
JP4774509B2 (ja) 擬似乱数発生システム
US7430292B2 (en) Methods and systems for securing information communicated between communication devices
WO1995010148A1 (en) Multistream encryption system for secure communication
EP0996250A2 (en) Efficient block cipher method
KR100404246B1 (ko) 비주기형 암호키 데이터열 생성방법 및 그 시스템
US20030053627A1 (en) Random-number generation apparatus, random-number generation method, and random-number generation program
Kocheta et al. A review of some recent stream ciphers
US6813625B2 (en) Method and device for self-clock controlled pseudo random noise (PN) sequence generation
JP3606418B2 (ja) 乱数生成装置
KR100756435B1 (ko) 키스트림 생성방법 및 장치
RU2188513C2 (ru) Способ криптографического преобразования l-битовых входных блоков цифровых данных в l-битовые выходные блоки
KR100350207B1 (ko) 디지털 데이터의 엘-비트 입력 블록들을 엘-비트 출력비트들로 암호 변환하는 방법
Rose et al. The t-class of SOBER stream ciphers
JP2000354032A (ja) 様々な長さおよび位置の挿入を行った疑似雑音系列
BG112891A (bg) Метод и устройство за генериране на ключов поток за поточни шифри
Erdem et al. Use of Rijndael Block Cipher on J2ME Devices for encryption and hashing
RU2140709C1 (ru) Способ криптографического преобразования блоков цифровых данных

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20121012

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20131021

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20141020

Year of fee payment: 12

LAPS Lapse due to unpaid annual fee