KR20070103113A - 음성신호의 인크립션/디크립션 방법과 이를 위한 장치 - Google Patents

음성신호의 인크립션/디크립션 방법과 이를 위한 장치 Download PDF

Info

Publication number
KR20070103113A
KR20070103113A KR1020060034800A KR20060034800A KR20070103113A KR 20070103113 A KR20070103113 A KR 20070103113A KR 1020060034800 A KR1020060034800 A KR 1020060034800A KR 20060034800 A KR20060034800 A KR 20060034800A KR 20070103113 A KR20070103113 A KR 20070103113A
Authority
KR
South Korea
Prior art keywords
encryption
data
decryption
shuffling
block
Prior art date
Application number
KR1020060034800A
Other languages
English (en)
Other versions
KR100836942B1 (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 KR1020060034800A priority Critical patent/KR100836942B1/ko
Priority to EP07746030A priority patent/EP2014066A1/en
Priority to PCT/KR2007/001867 priority patent/WO2007120006A1/en
Publication of KR20070103113A publication Critical patent/KR20070103113A/ko
Application granted granted Critical
Publication of KR100836942B1 publication Critical patent/KR100836942B1/ko

Links

Images

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
    • H04L9/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • 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
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04KSECRET COMMUNICATION; JAMMING OF COMMUNICATION
    • H04K1/00Secret communication
    • 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
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • 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/12Transmitting and receiving encryption devices synchronised or initially set up in a particular manner
    • 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/34Bits, or blocks of bits, of the telegraphic message being interchanged in time
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/03Protecting confidentiality, e.g. by encryption
    • H04W12/033Protecting confidentiality, e.g. by encryption of the user plane, e.g. user's traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/08Randomization, e.g. dummy operations or using noise

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Multimedia (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Human Computer Interaction (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Telephone Function (AREA)
  • Telephonic Communication Services (AREA)
  • Storage Device Security (AREA)

Abstract

음성신호의 인크립션/디크립션 방법과 이를 이용하여 실시간 보안통화를 지원해주는 장치가 개시된다. 실시간 통화음성을 디지털 데이터로 변환한 다음, 시간스케일수정 처리를 하여 데이터량을 소정 비율로 감축시킨다. 시간스케일 처리된 데이터를 다수의 인크립션전 프레임으로 구분하고, 각 인크립션전 프레임을 다수의 셔플링 블록으로 구분하여 셔플링 처리를 한 다음 시간적으로 이격시키고 더미데이터 블록을 이격된 셔플링 블록들 사이사이의 빈공간에 추가하여 인크립션후 프레임으로 변환한다. 인크립션후 프레임들에 소정의 동기화 데이터를 추가하여, 통신을 위해 필요한 신호처리를 거쳐 상대방에게 송신한다. 이러한 처리는 사용자가 설정한 암호화 키 값을 이용하여 정해지는 소정의 인크립션 규칙에 따라 이루어진다. 송화자의 인크립션 처리된 음성신호는 동일한 암호화 키 값을 가진 수화자 측에서 그 인크립션 규칙을 역으로 적용하여 디크립션 할 수 있다.

Description

음성신호의 인크립션/디크립션 방법과 이를 위한 장치{Encryption /Decryption Method for Voice Signal and Apparatus for the Same}
도 1은 음성신호를 인크립션 처리를 하여 인크립션 데이터로 변환하기 위한 인크립션 장치의 기능블록도이다.
도 2는 암호화 된 인크립션 데이터의 암호화를 해제하여 원래의 음성신호로 회복시키기 위한 디크립션 장치의 기능블록도이다.
도 3은 도 1과 2에 도시된 인크립션 장치와 디크립션 장치를 이어폰형 인크립션/디크립션 장치로 구현하여 그것을 휴대폰에 연결하여 통화를 하는 경우를 도시한다.
도 4는 이어폰형 인크립션/디크립션 장치의 하드웨어적인 구성을 도시한 블록도이다.
도 5는 송화자의 음성을 인크립션 처리하는 인크립션 알고리즘을 도시한 것이다.
도 6은 상대방(즉, 수화자)의 인크립션 처리된 음성데이터를 해독 처리하는 디크립션 알고리즘을 도시한다.
도 7은 본 발명에 따른 음성신호의 인크립션 방법을 설명하기 위한 도면으로서, (A)는 에너지 등급별로 더미데이터 블록을 분류 저장하는 것을 도시하며, (B) 와 (C)는 가변적 TSM 처리를 개념적으로 도시하며, (D)는 인크립션전 프레임(pre-encryption frame)의 셔플링 블록들의 셔플링 및 그 셔플링 블록들 사이에 더미데이터 블록들을 부가하는 방법을 개념적으로 도시한다.
도 8은 인크립션전 프레임 EF2를 예로 하여 이것에 더미데이터를 중첩가산 방식으로 부가하는 것을 도식적으로 보여준다.
** 도면의 주요부분에 대한 부호의 설명 **
100: 인크립션 엔진부 200: 디크립션 엔진부
300a, 300b: 휴대폰
400a, 400b: 이어폰형 인크립션/디크립션 장치
410: 이어폰 스피커
420: 인크립션/디크립션 장치 몸체
422: 선택버튼 424: 디스플레이부
425: 인크립션통화버튼 426: 마이크
428: 케이스 430: 이어폰 잭
본 발명은 음성신호 처리에 관한 기술에 관한 것으로서, 보다 상세하게는 실시간 통화음성의 보안통화를 지원해주는 음성신호의 인크립션(encryption) 및 디크 립션처리(decryption) 기술에 관한 것이다.
최근 우리나라에서는 휴대폰의 도청 문제가 사회적 이슈가 된 바 있다. 휴대폰 통신서비스 회사는 휴대폰 통신은 도청이 불가능하다고 주장하였지만, 실제로는 도청이 이루어졌음이 밝혀졌다. 그래서 많은 사람들이 도청의 불안을 느끼고 있는 실정이어서, 통화내용이 노출되지 않도록 해주는 인크립션 기술의 필요성이 높아지고 있다.
알려진 음성 인크립션 기술과 관련하여 대표적인 것은 아날로그 음성 스크램블러(scrambler) 방식과 디지털 음성 인크립터(encryptor) 방식이 있다. 아날로그 음성 스크램블러 방식은 의사 난수(pseudo-random number) 발생기에서 발생시킨 난수를 이용하여 음성신호를 주파수 영역 또는 시간 영역 등의 각 요소로 변형시킴으로써 도청자가 통화내용을 이해할 수 없도록 하는 방식이다. 이 방식은 인크립션 처리 후에도 음성의 형질이 남아 존재하는 잔여 이해도(residual intelligibility) 때문에 통화 내용의 완벽한 보안을 기할 수 없는 문제가 발생하여 점차 사용이 감소하는 추세이다.
디지털 음성 인크립터 방식은 인크립션 처리 시 보안 성능이 매우 높아지는 장점은 있으나, 디지털 신호이므로 일반 음성통신 장치를 활용하지 못하고 별도의 데이터 통신을 거쳐야 하는 문제점이 있다. CDMA나 GSM 등 현재 서비스 되고 있는 휴대전화의 경우, 음성통화는 아날로그 방식의 통신시스템을 사용하고 있기 때문에 디지털 음성 인크립터 기능을 음성 통신망(일반 통신망)에 적용하기가 불가능하고, 별도의 디지털 데이터 통신을 이용할 경우에만 가능하므로 실용화되기 곤란하다. 디지털 음성 인크립터 방식은 또한 디지털 수치에 대한 처리이므로 수치 처리 방식이 노출되거나 해독될 경우 전체 시스템의 보안성이 크게 훼손되는 문제점이 있다.
본 발명은 암호화 키 값을 이용한 인크립션 규칙에 의해 실시간 음성을 시간스케일수정 후 셔플링처리와 더미데이터의 혼합 처리 등을 수행함으로써 높은 인크립션도(encryption degree)를 실현하면서도 실시간 보안통화를 지원해주는 새로운 기법의 음성신호의 인크립션/디크립션 방법과 이를 위한 장치를 제공하는 것을 목적으로 한다.
또한 본 발명은 상기 음성신호의 인크립션/디크립션 방법을 채용하여 구성된 것으로서, 휴대전화기, 유무선전화기, 무전기, 워키토기 등과 같은 기존의 통신기기의 외부에서 연결하여 그 통신기기의 어떤 수정을 수반하지 않고 보안통화를 완벽하게 지원해주는 이어폰형 인크립션/디크립션 장치를 제공하는 것을 다른 목적으로 한다.
위 목적을 달성하기 위한 본 발명의 일 측면에 따르면, 사용자의 디지털 음성데이터를 시간스케일수정 처리를 하여 그 데이터양을 소정의 시간스케일 비로 감축하는 단계; 및 그 시간스케일수정 처리된 상기 사용자의 디지털 음성데이터를 다수의 연속적인 인크립션전(pre-encryption) 프레임으로 구분하고, 각 인크립션전 프레임을 다수의 셔플링 블록들로 구분하여 그 셔플링 블록들의 시간 순서를 뒤섞는 블록간 셔플링(inter-block shuffling) 처리를 하고 더미데이터 블록을 부가하여 인크립션후(post-encryption) 프레임으로 변환하는 단계를 구비하여, 상기 사용자의 디지털 음성데이터를 인크립션 처리된 사용자의 디지털 음성데이터로 변환하는 것을 특징으로 하는 음성신호의 인크립션/디크립션 방법이 제공된다.
상기 음성신호의 인크립션/디크립션 방법은, 상기 사용자가 입력하는 암호화 키 값을 저장수단에 저장해두고, 그 암호화 키 값을 이용하여 정해지는 소정의 인크립션 규칙에 따라서 상기 사용자의 디지털 음성데이터의 인크립션 처리가 수행되도록 하는 단계를 더 구비하는 것이 바람직하다. 나아가, 상기 사용자의 디지털 음성데이터의 디크립션 처리를 위한 동기정보를 제공하기 위해 상기 사용자의 디지털 음성데이터에 동기화 데이터를 포함시키는 단계를 더 구비하는 것이 바람직하다.
상기 음성신호의 인크립션/디크립션 방법은 또한, 상기 사용자가 입력한 암호화 키 값과 동일한 암호화 키 값을 이용하여 상기 인크립션 규칙을 역으로 적용하여 상기 사용자의 인크립션 처리된 음성데이터를 디크립션 하기 위해, 인크립션 처리된 음성데이터에 포함된 상기 동기화 데이터를 검출하는 단계; 검출된 상기 동기화 데이터를 기준으로 삼아 상기 인크립션 처리된 음성데이터의 각 인크립션후 프레임을 그 속에 포함된 더미데이터 블록을 제외한 셔플링 블록만을 추출하고 그 셔플링 블록들의 시간순서를 원상태로 회복시키는 디셔플링 처리를 하여 상기 인크립션전 프레임으로 복구하는 단계; 및 상기 인크립션전 프레임들에 대하여 상기 시간스케일 비를 역으로 적용하여 시간스케일 수정을 함으로써 상기 사용자의 디지털 음성데이터로 복구하는 단계를 더 구비하는 것이 바람직하다.
상기 음성신호의 인크립션/디크립션 방법은 또한, 상기 사용자의 과거의 비실시간 음성을 이용하여 상기 더미데이터 블록을 미리 추출하여 저장수단에 저장해두고 상기 사용자의 실시간 음성데이터를 인크립션 할 때 상기 더미데이터 블록으로 이용하는 단계를 더 구비하는 것이 바람직하다.
상기 음성신호의 인크립션/디크립션 방법은, 상기 인크립션 처리된 사용자의 디지털 음성데이터가 상기 시간스케일 수정 처리 전의 상기 사용자의 디지털 음성데이터와 동일한 데이터양을 갖도록 하는 것이 바람직하다.
상기 목적을 달성하기 위한 본 발명의 다른 측면에 따르면, 사용자의 실시간 음성을 디지털 음성데이터로 변환하는 단계; 상기 사용자의 과거의 비실시간 음성을 이용하여 상기 더미데이터 블록을 미리 추출하여 저장수단에 저장해두는 단계; 상기 사용자가 입력하는 암호화 키 값을 저장수단에 저장해두는 단계; 상기 암호화 키 값을 이용하여 정해지는 소정의 인크립션 규칙에 따라서, 상기 디지털 음성데이터를 시간스케일수정 처리를 하여 그 데이터양을 소정의 시간스케일 비로 감축하고, 그 시간스케일수정 처리된 상기 사용자의 디지털 음성데이터를 다수의 연속적인 인크립션전(pre-encryption) 프레임으로 구분하고, 각 인크립션전 프레임을 다수의 셔플링 블록들로 구분하여 그 셔플링 블록들의 시간 순서를 뒤섞는 블록간 셔플링(inter-block shuffling) 처리를 한 다음 블록간 셔플링 처리된 셔플링 블록들에 상기 저장수단에 저장된 더미데이터 블록을 선정하여 부가하여 인크립션후(post-encryption) 프레임으로 변환하고, 상기 인크립션후 프레임을 소정의 동기 화 데이터와 함께 인크립션 처리된 음성데이터로 구성하는 단계를 구비하는 것을 특징으로 하는 음성신호의 인크립션/디크립션 방법이 제공된다.
상기 음성신호의 인크립션/디크립션 방법은, 상기 암호화 키 값과 동일한 암호화 키 값을 이용하여 상기 인크립션 규칙을 역으로 적용하여, 상기 인크립션 처리된 음성데이터에 포함된 상기 동기화 데이터를 검출하는 단계; 검출된 상기 동기화 데이터를 기준으로 삼아 상기 인크립션 처리된 음성데이터의 각 인크립션후 프레임을 그 속에 포함된 더미데이터 블록을 제외한 셔플링 블록만을 추출하고 그 셔플링 블록들의 시간순서를 원상태로 회복시키는 디셔플링 처리를 하여 상기 인크립션전 프레임으로 복구하는 단계; 및 상기 인크립션전 프레임들에 대하여 상기 시간스케일 비를 역으로 적용하여 시간스케일 수정을 함으로써 상기 사용자의 인크립션 처리 전의 음성데이터로 복구하는 단계를 더 구비하는 것이 바람직하다.
상기 목적을 달성하기 위한 본 발명의 또 다른 측면에 따르면, 제1사용자와 제2사용자의 실시간 통화음성을 인크립션/디크립션 하는 방법에 있어서, 상기 제1 사용자와 상기 제2 사용자는 동일한 암호화 키 값을 각자의 인크립션/디크립션 장치에 설정하는 단계; 송화자 측의 인크립션/디크립션 장치에서, 마이크를 통해 출력되는 송화자의 아날로그 음성신호를 디지털 음성데이터로 변환하고, 상기 암호화 키 값을 이용하여 정해지는 소정의 인크립션 규칙에 따라서, 상기 디지털 음성데이터를 시간스케일수정 처리를 하여 그 데이터양을 소정의 시간스케일 비로 감축하고, 그 시간스케일수정 처리된 상기 송화자의 디지털 음성데이터를 다수의 연속적인 인크립션전(pre-encryption) 프레임으로 구분하고, 각 인크립션전 프레임을 다 수의 셔플링 블록들로 구분하여 그 셔플링 블록들의 시간 순서를 뒤섞는 블록간 셔플링(inter-block shuffling) 처리를 하고 더미데이터 블록을 부가하여 인크립션후(post-encryption) 프레임으로 변환하고, 상기 인크립션후 프레임을 소정의 동기화 데이터와 함께 인크립션 처리된 송화자의 음성데이터로 구성하여 제1통신장치를 통해 수화자 측의 제2통신장치로 전송되도록 하는 단계; 및 수화자 측의 인크립션/디크립션 장치에서, 상기 암호화 키 값을 이용하여 정해지는 소정의 디크립션 규칙에 따라서, 상기 제2통신장치를 통해 전달받은 상기 인크립션 처리된 송화자의 음성데이터에 포함된 상기 동기화 데이터를 검출하고, 검출된 동기화 데이터를 기준으로 삼아 상기 인크립션 처리된 디지털 음성데이터를 다수의 인크립션후 프레임으로 구분하고, 각 인크립션후 프레임을 그 속에 포함된 상기 더미데이터 블록을 제외한 셔플링 블록만을 추출하고 그 셔플링 블록들의 시간순서를 원상태로 회복시키는 디셔플링 처리를 하여 상기 인크립션전 프레임으로 복구하고, 복구된 인크립션전 프레임들에 대하여 상기 시간스케일 비를 역으로 적용하여 시간스케일 수정을 함으로써 상기 송화자의 디지털 음성데이터로 복구하는 단계를 구비하는 것을 특징으로 하는 실시간 통화음성을 인크립션/디크립션 하는 방법이 제공된다.
상기 실시간 통화음성을 인크립션/디크립션 하는 방법은, 상기 송화자 측의 인크립션/디크립션 장치와 상기 제1 통신장치 간, 그리고 상기 수화자 측의 인크립션/디크립션 장치와 상기 제2 통신장치 간에, 송화자와 수화자의 음성신호를 아날로그 신호의 형태로 주고받을 수 있도록 하기 위해 필요한 아날로그/디지털 신호변환과 디지털/아날로그 신호변환 처리를 수행하는 단계를 더 구비하는 것이 바람직 하다.
상기 실시간 통화음성을 인크립션/디크립션 하는 방법은, 상기 제1 사용자 및 제2 사용자가 자신의 과거의 비실시간 음성을 이용하여 상기 더미데이터 블록을 미리 추출하여 자신의 인크립션/디크립션 장치의 저장수단에 저장해두고 자신의 실시간 음성데이터를 인크립션 할 때 상기 더미데이터 블록으로 이용하는 단계를 더 구비하는 것이 바람직하다.
상기 실시간 통화음성을 인크립션/디크립션 하는 방법은 또한, 수화자 측의 인크립션/디크립션 장치에서, 디크립션 처리에 의해 얻어진 상기 송화자의 디지털 음성데이터를 아날로그 음성신호로 변환하여 스피커를 통해 출력하는 단계를 더 구비하는 것이 바람직하다.
나아가, 상기 실시간 통화음성을 인크립션/디크립션 하는 방법은, 수화자 측의 인크립션/디크립션 장치에서, 송화자의 인크립션 처리된 음성데이터에서 상기 동기화 데이터가 검출되면 그에 응하여, 수화자 측의 인크립션/디크립션 장치는 인크립션통화버튼이 눌렸는지 여부에 관계없이 그 때부터 자동으로 보안통화모드로 진입하는 단계를 더 구비하는 것이 바람직하다.
한편, 상기 목적을 달성하기 위한 본 발명의 또 다른 측면에 따르면, 음성을 아날로그 음성신호로 변환하는 마이크; 사용자가 암호화 키 값을 입력하여 설정할 수 있는 키 설정수단; 상기 마이크가 변환한 상기 아날로그 음성신호를 샘플링 하여 디지털 음성데이터로 변환하는 제1 ADC; 및 데이터 처리용 작업공간을 제공하고, 더미데이터 블록, 설정된 상기 암호화 키와 인크립션/디크립션 프로그램을 저 장하는 저장수단; 및 상기 인크립션/디크립션 프로그램을 실행하여 상기 디지털 음성데이터의 인크립션 처리와 인크립션 처리된 디지털 음성데이터의 디크립션 처리를 수행하는 데 필요한 연산을 수행하는 CPU를 구비하며, 상기 인크립션/디크립션 프로그램은 상기 암호화 키 값을 이용하여 정해지는 소정의 인크립션 규칙에 따라서, 상기 디지털 음성데이터를 시간스케일수정 처리를 하여 그 데이터양을 소정의 시간스케일 비로 감축하고, 그 시간스케일수정 처리된 상기 사용자의 디지털 음성데이터를 다수의 연속적인 인크립션전(pre-encryption) 프레임으로 구분하고, 각 인크립션전 프레임을 다수의 셔플링 블록들로 구분하여 그 셔플링 블록들의 시간 순서를 뒤섞는 블록간 셔플링(inter-block shuffling) 처리를 한 다음 블록간 셔플링 처리된 셔플링 블록들에 상기 저장수단에 저장된 더미데이터 블록을 선정하여 부가하여 인크립션후(post-encryption) 프레임으로 변환하고, 상기 인크립션후 프레임을 소정의 동기화 데이터와 함께 인크립션 처리된 음성데이터로 구성하는 인크립션 기능과, 상기 인크립션 규칙에 따라서 인크립션 처리된 음성데이터를 원래의 디지털 음성데이터로 복구하는 디크립션 기능을 갖는 것을 특징으로 하는 음성신호의 인크립션/디크립션 장치가 제공된다.
상기 음성신호의 인크립션/디크립션 장치에 있어서, 상기 디크립션 기능은 인크립션 처리 시 적용했던 상기 암호화 키 값을 동일하게 이용하여 정해지는 소정의 디크립션 규칙에 따라서, 상기 인크립션 처리된 음성데이터에 포함된 상기 동기화 데이터를 검출하고, 검출된 동기화 데이터를 기준으로 삼아 상기 인크립션 처리된 디지털 음성데이터를 다수의 인크립션후 프레임으로 구분하고, 각 인크립션후 프레임을 그 속에 포함된 상기 더미데이터 블록을 제외한 셔플링 블록만을 추출하고 그 셔플링 블록들의 시간순서를 원상태로 회복시키는 디셔플링 처리를 하여 상기 인크립션전 프레임으로 복구하고, 복구된 인크립션전 프레임들에 대하여 상기 시간스케일 비를 역으로 적용하여 시간스케일 수정을 함으로써 상기 원래의 디지털 음성데이터로 복구하는 기능인 것이 바람직하다.
나아가, 상기 목적을 달성하기 위한 본 발명의 또 다른 측면에 따르면, 통신장치의 이어폰 단자에 접속되어 신호의 전달통로를 제공하는 이어폰잭; 데이터 처리용 작업공간을 제공하고, 설정된 암호화 키와 인크립션/디크립션 프로그램을 저장하는 저장수단; 상기 인크립션/디크립션 프로그램을 실행하여 음성신호의 암호화와 암호화 된 음성신호의 해독 처리에 필요한 연산을 하는 CPU; 음성신호의 암호화 및 해독에 사용될 암호화 키 값을 설정하기 위한 키 입력수단; 사용자의 음성을 아날로그 음성신호로 변환하는 마이크; 상기 마이크가 제공하는 제1 아날로그 음성신호를 샘플링 하여 제1 디지털 음성데이터로 변환하여 상기 CPU에 제공하는 제1 ADC; 상기 이어폰잭을 통해 인가되는 제2 아날로그 음성신호를 샘플링 하여 제2 디지털 음성데이터로 변환하여 상기 CPU에 제공하는 제2 ADC; 입력되는 아날로그 음성신호를 음성으로 변환하는 이어폰 스피커; 상기 CPU가 제공하는 제3 디지털 음성데이터를 제3 아날로그 음성신호로 변환하여 상기 이어폰잭으로 제공하는 제1 DAC; 및 상기 CPU가 제공하는 제4 디지털 음성데이터를 제4 아날로그 음성신호로 변환하여 상기 이어폰 스피커로 제공하는 제2 DAC를 구비하며,
상기 인크립션/디크립션 프로그램은, 상기 암호화 키 값을 이용하여 정해지 는 소정의 인크립션 규칙에 따라서, 상기 제1 디지털 음성데이터를 시간스케일수정 처리를 하여 그 데이터양을 소정의 시간스케일 비로 감축하고, 그 시간스케일수정 처리된 상기 사용자의 디지털 음성데이터를 다수의 연속적인 인크립션전(pre-encryption) 프레임으로 구분하고, 각 인크립션전 프레임을 다수의 셔플링 블록들로 구분하여 그 셔플링 블록들의 시간 순서를 뒤섞는 블록간 셔플링(inter-block shuffling) 처리를 한 다음 블록간 셔플링 처리된 셔플링 블록들에 상기 저장수단에 저장된 더미데이터 블록을 선정하여 부가하여 인크립션후(post-encryption) 프레임으로 변환하고, 상기 인크립션후 프레임을 소정의 동기화 데이터와 함께 인크립션 처리된 음성데이터로 구성하여 상기 제1 DAC에 상기 제3 디지털 음성데이터로서 제공하는 인크립션기능과, 상기 디크립션 기능은 인크립션 처리 시 적용했던 상기 암호화 키 값을 동일하게 이용하여 정해지는 소정의 디크립션 규칙에 따라서, 인크립션 처리된 상기 제2 디지털 음성데이터에 포함된 상기 동기화 데이터를 검출하고, 검출된 동기화 데이터를 기준으로 삼아 상기 제2 디지털 음성데이터를 다수의 인크립션후 프레임으로 구분하고, 각 인크립션후 프레임을 그 속에 포함된 더미데이터 블록을 제외한 셔플링 블록만을 추출하고 그 셔플링 블록들의 시간순서를 원상태로 회복시키는 디셔플링 처리를 하여 상기 인크립션전 프레임으로 복구하고, 복구된 인크립션전 프레임들에 대하여 상기 시간스케일 비를 역으로 적용한 시간스케일 수정을 하여 원래의 디지털 음성데이터로 복구하고, 그 디지털 음성데이터를 상기 제2 DAC에 상기 제4 디지털 음성데이터로서 제공하는 디크립션 기능을 갖는 것을 특징으로 하는 이어폰형 인크립션/디크립션 장치가 제공된다.
이어폰형 인크립션/디크립션 장치에 있어서, 상기 저장수단은 데이터 처리용 작업공간을 제공하는 램(RAM)과, 설정된 암호화 키와 인크립션/디크립션 프로그램 그리고 더미데이터를 저장하는 비휘발성 메모리를 구비하는 것이 바람직하다. 상기 키 입력수단은 상기 암호화 키 값을 화면에 표시해주는 디스플레이부; 상기 화면에 표시된 복수 자리의 후보 키 값들을 변경시키면서 원하는 키 값을 상기 암호화 키 값으로 선택할 수 있는 선택버튼; 상기 선택버튼의 입력을 받아 그에 대응되는 신호를 상기 CPU로 제공하는 키 입력부; 상기 선택버튼의 입력내용에 응하여 상기 디스플레이부의 표시를 제어하는 디스플레이 구동부를 구비하는 구성인 것이 바람직하다. 상기 저장수단은 상기 CPU가 연산을 위해 필요한 작업공간을 제공하는 RAM과, 상기 더미데이터 블록, 상기 암호화 키, 그리고 상기 인크립션/디크립션 프로그램을 저장하는 비휘발성 메모리를 포함하는 것이 바람직하다.
또한, 이어폰형 인크립션/디크립션 장치에 있어서, 복수의 상대방과 각각 따로 보안통화를 할 수 있도록 하기 위해, 상기 키 입력수단은 사용자가 복수의 상대방 각각에 대하여 그를 특정할 수 있는 정보와 그에 대응된 별도의 암호화 키 값을 설정할 수 있는 기능을 제공하여 사용자가 이 기능을 이용하여 설정한 데이터를 상기 저장수단에 저장되도록 하는 것이 바람직하다.
상기 인크립션 규칙은 적어도 상기 인크립션전 프레임을 구성하는 샘플의 개수, 상기 셔플링 블록을 구성하는 샘플의 개수, 상기 셔플링 블록들의 재배열 순서, 부가되는 더미데이터 블록을 구성하는 샘플의 개수 중 적어도 일부를 인크립션이 수행되는 과정에서 가변되도록 하는 것을 특징으로 하는 이어폰형 인크립션/디 크립션 장치.
상기 인크립션/디크립션 프로그램은, 상기 사용자의 과거의 비실시간 음성을 이용하여 더미데이터 블록을 미리 추출하여 상기 저장수단에 저장해두고, 상기 저장수단에 저장된 더미데이터 블록들을 상기 사용자의 실시간 음성데이터를 인크립션 할 때 소정의 선택기준에 따라 선정하여 상기 더미데이터 블록으로 이용하도록 하는 기능을 더 구비하는 것이 바람직하다.
상기 이어폰형 인크립션/디크립션 장치에 있어서, 상기 인크립션 처리된 사용자의 디지털 음성데이터는 상기 시간스케일 수정 처리 전의 상기 사용자의 디지털 음성데이터와 동일한 데이터양을 갖는 것이 바람직하다. 또한, 상기 제1 디지털 음성 데이터의 시간스케일 수정은 원음의 피치정보를 거의 그대로 유지한 채 데이터양만 감축시키는 알고리즘을 이용하여 처리되는 것이 바람직하다. 또한, 상기 더미데이터 블록들을 상기 저장수단에 저장할 때 각각의 에너지 절대값의 크기에 따라 복수개의 등급으로 구분하여 저장하고, 상기 인크립션후(post-encryption) 프레임을 생성하기 위해 상기 셔플링 블록들 사이에 상기 더미데이터 블록을 부가할 때 피부가 셔플링 블록과 에너지 등급이 가장 가까운 더미데이터 블록을 선정하여 부가하는 되도록 하는 것이 바람직하다.
이하에서는, 첨부된 도면을 참조하여 본 발명의 바람직한 실시 예를 상세하게 설명한다.
(1) 인크립션/디크립션 장치의 구성
도 1은 음성신호를 인크립션 처리를 하여 인크립션 데이터로 변환하기 위한 인크립션 장치의 기능블록도이다.
먼저, 인크립션 장치는 PCM(pulse code modulation) 데이터를 인크립션 처리된 디지털 데이터로 변환하는 인크립션 엔진부(100)를 포함한다. 인크립션 엔진부(100)에 입력되는 PCM 데이터는 예컨대 아날로그 음성신호를 입력받아 그것을 샘플링 하여 디지털로 변환하는 아날로그/디지털 변환기(analog-digital converter: ADC)(150)를 통해 제공될 수 있다. 나아가 아날로그 음성신호는 마이크(426)로부터 제공될 수 있다. 인크립션 엔진부(100)가 생성하는 인크립션 처리된 디지털 음성데이터는 필요에 따라서는 DAC(170)를 거치면서 인크립션 처리된 아날로그 음성신호로 변환될 수 있다.
인크립션 엔진부(100)는 버퍼(110), 시간스케일수정(time-scale modification: TSM) 처리부(120), 더미 스택(130), 인크립션부(140)로 구성된다. 버퍼(110)는 입력되는 PCM 데이터를 임시로 저장한다. TSM 처리부(120)는 버퍼(110)로부터 PCM 데이터를 작업공간으로 읽어와서 소정의 비율로 시간적으로 스케일을 수정하여 데이터양을 감축하는 처리를 한다. 더미스택(130)은 더미 데이터의 저장공간이다. 더미 데이터는 사용자의 실시간 음성 데이터로 위장하여 인크립션도를 높이기 위한 용도로 활용되므로, 동일 사용자의 실제 음성 데이터를 이용하는 것이 바람직하다. 그러므로 버퍼(110)에 있는 데이터를 소정 량씩 가져와서 더미 스택(130)에 쌓아나가면 된다. 다만, 더미데이터와 실시간 음성데이터 간에는 시간차가 크게 나도록 하여(즉, 사용자의 현재의 실시간 음성데이터가 아닌 과거의 비실시간 음성데이터를 더미데이터로 이용하여), 더미 데이터가 위장용 데이터로서 기능할 수 있도록 할 필요가 있다. 더미스택(130)은 비휘발성 메모리로 구현하여 전원이 공급되지 않더라도 한 번 확보해둔 데이터가 그대로 유지되도록 하는 것이 바람직하다. 인크립션 엔진부(100)는 PCM 데이터를 인크립션 하기 위해 외부로부터 암호화 키 값을 제공받는다. 이 암호화 키 값에 의해 정해지는 규칙에 따라서 PCM 데이터의 인크립션이 이루어진다.
도 2는 암호화 된 인크립션 데이터의 암호화를 해제하여 원래의 음성신호로 회복시키기 위한 디크립션 장치의 기능블록도이다. 이 디크립션 장치는 암호화된 디지털 음성데이터의 암호화를 해제하여 암호화 되지 않은 PCM 데이터로 복구시키는 디크립션 엔진부(200)를 포함한다. 만약 암호화된 음성신호가 아날로그 음성신호로 주어진다면, 디크립션 엔진부(200)의 전단에 ADC(240)가 배치될 필요가 있다. 이 경우, 그 아날로그 음성신호는 ADC(240)를 거치면서 디지털 음성데이터로 변환되어 디크립션 엔진부(200)에 제공될 것이다. 디크립션 엔진부(200)가 최종적으로 출력하는 데이터는 PCM 데이터인데, 이를 스피커(410)를 통해 음성으로 변환하기 위해서 디크립션 엔진부(200)의 출력단에 디지털/아날로그 변환기(digital-analog converter: DAC)(250)를 배치하고, 그 DAC(250)를 통해 PCM 데이터를 아날로그 음성신호로 변환되도록 한다.
디크립션 엔진부(200)는 디크립션부(210), TSM 처리부(220), 그리고 버퍼(230)를 갖는 구성이다. 디크립션부(210)는 입력 데이터로 주어지는 인크립션 처리된 디지털 음성데이터에서 더미데이터를 제외한 나머지 데이터 즉, 송화자의 TSM 처리와 셔플링 처리가 복합적으로 행해진 송화자의 실시간 음성 데이터만을 추출하 고, 그 실시간 음성데이터에 대하여 디셔플링(deshuffling) 처리를 하여 인크립션 엔진부(100)의 TSM 처리부(120)가 생성한 TSM 데이터로 회복시킨다. TSM 처리부(220)는 디셔플링 처리부(210)가 제공하는 상기 TSM 데이터를 TSM 처리 전의 음성데이터(PCM 데이터)로 회복시킨다. 그리고 버퍼(230)는 그렇게 얻어진 PCM 데이터를 버퍼링하여 DAC(250)에 그 PCM 데이터가 순차적으로 제공될 수 있도록 해준다. 디크립션 엔진부(200)도 인크립션 엔진부(100)와 마찬가지로 인크립션 처리된 디지털 음성데이터를 디크립션 하기 위해 외부로부터 암호화 키 값을 제공받고, 그 암호화 키 값에 의해 정해지는 규칙에 따라서 디크립션 처리를 수행한다. 여기서 인크립션 엔진부(100)와 디크립션 엔진부(200)는 동일한 암호화 키 값을 사용한다.
본 발명의 인크립션/디크립션 장치는 예컨대 필요 시 휴대폰에 연결하여 간편하게 사용할 수 있는 이어폰형 인크립션/디크립션 장치로 구현될 수 있다. 도 3은 도 1과 2에 도시된 인크립션 장치와 디크립션 장치를 이어폰형 인크립션/디크립션 장치(400a, 400b)로 구현하여 그것을 휴대폰(300a, 300b)에 연결하여 통화를 하는 경우를 도시한다. 이어폰형 인크립션/디크립션 장치(400a, 400b)는 인크립션/디크립션 장치 몸체(420)의 양쪽으로 케이블이 연결되며 한 쪽 케이블에는 이어폰 스피커(410)가 연결되고, 다른 쪽 케이블에는 이어폰 잭(430)이 연결된다. 인크립션/디크립션 장치 몸체(420)의 케이스(428)의 외부 또는 내부에는 선택 버튼(422), 디스플레이부(424), 인크립션통화버튼(425), 마이크(426), 볼륨 조절 다이얼(429) 등이 장착된다. 이어폰형 인크립션/디크립션 장치(400a, 400b)의 경우, 휴대폰(300a, 300b)과 주고받는 신호의 형태는 아날로그 음성신호이다. 그런데 인크립션 엔진 부(100)의 출력은 인크립션 처리된 '디지털 음성데이터'이므로, 이를 아날로그신호로 변환하기 위한 DAC(170)가 반드시 필요하다. 또한, 디크립션 엔진부(200)의 입력은 인크립션 처리된 '디지털 음성데이터'이므로, 휴대폰이 제공하는 인크립션 처리된 '아날로그신호'를 디지털 신호로 변환하기 위한 ADC(240)도 반드시 필요하다.
도 4는 이어폰형 인크립션/디크립션 장치(400a, 400b)의 하드웨어적인 구성을 도시한 블록도이다. 이에 따르면, 인크립션/디크립션 장치 케이스(428) 내부에는 두 개의 ADC(150, 240), 두 개의 DAC(170, 250), RAM(446), 플래시메모리(448), 선택 버튼(422)의 조작을 전기신호로 변환하는 키 입력부(422-1), 디스플레이부(424)를 구동하는 디스플레이 구동부(424-1), 그리고 CPU(450)가 PCB 기판(비도시)에 장착되는 형태로 내장된다. 제1 ADC(150)는 마이크(426)와 CPU(450) 사이에 연결되고, 제2 ADC(240)는 이어폰 잭(430)과 CPU(450) 사이에 연결된다. 제1 DAC(170)는 CPU(450)와 이어폰 잭(430) 사이에 연결되고, 제2 DAC(250)는 CPU(450)와 스피커(410) 사이에 연결된다. 그리고 CPU(450)는 두 개의 ADC(150, 240)와 두 개의 DAC(170, 250)에 연결되는 것은 물론이고, 키 입력부(422-1), 디스플레이 구동부(424-1), RAM(446)과 플래시 메모리(448) 등과 연결된다. 이러한 구성에 따르면, 마이크(426)에서 출력된 송화자의 음성신호가 CPU(450)에서 인크립션 처리되어 이어폰잭(430)을 통해 외부로 출력되는 경로와, 수화자의 인크립션 처리된 음성신호가 이어폰잭(430)을 통해 CPU(450)에 전달되어 디크립션 된 후 스피커(410)를 통해 음성으로 변환되는 경로가 서로 완전히 분리되어 독립적이어서, 완벽한 풀 듀플렉스(full duplex) 통신이 가능하다.
이어폰형 인크립션/디크립션 장치(400a)를 단순한 이어폰으로도 이용할 수 있도록 하기 위해, 이어폰형 인크립션/디크립션 장치(400a, 400b)에 인크립션통화버튼(425)이 마련된다. 인크립션통화버튼(425)을 별도로 마련하지 않고, 선택 버튼(422)과 키 입력부(422-1)를 이용하여 선택 버튼(422)의 특정 조작에 인크립션/디크립션 장치를 활성화/비활성화를 선택할 수 있는 기능을 더 부여하는 방식으로 구현할 수도 있다. 플래시 메모리(448)는 후술한 본 발명에 따른 인크립션/디크립션 프로그램 및 더미데이터, 그리고 후술할 인크립션 및 디크립션 처리 규칙을 정하는 데 이용되는 암호화 키 값을 저장한다. 플래시 메모리(448)는 비휘발성 메모리의 대표적인 예로서 제시된 것이므로, 이것 대신에 다른 비휘발성 저장수단을 채용할 수도 있다. RAM(446)은 TSM 처리부(120, 220)와 인크립션부(140), 디크립션부(210)의 작업 공간을 제공하고 버퍼(110, 230) 공간도 제공한다. 도 1과 2의 인크립션 엔진부(100)와 디크립션 엔진부(200)는 CPU(450), 플래시 메모리(448), RAM(446) 그리고 인크립션/디크립션 프로그램을 조합하여 구성되는 것으로 볼 수 있다.
선택버튼(422)은 디스플레이부(424)의 표시화면에서 활성화 셀의 이동, 상부라인에 표시되는 알파벳이나 숫자 값의 순환적 변경, 활성화 셀에 표시된 알파벳이나 숫자 값의 선택 등을 지시하여 원하는 암호화 키 값을 설정할 수 있는 기능을 제공한다. 디스플레이부(424)는 그 표시화면이 적어도 상부라인과 하부라인의 두 라인을 가지며, 이들 두 라인의 좌측 5개의 셀은 알파벳 표시용이고 그 우측의 4개의 셀은 숫자표시용이다. 상부라인은 설정하고자 하는 암호화 키 값의 후보를 표시 하는 라인이고, 하부라인은 상부라인의 후보 키 값들 중에서 선택된 설정용 키 값을 표시하는 라인이다. 사용자는 선택버튼(422)을 조작함으로써, 좌측 5개의 셀에서는 알파벳 A~Z가 순환적으로 변경되도록 하고 우측 4개의 셀에서는 숫자 0~9가 순환적으로 변경되도록 하여 각 셀별로 원하는 알파벳과 숫자가 표시되었을 때, 그 최종 선택을 지시하여 각 셀에 표시된 알파벳이나 숫자가 하부라인의 바로 밑의 셀에 표시되도록 할 수 있다. 그리고 그 하부라인에 표시된 알파벳과 숫자의 조합은 플래시 메모리(448)에 저장되는데, 이 값이 바로 인크립션 엔진부(100)와 디크립션 엔진부(200)에 제공되는 암호화 키 값이 된다. 이 암호화 키 값은 인크립션 엔진부(100)가 PCM 음성데이터를 인크립션 처리된 디지털 데이터로 변환할 때 적용하는 규칙을 규정하는 데 이용됨과 동시에, 디크립션 엔진부(200)가 인크립션 처리된 디지털 음성데이터를 그것의 암호를 해제하여 PCM 데이터로 복호할 때 적용되는 규칙을 규정하는 데 이용되기도 한다. 하나의 이어폰형 인크립션/디크립션 장치를 가지고서 복수의 상대방과 각각 따로 보안통화를 할 수 있도록 하기 위해서는 각 상대방별로 별도의 암호화 키 값을 이용할 필요가 있다. 이를 위해, 선택버튼(422)과 키 입력부(422-1)로 구성되는 키 입력수단은 사용자가 복수의 상대방 각각에 대하여 그를 특정할 수 있는 정보(예컨대, 상대방의 전화번호, 이름 등)와 그에 대응된 별도의 암호화 키 값을 설정할 수 있는 기능을 제공하고, 사용자가 이 기능을 이용하여 설정한 데이터를 플래시 메모리(448)에 저장한다. 특정 상대방과 보안통화를 하고자 할 때, 등록된 상대방의 암호화 키 값의 리스트를 디스플레이부(424)에 표시하여 그 특정 상대방의 암호화 키 값을 선택하여 활성화하면 될 것이다.
한편, 본 발명에 따른 인크립션/디크립션 장치는 이어폰형 인크립션/디크립션 장치(400a, 400b)의 형태 외에도 휴대폰, 유선 또는 무선 전화기, 무전기 등과 같은 통신기기에 내장된 형태로도 구성될 수 있다. 예를 들어 본 발명에 따른 인크립션/디크립션 장치의 기능을 갖는 휴대폰의 구성을 고려하자. 통상적인 휴대폰에는 본 발명에 따른 인크립션/디크립션 장치를 구성하는 데 필요로 하는 하드웨어들 즉, 도 4에 도시된 제 구성요소들을 전부 갖추고 있다. 그러므로 이러한 하드웨어적 조건을 활용하면, 인크립션/디크립션 장치 기능을 부여하는 소프트웨어(후술하는 인크립션 프로그램과 디크립션 프로그램을 참조)를 휴대폰에 더 설치하는 것만으로 간편하게 인크립션/디크립션 장치 기능을 갖춘 휴대폰을 구성할 수 있을 것이다. 휴대폰의 특정 버튼에 보안통화의 시작과 종료를 지시하는 기능을 부여하면, 필요한 경우에만 보안통화를 할 수 있을 것이다.
이 경우, 이어폰형 인크립션/디크립션 장치(400a, 400b)에 비해 다음과 같은 약간의 차이점을 더 고려하면 된다. 이어폰형 인크립션/디크립션 장치(400a, 400b)에서는 휴대폰(300a, 300b)의 이어폰잭 단자로 제공되어야 할 음성신호의 형태가 아날로그 신호이므로, 인크립션 엔진부(100)가 생성한 인크립션 처리된 디지털 음성데이터를 DAC(170)를 이용하여 아날로그 신호로 변환하는 후처리를 다시 거쳐야 한다(도 1 참조). 그러나 인크립션/디크립션 장치 내장형 휴대폰의 경우에는 이러한 작업이 필요 없고, 인크립션/디크립션 장치 내장형 휴대폰의 인크립션 엔진부(100)가 만들어낸 인크립션 처리된 디지털 음성데이터를 그대로 활용하면 된다. 인크립션 처리된 아날로그 음성신호를 수신하여 인크립션화를 해제하는 경우도, 이 어폰형 인크립션/디크립션 장치(400a, 400b)는 휴대폰(300a, 300b)으로부터 인크립션 처리된 음성신호를 아날로그 신호의 형태로 제공받기 때문에 인크립션화의 해제에 앞서 ADC(240)를 이용하여 그것을 인크립션 처리된 디지털 음성데이터로 변환하는 전처리를 거치게 된다(도 2 참조). 그러나 인크립션/디크립션 장치 내장형 휴대폰의 경우에는 이러한 전처리 과정을 거칠 필요가 없이, 무선 수신된 인크립션 처리된 디지털 음성데이터를 곧바로 인크립션/디크립션 장치 내장형 휴대폰의 디크립션 엔진부(200)가 이용하면 된다. 당업자라면 이러한 인크립션/디크립션 장치 내장형 휴대폰의 구성 방식을 원용하여 다른 통신기기의 경우도 인크립션/디크립션 장치 기능을 내장한 형태로 구성하는 것이 어렵지 않을 것이다.
(2) 인크립션/디크립션 방법
다음으로, 도 5 내지 7을 참조하여 본 발명에 따른 음성신호의 인크립션 처리와 인크립션 처리된 음성데이터의 디크립션 처리 방법을 설명하기로 한다. 이해를 돕기 위해 도 4와 같이 송화자와 수화자가 본 발명에 따른 이어폰형 인크립션/디크립션 장치(400a)와 (400b)를 각자의 휴대폰(300a)과 (300b)에 각각 연결하여 실시간으로 보안통화를 하는 경우를 예로 하여 설명하기로 한다. 도 5는 송화자의 음성을 인크립션 처리하는 인크립션 알고리즘을 도시한 것이고, 도 6은 상대방(즉, 수화자)의 인크립션 처리된 음성데이터를 해독 처리하는 디크립션 알고리즘을 도시한다.
1)인크립션 알고리즘
도 5에서, 송화자는 자신의 음성을 인크립션 하기 위해서는 인크립션 규칙을 규정하는 데 이용되는 암호화 키 값을 인크립션/디크립션 장치(400a)에 설정하여야 한다(S10 단계). 암호화 키 값의 설정 방법은 위에서 설명한 바와 같다. 설정된 암호화 키 값이 예컨대 "CHOIS3625"라고 가정하자. 이렇게 암호화 키 값이 설정되면 각 암호화 키에 대응되는 난수를 예컨대 다음과 같이 발생시킨다. 본 발명에 이용되는 암호화 키의 자리수, 암호화 키 값으로 이용되는 데이터의 종류와 범위, 각 자리별 키 값에 대응되는 난수 값 등은 임의적으로 결정하여 인크립션/디크립션 프로그램에 반영하면 될 것이다.
[표 1] 암호화 키 값에 대응되는 난수표의 예
자리 수 #1 #2 #3 #4 #5 #6 #7 #8 #9
암호화 키 값 C H O I S 3 6 2 5
난 수 31 11 23 7 15 9 16 3 6
이렇게 설정된 암호화 키 값은 인크립션/디크립션 장치(400a)의 플래시 메모리(448)에 저장해두어, 이후 계속적으로 사용할 수 있도록 한다. 하나의 인크립션/디크립션 장치를 이용하여 복수의 상대방과 보안통화를 하려면, 각 상대방마다 다른 암호화 키 값을 적용하여야 한다. 이 경우 암호화 키 값을 각 상대방별로 미리 설정해두고 그 상대방별 암호화 키 값에 상대방을 특정하는 정보(예: 일련번호, 상대방의 이름이나 전화번호 등)를 다르게 부여하여 구별되도록 하는 방법을 채용하면 편리할 것이다. 이 경우, 암호화 키 값 설정 시, 상대방 특정정보도 함께 부여할 수 있는 기능을 인크립션/디크립션 장치에 더 마련할 필요가 있다. 이는 당업자가 쉽게 구현할 수 있으므로 그 설명을 생략한다.
송화자가 인크립션/디크립션 장치능이 활성화 되어 있는 인크립션/디크립션 장치(400a)를 이용하여 통화를 하면, 그의 음성은 마이크(426)를 통해 아날로그 음성신호로 변환되고, 그 아날로그 음성신호는 ADC(440)를 거치면서 샘플링 되어 PCM 데이터로 변환된다(S15 단계). 샘플링 레이트는 음성 정보의 정확한 전달에 부족함이 없는 정도이면 충분하며, 예컨대 16K~48K 정도의 레이트면 충분할 것이다. 이렇게 변환된 PCM 데이터는 인크립션 엔진부(100)의 버퍼(110)로 전달된다.
버퍼(110)에 버퍼링 된 PCM 데이터 중에서 일부를 더미 데이터(dummy data)로 추출하여 더미 스택(130)에 저장한다(S20 단계). 더미 데이터는 보안통화 시 실시간 음성에 혼합되어 그 실시간 음성의 이해를 방해하는 잡음으로 기능하도록 하는 데이터이다. 따라서 더미 데이터는 실시간 음성 데이터와 구별이 되지 못하도록 잘 위장시킬 필요가 있다. 더미데이터의 효과적인 위장을 위해, 더미 데이터는 사용자의 실제 음성에서 추출하되 실시간성이 없는 과거의 음성에서 추출하는 것이 바람직하다. 또한, 음성 에너지가 낮은 무음 내지 약음은 피하는 것이 좋다. 예컨대 버퍼(110)로부터 한 번에 약 100~500msec 분량의 데이터(이를 '더미데이터 블록'이라 한다)를 가져와서 그 더미 데이터 블록의 에너지 절대값의 합계(∑|yi|)가 일정치 이상인 경우에 더미 스택(130)에 로드한다. 이와 같은 더미 데이터의 확보는 비밀 통화를 개시하기 이전이 미리 충분히 확보해둘 필요가 있으므로, 보안통화 또는 일반 통화 중에도 더미데이터 확보가 지속적으로 이루어지도록 한다. 더미 스택(130)은 플래시 메모리(448)에 마련하여 한 번 확보된 더미데이터를 계속 활용할 수 있도록 하는 것이 바람직하며, 예컨대 서큘러 버퍼의 형태로 구현할 수 있을 것이다.
더미데이터의 실시간 음성에 대한 위장성을 강화하기 위한 한 가지 방안으로서, 실시간 음성 데이터에 더미데이터 블록을 부가할 때 그 더미데이터 블록의 바로 옆에 위치한 실시간 음성데이터 블록(이를 '피부가 데이터 블록'이라 함)의 에너지 등급과 가장 가까운 에너지 등급을 갖는 더미데이터 블록을 이용한다. 이를 위해서는 더미 스택(130)에 더미 데이터를 저장할 때, 더미데이터 블록을 에너지 등급별로 분류하여 저장하는 방식을 취할 필요가 있다. 도 7의 (A)에는 에너지 등급을 상, 중, 하의 세 등급으로 구분하여 더미데이터 블록을 분류한 경우를 도시하고 있다. 도 7의 (A)에서 DMs, DMm, DMw는 각각 에너지 등급이 상, 중, 하인 더미데이터 블록들의 집합을 나타낸다. 더미데이터 블록의 각 집합별로 수백 내지 수천 개의 더미데이터 블록을 확보해두었다가, 필요시에 꺼내 쓰는 방식으로 이용하면 된다.
더미데이터의 위장성 강화를 위한 두 번째 방안은 더미데이터 블록의 사용횟수에 제한을 두는 것이다. 즉, 더미 스택(130)에 저장되어 있는 더미데이터 블록들에 대하여 인크립션에 사용된 횟수를 카운트하고, 사용 횟수가 미리 설정된 횟수를 초과한 것은 새로운 더미데이터 블록 즉, 미리 확보해둔 예비 더미데이터 블록들로 대체한다. 너무 많이 사용된 더미데이터 블록은 위장성이 떨어지기 때문이다. 이를 위해서는 도 7의 (A)에 도시된 것처럼 예비 더미데이터 블록들을 에너지 등급별로 예컨대 수백 내지 수천 개씩 미리 확보해두었다가 사용횟수가 초과된 더미데이터 블록을 폐기할 때 그 예비 더미데이터 블록으로 대체하는 식으로 보충한다. 도 7의 (A)에서 ADMs, ADMm, ADMw는 에너지 등급이 상, 중, 하인 예비 더미데이터 블록의 집합을 나타낸다.
실시간 통화 음성에 대한 인크립션 처리는 충분한 양의 더미데이터가 확보가 이루어진 후에 이루어지도록 한다. 인크립션 처리의 첫 번째 작업은 TSM 처리부(120)가 버퍼(110)에 저장되어 있는 PCM 데이터를 소정 비율로 시간스케일을 수정하여 데이터 량을 감축시키는 것이다(S30 단계). TSM 처리를 하는 것은 더미데이터를 부가할 수 있는 시간적인 여백을 확보하기 위함이다. 예컨대 원래의 실시간 음성데이터(즉, 버퍼(110)로부터 가져온 PCM 데이터)를 1/2의 시간스케일 비를 적용하여 TSM 처리를 하면 그 실시간 음성 데이터의 양이 절반으로 줄어들게 되는데, 그로 인해 확보되는 시간적인 여백에 더미데이터를 부가할 수 있게 된다. TSM 처리에 있어서, 시간스케일 비는 1/4.0 이상 1/1.2 이하의 범위에서 정하는 것이 바람직하다. 시간스케일 비가 1/4.0보다 작으면 원음 정보의 손실량이 과도하게 되는 문제가 있고, 1/1.2보다 크면 추가할 수 있는 더미데이터의 양이 지나치게 적어지는 문제가 있다. 아울러, 인크립션 처리된 음성데이터의 해독을 어렵게 하기 위해, 시간스케일 비를 일정한 값으로 고정하지 않고, 설정된 암호화 키 값(후술함)을 이용하여 예컨대 모듈러 연산을 하거나 난수표 테이블에 적용하는 등의 방법으로 정해지는 규칙에 의해 가변시키는 것이 바람직하다.
이러한 TSM 처리에 채용할 수 있는 TSM 방법은 본 발명이 새로 제안하는 것은 아니고, 또한 어느 한 가지 방식만이 가용한 것은 아니다. PCM 데이터의 양을 원하는 비율로 줄여주는 TSM 기술이라면 어느 것이나 무방하다. 실시간 음성데이터와 더미데이터 간의 구별이 어렵도록 하기 위해, 원음의 피치정보를 거의 그대로 유지한 채 데이터양만 감축시키는 알고리즘을 채용하는 것이 바람직하다. 기존에 알려진 TSM 기술의 대표적인 예로는 시간차원에서 스케일을 수정하는 중첩가산법(overlap-add: OLA)과, 이를 기초로 하여 개량 발전시킨 동기중첩가산법(synchronized overlap and add : SOLA), 파형유사도 기반 중첩가산법(waveform similarity based overlap and add: WSOLA) (이상 OLA 계열의 TSM 기법)등을 들 수 있으며, FFT 기술을 이용하여 주파수 공간에서 처리하여 시간스케일을 수정하는 기법도 알려져 있다. 이들 방법은 원음의 피치 정보를 크게 훼손하지 않으면서 시간스케일을 수정할 수 있다는 특징이 있다. 그 밖에도 보간법을 이용하여 데이터 량을 줄이는 방법도 있다. 이들 방법들 중에서 인크립션/디크립션 장치 장치의 성능과 요구되는 통화 품질 등을 고려하여 그에 적합한 어느 한 가지를 채용하면 될 것이다. OLA계열의 TSM 기법을 이용한 오디오신호의 변속재생기술이 대한민국 특허출원공개번호 제10-2002-0049087호 (발명의 명칭: 변속재생 시에도 음색변화를 유발하지 않도록 하는 오디오신호 재생방법과 이를 위한 재생장치)와 대한민국 특허출원공개번호 제10-2004-0013729호 (발명의 명칭: 가변길이합성과 상관도계산 감축 기법을 이용한 오디오신호의 시간스케일 수정방법)에 소개되어 있다. 이들 특허자료에는 본 발명에서 필요로 하는 TSM 처리부(120)를 구현할 수 있는 자세한 설명이 개시되어 있다. 당업자라면 위 특허자료에 개시된 설명과 아래에서 설명된 OLA 계열의 TSM 기법의 기본 개념 등을 참조하여 본 발명의 TSM 처리부(120)를 용이하게 구현할 수 있을 것이므로, 아래와 같이 OLA계열의 TSM 기법에 관해 간략하게 설명하기로 한다.
OLA계열의 TSM 기법의 기본 개념은 입력 PCM 데이터를 소정 크기의 연속적인 다수의 분석윈도우로 잘라내는데, 이때 인접 분석윈도우들끼리는 소정의 길이만큼 중첩 되도록 잘라낸다(분석단계). 그런 다음, 주어진 시간스케일 비 α(이는 정상모드 재생속도에 대한 변속모드 재생속도의 비가 되며, 이런 관점에서 '변속율'이라고도 함)의 값에 따라 분석단계에서 얻어진 다수의 분석윈도우들에 대하여 인접 분석윈도우들 간의 중첩길이를 재조정하여 합한다. 즉, 시간스케일 비 α의 값에 따라서 인접 분석윈도우의 중첩 길이를 줄이거나 늘여서 합한다. 이 때 중첩 구간에 대해서는 인접 윈도우들을 가중함수를 적용하여 합성한다(합성단계). 중첩되지 않은 구간은 당연히 그대로 부가한다. 참고로, PCM 데이터의 양을 늘리면 그 늘어난 양만큼 오디오데이터의 재생속도는 느려지게 되고, 반대로 PCM 데이터의 양을 줄이면 그 줄인 양만큼 재생속도는 빨라지게 된다. 결국 이 OLA계열의 TSM 방법을 이용하는 경우, PCM 데이터의 량을 줄이려면 합성단계에서 적용한 인접 분석윈도우들 간의 중첩 길이를 분석단계에서 적용한 인접 분석윈도우들 간의 원래의 중첩 길이보다 더 길게 하면 된다. 시간스케일 비 α의 값은 이론적으로 합성간격 Ss와 분석간격 Sa의 비 (α = Ss/Sa) 로 정의된다. 여기서, 합성간격 Ss는 합성단계에서 다수의 연속적인 분석윈도우를 재배치할 때 인접하는 분석윈도우의 두 시작점의 간격을 의미하고, 분석간격 Sa는 분석단계에서 원래의 PCM 데이터를 다수의 연속적인 분석윈도우로 구분할 때의 인접 분석윈도우의 두 시작점의 간격을 의미한다. OLA 계열의 TSM 처리에 있어서, 합성간격 Ss의 값은 고정적으로 주어지는 값이고, 시간스케일 α의 값은 가변적으로 주어질 수 있는 값이며, 분석간격 Sa는 이들 두 값을 이용하여 위 관계식으로 계산되는 값이다. 따라서 시간스케일 α의 값을 필요에 따라 적절히 가변하면 PCM 데이터의 양을 원하는 비율로 감축할 수 있게 된다.
TSM 처리에 있어서, 예컨대 약 200msec 분량의 PCM 데이터를 1/1.5의 비율로 시간스케일을 하면 데이터양이 약 130msec 정도로 감축된다. 매 200msec 분량의 PCM 데이터마다 약 70msec의 시간적인 여유 공간이 확보된다. 이 여유 공간을 더미데이터로 채울 수 있다는 계산이 나온다. 더미데이터를 실시간 음성데이터로 잘 위장하여 상호 분간이 어렵도록 하면, 실시간 음성의 잔여 이해도(residual intelligibility)가 현저히 낮아지게 된다. PCM 데이터의 TSM 처리 시 인크립션도를 높이려면, 분석단계에서 PCM 데이터를 연속적인 다수의 분석윈도우로 구분할 때 각 분석윈도우에 포함되는 샘플들의 개수와 각 분석윈도우마다 적용하는 시간스케일 αi의 값을 한 가지로 고정시킬 것이 아니라 가변적으로 적용하는 것이 바람직하다. 이를 위해 모듈러 연산을 이용할 수 있다.
도 7의 (B)와 (C)는 이와 같은 가변적 TSM 처리를 개념적으로 설명하기 위한 도면이다. 위에서 설명한 것처럼 TSM 처리는 매번 소정 량의 데이터에 대하여 수행되는데, 한 번에 처리된 PCM 데이터양의 단위를 TSM 프레임(TFi)이라 하자. 우선, 모듈러 연산을 이용한 TSM 프레임 TFi의 사이즈 결정은 다음과 같이 이루어진다. TSM 프레임 TFi의 사이즈의 기본값과 디바이저의 크기를 각각 예컨대 5,000[샘플]과 673으로 미리 정해둔다. 또한, 분석 프레임 TFi의 사이즈를 정하는 데 이용할 암호화 키를 몇 번째 자리의 키로 할 것인지도 정해야 하는데, 예컨대 표 1의 #1, #2, #3 번의 키 값을 이용하는 것으로 정해둔다. 그러면, 우선 #1, #2, #3 번의 키 값인 31, 11, 23을 곱한 다음 그 값을 디바이저 673으로 나누었을 때의 나머지를 계산한다. 계산된 나머지는 440인데, 이를 분석 프레임 TFi의 기본값 5,000에 더하여 당해 분석 프레임의 사이즈는 5,440[샘플]로 확정한다. 특히, 분석 프레임별로 사이즈를 다르게 하기 위해, 분석 프레임의 사이즈를 정하는 데 이용하는 키의 번호(자리 번호)를 일정한 규칙(예컨대 매번 일정한 크기의 값이 증가하는 규칙)에 따라 변경한다. 키 값이 달라지면 모듈러 연산에서의 나머지도 달라지므로 분석 프레임들의 사이즈도 그에 따라 서로 다르게 결정된다. 시간스케일 αi의 값도 이와 같은 방법으로 분석 프레임별로 다르게 결정한다. 그러면 TSM 처리 후의 프레임(인크립션전 프레임) EFi의 사이즈도 서로 다르게 될 것이다. 도 7의 (B)와 C)에 예시된 것이 이러한 방식으로 TSM 처리를 한 것을 나타내는 것이라고 할 때, 아래 표와 같이 정리될 수 있다. 이러한 TSM 처리의 결과, 각 프레임별로 표 2에 정리된 감축 양 만큼의 시간적 여백이 얻어진다.
[표 2] TSM 처리
프레임 인덱스 1 2 .... i ....
TSM 처리 전의 분석 프레임(TFi) 크기 5,020[샘플] 4,550[샘플] 5,440[샘플]
시간 스케일 비(αi) 1/1.84 1/1.65 1/1.51
TSM 처리 후의 프레임(EFi)의 크기 2,728[샘플] 2,758[샘플] 3,603[샘플]
감축 양 2,292[샘플] 1,792[샘플] 1,837[샘플]
다음으로, 인크립션부(140)는 TSM 처리부(120)로부터 TSM 처리된 데이터를 넘겨받은 다음, 그 TSM 데이터에 대하여 셔플링 처리를 한다(S40 단계). 이러한 셔플링은 TSM 처리 후의 프레임(EFi) 별로 수행한다(이 경우, TSM 처리 후의 프레임(EFi)은 인크립션부(140)의 기본 처리단위이므로 '인크립션전 프레임'이라 부르자). 물론 다른 기준으로 셔플링을 수행할 수도 있을 것이다. 셔플링을 위해 각 인크립션전 프레임(EF1, EF2, ..., EFi, ...)을 복수개의 데이터블록(이를 '셔플링 블록'이라 함)으로 구분한다. 예컨대, TSM 처리된 각 인크립션전 프레임을 약 20msec 크기로 대략 4~8개의 셔플링 블록으로 구분한다. 셔플링 블록의 수를 상수로 고정시키거나 또는 모듈러 연산법을 이용하여 가변적인 값을 적용할 수도 있을 것이다. 각 인크립션전 프레임(EF1, EF2, ..., EFi, ...)을 예컨대 항상 5개의 셔플링 블록으로 구분하는 것으로 가정하자. 이들 5개의 셔플링 블록을 시간적으로 뒤섞는 셔플링 처리를 한다. 결국, 이 단계의 셔플링 처리는 TSM 처리된 데이터를 연속적인 다수의 데이터블록 즉, '셔플링 블록'으로 구분하고, 소정 개수의 셔플링 블록들을 같은 그룹 (즉, 인크립션전 프레임)으로 묶어서 각 그룹별로 그 그룹내의 셔플링 블록들의 시간순서를 뒤섞는 것이다.
인크립션 처리 시에 적용한 셔플링 순서를 알아야 디크립션이 가능하므로, 셔플링 규칙은 앞서 설명한 암호화 키 값을 이용하여 정해지는 규칙으로 하는 것이 바람직하다. 암호화 키 값을 이용하여 셔플링 블록들을 뒤섞는 규칙은 매우 다양할 수 있을 것이다. 어떤 규칙을 정해서 사용하던 무방하다. 왜냐하면, 보안통화 당사 자들은 암호화 키 값만 공유하면 셔플링 처리된 블록들의 디셔플링은 정확하게 해낼 수 있기 때문이다.
각 인크립션전 프레임(EF1, EF2, ..., EFi, ...)마다 그것에 속하는 셔플링 블록들의 시간순서를 뒤섞는 재배치(즉, 셔플링)를 한 다음에는, 셔플링 블록의 전부 또는 일부를 서로 시간적으로 이격시킨 다음 그로 인해 확보되는 빈 공간에 더미데이터를 부가하여 인크립션 처리된 데이터를 확보한다(S50 단계). 전화통화에 있어서 송화자의 목소리가 수화자에 전달되기까지 AD/DA 변환을 수차례 거치므로, 디지털 값이 아날로그 오디오로 표현되거나, 아날로그 오디오가 정확한 디지털 값을 전달하는 데 어려움이 있으나, 셔플링 블록의 사이사이에 더미 데이터로 채움으로써 자연스런 음의 연결을 유도하고 원래의 PCM 데이터가 변질 없이 전달되도록 한다. 이와 같은 더미데이터의 부가를 위해서는 더미 스택(130)으로부터 부가할 더미데이터 블록 선택하고, 더미데이터 블록의 부가 위치와 부가되는 더미데이터 블록의 크기를 정하고, 셔플링 블록과 더미데이터 블록의 합성 등을 수행하여야 한다.
부가할 더미데이터 블록의 선택기준은 앞에서도 언급한 바와 같이 피부가 셔플링 블록과 에너지 등급이 같은 더미데이터 블록들 중에서 랜덤하게 선정한다. 인크립션도를 높이려면 더미데이터 블록을 가급적 많은 위치에 부가하는 것이 좋을 것이다. 예컨대 도 7의 (D)에 도시된 것처럼 전체 셔플링 블록들을 상호간에 시간적으로 이격시켜 그 사이사이에 빈 공간을 마련한 다음, 첫 번째 셔플링 블록의 앞 과 마지막 셔플링 블록의 뒤에는 물론이고 셔플링 블록들 사이의 모든 빈 공간에도 더미데이터 블록을 부가할 수 있다. 부가되는 더미데이터 블록의 크기(이는 셔플링 블록들 사이사이에 마련된 빈 공간의 크기와 같다)는 일정한 값으로 할 수도 있지만, 인크립션도를 높이기 위해서는 서로 다른 값으로 하는 것이 바람직하다. 각 인크립션전 프레임의 첫 번째 셔플링 블록의 앞과 마지막 셔플링 블록의 뒤에도 더미데이터 블록을 부가한다. 특히 첫 번째 셔플링 블록의 앞에는 경우에 따라서는 더미데이터 대신에 동기화 데이터(후술함)를 부가할 수도 있다. 나아가, 인크립션 처리 전후의 데이터양에 차이가 없도록 하는 것이 바람직하다. 이렇게 하려면, 각 인크립션전 프레임에 부가되는 더미데이터의 총량은 TSM 처리 전의 분석프레임의 크기에서 그에 대응되는 인크립션전 프레임의 크기를 뺀 값과 같다. 그러나 인크립션 처리 전후의 데이터 량이 반드시 일치할 필요는 없다.
도 7의 (D)에서 도시한 것은, 각 인크립션전 프레임(EF1, EF2, ..., EFi, ...)을 5개의 셔플링 블록으로 구분하여 시간적으로 이격시키고, 그 5개의 셔플링 블록의 사이사이와 맨 첫 번째 셔플링 블록의 앞에 각각 더미데이터 블록을 부가하는 경우이다. 예컨대 두 번째 인크립션전 프레임 EF2는 5개의 셔플링 블록 B25, B22, B21, B23, B24 로 구분되고, 이들 셔플링 블록 B25, B22, B21, B23, B24 의 사이사이에 마련된 4개의 내부 빈 공간에 더미데이터 블록 D'm25, D'w9, D'w21, D'm38 을 각각 부가하고, 첫 번째 셔플링 블록 B25의 바로 앞의 외부 빈 공간에도 더미데이터 블록 D's20을 부가하여, 인크립션후 프레임(post-encryption frame) SF2를 생성한다. 인크립션후 프레임 SF2의 맨 앞의 외부 빈 공간에 부가되는 더미데이터 블록 D's20의 크기는 일정한 값으로 고정시키고, 그 밖의 5개의 셔플링 블록 B21, B22, B23, B24, B25의 크기와 4개의 내부 빈 공간에 부가되는 더미데이터 블록 D'm25, D'w9, D'w21, D'm38의 크기는 가변적인 값을 할당한다.
이런 방식으로 셔플링블록에 더미데이터를 부가하여 얻어진 인크립션후 프레임 (SF1, SF2, ..., SFi, ...)은 그 데이터양이 인크립션 처리 전의 대응 TSM 프레임(TF1, TF2, ..., TFi, ...)의 데이터양과 같도록 한다. 예컨대 인크립션후 프레임 SF2의 경우, TSM 처리 전의 프레임 사이즈가 4,550[샘플]이고 5개의 셔플링 블록의 샘플개수의 합 2,758이므로, 맨 앞의 빈 공간에 부가할 더미데이터 블록의 크기를 400[샘플]으로 할당할 때 남는 빈 공간의 크기는 1,392[샘플]이 된다. 따라서 더미데이터 블록(D'm25, D'w9, D'w21, D'm38)의 평균 크기는 348[샘플]이 되는데, 앞서 설명한 바와 같이 암호화 키 값을 가지고 모듈러 연산을 하여 얻어지는 나머지를 위 평균 크기에 더하여 얻어지는 값 310, 357, 344, 381[샘플]을 더미데이터 블록 D'm25, D'w9, D'w21, D'm38의 크기로 각각 할당한다. 나아가 더미데이터 블록의 크기를 매 인크립션전 프레임별로 가변되도록 하기 위해, 모듈러 연산에 이용되는 암호화 키의 일련번호를 예컨대 매 인크립션전 프레임마다 소정의 규칙에 따라 가변시키는 방법을 이용할 수도 있다. 5개의 셔플링 블록 (B21, B22, B23, B24, B25)의 크기도 더미데이터 블록의 크기를 정하는 방식과 유사한 방식으로 정할 수 있다. 아래 표 3은 위와 같은 방식으로 얻은 인크립션후 프레임 SF2의 구성을 보여준다.
[표 3] 인크립션후 프레임 SF2의 구성
블록 인덱스 D's20 B25 D'm25 B22 D'w9 B21 D'w21 B23 D'm38 B24
셔플링 블록의 크기 525 590 612 533 498
더미데이터 블록의 크기 400 310 357 344 381
셔플링 블록에 더미데이터 블록을 부가할 때, 실시간 음성데이터인 셔플링 블록과 더미데이터 블록의 경계가 드러나지 않도록 스무드하게 결합시켜 이 두 블록을 분간하기 어렵도록 할 필요가 있다. 이를 위해, 더미데이터 블록과 그것이 부가되는 인접 셔플링 블록을 소정 길이만큼 중첩시켜 가중함수를 적용하여 합성한다. 특히, 셔플링 블록과 더미데이터 블록의 최대 상호상관도(maximum cross-correlation) 지점에서 중첩가산(overlap-add)하면 이들 두 블록이 보다 스무드하게 연결된다. 이 때, 두 블록의 중첩가산구간을 매 인크립션전 프레임마다 가변시키면 해독이 더욱 어려워진다. 중첩가산구간을 가변하기 위해, 예컨대 중첩구간의 값을 여러 가지로 미리 정해두고, 그들 중에서 어느 한 가지를 선택할 수 있는 규칙도 미리 정해두고, 그 규칙을 적용하여 그 중첩구간의 값들 중 어느 한 가지를 선택하면 된다. 아울러, 앞에서 언급한 것처럼 특정 빈 공간에 채워넣을 더미데이터 블록을 선정할 때 그 빈 공간의 좌우측에 위치하는 두 셔플링 블록 중 어느 하나 또는 그 둘의 에너지 등급과 가장 비슷한 에너지 등급을 갖는 더미데이터 블록 을 선택하는 것이 바람직하다.
도 8은 인크립션전 프레임 EF2을 예로 하여 이것에 더미데이터를 중첩가산 방식으로 부가하는 것을 도식적으로 보여준다. 먼저, 인크립션전 프레임을 5개의 셔플링 블록 (B21, B22, B23, B24, B25)으로 구분할 때 각 셔플링 블록의 데이터의 좌우측으로 인접 셔플링 블록으로부터 과외의 데이터를 더 가져온다. 좌우측 중 어느 한쪽에만 과외의 데이터를 더 가져오는 것도 무방하다. 이 과외의 데이터는 더미데이터 블록과 중첩가산되어 더미데이터 블록의 일부로 편입되는데, 이에 의해 셔플링 블록과 더미데이터 블록 간의 스무드한 연결이 이루어진다. 예컨대 셔플링 블록 B22의 좌우측에는 셔플링 블록 B25와 B21로부터 취한 소정 량의 과외의 데이터 Ex1과 Ex2가 각각 덧붙여지고, 셔플링 블록 B22의 좌우측에 부가되는 더미데이터 블록 Dm25와 Dw9는 이들 과외의 데이터 Ex1 및 Ex2와 각각 중첩 가산된다. 이러한 중첩가산을 함에 있어서, 더미데이터 블록 Dm25와 과외의 데이터 Ex1간의 최대 상호상관도 지점과, 더미데이터 블록 Dw9 과외의 데이터 Ex2간의 최대 상호상관도 지점을 각각 찾아서 그에 가장 근접한 위치에서 중첩가산을 하는 것이 바람직하다. 중첩가산은 예컨대 1차함수를 가중함수로 사용하여 행한다. 예컨대, 더미데이터 블록 Dm25와 과외의 데이터 Ex1을 중첩 가산하여 얻은 합성데이터(OA)는 셔플링 블록 B22의 좌측에 연하여 배치하고 그 좌측의 나머지 빈 공간 전부를 더미데이터 블록 Dm25의 일부 데 이터로 채우고 남는 데이터는 버린다. 더미데이터 블록 Dw9도 같은 방식으로 과외의 데이터 Ex2와 중첩가산을 한 다음 부가한다. 다른 셔플링 블록에 대한 더미데이터 블록의 부가도 이와 같은 방식으로 행하여 도 8의 (C)와 같은 구성을 갖는 인크립션후 프레임 SF2을 얻는다. 물론 더미데이터 블록과 중첩되는 셔플링 블록의 데이터를 위와 같이 인접 셔플링 블록으로부터 과외로 가져온 데이터로 하지 않고, 각 더미데이터 블록이 부가되는 피부가 셔플링 블록 그 자체의 샘플 데이터로 할 수도 있다.
이상에서 설명하였듯이, 본 발명에 따른 인크립션 방법은 동일한 암호화 키 값을 알고 있는 경우에만 정확한 디크립션이 가능하다. 특히 통화가 진행되는 동안에 여러 가지 값들이 가변되도록 하여 인크립션 규칙이 동적으로 변경되도록 함으로써 보안성을 더욱 강화할 수 있다. 실효성을 고려하여 예컨대 적어도 TSM 처리 시 TSM 프레임의 사이즈와 중첩구간(즉, 인크립션전 프레임을 구성하는 샘플의 개수), 셔플링 블록과 더미데이터 블록을 구성하는 샘플의 개수, 셔플링 블록들의 재배열 순서 등을 가변시키는 것이 바람직하다. 이러한 가변을 위한 규칙은 통화 당사자간에 공유하는 암호화 키 값과, 모듈러 연산, 미리 마련해둔 테이블, 통화시간의 경과(즉, 처리 프레임 수의 증가) 등을 적절히 조합하여 만들어낼 수 있다.
두 당사자 간의 실시간 통화에 있어서, 송화자의 인크립션 처리된 음성데이터를 수화자 측에서 실시간으로 정확하게 해독하기 위해서는 송화자 측과 수화자 측 간의 정확한 동기가 유지될 필요가 있다. 송화자의 인크립션/디크립션 장치는 인크립션 처리된 음성데이터에 동기화 데이터를 포함시켜 수화자 측으로 전송하고, 그 수화자의 인크립션/디크립션 장치는 송화자와 동일한 암호화 키 값을 설정한 상태라면 그 인크립션 처리된 음성데이터에 포함된 동기화 데이터를 찾아내어 그것을 기준으로 디크립션 처리를 하여 송화자의 실시간 음성데이터를 추출한다.
동기화 데이터는 예컨대 소정 주파수의 사인파를 이용하여 만들 수 있다. 즉, 예컨대 여러 주기의 사인파를 샘플링한 것을 동기화 데이터로 이용한다. 한 주기의 사인파는 맨 처음과 맨 끝, 그리고 중앙 지점(제로크로싱 지점)의 샘플 값이 0이 되는 특성을 갖는데, 이런 특성을 이용하면 음성데이터에 실린 사인파 형태의 동기화 데이터를 쉽게 검출할 수 있다. 이런 동기화 데이터를 도 7의 (D)에 도시된 것처럼 인크립션통화버튼(425)을 누른 후 첫 번째 인크립션후(post-encryption) 프레임의 맨 앞의 빈 공간에 더미데이터 블록 대신에 부가할 수 있는데, 이 경우 동기화 데이터는 그 더미데이터 블록의 크기와 같게 만들면 된다. 이런 동기화 데이터를 포함하는 인크립션 처리된 음성데이터를 상대방 측에서 수신하여 해독할 때에는, 예컨대 동기화 데이터의 제로크로싱 지점을 찾아내고, 그것을 기준으로 동기화 데이터의 전체 샘플수를 감안하면 실시간 음성데이터의 시작점 위치를 계산해낼 수 있다. 보안통화를 진행하는 중에 잡음 등의 문제로 동기화가 유지되지 않을 수도 있으므로, 동기화 데이터를 인크립션 데이터에 주기적으로 삽입하는 것이 바람직하다. 송화자와 수화자의 인크립션/디크립션 장치는 수신된 상대방의 음성데이터에 위와 같은 동기화 데이터가 포함되어 있는지를 주기적으로 모니터링 하도록 한다. 새로운 동기화 데이터가 검출되면, 그것을 기준으로 하여 디크립션을 수행한다. 보 안통화 모드로의 진입을 간편하게 하기 위해, 통화당사자의 일방이 인크립션통화버튼(425)이 눌러 자신의 인크립션/디크립션 장치의 인크립션/디크립션 기능을 활성화 하면 곧바로 동기화 데이터를 발생시키도록 하고, 상대방의 인크립션/디크립션 장치도 설사 인크립션통화버튼(425)이 눌러지지 않았다 하더라도 상대방의 인크립션 처리된 음성데이터에서 동기화 데이터를 검출하게 되면 그 때부터 자동으로 보안통화모드로 진입하도록 구성할 수 있다.
인크립션부(140)는 위와 같은 방식으로 인크립션 데이터를 생성한 다음, 그것을 휴대폰(300a)에 제공하기에 앞서 DAC(170)를 이용하여 인크립션 처리된 아날로그 음성신호로 변환한다(S60 단계). 그렇게 얻어진 인크립션 처리된 아날로그 음성신호는 이어폰단자(430)를 통해 휴대폰(300a)에 제공되고, 휴대폰(300a)에서 송신을 위한 소정의 신호 처리를 거친 다음 수화자의 휴대폰(300b)으로 전송된다(S70 단계).
2) 디크립션 알고리즘
다음으로, 수화자의 휴대폰(300b)에서 송화자의 인크립션 처리된 아날로그 음성신호를 수신하여 그것의 암호화를 해제하여 인크립션 처리 전의 원래의 음성신호로 복구하는 디크립션 알고리즘에 대하여 도 2~4와 6을 참조하면서 설명하기로 한다.
디크립션을 위해서는 인크립션 처리 시에 적용한 인크립션 규칙을 알아야 한다. 그 인크립션 규칙은 암호화 키 값에 의해 결정된다. 그러므로 인크립션 처리 시에 적용한 암호화 키 값과 동일한 키 값을 디크립션 시에 이용한다. 이를 위해, 우선 수화자는 자신의 이어폰형 인크립션/디크립션 장치(400b)에서 송화자와 동일한 암호화 키 값을 설정한다(S100 단계). 그런 상태에서 수화자의 휴대폰(300b)이 송화자의 휴대폰(300a)으로부터 전송되어 온 송화자의 인크립션 처리된 음성신호를 수신한다(S105 단계). 수화자의 휴대폰(300b)에 연결된 이어폰형 인크립션/디크립션 장치(400b)는 그 송화자의 인크립션 처리된 음성신호를 휴대폰(300b)으로부터 아날로그신호의 형태로 제공받는다. 이 인크립션 처리된 아날로그 음성신호는 ADC(240)를 거치면서 디지털음성데이터로 변환된 다음 디크립션부(210)에 제공된다(S110 단계). ADC(240)는 인크립션 처리 시 적용한 샘플링 레이트와 샘플링 해상도 (예컨대, 44.1K의 샘플링 레이트와 16bit의 샘플링 해상도)를 동일하게 적용한다.
디크립션부(210)는 설정된 암호화 키 값을 이용하여 인크립션 처리 시 적용한 더미데이터 부가 규칙을 역으로 적용함으로써, 그 인크립션 처리된 상태의 디지털 음성데이터에 포함된 더미데이터를 제거하고 셔플링 블록들(즉, 셔플링 된 TSM 데이터)만 추출한다(S120 단계).
이러한 데이터 처리를 가능하기 위해서는 우선 인크립션 처리된 디지털 음성데이터에 포함되어 있는 동기화 데이터를 찾는다. 예컨대 동기화 데이터가 사인파를 샘플링하여 만든 경우 이를 찾는 방법은 앞서 설명한대로, 사인파의 제로크로싱 지점을 찾아서 그것을 기준으로 동기화 데이터의 시작점을 알아내면 된다. 동기화 데이터의 시작점을 알아내면, 그것을 기준점으로 하여 각 인크립션후 프레임(SF1, SF2, ..., SFi, ...)의 사이즈를 계산한다. 각 인크립션후 프레임의 사이즈는 도 7의 (B)에 표시된 TSM 처리 전의 TSM 프레임(TF1, TF2, ..., TFi, ...)과 같으므로, TSM 프레임의 사이즈를 결정하는 규칙을 적용하면 알아낼 수 있다. 각 인크립션후 프레임의 사이즈를 알아낸 다음에는, 각 인크립션후 프레임에 포함되어 있는 셔플링 블록들의 시작점과 끝점의 위치를 계산한다. 모든 인크립션후 프레임의 첫 번째 셔플링 블록 앞에는 항상 같은 량(예; 200 샘플)의 동기화데이터나 더미데이터가 배치되어 있다는 점을 이용하면 첫 번째 셔플링 블록의 시작점은 쉽게 알 수 있다. 또한 각 셔플링 블록과 더미데이터 블록의 크기를 정하는 규칙은 암호화 키 값이 같으면 송화자의 인크립션/디크립션 장치(400a)와 수화자의 인크립션/디크립션 장치(400b)가 동일하다. 따라서 동기화 데이터의 시작점을 알아내면 각 인크립션후 프레임에서 셔플링 블록만을 추출할 수 있음을 알 수 있을 것이다.
디크립션부(210)는 또한, 각 인크립션후 프레임(SF1, SF2, ..., SFi, ...)의 셔플링 블록을 추출한 다음에, 각 인크립션후 프레임마다 그 속에 포함된 전체 셔플링 블록들을 원래의 시간 순서로 재배치하여 그들의 시간순서를 셔플링 처리 전의 원래의 상태로 원상회복시키는 처리를 한다(S130 단계). 이는 설정된 암호화 키 값을 이용하여 인크립션 처리 시 적용한 셔플링 규칙을 역으로 적용하면 된다. 이런 디셔플링 처리를 통해 도 7의 (C)에 도시된 TSM 처리 직후의 인크립션전 프레임(EF1, EF2, ..., EFi, ...)들이 얻어진다.
디크립션부(210)가 추출한 인크립션전 프레임(EF1, EF2, ..., EFi, ...)들은 TSM 처리부(220)에 전달되고, TSM 처리부(220)는 설정된 암호화 키 값을 이용하여 송화자의 인크립션/디크립션 장치(400a)에서 적용한 시간스케일 비의 값을 역으로 적용하여 TSM 처리를 한다(S140 단계). 이러한 TSM 처리에 의하면 각 인크립션전 프레임(EF1, EF2, ..., EFi, ...)은 TSM 처리 전의 TSM 프레임(TF1, TF2, ..., TFi, ...)과 같은 데이터양이면서 각 샘플의 크기도 거의 근사하게 원상회복된다. 이들 TSM 프레임(TF1, TF2, ..., TFi, ...)을 순차적으로 연결하면, 송화자의 인크립션/디크립션 장치(400a)에서 인크립션 처리 전의 PCM 데이터가 된다.
이렇게 복구된 PCM 데이터는 버퍼(230)에 임시로 버퍼링 되었다가 DAC(250)에 전달되어 아날로그 음성신호로 변환되고(S150 단계), 그 아날로그 음성신호는 이어폰 스피커(410)에 전달되어 음성으로 재생된다(S160 단계).
이러한 암호화 해독과정에서 새로운 동기화 데이터가 포함된 인크립션후 프레임을 만나면 그 때부터는 그 동기화 데이터를 기준으로 위와 같은 암호화 해독과정을 거치게 된다. 이상에서 설명한 인크립션 처리와 디크립션 처리는 하드웨어적으로는 송신과 수신의 두 부분으로 독립되어 있을 뿐만 아니라 소프트웨어적으로도 이에 대응되게 구성하여, 풀 듀플렉스(full duplex) 통화가 가능하도록 한다.
이상에서는 본 발명이 바람직한 실시예에 따라 설명되었지만, 본 발명의 사상을 일탈하지 않는 범위 내에서 다양한 변형이 가능함은 본 발명이 속하는 기술분야의 당업자라면 명확히 인지할 수 있을 것이다. 예를 들어 인크립션도를 더 강화 하기 위해, 위에서 설명한 인크립션전 프레임내의 셔플링 블록들 간의 셔플링 즉, 인터블록 셔플링(inter-block shuffling)을 하는 것 외에도, 인크립션후 프레임을 구성하는 셔플링 블록들의 적어도 일부에 대하여 그것을 구성하는 샘플들의 시간순서를 뒤섞어 재배치하는 인트라블록 셔플링(intra-block shuffling) 처리를 더 수행하여 인크립션후 프레임을 구성할 수도 있다. 이 인트라블록 셔플링의 규칙도 암호화 키를 이용한 모듈러 연산 등을 활용하면 될 것이다. 더미데이터를 추가하지 않고, TSM 처리, 인터블록 셔플링, 그리고 인트라블록 셔플링만으로도 상당한 정도의 인크립션도를 얻을 수 있으므로, 요구되는 인크립션도에 따라서 위에서 제시한 여러 가지 인크립션 방법들을 적절히 조합하여 활용할 수 있을 것이다. 또한, 더미데이터 블록을 부가하는 방법도 다양하게 변경할 수 있다. 예컨대 더미데이터를 각 인크립션전(pre-encryption) 프레임 내의 셔플링 블록들 사이의 일부 빈공간에만 추가할 수도 있고, 각 인크립션전(pre-encryption) 프레임의 맨 끝에도 더미데이터 블록을 부가할 수도 있다.
또한, 사용자가 설정한 암호화 키 값이나 그 키 값을 이용하여 만들어내는 규칙을 통화당시의 시간, 날짜, 요일, 또는 상대방과의 통화횟수 등의 정보를 더 활용하여 변경되도록 하는 방법을 채용할 수도 있다. 인크립션/디크립션 장치별로 고유번호를 부여하여 이를 암호화 키 값과 함께 이용하여 d인크립션 규칙을 만들 수도 있다. 이러한 방법을 이용하면, 제3자에 의한 엿듣기를 더욱 어렵게 할 것이다.
이상에서 설명된 음성신호의 인크립션/디크립션 방법은 오디오신호의 시간스케일 변환기술(Time Scale Modification: TSM)을 인크립션 알고리즘에 활용함으로써 음성의 형질 잔존으로 인한 잔여 이해도를 대부분 제거함으로써 보다 완벽한 보안 성능을 제공할 수 있다. 또한, 인크립션 처리 시 적용되는 인크립션 규칙이 정적이지 않고 여러 가지 요소에 의해 동적으로 가변되도록 함으로써, 인크립션 규칙을 알아내기가 매우 어렵고 설사 인크립션 규칙을 알아낸다 하더라도 시간의 경과 등 다른 요인으로 인해 알아낸 인크립션 규칙이 더 이상 유효하지 않게 되어, 강력한 인크립션/디크립션 능력을 제공할 수 있다.
또한, 본 발명의 인크립션/디크립션 장치는 기존의 통신장치에 내장형으로 구성될 수도 있지만, 기존의 통신장치에 대한 어떤 변경을 필요로 하지 않는 별도의 외장형 인크립션/디크립션 장치로도 구성될 수 있으므로 적용범위가 매우 다양할 수 있는 장점이 있다.
본 발명의 인크립션/디크립션 장치는 또한 실시간 '아날로그' 음성신호의 데이터양을 줄이는 대신 그 감소된 데이터양만큼을 '같은 사람'의 비실시간 음성신호를 더미데이터로서 보충해줌으로써 음성정보의 단절이 없어 외부기기에 대하여 아날로그 신호의 형태로 주고받을 수 있다. 따라서 그 아날로그 신호를 해독하기 위해서는 여러 가지 해독기법을 적용하여 해독자가 직접 들어가면서 해독할 수밖에 없기 때문에 해독이 거의 불가능하다. 더구나, 실시간 음성신호와 더미데이터간의 구분이 어렵게 하는 합성기법과 실시간 음성신호의 셔플링 기법 등도 함께 사용하 는 등 이중 삼중으로 인크립션을 하기 때문에, 해독의 어려움은 가중되며 설사 해독을 하려고 하더라도 상당한 시간이 소요된다. 그러므로 본 발명은 실시간 보안통화를 완벽하게 지원해준다.

Claims (50)

  1. 사용자의 디지털 음성데이터를 시간스케일수정 처리를 하여 그 데이터양을 소정의 시간스케일 비로 감축하는 단계; 및
    그 시간스케일수정 처리된 상기 사용자의 디지털 음성데이터를 다수의 연속적인 인크립션전(pre-encryption) 프레임으로 구분하고, 각 인크립션전 프레임을 다수의 셔플링 블록들로 구분하여 그 셔플링 블록들의 시간 순서를 뒤섞는 블록간 셔플링(inter-block shuffling) 처리를 하고 더미데이터 블록을 부가하여 인크립션후(post-encryption) 프레임으로 변환하는 단계를 구비하여,
    상기 사용자의 디지털 음성데이터를 인크립션 처리된 사용자의 디지털 음성데이터로 변환하는 것을 특징으로 하는 음성신호의 인크립션/디크립션 방법.
  2. 제1항에 있어서, 상기 사용자가 입력하는 암호화 키 값을 저장수단에 저장해두고, 그 암호화 키 값을 이용하여 정해지는 소정의 인크립션 규칙에 따라서 상기 사용자의 디지털 음성데이터의 인크립션 처리가 수행되도록 하는 단계를 더 구비하는 것을 특징으로 하는 음성신호의 인크립션/디크립션 방법.
  3. 제2항에 있어서, 상기 사용자의 디지털 음성데이터의 디크립션 처리를 위한 동기정보를 제공하기 위해 상기 사용자의 디지털 음성데이터에 동기화 데이터를 포함시키는 단계를 더 구비하는 것을 특징으로 하는 음성신호의 인크립션/디크립션 방법.
  4. 제3항에 있어서, 상기 사용자가 입력한 암호화 키 값과 동일한 암호화 키 값을 이용하여 상기 인크립션 규칙을 역으로 적용하여 상기 사용자의 인크립션 처리된 음성데이터를 디크립션 하기 위해,
    상기 인크립션 처리된 음성데이터에 포함된 상기 동기화 데이터를 검출하는 단계;
    검출된 상기 동기화 데이터를 기준으로 삼아 상기 인크립션 처리된 음성데이터의 각 인크립션후 프레임을 그 속에 포함된 더미데이터 블록을 제외한 셔플링 블록만을 추출하고 그 셔플링 블록들의 시간순서를 원상태로 회복시키는 디셔플링 처리를 하여 상기 인크립션전 프레임으로 복구하는 단계; 및
    상기 인크립션전 프레임들에 대하여 상기 시간스케일 비를 역으로 적용하여 시간스케일 수정을 함으로써 상기 사용자의 디지털 음성데이터로 복구하는 단계를 더 구비하는 것을 특징으로 하는 음성신호의 인크립션/디크립션 방법.
  5. 제4항에 있어서, 상기 동기화 데이터는 상기 인크립션 처리된 음성데이터에 주기적으로 삽입되며, 상기 인크립션 처리된 음성데이터의 디크립션 시에 상기 동기화 데이터가 검출될 때마다 그것을 기준으로 이후의 디크립션 처리를 수행하는 것을 특징으로 하는 음성신호의 인크립션/디크립션 방법.
  6. 제2항에 있어서, 상기 인크립션 규칙은 적어도 상기 인크립션전 프레임을 구성하는 샘플의 개수, 상기 셔플링 블록을 구성하는 샘플의 개수, 상기 셔플링 블록들의 재배열 순서, 부가되는 더미데이터 블록을 구성하는 샘플의 개수 중 적어도 일부를 인크립션이 수행되는 과정에서 가변되도록 하는 것을 특징으로 하는 음성신호의 인크립션/디크립션 방법.
  7. 제2항에 있어서, 상기 시간스케일 비는 1/3.0 이상 1/1.3 이하의 범위에서 상기 암호화 키 값을 이용한 규칙에 의해 가변적으로 정해지는 것을 특징으로 하는 음성신호의 인크립션/디크립션 방법.
  8. 제1항 내지 제7항 중 어느 하나에 있어서, 마이크를 통해 출력되는 상기 사용자의 아날로그 음성신호를 실시간으로 샘플링 하여 상기 디지털 음성데이터로 변환하는 단계를 더 구비하는 것을 특징으로 하는 음성신호의 인크립션/디크립션 방법.
  9. 제8항에 있어서, 상기 디지털 음성 데이터의 시간스케일 수정은 원음의 피치정보를 거의 그대로 유지한 채 데이터양만 감축시키는 알고리즘을 이용하여 처리되는 것을 특징으로 하는 음성신호의 인크립션/디크립션 방법.
  10. 제8항에 있어서, 상기 사용자의 과거의 비실시간 음성을 이용하여 상기 더미 데이터 블록을 미리 추출하여 저장수단에 저장해두고 상기 사용자의 실시간 음성데이터를 인크립션 할 때 상기 더미데이터 블록으로 이용하는 단계를 더 구비하는 것을 특징으로 하는 음성신호의 인크립션/디크립션 방법.
  11. 제10항에 있어서, 상기 저장수단에 저장되어 있는 상기 더미데이터 블록들 중에서 상기 인크립션에 사용된 횟수가 미리 설정된 횟수를 초과한 것은 새로운 더미데이터 블록으로 대체하는 단계를 더 구비하는 것을 특징으로 하는 음성신호의 인크립션/디크립션 방법.
  12. 제10항에 있어서, 상기 더미데이터 블록들을 상기 저장수단에 저장할 때 각각의 에너지 절대값의 크기에 따라 복수개의 등급으로 구분하여 저장하고, 상기 인크립션후(post-encryption) 프레임을 생성하기 위해 상기 셔플링 블록들 사이에 상기 더미데이터 블록을 부가할 때 피부가 셔플링 블록과 에너지 등급이 가장 가까운 더미데이터 블록을 선정하여 부가하는 단계를 더 구비하는 것을 특징으로 하는 음성신호의 인크립션/디크립션 방법.
  13. 제1항 내지 제7항 중 어느 하나에 있어서, 상기 더미데이터 블록은 적어도 각 인크립션전(pre-encryption) 프레임 내의 셔플링 블록 전부를 서로 간에 시간적으로 이격시켜 생기는 인접 셔플링 블록 사이의 빈 공간과 맨 첫 번째 셔플링 블록 앞의 빈 공간에 부가되는 것을 특징으로 하는 음성신호의 인크립션/디크립션 방 법.
  14. 제13항에 있어서, 상기 인크립션전 프레임에 상기 더미데이터 블록을 부가할 때, 각 더미데이터 블록은 그것이 부가되는 피부가 셔플링 블록의 샘플들 중 일부 샘플 또는 그 피부가 셔플링 블록과 인접하는 셔플링 블록의 일부 샘플과 중첩시켜 가중 합성하는 것을 특징으로 하는 음성신호의 인크립션/디크립션 방법.
  15. 제1항 내지 제7항 중 어느 하나에 있어서, 상기 셔플링 블록의 적어도 일부에 대하여 그것을 구성하는 샘플들의 시간순서를 뒤섞어 재배치하는 인트라블록 셔플링(intra-block shuffling) 처리를 더 수행하여 상기 인크립션후 프레임을 구성하는 단계를 더 구비하는 것을 특징으로 하는 음성신호의 인크립션/디크립션 방법.
  16. 제1항 내지 제7항 중 어느 하나에 있어서, 상기 인크립션 처리된 사용자의 디지털 음성데이터는 상기 시간스케일 수정 처리 전의 상기 사용자의 디지털 음성데이터와 동일한 데이터양을 갖는 것을 특징으로 하는 음성신호의 인크립션/디크립션 방법.
  17. 사용자의 실시간 음성을 디지털 음성데이터로 변환하는 단계;
    상기 사용자의 과거의 비실시간 음성을 이용하여 상기 더미데이터 블록을 미리 추출하여 저장수단에 저장해두는 단계;
    상기 사용자가 입력하는 암호화 키 값을 저장수단에 저장해두는 단계;
    상기 암호화 키 값을 이용하여 정해지는 소정의 인크립션 규칙에 따라서, 상기 디지털 음성데이터를 시간스케일수정 처리를 하여 그 데이터양을 소정의 시간스케일 비로 감축하고, 그 시간스케일수정 처리된 상기 사용자의 디지털 음성데이터를 다수의 연속적인 인크립션전(pre-encryption) 프레임으로 구분하고, 각 인크립션전 프레임을 다수의 셔플링 블록들로 구분하여 그 셔플링 블록들의 시간 순서를 뒤섞는 블록간 셔플링(inter-block shuffling) 처리를 한 다음 블록간 셔플링 처리된 셔플링 블록들에 상기 저장수단에 저장된 더미데이터 블록을 선정하여 부가하여 인크립션후(post-encryption) 프레임으로 변환하고, 상기 인크립션후 프레임을 소정의 동기화 데이터와 함께 인크립션 처리된 음성데이터로 구성하는 단계를 구비하는 것을 특징으로 하는 음성신호의 인크립션/디크립션 방법.
  18. 제17항에 있어서, 상기 암호화 키 값과 동일한 암호화 키 값을 이용하여 상기 인크립션 규칙을 역으로 적용하여,
    상기 인크립션 처리된 음성데이터에 포함된 상기 동기화 데이터를 검출하는 단계;
    검출된 상기 동기화 데이터를 기준으로 삼아 상기 인크립션 처리된 음성데이터의 각 인크립션후 프레임을 그 속에 포함된 더미데이터 블록을 제외한 셔플링 블록만을 추출하고 그 셔플링 블록들의 시간순서를 원상태로 회복시키는 디셔플링 처리를 하여 상기 인크립션전 프레임으로 복구하는 단계; 및
    상기 인크립션전 프레임들에 대하여 상기 시간스케일 비를 역으로 적용하여 시간스케일 수정을 함으로써 상기 사용자의 인크립션 처리 전의 음성데이터로 복구하는 단계를 더 구비하는 것을 특징으로 하는 음성신호의 인크립션/디크립션 방법.
  19. 제17항 또는 18항에 있어서, 상기 저장수단에 저장되어 있는 상기 더미데이터 블록들 중에서 상기 인크립션에 사용된 횟수가 미리 설정된 횟수를 초과한 것은 새로운 더미데이터 블록으로 대체하는 단계를 더 구비하는 것을 특징으로 하는 음성신호의 인크립션/디크립션 방법.
  20. 제17항 또는 18항에 있어서, 상기 더미데이터 블록은 각 인크립션전(pre-encryption) 프레임 내의 셔플링 블록 전부를 서로 간에 시간적으로 이격시켜 생기는 인접 셔플링 블록 사이의 빈 공간과 맨 앞의 셔플링 블록 앞의 빈 공간에 부가되되, 각 더미데이터 블록은 그것이 부가되는 피부가 셔플링 블록의 샘플들 중 일부 샘플 또는 그 피부가 셔플링 블록과 인접하는 셔플링 블록의 일부 샘플과 중첩시켜 가중 합성하는 것을 특징으로 하는 음성신호의 인크립션/디크립션 방법.
  21. 제17항 또는 18항에 있어서, 상기 동기화 데이터는 상기 인크립션 처리된 음성데이터에 주기적으로 삽입되며, 상기 인크립션 처리된 음성데이터의 디크립션 시에 상기 동기화 데이터가 검출될 때마다 그것을 기준으로 이후의 디크립션 처리를 수행하는 것을 특징으로 하는 음성신호의 인크립션/디크립션 방법.
  22. 제17항 또는 18항에 있어서, 상기 인크립션 처리된 사용자의 디지털 음성데이터는 상기 시간스케일 수정 처리 전의 상기 사용자의 디지털 음성데이터와 동일한 데이터양을 갖는 것을 특징으로 하는 음성신호의 인크립션/디크립션 방법.
  23. 제1사용자와 제2사용자의 실시간 통화음성을 인크립션/디크립션 하는 방법에 있어서,
    상기 제1 사용자와 상기 제2 사용자는 동일한 암호화 키 값을 각자의 인크립션/디크립션 장치에 설정하는 단계;
    송화자 측의 인크립션/디크립션 장치에서, 마이크를 통해 출력되는 송화자의 아날로그 음성신호를 디지털 음성데이터로 변환하고, 상기 암호화 키 값을 이용하여 정해지는 소정의 인크립션 규칙에 따라서, 상기 디지털 음성데이터를 시간스케일수정 처리를 하여 그 데이터양을 소정의 시간스케일 비로 감축하고, 그 시간스케일수정 처리된 상기 송화자의 디지털 음성데이터를 다수의 연속적인 인크립션전(pre-encryption) 프레임으로 구분하고, 각 인크립션전 프레임을 다수의 셔플링 블록들로 구분하여 그 셔플링 블록들의 시간 순서를 뒤섞는 블록간 셔플링(inter-block shuffling) 처리를 하고 더미데이터 블록을 부가하여 인크립션후(post-encryption) 프레임으로 변환하고, 상기 인크립션후 프레임을 소정의 동기화 데이터와 함께 인크립션 처리된 송화자의 음성데이터로 구성하여 제1통신장치를 통해 수화자 측의 제2통신장치로 전송되도록 하는 단계; 및
    수화자 측의 인크립션/디크립션 장치에서, 상기 암호화 키 값을 이용하여 정해지는 소정의 디크립션 규칙에 따라서, 상기 제2통신장치를 통해 전달받은 상기 인크립션 처리된 송화자의 음성데이터에 포함된 상기 동기화 데이터를 검출하고, 검출된 동기화 데이터를 기준으로 삼아 상기 인크립션 처리된 디지털 음성데이터를 다수의 인크립션후 프레임으로 구분하고, 각 인크립션후 프레임을 그 속에 포함된 상기 더미데이터 블록을 제외한 셔플링 블록만을 추출하고 그 셔플링 블록들의 시간순서를 원상태로 회복시키는 디셔플링 처리를 하여 상기 인크립션전 프레임으로 복구하고, 복구된 인크립션전 프레임들에 대하여 상기 시간스케일 비를 역으로 적용하여 시간스케일 수정을 함으로써 상기 송화자의 디지털 음성데이터로 복구하는 단계를 구비하는 것을 특징으로 하는 실시간 통화음성을 인크립션/디크립션 하는 방법.
  24. 제23항에 있어서, 상기 송화자 측의 인크립션/디크립션 장치와 상기 제1 통신장치 간, 그리고 상기 수화자 측의 인크립션/디크립션 장치와 상기 제2 통신장치 간에, 송화자와 수화자의 음성신호를 아날로그 신호의 형태로 주고받을 수 있도록 하기 위해 필요한 아날로그/디지털 신호변환과 디지털/아날로그 신호변환 처리를 수행하는 단계를 더 구비하는 것을 특징으로 하는 실시간 통화음성을 인크립션/디크립션 하는 방법.
  25. 제23항에 있어서, 상기 제1 사용자 및 제2 사용자는 자신의 과거의 비실시간 음성을 이용하여 상기 더미데이터 블록을 미리 추출하여 자신의 인크립션/디크립션 장치의 저장수단에 저장해두고 자신의 실시간 음성데이터를 인크립션 할 때 상기 더미데이터 블록으로 이용하는 단계를 더 구비하는 것을 특징으로 하는 실시간 통화음성을 인크립션/디크립션 하는 방법.
  26. 제25항에 있어서, 상기 저장수단에 저장되어 있는 상기 더미데이터 블록들 중에서 상기 인크립션에 사용된 횟수가 미리 설정된 횟수를 초과한 것은 새로운 더미데이터 블록으로 대체하는 단계를 더 구비하는 것을 특징으로 하는 실시간 통화음성을 인크립션/디크립션 하는 방법.
  27. 제23항에 있어서, 상기 인크립션 처리된 송화자의 디지털 음성데이터는 상기 시간스케일 수정 처리 전의 상기 송화자의 디지털 음성데이터와 동일한 데이터양을 갖는 것을 특징으로 하는 실시간 통화음성을 인크립션/디크립션 하는 방법.
  28. 제23항에 있어서, 수화자 측의 인크립션/디크립션 장치에서, 디크립션 처리에 의해 얻어진 상기 송화자의 디지털 음성데이터를 아날로그 음성신호로 변환하여 스피커를 통해 출력하는 단계를 더 구비하는 것을 특징으로 하는 실시간 통화음성을 인크립션/디크립션 하는 방법.
  29. 제23항에 있어서, 수화자 측의 인크립션/디크립션 장치에서, 송화자의 인크 립션 처리된 음성데이터에서 상기 동기화 데이터가 검출되면 그에 응하여, 수화자 측의 인크립션/디크립션 장치는 인크립션통화버튼이 눌렸는지 여부에 관계없이 그 때부터 자동으로 보안통화모드로 진입하는 단계를 더 구비하는 것을 특징으로 하는 단계를 더 구비하는 것을 특징으로 하는 실시간 통화음성을 인크립션/디크립션 하는 방법.
  30. 음성을 아날로그 음성신호로 변환하는 마이크;
    사용자가 암호화 키 값을 입력하여 설정할 수 있는 키 설정수단;
    상기 마이크가 변환한 상기 아날로그 음성신호를 샘플링 하여 디지털 음성데이터로 변환하는 제1 ADC; 및
    데이터 처리용 작업공간을 제공하고, 더미데이터 블록, 설정된 상기 암호화 키와 인크립션/디크립션 프로그램을 저장하는 저장수단; 및
    상기 인크립션/디크립션 프로그램을 실행하여 상기 디지털 음성데이터의 인크립션 처리와 인크립션 처리된 디지털 음성데이터의 디크립션 처리를 수행하는 데 필요한 연산을 수행하는 CPU를 구비하며,
    상기 인크립션/디크립션 프로그램은 상기 암호화 키 값을 이용하여 정해지는 소정의 인크립션 규칙에 따라서, 상기 디지털 음성데이터를 시간스케일수정 처리를 하여 그 데이터양을 소정의 시간스케일 비로 감축하고, 그 시간스케일수정 처리된 상기 사용자의 디지털 음성데이터를 다수의 연속적인 인크립션전(pre-encryption) 프레임으로 구분하고, 각 인크립션전 프레임을 다수의 셔플링 블록들로 구분하여 그 셔플링 블록들의 시간 순서를 뒤섞는 블록간 셔플링(inter-block shuffling) 처리를 한 다음 블록간 셔플링 처리된 셔플링 블록들에 상기 저장수단에 저장된 더미데이터 블록을 선정하여 부가하여 인크립션후(post-encryption) 프레임으로 변환하고, 상기 인크립션후 프레임을 소정의 동기화 데이터와 함께 인크립션 처리된 음성데이터로 구성하는 인크립션 기능과,
    상기 인크립션 규칙에 따라서 인크립션 처리된 음성데이터를 원래의 디지털 음성데이터로 복구하는 디크립션 기능을 갖는 것을 특징으로 하는 음성신호의 인크립션/디크립션 장치.
  31. 제 30항에 있어서, 상기 디크립션 기능은 인크립션 처리 시 적용했던 상기 암호화 키 값을 동일하게 이용하여 정해지는 소정의 디크립션 규칙에 따라서, 상기 인크립션 처리된 음성데이터에 포함된 상기 동기화 데이터를 검출하고, 검출된 동기화 데이터를 기준으로 삼아 상기 인크립션 처리된 디지털 음성데이터를 다수의 인크립션후 프레임으로 구분하고, 각 인크립션후 프레임을 그 속에 포함된 상기 더미데이터 블록을 제외한 셔플링 블록만을 추출하고 그 셔플링 블록들의 시간순서를 원상태로 회복시키는 디셔플링 처리를 하여 상기 인크립션전 프레임으로 복구하고, 복구된 인크립션전 프레임들에 대하여 상기 시간스케일 비를 역으로 적용하여 시간스케일 수정을 함으로써 상기 원래의 디지털 음성데이터로 복구하는 기능인 것을 특징으로 하는 음성신호의 인크립션/디크립션 장치.
  32. 제30항에 있어서, 상기 CPU로부터 인크립션 처리된 음성데이터를 제공받아 아날로그 신호로 변환하여 외부로 제공하는 제1 DAC; 외부에서 제공되는 인크립션 처리된 아날로그 음성신호를 디지털 신호로 변환하여 상기 CPU로 제공하는 제2 ADC; 상기 CPU에 의해 상기 디크립션 처리된 음성데이터를 제공받아 아날로그 음성신호로 변환하는 제2 DAC; 및 상기 제2 DAC가 제공하는 상기 아날로그 음성신호를 음성으로 변환하는 스피커를 더 구비하는 것을 특징으로 하는 음성신호의 인크립션/디크립션 장치.
  33. 제30항에 있어서, 상기 저장수단은 상기 CPU가 연산을 위해 필요한 작업공간을 제공하는 RAM과, 상기 더미데이터 블록, 상기 암호화 키, 그리고 상기 인크립션/디크립션 프로그램을 저장하는 비휘발성 메모리를 포함하는 것을 특징으로 하는 음성신호의 인크립션/디크립션 장치.
  34. 제30항 내지 33항 중 어느 하나에 있어서, 상기 키 입력수단은 상기 암호화 키 값을 화면에 표시해주는 디스플레이부; 상기 화면에 표시된 복수 자리의 후보 키 값들을 변경시키면서 원하는 키 값을 상기 암호화 키 값으로 선택할 수 있는 선택버튼; 상기 선택버튼의 입력을 받아 그에 대응되는 신호를 상기 CPU로 제공하는 키 입력부; 및 상기 선택버튼의 입력내용에 응하여 상기 디스플레이부의 표시를 제어하는 디스플레이 구동부를 구비하는 구성인 것을 특징으로 하는 음성신호의 인크립션/디크립션 장치.
  35. 제30항 내지 33항 중 어느 하나에 있어서, 상기 동기화 데이터는 상기 인크립션 처리된 음성데이터에 주기적으로 삽입되며, 상기 인크립션 처리된 음성데이터의 디크립션 시에 상기 동기화 데이터가 검출될 때마다 그것을 기준으로 이후의 디크립션 처리를 수행하는 것을 특징으로 하는 음성신호의 인크립션/디크립션 장치.
  36. 제30항 내지 33항 중 어느 하나에 있어서, 상기 인크립션 규칙은 적어도 상기 인크립션전 프레임을 구성하는 샘플의 개수, 상기 셔플링 블록을 구성하는 샘플의 개수, 상기 셔플링 블록들의 재배열 순서, 부가되는 더미데이터 블록을 구성하는 샘플의 개수 중 적어도 일부를 인크립션이 수행되는 과정에서 가변되도록 하는 것을 특징으로 하는 음성신호의 인크립션/디크립션 장치.
  37. 제30항 내지 33항 중 어느 하나에 있어서, 상기 시간스케일 비는 1/3.0 이상 1/1.3 이하의 범위에서 상기 암호화 키 값을 이용한 규칙에 의해 가변적으로 정해지는 것을 특징으로 하는 음성신호의 인크립션/디크립션 장치.
  38. 제30항 내지 33항 중 어느 하나에 있어서, 상기 사용자의 과거의 비실시간 음성을 이용하여 더미데이터 블록을 미리 추출하여 상기 저장수단에 저장해두고, 상기 저장수단에 저장된 더미데이터 블록들을 상기 사용자의 실시간 음성데이터를 인크립션 할 때 소정의 선택기준에 따라 선정하여 상기 더미데이터 블록으로 이용 하는 것을 특징으로 하는 음성신호의 인크립션/디크립션 장치.
  39. 제30항 내지 33항 중 어느 하나에 있어서, 상기 인크립션 처리된 사용자의 디지털 음성데이터는 상기 시간스케일 수정 처리 전의 상기 사용자의 디지털 음성데이터와 동일한 데이터양을 갖는 것을 특징으로 하는 음성신호의 인크립션/디크립션 장치.
  40. 통신장치의 이어폰 단자에 접속되어 신호의 전달통로를 제공하는 이어폰잭;
    데이터 처리용 작업공간을 제공하고, 설정된 암호화 키와 인크립션/디크립션 프로그램을 저장하는 저장수단;
    상기 인크립션/디크립션 프로그램을 실행하여 음성신호의 암호화와 암호화 된 음성신호의 해독 처리에 필요한 연산을 하는 CPU;
    음성신호의 암호화 및 해독에 사용될 암호화 키 값을 설정하기 위한 키 입력수단;
    사용자의 음성을 아날로그 음성신호로 변환하는 마이크;
    상기 마이크가 제공하는 제1 아날로그 음성신호를 샘플링 하여 제1 디지털 음성데이터로 변환하여 상기 CPU에 제공하는 제1 ADC;
    상기 이어폰잭을 통해 인가되는 제2 아날로그 음성신호를 샘플링 하여 제2 디지털 음성데이터로 변환하여 상기 CPU에 제공하는 제2 ADC;
    입력되는 아날로그 음성신호를 음성으로 변환하는 이어폰 스피커;
    상기 CPU가 제공하는 제3 디지털 음성데이터를 제3 아날로그 음성신호로 변환하여 상기 이어폰잭으로 제공하는 제1 DAC; 및
    상기 CPU가 제공하는 제4 디지털 음성데이터를 제4 아날로그 음성신호로 변환하여 상기 이어폰 스피커로 제공하는 제2 DAC를 구비하며,
    상기 인크립션/디크립션 프로그램은,
    상기 암호화 키 값을 이용하여 정해지는 소정의 인크립션 규칙에 따라서, 상기 제1 디지털 음성데이터를 시간스케일수정 처리를 하여 그 데이터양을 소정의 시간스케일 비로 감축하고, 그 시간스케일수정 처리된 상기 사용자의 디지털 음성데이터를 다수의 연속적인 인크립션전(pre-encryption) 프레임으로 구분하고, 각 인크립션전 프레임을 다수의 셔플링 블록들로 구분하여 그 셔플링 블록들의 시간 순서를 뒤섞는 블록간 셔플링(inter-block shuffling) 처리를 한 다음 블록간 셔플링 처리된 셔플링 블록들에 상기 저장수단에 저장된 더미데이터 블록을 선정하여 부가하여 인크립션후(post-encryption) 프레임으로 변환하고, 상기 인크립션후 프레임을 소정의 동기화 데이터와 함께 인크립션 처리된 음성데이터로 구성하여 상기 제1 DAC에 상기 제3 디지털 음성데이터로서 제공하는 인크립션기능과,
    상기 디크립션 기능은 인크립션 처리 시 적용했던 상기 암호화 키 값을 동일하게 이용하여 정해지는 소정의 디크립션 규칙에 따라서, 인크립션 처리된 상기 제2 디지털 음성데이터에 포함된 상기 동기화 데이터를 검출하고, 검출된 동기화 데이터를 기준으로 삼아 상기 제2 디지털 음성데이터를 다수의 인크립션후 프레임으로 구분하고, 각 인크립션후 프레임을 그 속에 포함된 더미데이터 블록을 제외한 셔플링 블록만을 추출하고 그 셔플링 블록들의 시간순서를 원상태로 회복시키는 디셔플링 처리를 하여 상기 인크립션전 프레임으로 복구하고, 복구된 인크립션전 프레임들에 대하여 상기 시간스케일 비를 역으로 적용한 시간스케일 수정을 하여 원래의 디지털 음성데이터로 복구하고, 그 디지털 음성데이터를 상기 제2 DAC에 상기 제4 디지털 음성데이터로서 제공하는 디크립션 기능을 갖는 것을 특징으로 하는 이어폰형 인크립션/디크립션 장치.
  41. 제 40항에 있어서, 상기 저장수단은 데이터 처리용 작업공간을 제공하는 램(RAM)과, 설정된 암호화 키와 인크립션/디크립션 프로그램 그리고 더미데이터를 저장하는 비휘발성 메모리를 구비하는 것을 특징으로 하는 이어폰형 인크립션/디크립션 장치.
  42. 제 40항에 있어서, 상기 키 입력수단은 상기 암호화 키 값을 화면에 표시해주는 디스플레이부; 상기 화면에 표시된 복수 자리의 후보 키 값들을 변경시키면서 원하는 키 값을 상기 암호화 키 값으로 선택할 수 있는 선택버튼; 상기 선택버튼의 입력을 받아 그에 대응되는 신호를 상기 CPU로 제공하는 키 입력부; 상기 선택버튼의 입력내용에 응하여 상기 디스플레이부의 표시를 제어하는 디스플레이 구동부를 구비하는 구성인 것을 특징으로 하는 이어폰형 인크립션/디크립션 장치.
  43. 제40항에 있어서, 상기 저장수단은 상기 CPU가 연산을 위해 필요한 작업공간 을 제공하는 RAM과, 상기 더미데이터 블록, 상기 암호화 키, 그리고 상기 인크립션/디크립션 프로그램을 저장하는 비휘발성 메모리를 포함하는 것을 특징으로 하는 이어폰형 인크립션/디크립션 장치.
  44. 제 40항에 있어서, 복수의 상대방과 각각 따로 보안통화를 할 수 있도록 하기 위해, 상기 키 입력수단은 사용자가 복수의 상대방 각각에 대하여 그를 특정할 수 있는 정보와 그에 대응된 별도의 암호화 키 값을 설정할 수 있는 기능을 제공하여 사용자가 이 기능을 이용하여 설정한 데이터를 상기 저장수단에 저장되도록 하는 것을 특징으로 하는 이어폰형 인크립션/디크립션 장치.
  45. 제40항에 있어서, 상기 인크립션 규칙은 적어도 상기 인크립션전 프레임을 구성하는 샘플의 개수, 상기 셔플링 블록을 구성하는 샘플의 개수, 상기 셔플링 블록들의 재배열 순서, 부가되는 더미데이터 블록을 구성하는 샘플의 개수 중 적어도 일부를 인크립션이 수행되는 과정에서 가변되도록 하는 것을 특징으로 하는 이어폰형 인크립션/디크립션 장치.
  46. 제40항에 있어서, 상기 인크립션/디크립션 프로그램은, 상기 사용자의 과거의 비실시간 음성을 이용하여 더미데이터 블록을 미리 추출하여 상기 저장수단에 저장해두고, 상기 저장수단에 저장된 더미데이터 블록들을 상기 사용자의 실시간 음성데이터를 인크립션 할 때 소정의 선택기준에 따라 선정하여 상기 더미데이터 블록으로 이용하도록 하는 기능을 더 구비하는 것을 특징으로 하는 이어폰형 인크립션/디크립션 장치.
  47. 제40항에 있어서, 상기 인크립션 처리된 사용자의 디지털 음성데이터는 상기 시간스케일 수정 처리 전의 상기 사용자의 디지털 음성데이터와 동일한 데이터양을 갖는 것을 특징으로 하는 이어폰형 인크립션/디크립션 장치.
  48. 제40항에 있어서, 상기 제1 디지털 음성 데이터의 시간스케일 수정은 원음의 피치정보를 거의 그대로 유지한 채 데이터양만 감축시키는 알고리즘을 이용하여 처리되는 것을 특징으로 하는 이어폰형 인크립션/디크립션 장치.
  49. 제40항에 있어서, 상기 더미데이터 블록은 적어도 각 인크립션전(pre-encryption) 프레임 내의 셔플링 블록 전부를 서로 간에 시간적으로 이격시켜 생기는 인접 셔플링 블록 사이의 빈 공간과 맨 앞의 셔플링 블록 앞의 빈 공간에 부가되는 것을 특징으로 하는 이어폰형 인크립션/디크립션 장치.
  50. 제40항에 있어서, 상기 더미데이터 블록들을 상기 저장수단에 저장할 때 각각의 에너지 절대값의 크기에 따라 복수개의 등급으로 구분하여 저장하고, 상기 인크립션후(post-encryption) 프레임을 생성하기 위해 상기 셔플링 블록들 사이에 상기 더미데이터 블록을 부가할 때 피부가 셔플링 블록과 에너지 등급이 가장 가까운 더미데이터 블록을 선정하여 부가하는 되도록 하는 것을 특징으로 하는 이어폰형 인크립션/디크립션 장치.
KR1020060034800A 2006-04-18 2006-04-18 음성신호의 인크립션/디크립션 방법과 이를 위한 장치 KR100836942B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020060034800A KR100836942B1 (ko) 2006-04-18 2006-04-18 음성신호의 인크립션/디크립션 방법과 이를 위한 장치
EP07746030A EP2014066A1 (en) 2006-04-18 2007-04-17 Method and apparatus for voice signal encryption/decryption
PCT/KR2007/001867 WO2007120006A1 (en) 2006-04-18 2007-04-17 Method and apparatus for voice signal encryption/decryption

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060034800A KR100836942B1 (ko) 2006-04-18 2006-04-18 음성신호의 인크립션/디크립션 방법과 이를 위한 장치

Publications (2)

Publication Number Publication Date
KR20070103113A true KR20070103113A (ko) 2007-10-23
KR100836942B1 KR100836942B1 (ko) 2008-06-12

Family

ID=38609727

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060034800A KR100836942B1 (ko) 2006-04-18 2006-04-18 음성신호의 인크립션/디크립션 방법과 이를 위한 장치

Country Status (3)

Country Link
EP (1) EP2014066A1 (ko)
KR (1) KR100836942B1 (ko)
WO (1) WO2007120006A1 (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ITMI20091006A1 (it) * 2009-06-09 2010-12-10 Claudio Petronici "sistema di crittatura di comunicazioni vocali"
US9059971B2 (en) 2010-03-10 2015-06-16 Koolspan, Inc. Systems and methods for secure voice communications
EP2375622A1 (en) 2010-04-08 2011-10-12 Nagravision S.A. A device and a method for performing a cryptographic function
PL2772001T3 (pl) * 2011-10-28 2021-04-06 Danmarks Tekniske Universitet Sposób szyfrowania dynamicznego
FR3034939B1 (fr) * 2015-04-09 2019-07-12 Jules Alfille Dispositif et procede de protection des echanges pour telephonie mobile
WO2019005997A1 (en) * 2017-06-27 2019-01-03 Intel Corporation METHODS AND APPARATUS FOR SECURING SURVEY SYMBOLS
KR101934445B1 (ko) * 2018-04-12 2019-03-25 대한민국 음성신호의 비식별화를 위한 암호화 시스템

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FI981508A (fi) 1998-06-30 1999-12-31 Nokia Mobile Phones Ltd Menetelmä, laite ja järjestelmä käyttäjän tilan arvioimiseksi
BR0204835A (pt) * 2001-04-18 2003-06-10 Koninkl Philips Electronics Nv Métodos para codificar um sinal de áudio, e para decodificar um fluxo de áudio, codificador de áudio, reprodutor de áudio, sistema de áudio, fluxo de áudio, e, meio de armazenamento
KR20030046861A (ko) * 2001-12-04 2003-06-18 김도영 옻나무 성분이 함유된 청결미 제조방법.
KR20040026315A (ko) * 2002-09-24 2004-03-31 엘지전자 주식회사 실시간 전송 프로토콜 패킷의 부분 암호화 방법
KR20040034465A (ko) * 2002-10-16 2004-04-28 (주)메이즈텍 음성신호 암호화 방법 및 그 장치
KR20040059146A (ko) * 2002-12-28 2004-07-05 엘지전자 주식회사 음성신호의 암호화 장치 및 방법
US20040186713A1 (en) 2003-03-06 2004-09-23 Gomas Steven W. Content delivery and speech system and apparatus for the blind and print-handicapped

Also Published As

Publication number Publication date
WO2007120006A1 (en) 2007-10-25
EP2014066A1 (en) 2009-01-14
KR100836942B1 (ko) 2008-06-12

Similar Documents

Publication Publication Date Title
KR100836942B1 (ko) 음성신호의 인크립션/디크립션 방법과 이를 위한 장치
US4893339A (en) Secure communication system
US20130272518A1 (en) Speech encryption method and device, speech decryption method and device
CN110602675A (zh) 一种用于耳机对的翻译方法、装置、耳机对及翻译系统
JP2688659B2 (ja) デジタルセルラ通信用暗号化システム
EP2175580A1 (en) Encryption method for a wireless headset, and wireless headset
CN104954951B (zh) 一种具有语音加密功能的蓝牙耳机及其语音加密方法
CN106331379B (zh) 保密通话方法、装置及便携式移动终端
JPS59107658A (ja) 秘話送受信装置
Ridha et al. Modified blind source separation for securing end-to-end mobile voice calls
TWI570711B (zh) 聲頻動態頻譜加密裝置及加密方法
CN104994500B (zh) 一种用于移动电话的语音保密传输方法及装置
JP4084832B1 (ja) 受信装置、送信装置、乱数シード値取得方法及び無線通信システム
WO2009074711A1 (en) Speech data encryption and decryption
JP2009004824A (ja) 送信装置、受信装置、プログラム、送信方法、及び受信方法
CN105788602A (zh) 一种用于话音频带压缩系统的语音加密方法和装置
EP2178235B1 (en) Encryption of information signals
KR20040059146A (ko) 음성신호의 암호화 장치 및 방법
KR20090024860A (ko) 이동 통신 단말기용 음성 암호 통신 모듈
JP2001223689A (ja) 移動通信システムの音声及びデータ暗号化/復号化装置及びその方法
KR20100030223A (ko) 음성 비화 통신 장치 및 그 제어방법
Islam et al. Developing and implementing encryption algorithm for addressing GSM security issues
JP2013070202A (ja) 音声送受信システム、及び音声送受信方法
WO2017031744A1 (zh) 一种加密通话方法及终端
KR100519783B1 (ko) 정보보호 기능을 갖는 무선통신 송수신기 및 그 방법

Legal Events

Date Code Title Description
A201 Request for examination
N231 Notification of change of applicant
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
N231 Notification of change of applicant
LAPS Lapse due to unpaid annual fee