KR100899964B1 - 송신용 신호의 암호화 방법 및 그 장치 - Google Patents
송신용 신호의 암호화 방법 및 그 장치 Download PDFInfo
- Publication number
- KR100899964B1 KR100899964B1 KR1020067008447A KR20067008447A KR100899964B1 KR 100899964 B1 KR100899964 B1 KR 100899964B1 KR 1020067008447 A KR1020067008447 A KR 1020067008447A KR 20067008447 A KR20067008447 A KR 20067008447A KR 100899964 B1 KR100899964 B1 KR 100899964B1
- Authority
- KR
- South Korea
- Prior art keywords
- encoding
- key
- accordance
- message
- inverse
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic 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/0618—Block 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
이하, 대응 참조 번호가 동일한 도면을 참조하여 취한 본 발명의 바람직한 실시예의 상세한 설명으로부터, 본 발명의 특징, 목적 및 장점을 더욱 명확하게 이해하기로 한다.
도 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 알고리즘의 확인된 단점을 극복한다. 본 발명의 바람직한 실시예는 다음의 특성들, 즉
을 갖는다.
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 이라 지칭하거나 로 표시함), 정수의 가산 및 감산 등과 같이 단순한 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() 는
으로 정의된다.
여기서,
k0 내지 k7 은, 연결될 경우, 64-비트 키 (16) 를 형성하는 8 개의 8-비트 세그먼트를 나타내고;
B[x] 는 어레이 (B) 의 x 번째 8-비트 요소이고;
+ 는 모듈로 (modulo) 256 가산을 나타낸다.
어떠한 길이의 키가 매우 강력한 것으로 간주되는 암호화를 제공하는 선택적인 실시예에서, 키의 세기는 키의 길이를 변화시키지 않고 tbox() 의 함수를 변경함으로써, 인위적으로 제한될 수 있다. 예를 들어, 64 비트 키가 다른 2^24 의 동일 클래스 (class) 내에 있으면서, 키에 대한 단 하나의 비트 변화도 서로 다른 결과를 발생시키는 방식으로, 64 비트 키를 이용함으로써, 64 비트 키를 40 비트로 인위적으로 제한시킬 수 있다. tbox() 의 다음 정의는
64 비트 키를 40 비트 키로 효과적으로 표현하기 위한 권장할 만한 변경을 나타낸다.
여기서,
k0 내지 k7 은 연결될 경우, 64-비트 키 (16) 를 형성하는 8 개의 8-비트 세그먼트를 나타내고;
B[x] 는 어레이 B 의 x 번째 8-비트 요소이고;
+ 는 모듈로 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, vi) 함수의 호출 결과를 각 문자 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, vi) 함수의 호출 결과를 각 문자 buf[i] 에 가산하여, 각 문자 buf[i] 를 변경한다. 그 후, 새로운 buf[i] 의 값과 변수 (v) 를 XOR 시켜, 변수 (v) 를 갱신한다. 그 후, 버퍼 인덱스 (i) 를 감소시킨다. 블록 (206) 에서, i 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, vi) 함수의 호출에 의해 복귀되는 값으로 설정한다. 그 후, buf[i] 의 현재 값과 변수 (v) 를 XOR 시켜, 변수 (v) 를 갱신한다. 그 후, 각 문자 buf[i] 로부터 임시 변수 (t) 의 값을 감산하여, 각 문자 buf[i] 를 변경시킨다. 그 후, 버퍼 인덱스 (i) 를 감소시킨다. 블록 (406) 에서, i 0 이면, 패스는 완료되지 않으며, 흐름은 블록 (404) 으로 복귀한다. 전체 문자가 블록 (404) 에 따라 변경되었을 때, i 는 -1 과 동일할 것이며, 패스 (4) 는 완료될 것이다. 패스 (2) 에서와 같이, buf[n-1] 로 시작해서 말단인 buf[0] 을 향해 작업해서 문자를 변경하였고, 테이블 (t2box (14)) 을 이용하였음을 유의해야 한다.
블록 (406) 에서 블록 (502) 으로 진행하여 패스 (5) 를 시작하며, 변수 (v) 및 버퍼 인덱스 (i) 는 0 으로 초기화된다. 그 후, 블록 (504) 에서, 임시 변수 (t) 는 tbox (t1box, vi) 함수의 호출에 의해 복귀되는 값으로 설정된다. 그 후, 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 (24)
- 통신 시스템에서 메시지를 나타내는 메시지 신호 세트를 송신하는 방법으로서,제 1 키변환 (keyed transformation) 에 따라 상기 메시지 신호 세트 중의 하나를 제 1 인코딩하는 단계;하나 이상의 부가적인 키변환에 따라 상기 메시지 신호 세트 중의 상기 하나를 제 2 인코딩하는 단계;상기 메시지 신호 세트 중에서 적어도 하나 이상이 변경되는 자기반전 변환에 따라 상기 메시지 신호 세트 중의 상기 하나를 제 3 인코딩하는 단계;하나 이상의 부가적인 역 키변환에 따라 상기 메시지 신호 세트 중의 상기 하나를 제 4 인코딩하는 단계로서, 상기 하나 이상의 부가적인 역 키변환 각각은 상기 하나 이상의 부가적인 키변환의 대응되는 역 (corresponding inverse) 인, 제 4 인코딩 단계; 및제 1 역 키변환에 따라 상기 메시지 신호 세트 중의 상기 하나를 제 5 인코딩하는 단계로서, 상기 제 1 역 키변환은 상기 제 1 키변환의 역인, 제 5 인코딩 단계를 포함하고,상기 제 1 인코딩 단계는 제 1 테이블에 따라 제 1 방향으로 수행되고, 상기 제 2 인코딩 단계는 상기 제 1 테이블에 따라 수행되는, 메시지 신호 세트 송신 방법.
- 제 1 항에 있어서,상기 제 2 인코딩 단계는 상기 제 1 테이블에 따라 상기 제 1 방향으로 수행되는, 메시지 신호 세트 송신 방법.
- 제 1 항에 있어서,상기 제 4 인코딩 단계는 하나 이상의 부가적인 방향에 따라 수행되는, 메시지 신호 세트 송신 방법.
- 제 1 항에 있어서,상기 제 5 인코딩 단계는 하나 이상의 부가적인 방향에 따라 수행되는, 메시지 신호 세트 송신 방법.
- 제 1 항에 있어서,상기 제 1 테이블은 순열인, 메시지 신호 세트 송신 방법.
- 제 1 항에 있어서,상기 제 3 인코딩 단계는 키변환에 따라 수행되는, 메시지 신호 세트 송신 방법.
- 제 1 항에 있어서,상기 제 3 인코딩 단계는 비 키변환 (unkeyed transformation) 에 따라 수행되는, 메시지 신호 세트 송신 방법.
- 제 1 항에 있어서,상기 제 1 키변환은,인덱스 값을 수신하는 단계;테이블을 수신하는 단계; 및상기 인덱스 값 및 상기 테이블에 따라 테이블 룩업을 수행하는 단계를 포함하는, 메시지 신호 세트 송신 방법.
- 제 8 항에 있어서,상기 인덱스 값을 프로세싱하는 단계를 더 포함하고,상기 테이블 룩업을 수행하는 단계는 상기 인덱스 값의 상기 프로세싱의 결과에 따라 수행되는, 메시지 신호 세트 송신 방법.
- 제 9 항에 있어서,상기 테이블 룩업의 결과에 근거한 부가적인 프로세싱을 더 포함하는, 메시지 신호 세트 송신 방법.
- 제 10 항에 있어서,상기 테이블 룩업의 결과에 근거한 부가적인 프로세싱은 상기 결과에 따라 부가적인 테이블 룩업을 수행하는 단계를 포함하는, 메시지 신호 세트 송신 방법.
- 제 10 항에 있어서,상기 테이블 룩업의 결과에 근거한 부가적인 프로세싱은 상기 결과에 근거한 불린 연산을 수행하는 단계를 포함하는, 메시지 신호 세트 송신 방법.
- 삭제
- 삭제
- 통신 시스템에서 메시지 신호 세트를 변환하는 방법으로서,완전 순열에 의해 테이블을 생성하는 단계;제 1 키 변환에 따라 상기 메시지 신호 세트 중의 하나를 제 1 인코딩하는 단계;상기 메시지 신호 세트 중에서 적어도 하나 이상이 변경되는 자기반전 변환에 따라 상기 메시지 신호 세트 중의 하나를 제 2 인코딩하는 단계; 및제 2 키 변환에 따라 상기 메시지 신호 세트 중의 하나를 제 3 인코딩하는 단계로서, 상기 제 2 키 변환은 상기 제 1 키 변환의 역인, 제 3 인코딩 단계를 포함하고,상기 제 1 및 제 3 인코딩 단계는 상기 테이블에 따라 수행되고, 상기 제 1 및 제 3 인코딩 단계는 교대 방향 (alternating directions) 으로 수행되는, 메시지 신호 세트 변환 방법.
- 프로세싱 회로를 구비하는 프로세싱 장치로서,상기 프로세싱 회로는,제 1 키변환 (keyed transformation) 에 따라 메시지 신호 세트 중의 하나를 제 1 인코딩;하나 이상의 부가적인 키변환에 따라 상기 메시지 신호 세트 중의 상기 하나를 제 2 인코딩;상기 메시지 신호 세트 중에서 적어도 하나 이상이 변경되는 자기반전 변환에 따라 상기 메시지 신호 세트 중의 상기 하나를 제 3 인코딩;하나 이상의 부가적인 역 키변환에 따라 상기 메시지 신호 세트 중의 상기 하나를 제 4 인코딩하는 것으로서, 상기 하나 이상의 부가적인 역 키변환 각각은 상기 하나 이상의 부가적인 키변환의 대응되는 역 (corresponding inverse) 인, 제 4 인코딩; 및제 1 역 키변환에 따라 상기 메시지 신호 세트 중의 상기 하나를 제 5 인코딩하는 것으로서, 상기 제 1 역 키변환은 상기 제 1 키변환의 역인, 제 5 인코딩하도록 구성되고,상기 제 1 인코딩 단계는 제 1 테이블에 따라 제 1 방향으로 수행되고, 상기 제 2 인코딩 단계는 상기 제 1 테이블에 따라 수행되는, 프로세싱 장치.
- 프로세싱 회로를 구비하는 프로세싱 장치로서,상기 프로세싱 회로는,완전 순열에 의해 테이블을 생성;제 1 키 변환에 따라 메시지 신호 세트 중의 하나를 제 1 인코딩;상기 메시지 신호 세트 중에서 적어도 하나 이상이 변경되는 자기반전 변환에 따라 상기 메시지 신호 세트 중의 하나를 제 2 인코딩; 및제 2 키 변환에 따라 상기 메시지 신호 세트 중의 하나를 제 3 인코딩하는 것으로서, 상기 제 2 키 변환은 상기 제 1 키 변환의 역인, 제 3 인코딩하도록 구성되고,상기 제 1 및 제 3 인코딩은 상기 테이블에 따라 수행되고, 상기 제 1 및 제 3 인코딩은 교대 방향 (alternating directions) 으로 수행되는, 프로세싱 장치.
- 삭제
- 통신 시스템에서 메시지를 나타내는 메시지 신호의 세트를 변환하는 하나 이상의 명령을 갖는 머신-판독가능한 매체로서, 프로세서에 의해 실행될 때, 상기 명령은,프로세서가,제 1 키변환 (keyed transformation) 에 따라 상기 메시지 신호 세트 중의 하나를 제 1 인코딩;하나 이상의 부가적인 키변환에 따라 상기 메시지 신호 세트 중의 상기 하나를 제 2 인코딩;상기 메시지 신호 세트 중에서 적어도 하나 이상이 변경되는 자기반전 변환에 따라 상기 메시지 신호 세트 중의 상기 하나를 제 3 인코딩;하나 이상의 부가적인 역 키변환에 따라 상기 메시지 신호 세트 중의 상기 하나를 제 4 인코딩하는 것으로서, 상기 하나 이상의 부가적인 역 키변환 각각은 상기 하나 이상의 부가적인 키변환의 대응되는 역 (corresponding inverse) 인, 제 4 인코딩; 및제 1 역 키변환에 따라 상기 메시지 신호 세트 중의 상기 하나를 제 5 인코딩하는 것으로서, 상기 제 1 역 키변환은 상기 제 1 키변환의 역인, 제 5 인코딩하도록 하고,상기 제 1 인코딩 단계는 제 1 테이블에 따라 제 1 방향으로 수행되고, 상기 제 2 인코딩 단계는 상기 제 1 테이블에 따라 수행되는, 하나 이상의 명령을 갖는 머신-판독가능한 매체.
- 통신 시스템에서 메시지를 나타내는 메시지 신호의 세트를 변환하는 하나 이상의 명령을 갖는 머신-판독가능한 매체로서, 프로세서에 의해 실행될 때, 상기 명령은,프로세서가,완전 순열에 의해 테이블을 생성;제 1 키 변환에 따라 상기 메시지 신호 세트 중의 하나를 제 1 인코딩;상기 메시지 신호 세트 중에서 적어도 하나 이상이 변경되는 자기반전 변환에 따라 상기 메시지 신호 세트 중의 하나를 제 2 인코딩; 및제 2 키 변환에 따라 상기 메시지 신호 세트 중의 하나를 제 3 인코딩하는 것으로서, 상기 제 2 키 변환은 상기 제 1 키 변환의 역인, 제 3 인코딩하도록 하고,상기 제 1 및 제 3 인코딩은 상기 테이블에 따라 수행되고, 상기 제 1 및 제 3 인코딩은 교대 방향 (alternating directions) 으로 수행되는, 하나 이상의 명령을 갖는 머신-판독가능한 매체.
- 삭제
- 메시지를 나타내는 메시지 신호 세트를 변환하는 통신 장치로서,상기 장치는,제 1 키변환 (keyed transformation) 에 따라 메시지 신호 세트 중의 하나를 제 1 인코딩하는 수단;하나 이상의 부가적인 키변환에 따라 상기 메시지 신호 세트 중의 상기 하나를 제 2 인코딩하는 수단;상기 메시지 신호 세트 중에서 적어도 하나 이상이 변경되는 자기반전 변환에 따라 상기 메시지 신호 세트 중의 상기 하나를 제 3 인코딩하는 수단;하나 이상의 부가적인 역 키변환에 따라 상기 메시지 신호 세트 중의 상기 하나를 제 4 인코딩하는 것으로서, 상기 하나 이상의 부가적인 역 키변환 각각은 상기 하나 이상의 부가적인 키변환의 대응되는 역 (corresponding inverse) 인, 제 4 인코딩하는 수단; 및제 1 역 키변환에 따라 상기 메시지 신호 세트 중의 상기 하나를 제 5 인코딩하는 것으로서, 상기 제 1 역 키변환은 상기 제 1 키변환의 역인, 제 5 인코딩하는 수단을 포함하고,상기 제 1 인코딩은 제 1 테이블에 따라 제 1 방향으로 수행되고, 상기 제 2 인코딩은는 상기 제 1 테이블에 따라 수행되는, 통신 장치.
- 메시지를 나타내는 메시지 신호 세트를 변환하는 통신 장치로서,상기 장치는,완전 순열에 의해 테이블을 생성하는 수단;제 1 키 변환에 따라 메시지 신호 세트 중의 하나를 제 1 인코딩하는 수단;상기 메시지 신호 세트 중에서 적어도 하나 이상이 변경되는 자기반전 변환에 따라 상기 메시지 신호 세트 중의 하나를 제 2 인코딩하는 수단; 및제 2 키 변환에 따라 상기 메시지 신호 세트 중의 하나를 제 3 인코딩하는 것으로서, 상기 제 2 키 변환은 상기 제 1 키 변환의 역인, 제 3 인코딩하는 수단을 포함하고,상기 제 1 및 제 3 인코딩은 상기 테이블에 따라 수행되고, 상기 제 1 및 제 3 인코딩은 교대 방향 (alternating directions) 으로 수행되는, 통신 장치.
- 삭제
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 KR20060069524A (ko) | 2006-06-21 |
KR100899964B1 true 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)
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 | (주)아모레퍼시픽 | 히팅 기능을 갖는 스틱형 제품 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5159634A (en) | 1991-09-13 | 1992-10-27 | At&T Bell Laboratories | Cryptosystem for cellular telephony |
US5214703A (en) | 1990-05-18 | 1993-05-25 | Ascom Tech Ag | Device for the conversion of a digital block and use of same |
US5594797A (en) | 1995-02-22 | 1997-01-14 | Nokia Mobile Phones | Variable security level encryption |
Family Cites Families (16)
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 | 株式会社東芝 | パターン寸法測定方法及び装置 |
US5103459B1 (en) | 1990-06-25 | 1999-07-06 | Qualcomm Inc | System and method for generating signal waveforms in a cdma cellular telephone system |
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 | プロダクト暗号装置 |
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 |
-
1997
- 1997-03-11 US US08/815,347 patent/US6075859A/en not_active Expired - Lifetime
-
1998
- 1998-03-04 AU AU69388/98A patent/AU6938898A/en not_active Abandoned
- 1998-03-04 CN CNB988032368A patent/CN1154293C/zh not_active Expired - Lifetime
- 1998-03-04 JP JP53977798A patent/JP4260896B2/ja not_active Expired - Lifetime
- 1998-03-04 DE DE69841641T patent/DE69841641D1/de not_active Expired - Lifetime
- 1998-03-04 KR KR1020097001490A patent/KR100929515B1/ko not_active IP Right Cessation
- 1998-03-04 AT AT98915133T patent/ATE466428T1/de not_active IP Right Cessation
- 1998-03-04 CA CA002283304A patent/CA2283304C/en not_active Expired - Lifetime
- 1998-03-04 IL IL13169698A patent/IL131696A0/xx unknown
- 1998-03-04 EP EP20090169042 patent/EP2124378A3/en not_active Withdrawn
- 1998-03-04 BR BRPI9808232-9A patent/BR9808232B8/pt not_active IP Right Cessation
- 1998-03-04 ID IDW991097A patent/ID24932A/id unknown
- 1998-03-04 EP EP10180359A patent/EP2262163A3/en not_active Withdrawn
- 1998-03-04 ES ES98915133T patent/ES2343491T3/es not_active Expired - Lifetime
- 1998-03-04 KR KR1019997008238A patent/KR100618373B1/ko not_active IP Right Cessation
- 1998-03-04 EP EP98915133A patent/EP0966809B1/en not_active Expired - Lifetime
- 1998-03-04 EP EP09168723A patent/EP2120387A3/en not_active Withdrawn
- 1998-03-04 WO PCT/US1998/004799 patent/WO1998040984A1/en active IP Right Grant
- 1998-03-04 RU RU99121330/09A patent/RU2267227C2/ru active
- 1998-03-04 KR KR1020067008447A patent/KR100899964B1/ko not_active IP Right Cessation
- 1998-03-10 MY MYPI98001038A patent/MY138521A/en unknown
- 1998-03-10 ZA ZA982022A patent/ZA982022B/xx unknown
- 1998-03-11 AR ARP980101085A patent/AR011969A1/es unknown
-
1999
- 1999-08-05 US US09/369,382 patent/US6385316B1/en not_active Expired - Lifetime
- 1999-09-02 FI FI991876A patent/FI19991876A/fi not_active Application Discontinuation
-
2002
- 2002-02-21 US US10/081,750 patent/US20020114450A1/en not_active Abandoned
-
2003
- 2003-05-09 US US10/434,749 patent/US6768797B2/en not_active Expired - Fee Related
-
2004
- 2004-03-30 US US10/814,065 patent/US7995751B2/en not_active Expired - Fee Related
-
2011
- 2011-08-09 US US13/206,300 patent/US20120207304A1/en not_active Abandoned
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5214703A (en) | 1990-05-18 | 1993-05-25 | Ascom Tech Ag | Device for the conversion of a digital block and use of same |
US5159634A (en) | 1991-09-13 | 1992-10-27 | At&T Bell Laboratories | Cryptosystem for cellular telephony |
US5594797A (en) | 1995-02-22 | 1997-01-14 | Nokia Mobile Phones | Variable security level encryption |
Also Published As
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 | |
KR20080052092A (ko) | 이동통신 시스템에서 사용자 비밀키 생성방법 및 그 장치 | |
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 |