KR20060069524A - 송신용 신호의 암호화 방법 및 그 장치 - Google Patents

송신용 신호의 암호화 방법 및 그 장치 Download PDF

Info

Publication number
KR20060069524A
KR20060069524A KR1020067008447A KR20067008447A KR20060069524A KR 20060069524 A KR20060069524 A KR 20060069524A KR 1020067008447 A KR1020067008447 A KR 1020067008447A KR 20067008447 A KR20067008447 A KR 20067008447A KR 20060069524 A KR20060069524 A KR 20060069524A
Authority
KR
South Korea
Prior art keywords
encoding
key
message
inverse
accordance
Prior art date
Application number
KR1020067008447A
Other languages
English (en)
Other versions
KR100899964B1 (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 KR20060069524A publication Critical patent/KR20060069524A/ko
Application granted granted Critical
Publication of KR100899964B1 publication Critical patent/KR100899964B1/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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Transmission Systems Not Characterized By The Medium Used For Transmission (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Storage Device Security (AREA)
  • Communication Control (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

통신 시스템에서, 메시지를 나타내는 한 세트의 메시지 신호의 변환 방법으로서, 제 1 키 변환에 따라서 한 세트의 메시지 신호 중 한 신호를 제 1 인코딩하는 단계, 하나 이상의 부가적인 키 변환에 따라서 한 세트의 메시지 신호 중 한 신호를 제 2 인코딩하는 단계, 한 세트의 메시지 신호 중 하나 이상이 변경되는 자기 반전 변환에 따라서 한 세트의 메시지 신호 중 한 신호를 제 3 인코딩하는 단계, 하나 이상의 부가적인 역 키 변환에 따라서 한 세트의 메시지 신호 중 한 신호를 제 4 인코딩하는 단계, 및 제 1 역 키 변환에 따라서 한 세트의 메시지 신호 중 한 신호를 제 5 인코딩하는 단계를 포함하되,
상기 제 4 인코딩 단계에서, 하나 이상의 부가적인 역 키 변환의 각각은 하나 이상의 부가적인 키 변환의 대응 반전이고, 상기 제 5 인코딩 단계에서, 제 1 역 키 변환은 제 1 키 변환의 반전인 것을 특징으로 하는 방법.

Description

송신용 신호의 암호화 방법 및 그 장치 {METHOD OF AND APPARATUS FOR ENCRYPTING SIGNALS FOR TRANSMISSION}
이하, 대응 참조 번호가 동일한 도면을 참조하여 취한 본 발명의 바람직한 실시예의 상세한 설명으로부터, 본 발명의 특징, 목적 및 장점을 더욱 명확하게 이해하기로 한다.
도 1 은 본 발명을 구현하는 암호화 시스템을 예시한 블록도.
도 2 는 본 발명에서 문자 블록을 암호화하는 방법의 예시적인 실시예의 순서도.
도 3 은 문자의 블록을 암호화하는 방법의 예시적인 실시예를 실현하는 "C" 프로그램.
도 4 는 예시적인 t1box 의 실시예.
도 5 는 예시적인 t2box 의 실시예.
발명의 배경
발명의 분야
본 발명은 송신용 신호의 암호화 방법 및 장치에 관한 것이다.
종래 기술의 설명
무선 통신 시스템에서는, 서비스 제공자가, 원격국으로부터의 서비스 요청이 정당한 사용자로부터 온 것인가를 검증할 수 있는 것이 바람직하다. AMPS 아날로그 기술을 사용하는 시스템 등의 일부 현행 셀룰러 전화 시스템에서는, 시스템에 불법 접속을 제지할 수단이 갖추어져 있지 않다. 따라서, 이러한 시스템에서는 부정 수단이 만연하고 있다. 서비스를 획득하기 위한 한가지 부정 수단이 클로닝 (cloning) 으로서, 이는 불법 사용자가 통화를 개시하는데 필요한 정보를 가로채는 것이다. 그 결과, 비인가된 사용자는 가로챈 정보를 이용하여 이동 전화를 프로그래밍하고, 그 전화를 사용하여 부당하게 전화 서비스를 받을 수 있다.
이러한 문제점 및 그외 다른 문제점들을 극복하기 위해, 많은 셀룰러 전화 시스템은 TIA (Telecommunication Industry Association) 에 의해 EIA/TIA/IS-54-B 로 표준화된 것과 같은 인증 방식을 채택하고 있다. 이러한 인증 방식의 한 유형이, 무선을 통해 송신되는, 서비스를 받는데 필요한 정보의 암호화이다. 이 정보는 CMEA (Cellular Message Encryption Algorithm) 를 이용해서 암호화한다. 이 CMEA 알고리즘은 본 발명에 참조된, 미국 특허 제 5,159,634 호에 "CRYPTOSYSTEM FOR CELLULAR TELEPHONY" 라는 명칭으로 개시되어 있다.
현행의 표준 연산 장치를 이용하여 비교적 단시간내에 암호화된 정보를 해독하는 CMEA 에서, 여러 가지 중대한 단점이 발견되었다. 이하, 이러한 단점들 을 충분하게 약술한 후, 그 단점들을 극복하는 본 발명을 설명하기로 한다. 이러한 단점들은, CMEA 가 인터넷 상에 공개되어 있으므로, 찾고자 하는 흥미를 가진 누구라도 용이하게 발견할 수 있다. 따라서, 셀룰러 서비스를 개시하는데 필요한 인증 정보의 차단 및 부정한 사용을 회피하기 위해서는, CMEA 를 새로운 암호화 알고리즘으로 대체하는 것이 바람직하다.
발명의 개요
본 발명의 일례에 따르면, 통신 시스템에서의 송신 메시지를 나타내는 한 세트의 메시지 신호의 변환 방법으로서,
제 1 키 변환에 따라서 상기 한 세트의 메시지 신호 중 한 신호를 제 1 인코딩하는 단계, 하나 이상의 부가적인 키 변환 (additional keyed transformation) 에 따라서 상기 한 세트의 메시지 신호 중 상기 한 신호를 제 2 인코딩하는 단계, 상기 한 세트의 메시지 신호 중 하나 이상의 신호가 변경되는 자기 반전 변환 (self-inverting transformation) 에 따라 상기 한 세트의 메시지 신호 중 상기 한 신호를 제 3 인코딩하는 단계, 각각이 상기 하나 이상의 부가적인 키 변환의 대응 역 (corresponding inverse) 인 하나 이상의 부가적인 역 키 변환에 따라서 상기 한 세트의 메시지 신호 중 상기 한 신호를 제 4 인코딩하는 단계, 및 각각이 상기 제 1 키 변환의 대응 반전인 제 1 역 키 변환에 따라서 상기 한 세트의 메시지 신호 중 상기 한 신호를 제 5 인코딩하는 단계를 포함하는 방법을 제공한다.
본 발명의 또 다른 일례에 따르면, 상기 신호들에 키 변환, 자기 반전 변 환 및/또는 역 키 변환을 소정 조합한 복수의 변환을 행함으로써, 상기 신호들을 인코딩하는 단계를 포함하는 송신용 신호의 암호화 방법을 제공한다.
본 발명의 또 다른 일례에 따르면, 키 변환, 자기 반전 변환 및/또는 역 키 변환의 소정 조합인 대응하는 복수의 변환을 적용함으로써, 송신용 신호를 배열시키는 복수의 인코딩 스테이지 (stage) 를 포함하는 송신용 신호의 암호화 장치를 제공한다.
여기에 설명되어 있으며 본 발명을 구현하는 BEVL (Block Encryption Variable Length) 인코딩은 CMEA 알고리즘의 확인된 단점을 극복한다. 본 발명의 바람직한 실시예는 다음의 특성들, 즉
Figure 112006030577248-PAT00001
바람직하게는 길이가 2 바이트 이상인 변수 길이 블록을 암호화;
Figure 112006030577248-PAT00002
자기 반전;
Figure 112006030577248-PAT00003
매우 적은 다이내믹 메모리와, 512 바이트의 정적 테이블 (static table) 만을 이용;
Figure 112006030577248-PAT00004
8-비트 마이크로프로세서로 평가하기에 효율적임; 그리고
Figure 112006030577248-PAT00005
길거나 짧은 키를 사용할 수 있도록 간단히 변경시킬 수 있는 64 비트 키를 이용;
을 갖는다.
CMEA 에서 확인된 제 1 단점은 테이블 탐색 (table lookup) 에 이용하는 CAVE (Cellular Authentication Voice Privacy and Encryption) 테이블이 불완전하다는 것이다. 이로 인해, 256 개 대신에, 단지 164 개의 식별값만을 얻게 된 다. 다수의 불능값들의 존재로 인해, tbox() 또는 키 바이트의 리턴값을 예측하고, 그 예측을 검증할 수 있다. 본 발명에서는, 발생가능한 CAVE 테이블의 통계적 특성을 제거하기 위하여 선택한 2 개의 서로 다른 테이블로 상기 CAVE 테이블을 대체함으로써, 이러한 제 1 단점을 완화시킨다. t1box 및 t2box 라 지칭하는 이 테이블들은 256 개 8-비트 정수의 완전 순열로서, 그 자체의 색인 위치에, 어떠한 엔트리 (entry) 도 나타나지 않는다. 또한, t1box[i] 는 i 의 모든 값에 대해서 t2box[i] 와 동일하지 않다. 상기 2 개의 테이블은 상기 기준을 만족시키지 않는, 버려질 캔디데이트 (candidate) 들로 무작위로 생성되었다.
CMEA 의 제 2 단점은, 0 으로 평가되는 tbox() 라 지칭하는 함수의 값을 반복 사용한다는 것이다. tbox(0) 값은 제 1 바이트의 암호화시에 2 회 사용된다. 이로 인해, tbox(0) 를 예측하여, 암호화 프로세스에 대한 그외 정보 특히, 최종 바이트에 대한 CMEA 의 제 1 단계 결과, 및 제 2 바이트를 암호화하는데 이용하는 tbox() 의 2 개 값의 인수를 결정하는데 이 예측을 이용할 수 있게 된다. 또한, 선택된-평문 어택 (attack) 을 통해, 인식된 패턴이 암호문에 나타날 때까지, 각종 평문 값을 시험하여 tbox() 를 결정할 수 있다. CMEA 에 이용되는 자기 반전 과정을, 보다 나은 믹싱을 제공하는 바람직한 일련의 과정으로 변경함으로써, 이러한 제 2 단점을 완화시킨다. 상이한 테이블 (t2box) 을 이용하는 제 2 패스를 도입하여, 이를 행한다. 이 상태에서, 서로를 마스크하는 동일한 가중치 (equal significance) 를 가진 서로 다른 테이블로부터 도출된 tbox() 의 2 개 값이 존재한다.
종래 CMEA 의 단점은, 서로 다른 길이의 텍스트를 분석하여 수집된 정보가 일반적으로 결합될 수 있다는 것이다. BEVL 에서 제 2 크리티컬 (critical) tbox() 엔트리의 이용은 메시지의 길이에 의존하며, 실현성이 없고 길이가 서로 다른 텍스트의 분석을 결합시킨다.
CMEA 에서 발견되는 제 3 단점은, 상부 버퍼 엔트리의 불완전한 믹싱 (mixing) 이다. 하나의 tbox() 값을 단순히 가산한 후, 또 다른 값을 감산하여 평문의 최종 n/2 바이트를 암호화시키며, 이 중간 단계는 첫번째 절반의 바이트에만 영향을 준다. 암호문과 평문 사이의 차이는 tbox() 의 2 개 값 사이의 차이이다. BEVL 은 3 개의 패스 대신에 데이터에 대하여 5 개의 패스를 행함으로써, 제 3 단점을 해결한다. 중간 패스의 CMEA 만으로 믹싱할 경우, 버퍼 후위의 말단에서 발단으로 데이터를 믹싱하는 제 2 및 제 4 패스에서 상기 믹싱을 행한다. 또한, CMEA 의 중간 패스는 제 3 패스가 해독될 수 없도록, 최소한 일부 바이트의 변경을 보장한다. 개선된 방식에서, BEVL 은 많아야 하나의 바이트가 불변인 채로 유지되는 방식으로, 버퍼의 키-의존 변환을 이룸으로써, 중간 패스의 이러한 목적을 달성한다.
CMEA 의 제 4 단점은, 제 1 바이트의 LSB (last significant bit) 의 암호화가 부족하다는 것이다. CMEA 의 제 2 단계에서, LSB 의 고정 반전 및 tbox(0) 의 반복 사용에 의해, 암호문의 제 1 바이트의 LSB 가 평문의 제 1 바이트의 LSB 로 간단하게 반전된다. BEVL 은 길이가 2 바이트 이상인 버퍼에 대한 제 1 바이트의 LSB 를 예측불가능하게 하는 중간 패스 동안에, 버퍼의 키-의존 변 경을 통해 이 제 4 단점을 회피한다.
CMEA 의 제 5 단점은, 효율적인 키의 크기가 64 비트가 아니라 60 비트라는 것이다. 이와 같이, 각각의 키는 그외 다른 15 키와 동등하다. BEVL 은 테이블 탐색의 수를 증가시키는 반면, 산술 연산의 수를 감소시켜, 전체 64 비트의 키가 의미가 있도록 보장한다.
마지막으로, CMEA 의 tbox() 함수는 미트-인-더-미들 (meet-in-the-middle) 어택에 의해 효율적으로 해결될 수 있다. 일단, 4 개의 tbox() 값이 도출되면, CAVE 테이블의 구성과 무관하게, 2^30 의 차수에 대한 스페이스 및 시간의 필요 조건으로 미트-인-더-미들 어택을 실현할 수 있다. BEVL 은 각종의 방식으로 이를 해결한다. tbox() 기능의 형성으로 인해, 2 개의 미사용되는 키의 비트가 복구된다. tbox() 의 개시와 종료 모두에서 최소한 8 비트의 암호화 키를 갖는 조합의 반복은 최소의 연산 및 스페이스를 8 비트 만큼 증가시켜야 함을 의미한다. 각 테이블, 2 개의 서로 다른 테이블의 두 측면이 존재하므로, 최소한의 복잡도가 또 다른 2 개의 비트 만큼 증가되며, 2^42 의 차수에 대한 최소한의 스페이스 및 시간이 필요하게 된다. 또한, CMEA 에 대한 미트-인-더-미들 어택은 최소한 일부 tbox() 엔트리의 복구를 필요로 한다. 이로 인해, BEVL 을 이용하기가 더 곤란하게 되어, 상호 위장하기 용이한 2 개의 개별적인 세트의 tbox() 값에 대한 동시 어택이 요구된다.
도 1 에 나타낸 바와 같이, 본 발명의 예시적인 실시예는 제 2 수신국 (2000) 으로의 무선 송신용 데이터를 암호화하는 제 1 국 (1000) 으로 이루어진다. 제 1 국 (1000) 은 기지국일 수 있는 제 2 국 (2000) 으로 송신하는 원격국일 수 있다. 그 대신, 제 1 국 (1000) 은 원격국일 수 있는 제 2 국 (2000) 으로 송신하는 기지국일 수 있다. 대부분의 경우, 원격국 및 기지국은 모두 송신 및 수신 수단뿐만 아니라 암호화 및 해독 수단을 갖게 마련이지만, 도 1 에 나타낸 단순화된 시스템에 의해, 본 발명을 가능하게 하는데 필요한 요소가 명확하게 나타난다. 또한, 당업자라면 이해할 수 있듯이, 본 발명의 장점은 무선 통신에 한정되는 것이 아니라, 도청되기 쉬운 매체를 통해 데이터를 안전하게 송신해야 하는 여하한 상황에서도 용이하게 적용될 수 있다.
도 1 에서, 본 발명을 실현하는 BEVL 알고리즘에 따른 암호화에 필요한 데이터를 포함하는 메모리 (10) 는 프로세서 (20) 와 접속된다. 예시한 실시예에서, 프로세서 (20) 는 BEVL 코드 (19) 에 저장된 명령을 실행할 수 있는, 비교적 단순한 8-비트 마이크로프로세서이다. 프로세서 (20) 는 비트식 (bit-wise) 배타적 OR (이하, 간단히 XOR 이라 지칭하거나
Figure 112006030577248-PAT00006
로 표시함), 정수의 가산 및 감산 등과 같이 단순한 8-비트 명령을 실행할 수 있는 산술 논리부 (ALU, 도시하지 않음) 를 구비한다. 또한, 프로세서 (20) 는 일반적인 프로그램의 흐름 (flow) 명령이 가능하고, 메모리 (10) 와 같은 메모리로부터 값을 로딩 (loading) 하고 저장할 수 있다. 당업자는 이러한 필요 조건들이 매우 미미하여, 휴대 장치에서와 같이, 크기 및/또는 가격상 필요 조건으로 인해 단순한 마이크로프로세서가 바람직한 응용에 본 발명이 매우 적합함을 인식할 것이다. 또한, 매우 강력한 마이크로프로세서를 이용할 경우, 본 발명을 용이하게 실현할 수 있음은 명백하다.
메모리 (10) 는 테이블 (t1box (12) 및 t2box (14)), 암호화 키 (16), 및 실행될 코드 (BEVL 코드) (19) 를 포함한다. 암호화될 데이터는 프로세서 (20) 로 입력되고, 프로세서는 그 데이터를, 메모리 (10) 의 데이터 (18) 라 지칭하는 장소에 저장한다. 도 1 은 전체 구성 요소를 단일 메모리로 나타내었으나, 복수의 메모리 장치를 이용할 수도 있다. 바람직한 실시예에서, BEVL 코드 (19) 뿐만 아니라 테이블 (12 및 14) 도 EEPROM 또는 플래시 메모리 등의 비휘발성 메모리에 저장된다. 메모리의 이들 부분이 기록가능할 필요는 없다.
당업에서 공지된 각종 수단으로, 암호화 키 (16) 를 생성할 수 있다. 단순한 실시예에서는, 국 (station) 이 서비스를 위해 활성화될 때, 동시에 한번에 프로그래밍되는 비휘발성 메모리에 키 (16) 를 가질 수도 있다. 예시한 실시예에서는, 상기 EIA/TIA/IS-54-B 에서 발생된 프로토콜에 따라서, 키 (16) 가 생성되고 변경된다.
암호화될 데이터인 데이터 (18) 는 랜덤 액세스 메모리 (RAM) 에 저장된다. "동일 장소에서 (in place)" 암호화를 행하는데, 이는 과정 초기에 암호화되지 않은 데이터를 갖고 있는 메모리 장소가 최종 암호화된 데이터뿐만 아니라 중간값도 갖고 있음을 의미한다.
t1box (12), t2box (14) 및 암호화 키 (16) 를 이용하여, BEVL 코드 (19) 에 따라 프로세서 (20) 내에서, 데이터 (18) 를 암호화한다.
암호화된 데이터 (18) 는 프로세서 (20) 에 의해, 송신을 위해 이를 변조, 증폭 및 업컨버팅시키는 송신기 (30) 로 안테나 (40) 를 통해 전달된다. 안테나 (50) 는 이 테이터를 수신하여, 이를 수신기 (60) 로 전달하고, 여기서, 다운컨버팅, 증폭, 복조시켜, 프로세서 (70) 로 전달한다. 예시한 실시예에서, 도 1 에 나타낸 2 국 사이의 무선 통신용 형태는 "Mobile Station-Base Station Compatibility Standard for Dual-Mode Wide Band Spread Spectrum Cellular System", TIA/EIA/IS-95-A 에서 설명되어 있다. 무선 전화 시스템 등의 다중 접속 통신 시스템에서의 CDMA 기술의 이용은, 본 발명에 참조된 "SPREAD SPECTRUM MULTIPLE ACCESS COMMUNICATION SYSTEM USING SATELLITE OR TERRESTRIAL REPEATERS" 라는 명칭으로 본 발명의 양수인에게 양도된 미국 특허 제 4,901,307 호에 개시되어 있다. 또, 다중 접속 통신 시스템에서의 CDMA 기술의 이용은, 본 발명에 참조된 "SYSTEM AND METHOD FOR GENERATING SIGNAL WAVEFORMS IN A CDMA CELLULAR TELEPHONE SYSTEM" 이라는 명칭으로 역시 본 발명의 양수인에게 양도된 미국 특허 제 5,103,459 호에 개시되어 있다.
프로세서 (20) 와 필요 조건이 동일한 프로세서 (70) 는 메모리 (80) 에 연결된다. 메모리 (80) 는 메모리 (12,14, 16, 18 및 19) 와 각각 유사한 메모리 (82, 84, 86, 88 및 89) 로 이루어진다. 프로세서 (70) 는 암호화된 데이터를 데이터 메모리 (88) 에 저장한다. 상술한 키 (16) 와 유사한 형태로 키 (86) 를 결정한다. 테이블 (82 및 84) 은 테이블 (12 및 14) 과 동일하다. 본 발명의 데이터 프로세싱은 자기 반전식이므로, BEVL 코드 (19) 와 동일한 BEVL 코 드 (89) 는 데이터 (18) 의 암호화 과정에서 행했던 것과 같이, 암호화된 데이터 (88) 에 대하여, t1box (82), t2box (84) 및 키 (86) 와 결합하여 프로세서 (70) 에서 실행된다. 종전대로, "동일 장소에서 (in place)" 데이터를 프로세싱하며, 데이터 (88) 의 결과는 해독된 데이터이다. 프로세서 (70) 는 메모리 (80) 로부터 해독된 데이터를 회수하여, 이후의 사용을 위하여 데이터 출력을 통해서 이를 전달한다. 예시한 실시예에서, 이렇게 형성된 데이터는 EIA/TIA/IS-54-B 에 개시된 바와 같은 인증 과정에 이용될 것이다.
도 2 는 상술한 메모리 요소 (10 및 80) 와 각각 결합되어 있는 프로세서 (20 및 70) 가 이용하는 방법의 흐름도를 나타낸 것이다. 상술한 바와 같이, 암호화 프로세스는 자기 반전식이고, 이는 해독 프로세스가 암호화 프로세스와 동일함을 의미한다. 그러므로, 암호화 프로세스만을 상세하게 설명하기로 한다. 도 1 의 암호화 블록을, 상술한 바와 같은 도 1 의 유사한 해독 블록으로 대체시키면, 해독 프로세스가 분명해질 것이다.
블록 (99) 은 암호화 프로세스의 시작을 나타낸다. buf[] 로 지칭된 문자의 어레이를 이용하여 데이터 메모리 (18) 에 저장된 암호화될 문자를 설명하기로 한다. 변수 (n) 은 암호화될 메시지의 길이를 문자 수에 의해 나타낸 것이다. 상술한 바와 같이, 이러한 BEVL 프로세스에 존재하는 개선점 중 하나는 5 개 패스의 암호화가 발생한다는 점이다. 5 개의 패스 각각은 점선으로 윤곽을 나타내었고, 구별이 용이하도록 1 - 5 로 라벨링하였다. 각각의 패스는 중요한 유사점과 차이점이 있다. 패스 (1, 3 및 5) 는 테이블 (t1box (12)) 을 이 용하며, 버퍼의 발단에서 말단으로 작업한다. 패스 (2 및 4) 는 테이블 (t2box (14)) 을 이용하며, 버퍼의 말단으로부터 발단에 이를 때까지 작업한다. BEVL 의 자기 반전 특성은 패스 (3) 는 자기 반전인 반면, 패스 (1) 는 패스 (5) 의 역이고 패스 (2) 는 패스 (4) 의 역이라는 사실로부터 발생한다.
본 발명의 바람직한 실시예에서, 상기 패스들은 반대 방향으로 이루어진다. 다른 실시예에서, 상기 패스들은 동일 방향으로 진행하며, 패스들은 동일하거나 서로 다른 테이블을 번갈아 이용한다 (다중 패스에서 동일한 테이블을 재사용하는 것은 암호화를 보다 견고하게 하지만, 서로 다른 테이블을 이용할 경우와 같이 견고하지는 않다). 둘 중 어느 하나의 해결 방법과 결합시켜 이용할 수 있는 또 다른 대안은 부가적인 패스를 삽입하는 것이다. 패스가 동일한 방향으로 이루어지는 상태에서, 제 1 버퍼 엔트리에 대한 변경은 더욱 예측가능해지고, 변경에 있어서, 예측도는 버퍼의 하부에서 더 감소된다. 패스의 방향을 역으로 교대시킬 경우에, 버퍼의 제 1 바이트에 대한 변경을 예측하기는 매우 용이하다. 그러나, 제 2 패스에서 상기 바이트에 대한 변경은 버퍼에서의 전체 바이트에 의존하며, 이로 인해, 예측가능성은 매우 떨어진다. 동일한 방식으로, 버퍼에서의 최종 바이트에 대한 변경은 제 1 패스 동안 버퍼의 전체 바이트에 의존하는 반면, 제 2 패스에서는, 예측하기가 보다 용이한 변화가 이루어진다. 반대 방향의 패스를 이용하여, 변화의 예측가능성을 더욱 고르게 분포시킬 수 있으므로, 이와 같이 하는 것이 동일 방향의 다중 패스를 이용하는 것에 비해 더 바람직하다. 이루어진 변화는 어느 쪽이든, 동일하므로, 실제로, 패스 (3) 는 방 향을 갖지 않는다는 것에 유의해야 한다.
각 패스에서는, tbox() 의 함수를 이용한다. 바로 이 함수에서, 키 (16) 가 통합된다. 함수 tbox() 에 전달된 파라미터는 t1box (12) 또는 t2box (14) 에 전달될 256 바이트 테이블로 이루어지며, 인덱스는 tv 로 라벨링하였다. 예시적인 실시예에서, tbox() 는
tbox(B,tv) =
B[B[B[B[B[B[B[B[B[tv
Figure 112006030577248-PAT00007
k0]+k1]
Figure 112006030577248-PAT00008
k2]+k3]
Figure 112006030577248-PAT00009
k4]+k5]
Figure 112006030577248-PAT00010
k6]+k7]
Figure 112006030577248-PAT00011
k0]
으로 정의된다.
여기서,
k0 내지 k7 은, 연결될 경우, 64-비트 키 (16) 를 형성하는 8 개의 8-비트 세그먼트를 나타내고;
B[x] 는 어레이 (B) 의 x 번째 8-비트 요소이고;
Figure 112006030577248-PAT00012
는 비트식 배타적 OR 연산을 나타내며;
+ 는 모듈로 (modulo) 256 가산을 나타낸다.
어떠한 길이의 키가 매우 강력한 것으로 간주되는 암호화를 제공하는 선택적인 실시예에서, 키의 세기는 키의 길이를 변화시키지 않고 tbox() 의 함수를 변경함으로써, 인위적으로 제한될 수 있다. 예를 들어, 64 비트 키가 다른 2^24 의 동일 클래스 (class) 내에 있으면서, 키에 대한 단 하나의 비트 변화도 서로 다른 결과를 발생시키는 방식으로, 64 비트 키를 이용함으로써, 64 비트 키를 40 비트로 인위적으로 제한시킬 수 있다. tbox() 의 다음 정의는
tbox(B,tv)=
B[B[B[B[B[B[B[B[B[tv
Figure 112006030577248-PAT00013
k0]+k1]
Figure 112006030577248-PAT00014
(k2
Figure 112006030577248-PAT00015
k3)]+(k2
Figure 112006030577248-PAT00016
k3)]
Figure 112006030577248-PAT00017
(k4
Figure 112006030577248-PAT00018
k5)]+(k4
Figure 112006030577248-PAT00019
k5)]
Figure 112006030577248-PAT00020
(k6
Figure 112006030577248-PAT00021
k7)]+(k6
Figure 112006030577248-PAT00022
k7)]
Figure 112006030577248-PAT00023
k0]
64 비트 키를 40 비트 키로 효과적으로 표현하기 위한 권장할 만한 변경을 나타낸다.
여기서,
k0 내지 k7 은 연결될 경우, 64-비트 키 (16) 를 형성하는 8 개의 8-비트 세그먼트를 나타내고;
B[x] 는 어레이 B 의 x 번째 8-비트 요소이고;
Figure 112006030577248-PAT00024
는 비트식 배타적 OR 연산을 나타내며;
+ 는 모듈로 256 가산을 나타낸다.
tbox() 의 함수는 각각의 중간 연산이 순열이 되도록 설정되고, 각각의 입력은 출력에 대해 1 대 1 매핑을 가짐을 의미한다. 예시한 실시예에서, 이용되는 연산은 모듈로 256 가산 및 논리적 배타적 OR 연산이다. tbox() 에 전달된 입력값이 순열이고, 테이블 탐색도 순열이면, 이러한 함수의 이용에 의해, tbox() 의 출력도 1 : 1 함수임이 보장된다. 즉, tbox() 에 전달된 테이블이 순열이면, 전체적으로 tbox() 의 함수도 순열이 되도록 보장된다. tbox() 함 수의 스텝이 1 : 1 이 아닌 CMEA 는 그렇지 않다. 따라서, CMEA 에서, 순열이 아닌 CAVE 테이블을 순열인 테이블로 대체하더라도, tbox() 의 출력은 여전히 순열이 아니다. BEVL 의 경우는 반대로, 최종 순열을 생성하는 키 재료를 결합하기 위한 1 : 1 함수의 어떠한 선택도 조건에 부합될 것이다. 예시한 실시예는 그와 같은 한 방법이다. 당업자는 이러한 순열 원칙을 여전히 따르는 선택적인 방법을 용이하게 대체시킬 수 있는 것으로 이해하여야 한다. 선택적으로, 출력의 1 : 1 특성을 보존하지 않는 중간 단계의 함수를, BEVL tbox() 함수로 이용할 수 있지만, 그 결과는 최적 이하로 될 것이다.
tbox() 의 정의에 포함된 또 다른 개선점은 키 비트의 일부가 발단과 말단 양쪽에 사용된다는 것이다. 예시한 실시예에서는, 키 바이트 (k0) 를 사용하지만, 선택적인 실시예는 임의의 키 비트를 사용하여 동일한 개선을 얻을 수 있다. 동일값의 사용에 의해, 미트-인-더-미들 어택이 좌절된다. 발단과 말단 양쪽에서의 최소한 키 정보의 일부를 재사용하는데 실패함으로써, 비록 계산상 복잡기는 하더라도, 적은 수의 tbox() 함수값으로부터 키의 직접적인 도출이 허용된다. 이 재사용으로, 암호화를 어택하려는 노력에 이용되는 테이블은 보다 많은 스페이스를 요구하게 되며, 해답을 찾는데 필요한 연산은 더욱 방대해진다.
예시한 BEVL 의 실시예는 2 개의 테이블 (t1box 및 t2box) 과 결합시킨 tbox() 함수의 이용을 상세히 설명한다. 이렇게 형성된 출력은 가능한 입력의 키-의존성 순열이다. 그러나, 함수값은 데이터에 의존하는 것이 아니라 오직 키에 의존하므로, 선택적으로는 메모리에 저장된 결과로 256 개의 가능한 입력 및 2 개의 가능한 테이블에 대해서 함수를 미리 연산할 수도 있다. 따라서, 테이블 탐색은 함수의 재평가를 대신할 수 있다. 당업자는 2 개의 방법이 기능적으로 동등하며, 본 발명의 실시예를 이용하는 경우, 시간 대 스페이스가 트레이드오프 (tradeoff) 될 수 있음을 인식하게 될 것이다. 동등한 대안은, 256 개의 가능한 입력의 순열로 초기화된 테이블들로 시작하고, 키를 초기화하는 경우, 이 테이블들의 키-의존성 셔플링 (shuffling) 을 행하는 것이다. 그러면, 이후의 암호화 동안, 현재의 tbox() 호출 대신에, 동일한 효과를 갖고 있는 테이블 인덱스 연산을 이용하게 될 것이다.
테이블 (t1box 및 t2box) 은 완전 순열 (strict permutations) 이며, 여기서, 테이블내의 어떠한 엔트리도 그 인덱스과 동일하지 않다. 이 완전 순열은 tbox() 의 중간값을 불변인 채로 유지함으로써, 어떤 다른 키보다 약한 키가 존재하지 않음을 보장하게 된다. tbox() 의 함수를 참조하여 상술한 바와 같이, 테이블들이 순열이라는 사실이 중요하다. 테이블들이 순열이 아니라면, tbox() 함수에서의 테이블 탐색 후에, 결과가 될 수 없는 일부 값들이 존재할 것이다. 이 불가능한 값들은 tbox() 로부터의 리턴값에 대한 예측을 가능하게 하고, 키의 일부를 소거시키며, 64 비트 키를 예측하는 작업을 현저하게 감소시킨다. 다른 실시예는 순열이 아닌 테이블을 사용할 수 있지만, 암호화는 최적 이하로 된다.
CMEA 의 암호 해독의 어떠한 형태는 tbox() 의 함수값을 도출하여 시작해야 한다. 256 개의 가능한 입력에 대한 전체 출력이 알려져 있는 완전한 해독에 의해, 초기화 키를 몰라도 CMEA 를 적용할 수 있게 된다. 그러나, 4 개 정도의 확실한 함수값만 알면, 키의 복구가 가능해진다. 따라서, BEVL 은 tbox() 로부터의 출력을 그외 출력들 특히, tbox(0) 값으로 위장하는 것에 중점을 둔다. 이러한 위장을 이루기 위해 각종 대안들을 계획하고 있다. 바람직한 실시예는 제 2 의 상이한 테이블 (t2box) 및 각각이 반대 방향으로 실행되는 부가된 한 쌍의 패스를 사용한다. 이 3 개의 변환예 중 어느 하나, 또는 그 서브 (sub) 조합에 의해, 어느 정도 문제가 해결될 것이다. 그러나, 3 개 전부의 조합에 의해, 최적의 보안성이 제공된다.
바람직한 실시예에서, 전방 및 후방 패스는 tbox() 의 함수와 관련하여, 서로 다른 테이블 (t1box 및 t2box) 을 이용한다. 이와 같이 할 경우, 암호 해독은 단지 한 세트가 아닌 2 개 세트의 상보적인 함수값의 발견을 요구할 것이다. 패스들은 상호 위장하기가 용이하므로, 2 개의 테이블은 가장 좋은 보안성을 제공한다. 단일 테이블만을 사용하는 선택적인 실시예들이 계획되고 있다. 이러한 방법들도 안전하기는 하나, 2 개의 테이블을 사용하는 방법들보다는 덜 안전하다.
블록 (99) 에서 블록 (102) 으로 진행하여 패스 (1) 를 시작하며, 여기서, 변수 (v) 및 버퍼 인덱스 (i) 는 0 으로 초기화된다. 그 후, 블록 (104) 에서, tbox (t1box, v
Figure 112006030577248-PAT00025
i) 함수의 호출 결과를 각 문자 buf[i] 에 가산하여, 각 문자 buf[i] 를 변경한다. 그 후, 새로운 buf[i] 의 값과 변수 (V) 를 XOR 시켜, 변수 (v) 를 갱신한다. 그 후, 버퍼 인덱스 (i) 를 증대시킨다. 블 록 (106) 에서, i < n 이면, 패스는 완료되지 않으며, 흐름은 블록 (104) 으로 복귀한다. 전체 문자가 블록 (104) 에 따라 변경되었을 때, i 는 n 과 동일할 것이며, 패스 (1) 는 완료될 것이다. buf[0] 로 시작해서 buf[n-1] 인 말단을 향해 작업하여 문자들을 변경하였음에 유의해야 한다.
블록 (106) 에서 블록 (202) 으로 진행하여 패스 (2) 를 시작하며, 여기서, 변수 (v) 는 값 (n) 으로 초기화되고 버퍼 인덱스 (i) 는 값 (n-1) 으로 초기화된다. 그 후, 블록 (204) 에서, tbox (t2box, v
Figure 112006030577248-PAT00026
i) 함수의 호출 결과를 각 문자 buf[i] 에 가산하여, 각 문자 buf[i] 를 변경한다. 그 후, 새로운 buf[i] 의 값과 변수 (v) 를 XOR 시켜, 변수 (v) 를 갱신한다. 그 후, 버퍼 인덱스 (i) 를 감소시킨다. 블록 (206) 에서, i
Figure 112006030577248-PAT00027
0 이면, 패스는 완료되지 않으며, 흐름은 블록 (204) 으로 복귀한다. 전체 문자가 블록 (204) 에 따라 변경되었을 때, i 는 -1 과 동일할 것이며, 패스 (2) 는 완료될 것이다. 패스 (1) 와는 달리, buf[n-1] 로 시작해서 발단인 buf[0] 을 향해 작업하여 문자들을 변경시켰고, 테이블 (t1box (12)) 대신에 테이블 (t2box (14)) 을 이용하였음에 유의해야 한다.
패스 (3) 는 블록 (302) 에서 시작한다. 버퍼 인덱스 (i) 는 0 으로 초기화된다. 이 패스에서는 변수 (v) 를 이용하지 않는다. 그 후, 블록 (304) 에서, tbox (t1box, i+1) 함수의 호출 결과와 각 문자 buf[i] 를 XOR 시켜, 각 문자 buf[i] 를 변경한다. 그 후, 버퍼 인덱스 (i) 를 증대시킨다. 블록 (306) 에서, i < n 이면, 패스는 종료되지 않으며, 흐름은 블록 (304) 으로 복귀한다. 전체 문자가 블록 (304) 에 따라서 변경되었을 때, i 는 n 과 동일할 것이며, 패스 (3) 는 완료될 것이다. 패스 (1) 에서와 같이, buf[0] 으로 시작해서 말단인 buf[n-1] 으로 작업해서 문자를 변경시켰고, 테이블 (t1box (12)) 을 이용하였음에 유의해야 한다. 그러나, 상술한 바와 같이, 어느 방향으로도 동일한 결과가 얻어지므로, 패스 (3) 의 방향은 중요하지 않다.
패스 (3) 에서, tbox() 로부터의 서로 다른 출력은 각각의 buf[] 엔트리와 결합된다. tbox() 로부터의 출력은 순열을 형성하기 때문에, 많아야 하나의 그와 같은 값만이 0 이 될 수 있다. 0 이 될 것인가의 여부는 키에 의존한다. BEVL 에서, 버퍼의 변화는 키에 의존하며 예측하기가 대단히 곤란하다. 일반적으로, 하나의 값이 0 이 될 가능성은 n/256 이며, 여기서, n 은 버퍼의 길이이다. 버퍼의 값들이 변경될 것임을 보장하는, 키-의존성 또는 데이터-의존성의 어떠한 자기 반전식 변화도 암호화를 보장하기에 충분하다. CMEA 에서, 불변인 채로 유지되는 값으로 인해, 알고리즘이 암호화하는데 실패하는 경우가 초래되므로, 이는 BEVL 에 대한 중요한 개선점이다.
블록 (306) 에서 블록 (402) 으로 진행하여 패스 (4) 를 시작하며, 여기서, 변수 (v) 는 n 으로 초기화되고, 버퍼 인덱스 (i) 는 값 (n-1) 으로 초기화된다. 그 후, 블록 (404) 에서, 임시 변수 (t) 를 tbox (t2box, v
Figure 112006030577248-PAT00028
i) 함수의 호출에 의해 복귀되는 값으로 설정한다. 그 후, buf[i] 의 현재 값과 변수 (v) 를 XOR 시켜, 변수 (v) 를 갱신한다. 그 후, 각 문자 buf[i] 로부터 임시 변수 (t) 의 값을 감산하여, 각 문자 buf[i] 를 변경시킨다. 그 후, 버퍼 인덱스 (i) 를 감소시킨다. 블록 (406) 에서, i
Figure 112006030577248-PAT00029
0 이면, 패스는 완료되지 않으며, 흐름은 블록 (404) 으로 복귀한다. 전체 문자가 블록 (404) 에 따라 변경되었을 때, i 는 -1 과 동일할 것이며, 패스 (4) 는 완료될 것이다. 패스 (2) 에서와 같이, buf[n-1] 로 시작해서 말단인 buf[0] 을 향해 작업해서 문자를 변경하였고, 테이블 (t2box (14)) 을 이용하였음을 유의해야 한다.
블록 (406) 에서 블록 (502) 으로 진행하여 패스 (5) 를 시작하며, 변수 (v) 및 버퍼 인덱스 (i) 는 0 으로 초기화된다. 그 후, 블록 (504) 에서, 임시 변수 (t) 는 tbox (t1box, v
Figure 112006030577248-PAT00030
i) 함수의 호출에 의해 복귀되는 값으로 설정된다. 그 후, buf[i] 의 현재값과 변수 (v) 를 XOR 시켜, 변수 (v) 를 갱신한다. 그 후, 각 문자 buf[i] 로부터 임시 변수 (t) 의 값을 감산하여, 각 문자 buf[i] 를 변경시킨다. 그 후, 버퍼 인덱스 (i) 를 증대시킨다. 블록 (506) 에서, i < n 이면, 패스는 완료되지 않으며, 흐름은 블록 (504) 으로 복귀한다. 전체 문자가 블록 (504) 에 따라 변경되었을 때, i 는 n 과 동일할 것이며, 패스 (5) 는 완료될 것이다. 패스 (1 및 3) 에서와는 달리, buf[n-1] 로 시작해서 발단인 buf[0] 을 향해 작업해서 문자를 변경하였고, 테이블 (t1box (12)) 을 이용하였음에 유의해야 한다.
그리고 나서, 블록 (600) 으로 진행한다. 암호화가 드디어 완성된다. buf[] 는 이제 안전한 송신을 위한 암호화된 문자를 포함한다.
도 3 은 상술한 연산을 구현하는 "C" 프로그램을 나타낸 것이다. 도 4 에서, 테이블 (t1box (12)) 이 "C" 로 제공되어 있다. 도 5 에서, 테이블 (t2box (14)) 이 "C" 로 제공되어 있다.
당업자가 본 발명을 이루거나 이용할 수 있도록, 바람직한 실시예의 상기 설명을 제공하였다. 당업자는 상기 실시예들을 용이하게 변경할 수 있으며, 여기서 정의한 일반 원칙을 본 발명의 기능을 이용하지 않는 그외 실시예에도 적용할 수 있다. 그러므로, 본 발명은 여기에 나타낸 실시예에 한정되도록 해석해야 하는 것이 아니라, 여기에 개시한 원칙 및 새로운 특징과 일치하는 가장 넓은 범위가 주어지도록 해석해야 한다.
여기에 설명되어 있으며 본 발명을 구현하는 BEVL (Block Encryption Variable Length) 인코딩은 CMEA 알고리즘의 확인된 단점을 극복한다.

Claims (15)

  1. 통신 시스템에서 메시지를 나타내는 메시지 신호 세트를 송신하는 방법으로서,
    제 1 키변환 (keyed transformation) 에 따라 상기 메시지 신호 세트 중의 하나를 제 1 인코딩하는 단계;
    하나 이상의 부가적인 키변환에 따라 상기 메시지 신호 세트 중의 상기 하나를 제 2 인코딩하는 단계;
    상기 메시지 신호 세트 중에서 적어도 하나 이상이 변경되는 자기반전 변환에 따라 상기 메시지 신호 세트 중의 상기 하나를 제 3 인코딩하는 단계;
    하나 이상의 부가적인 역 키변환에 따라 상기 메시지 신호 세트 중의 상기 하나를 제 4 인코딩하는 단계로서, 상기 하나 이상의 부가적인 역 키변환 각각은 상기 하나 이상의 부가적인 키변환의 대응되는 역 (corresponding inverse) 인, 제 4 인코딩 단계; 및
    제 1 역 키변환에 따라 상기 메시지 신호 세트 중의 하나를 제 5 인코딩하는 단계로서, 상기 제 1 역 키변환은 상기 제 1 키변환의 역인, 제 5 인코딩 단계를 포함하고,
    상기 제 1 인코딩 단계는 제 1 테이블에 따라 제 1 방향으로 수행되고, 상기 제 2 인코딩 단계는 상기 제 1 테이블에 따라 수행되는, 메시지 신호 세트 송신 방법.
  2. 제 1 항에 있어서,
    상기 제 2 인코딩 단계는 상기 제 1 테이블에 따라 상기 제 1 방향으로 수행되는, 메시지 신호 세트 송신 방법.
  3. 제 1 항에 있어서,
    상기 제 4 인코딩 단계는 하나 이상의 부가적인 방향에 따라 수행되는, 메시지 신호 세트 송신 방법.
  4. 제 1 항에 있어서,
    상기 제 5 인코딩 단계는 하나 이상의 부가적인 방향에 따라 수행되는, 메시지 신호 세트 송신 방법.
  5. 제 1 항에 있어서,
    상기 제 1 테이블은 순열인, 메시지 신호 세트 송신 방법.
  6. 제 1 항에 있어서,
    상기 제 3 인코딩 단계는 키변환에 따라 수행되는, 메시지 신호 세트 송신 방법.
  7. 제 1 항에 있어서,
    상기 제 3 인코딩 단계는 비 키변환 (unkeyed transformation) 에 따라 수행되는, 메시지 신호 세트 송신 방법.
  8. 제 1 항에 있어서,
    상기 제 1 키변환은,
    인덱스 값을 수신하는 단계;
    테이블을 수신하는 단계; 및
    상기 인덱스 값 및 상기 테이블에 따라 테이블 룩업을 수행하는 단계를 포함하는, 메시지 신호 세트 송신 방법.
  9. 제 8 항에 있어서,
    상기 인덱스 값을 프로세싱하는 단계를 더 포함하고,
    상기 테이블 룩업을 수행하는 단계는 상기 인덱스 값의 상기 프로세싱의 결과에 따라 수행되는, 메시지 신호 세트 송신 방법.
  10. 제 9 항에 있어서,
    상기 테이블 룩업의 결과에 근거한 부가적인 프로세싱을 더 포함하는, 메시지 신호 세트 송신 방법.
  11. 제 10 항에 있어서,
    상기 테이블 룩업의 결과에 근거한 부가적인 프로세싱은 상기 결과에 따라 부가적인 테이블 룩업을 수행하는 단계를 포함하는, 메시지 신호 세트 송신 방법.
  12. 제 10 항에 있어서,
    상기 테이블 룩업의 결과에 근거한 부가적인 프로세싱은 상기 결과에 근거한 불린 연산을 수행하는 단계를 포함하는, 메시지 신호 세트 송신 방법.
  13. 셀룰러 메시지 암호화 알고리즘 (CMEA) 에서 약점을 완화하는 방법으로서,
    완전 순열 (strict permutation) 에 의해 테이블을 생성하는 단계; 및
    상기 CMEA 의 하나 이상의 패스 동안에 상기 CMEA 의 대체 박스에서 상기 테이블을 이용하는 단계를 포함하는, CMEA 약점 완화 방법.
  14. 제 13 항에 있어서,
    상기 CMEA 는 5 개의 패스 암호화를 포함하는, CMEA 약점 완화 방법.
  15. 통신 시스템에서 메시지 신호 세트를 변환하는 방법으로서,
    완전 순열에 의해 테이블을 생성하는 단계;
    제 1 키 변환에 따라 상기 메시지 신호 세트 중의 하나를 제 1 인코딩하는 단계;
    상기 메시지 신호 세트 중에서 적어도 하나 이상이 변경되는 자기반전 변환에 따라 상기 메시지 신호 세트 중의 하나를 제 2 인코딩하는 단계; 및
    제 2 키 변환에 따라 상기 메시지 신호 세트 중의 하나를 제 3 인코딩하는 단계로서, 상기 제 2 키 변환은 상기 제 1 키 변환의 역인, 제 3 인코딩 단계를 포함하고,
    상기 제 1 및 제 3 인코딩 단계는 상기 테이블에 따라 수행되고, 상기 제 1 및 제 3 인코딩 단계는 교대 방향 (alternating directions) 으로 수행되는, 메시지 신호 세트 변환 방법.
KR1020067008447A 1997-03-11 1998-03-04 송신용 신호의 암호화 방법 및 그 장치 KR100899964B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08/815,347 US6075859A (en) 1997-03-11 1997-03-11 Method and apparatus for encrypting data in a wireless communication system
US08/815,347 1997-03-11
KR1019997008238A KR100618373B1 (ko) 1997-03-11 1998-03-04 송신용 신호의 암호화 방법 및 그 장치

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1019997008238A Division KR100618373B1 (ko) 1997-03-11 1998-03-04 송신용 신호의 암호화 방법 및 그 장치

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020097001490A Division KR100929515B1 (ko) 1997-03-11 1998-03-04 송신용 신호의 암호화 방법 및 그 장치

Publications (2)

Publication Number Publication Date
KR20060069524A true KR20060069524A (ko) 2006-06-21
KR100899964B1 KR100899964B1 (ko) 2009-05-28

Family

ID=25217529

Family Applications (3)

Application Number Title Priority Date Filing Date
KR1020097001490A KR100929515B1 (ko) 1997-03-11 1998-03-04 송신용 신호의 암호화 방법 및 그 장치
KR1019997008238A KR100618373B1 (ko) 1997-03-11 1998-03-04 송신용 신호의 암호화 방법 및 그 장치
KR1020067008447A KR100899964B1 (ko) 1997-03-11 1998-03-04 송신용 신호의 암호화 방법 및 그 장치

Family Applications Before (2)

Application Number Title Priority Date Filing Date
KR1020097001490A KR100929515B1 (ko) 1997-03-11 1998-03-04 송신용 신호의 암호화 방법 및 그 장치
KR1019997008238A KR100618373B1 (ko) 1997-03-11 1998-03-04 송신용 신호의 암호화 방법 및 그 장치

Country Status (19)

Country Link
US (6) US6075859A (ko)
EP (4) EP2124378A3 (ko)
JP (1) JP4260896B2 (ko)
KR (3) KR100929515B1 (ko)
CN (1) CN1154293C (ko)
AR (1) AR011969A1 (ko)
AT (1) ATE466428T1 (ko)
AU (1) AU6938898A (ko)
BR (1) BR9808232B8 (ko)
CA (1) CA2283304C (ko)
DE (1) DE69841641D1 (ko)
ES (1) ES2343491T3 (ko)
FI (1) FI19991876A (ko)
ID (1) ID24932A (ko)
IL (1) IL131696A0 (ko)
MY (1) MY138521A (ko)
RU (1) RU2267227C2 (ko)
WO (1) WO1998040984A1 (ko)
ZA (1) ZA982022B (ko)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6075859A (en) * 1997-03-11 2000-06-13 Qualcomm Incorporated Method and apparatus for encrypting data in a wireless communication system
US6266411B1 (en) * 1997-04-14 2001-07-24 Lucent Technologies Inc. Method and apparatus for multiple-iteration CMEA encryption and decryption for improved security for wireless telephone messages
US6418224B1 (en) * 1997-05-06 2002-07-09 Lucent Technologies Inc. Methods and apparatus for self-inverting multiple-iteration CMEA crypto-processing for improved security for wireless telephone messages
JP4110690B2 (ja) * 1999-10-18 2008-07-02 ヤマハ株式会社 データ生成方法、記録装置、記録媒体、および再生装置
KR100636111B1 (ko) * 1999-10-30 2006-10-18 삼성전자주식회사 분실된 이동 단말기에 내장된 데이터 보호 방법 및 이에 관한 기록매체
JP2001359165A (ja) * 2000-06-15 2001-12-26 Mitsubishi Electric Corp モバイル通信システム
US6596541B2 (en) 2000-10-31 2003-07-22 Regeneron Pharmaceuticals, Inc. Methods of modifying eukaryotic cells
US20020116450A1 (en) * 2000-12-01 2002-08-22 Multiscience System Pte Ltd. Network for information transfer for mobile stations
US7023997B1 (en) 2000-12-21 2006-04-04 Cisco Technology, Inc. Secure messaging communication system
US6907123B1 (en) 2000-12-21 2005-06-14 Cisco Technology, Inc. Secure voice communication system
US7224801B2 (en) * 2000-12-27 2007-05-29 Logitech Europe S.A. Wireless secure device
JP2002198956A (ja) * 2000-12-27 2002-07-12 Toshiba Corp 通信装置、及びその認証方法
AU2003223022A1 (en) * 2002-04-30 2003-11-17 Carl Alko Meijer Method for protecting secret key cryptographic schemes
US7796752B2 (en) * 2002-11-04 2010-09-14 Marvell International Ltd. Cipher implementation
US7234097B1 (en) * 2003-01-27 2007-06-19 Marvell International Ltd. Methods of supporting host CRC in data storage systems without RLL coding
US7475331B1 (en) 2003-10-07 2009-01-06 Marvell International Ltd. Data dependent scrambler with improved global constraint
JP4696449B2 (ja) * 2004-01-09 2011-06-08 ソニー株式会社 暗号化装置およびその方法
US8639947B2 (en) * 2004-06-01 2014-01-28 Ben Gurion University Of The Negev Research And Development Authority Structure preserving database encryption method and system
WO2006075869A1 (en) 2005-01-11 2006-07-20 Samsung Electronics Co., Ltd. Apparatus and method for ciphering/deciphering a signal in a communication system
JP4763447B2 (ja) * 2005-12-19 2011-08-31 株式会社ソニー・コンピュータエンタテインメント 認証システム及び認証対象装置
DE102006046211A1 (de) * 2006-09-29 2008-04-03 Siemens Ag Verfahren und Vorrichtung zum Erstellen eines Kodierschlüssels, sowie Verwendung des Verfahrens und Verarbeitungsmittel zur Verwendung des Kodierschlüssels
GB2446199A (en) 2006-12-01 2008-08-06 David Irvine Secure, decentralised and anonymous peer-to-peer network
US8290162B2 (en) * 2006-12-15 2012-10-16 Qualcomm Incorporated Combinational combiner cryptographic method and apparatus
US8571188B2 (en) * 2006-12-15 2013-10-29 Qualcomm Incorporated Method and device for secure phone banking
CA2688592C (en) * 2007-10-01 2014-04-15 Research In Motion Limited Substitution table masking for cryptographic processes
SG11201706634WA (en) * 2015-02-17 2017-09-28 Visa Int Service Ass Cloud encryption key broker apparatuses, methods and systems
EP3823322B1 (en) * 2018-12-20 2023-02-15 Merck Patent GmbH Methods and systems for preparing and performing an object authentication
RU2718953C1 (ru) * 2019-03-11 2020-04-15 ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ КАЗЕННОЕ ВОЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ "Военная академия Ракетных войск стратегического назначения имени Петра Великого" МИНИСТЕРСТВА ОБОРОНЫ РОССИЙСКОЙ ФЕДЕРАЦИИ Передатчик информационной и энергетической скрытности
KR20240028660A (ko) 2022-08-25 2024-03-05 (주)아모레퍼시픽 히팅 기능을 갖는 스틱형 제품

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4275265A (en) * 1978-10-02 1981-06-23 Wisconsin Alumni Research Foundation Complete substitution permutation enciphering and deciphering circuit
US4901307A (en) 1986-10-17 1990-02-13 Qualcomm, Inc. Spread spectrum multiple access communication system using satellite or terrestrial repeaters
US5214704A (en) 1989-10-04 1993-05-25 Teledyne Industries, Inc. Nonlinear dynamic substitution devices and methods for block substitutions
US5003597A (en) * 1989-12-21 1991-03-26 Xerox Corporation Method and apparatus for data encryption
JPH07111336B2 (ja) * 1990-02-07 1995-11-29 株式会社東芝 パターン寸法測定方法及び装置
JP3225440B2 (ja) * 1990-05-18 2001-11-05 アスコム テック エージー デジタル信号ブロックの変換装置およびその使用方法
US5103459B1 (en) 1990-06-25 1999-07-06 Qualcomm Inc System and method for generating signal waveforms in a cdma cellular telephone system
US5159634A (en) 1991-09-13 1992-10-27 At&T Bell Laboratories Cryptosystem for cellular telephony
US5220606A (en) * 1992-02-10 1993-06-15 Harold Greenberg Cryptographic system and method
GB9211648D0 (en) * 1992-06-02 1992-07-15 Racal Datacom Ltd Data communication system
US5517567A (en) * 1994-08-23 1996-05-14 Daq Electronics Inc. Key distribution system
US5513245A (en) * 1994-08-29 1996-04-30 Sony Corporation Automatic generation of private authentication key for wireless communication systems
JPH08179690A (ja) * 1994-12-22 1996-07-12 Nec Corp プロダクト暗号装置
US5594797A (en) * 1995-02-22 1997-01-14 Nokia Mobile Phones Variable security level encryption
US5991407A (en) * 1995-10-17 1999-11-23 Nokia Telecommunications Oy Subscriber authentication in a mobile communications system
US6393270B1 (en) * 1996-10-11 2002-05-21 Bellsouth Intellectual Property Corp. Network authentication method for over the air activation
US6075859A (en) * 1997-03-11 2000-06-13 Qualcomm Incorporated Method and apparatus for encrypting data in a wireless communication system
US6266411B1 (en) * 1997-04-14 2001-07-24 Lucent Technologies Inc. Method and apparatus for multiple-iteration CMEA encryption and decryption for improved security for wireless telephone messages
DE69830646T2 (de) * 1997-07-29 2006-05-11 Lucent Technologies Inc. Verfahren und vorrichtung zur verbesserung des cmea algorithmus unter verwendung von verbesserten transformationen

Also Published As

Publication number Publication date
US6768797B2 (en) 2004-07-27
EP2124378A2 (en) 2009-11-25
WO1998040984A1 (en) 1998-09-17
EP0966809A1 (en) 1999-12-29
EP2124378A3 (en) 2012-10-03
FI19991876A (fi) 1999-11-11
ATE466428T1 (de) 2010-05-15
EP2262163A3 (en) 2012-03-07
ID24932A (id) 2000-08-31
EP0966809B1 (en) 2010-04-28
US20040190712A1 (en) 2004-09-30
JP2001514769A (ja) 2001-09-11
KR100618373B1 (ko) 2006-08-30
IL131696A0 (en) 2001-03-19
ZA982022B (en) 1998-09-08
BR9808232A (pt) 2000-05-16
KR100899964B1 (ko) 2009-05-28
AU6938898A (en) 1998-09-29
CN1154293C (zh) 2004-06-16
BR9808232B8 (pt) 2013-02-19
US7995751B2 (en) 2011-08-09
CA2283304A1 (en) 1998-09-17
DE69841641D1 (de) 2010-06-10
US20030185390A1 (en) 2003-10-02
JP4260896B2 (ja) 2009-04-30
US6385316B1 (en) 2002-05-07
CN1251232A (zh) 2000-04-19
KR20000076148A (ko) 2000-12-26
US6075859A (en) 2000-06-13
US20120207304A1 (en) 2012-08-16
EP2120387A3 (en) 2013-03-06
KR20090012373A (ko) 2009-02-03
EP2120387A2 (en) 2009-11-18
CA2283304C (en) 2007-12-18
RU2267227C2 (ru) 2005-12-27
EP2262163A2 (en) 2010-12-15
AR011969A1 (es) 2000-09-13
KR100929515B1 (ko) 2009-12-03
BR9808232B1 (pt) 2013-01-08
US20020114450A1 (en) 2002-08-22
MY138521A (en) 2009-06-30
ES2343491T3 (es) 2010-08-02

Similar Documents

Publication Publication Date Title
KR100899964B1 (ko) 송신용 신호의 암호화 방법 및 그 장치
US6233337B1 (en) Methods and apparatus for enhanced security expansion of a secret key into a lookup table for improved security for wireless telephone messages
US6266411B1 (en) Method and apparatus for multiple-iteration CMEA encryption and decryption for improved security for wireless telephone messages
KR20000068663A (ko) 개선된 변환을 사용한 개선된 셀룰라 메시지 암호화 알고리즘을위한 방법 및 장치
US6418224B1 (en) Methods and apparatus for self-inverting multiple-iteration CMEA crypto-processing for improved security for wireless telephone messages
CA2603164C (en) Method of and apparatus for encrypting signals for transmission
EP3258639A1 (en) Cryptography apparatus protected against side-channel attack using constant hamming weight substitution-box
WO1999003246A2 (en) Methods and apparatus for enhanced security expansion of a secret key into a lookup table for improved security for wireless telephone messages
KR100591869B1 (ko) 무선 전화 메시지들에 대한 보안성을 개선하기 위해 다수의 씨엠이에이 반복을 사용하는 암호화 및 해독화방법 및 무선 전화
KR100591870B1 (ko) 인볼룬터리 룩업을 사용하고 변환들에 의해 선행 및 추종되는 cmea 반복을 포함하는 강화된 cmea를 위한 방법 및 장치
WO2001024438A1 (en) Output cipher feedback type pseudo noise-sequence generation

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
A107 Divisional application of patent
AMND Amendment
J201 Request for trial against refusal decision
B701 Decision to grant
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130429

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20140430

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20160330

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20170330

Year of fee payment: 9

EXPY Expiration of term