KR100591870B1 - 인볼룬터리 룩업을 사용하고 변환들에 의해 선행 및 추종되는 cmea 반복을 포함하는 강화된 cmea를 위한 방법 및 장치 - Google Patents
인볼룬터리 룩업을 사용하고 변환들에 의해 선행 및 추종되는 cmea 반복을 포함하는 강화된 cmea를 위한 방법 및 장치 Download PDFInfo
- Publication number
- KR100591870B1 KR100591870B1 KR1019997002449A KR19997002449A KR100591870B1 KR 100591870 B1 KR100591870 B1 KR 100591870B1 KR 1019997002449 A KR1019997002449 A KR 1019997002449A KR 19997002449 A KR19997002449 A KR 19997002449A KR 100591870 B1 KR100591870 B1 KR 100591870B1
- Authority
- KR
- South Korea
- Prior art keywords
- message
- secret
- cmea
- offset
- offsets
- 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
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/03—Protecting confidentiality, e.g. by encryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/03—Protecting confidentiality, e.g. by encryption
- H04W12/033—Protecting confidentiality, e.g. by encryption of the user plane, e.g. user's traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/80—Wireless
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mobile Radio Communication Systems (AREA)
- Telephonic Communication Services (AREA)
- Document Processing Apparatus (AREA)
Abstract
본 발명은 강화된 CMEA, 또는 ECMEA 처리를 위한 방법 및 장치에 관한 것으로서, 포워드 ECMEA 및 역 ECMEA 처리가 제공된다. 포워드 ECMEA 처리는 역 ECMEA 처리에 의해 암호화된 텍스트를 암호해독하고, 역 ECMEA 처리는 포워드 ECMEA 처리에 의해 암호화된 텍스트를 암호해독한다. 포워드 ECMEA 처리는 제 1 변환, CMEA 처리의 반복 및 제 2 변환을 사용한다. 역 ECMEA 처리는 제 1 역변환, CMEA 처리의 반복 및 제 2 역변환을 사용한다. 상기 변환들과 역변환들 및 CMEA 처리의 반복들은 보안을 향상시키기 위해 시크리트 오프셋들을 사용한다. 또한 변환들 및 CMEA 처리의 반복들은 인볼룬터리 룩업 테이블을 사용하는 강화된 tbox 함수를 이용한다.
CMEA, 암호화, 암호해독, 무선 전화 시스템, tbox 함수, 룩업 테이블
Description
본 출원은 1997년 7월 22일자 출원된 미국 가출원 제 60/053,412호와, 1997년 7월 29일 출원된 미국 가출원 제 60/054,018호의 이익을 청구하고 있다.
본 발명은 일반적으로 무선 전화 암호법에 관한 것이다. 특히, 본 발명은 대용량의 추가적인 시스템 자원들을 필요로 하지 않고 무선 전화 시스템의 신속하고 안전한 암호화를 위한 개선된 시큐리티(security) 암호 시스템에 관한 것이다.
무선 전화는, 예를 들면, 상태 정보를 전달하고, 동작 모드들을 재구성하고, 호 종료를 처리하고, 가입자의 전자 일련 번호와 전화 번호 뿐만 아니라 사용자에 의해 전송되는 대화들과 다른 데이터와 같은 시스템 및 사용자 데이터를 전달하는 것을 포함하는, 몇 가지 목적들을 위해 메시징(messaging)을 사용한다. 중앙 서빙국(central serving station)이 유선으로 각 가입자에 접속되어, 권한이 없는 상대방(어택커(attacker))에 의한 도청 및 간섭으로부터 상당한 정도의 보호를 확보하는 보통의 유선 전화와는 달리, 무선 전화 서빙국들(즉, 기지국들)은 가입자들의 물리적 위치에 상관없이, 공중으로 신호들을 통해 메시지들을 송수신해야 한다.
기지국은 임의의 위치에 있는 가입자에게 메시지를 송신하고 및 가입자로부터 메시지를 수신할 수 있어야 하기 때문에, 메시징 처리는 전적으로 가입자 기기로부터 수신된 또는 이 기기로 송신된 신호들에 의존한다. 신호들은 공중으로 전송되기 때문에, 이들은 적절한 기기를 갖춘 도청자 또는 침입자(interloper)에 의해 방수(intercept)될 수 있다.
신호가 평문(plaintext)으로 무선 전화에 의해 전송되면, 도청자가 신호를 방수하여 그것을 가입자를 흉내내기 위해 사용하거나 사용자에 의해 전송된 개인적인 데이터를 방수하는데 사용할 위험이 존재한다. 이러한 개인적인 데이터는 대화들의 내용을 포함하는 것일 수도 있다. 또한, 개인적인 데이터는 사용자에 의해 전송되는 비음성 데이터, 예를 들면, 무선 전화에 접속된 모뎀을 통해 전송되는 컴퓨터 데이터를 포함할 수도 있으며, 또한, 통상적으로 키입력에 의해 전송되는 은행 계좌 또는 다른 개인적인 사용자 정보를 포함할 수도 있다. 대화를 듣거나 비음성 데이터를 도용하는 도청자는 사용자로부터 개인적인 정보를 얻을 수도 있다. 암호화되지 않은 전화 신호(즉, 평문 신호)의 메시지 내용은 적당히 개조된 수신기에 의해 비교적 쉽게 도용된다.
대안적으로, 침입자는 보다 큰 전송 출력을 사용하고 신호들을 기지국에 전송하고 대화를 위해 상대방을 흉내냄으로써, 확립된 접속에 자신을 끼워넣을 수 있다.
무선 신호들에 의해 전송되고 있는 메시지들에 암호를 적용하지 않는 경우, 전화 자원들의 권한이 없는 사용, 메시지들의 도청 및 대화 중 호출자 또는 피호출자의 흉내가 가능하다. 이와 같은 권한이 없는 침입 및/또는 도청은 실제로 심각한 문제라는 것이 입증되었고 매우 바람직하지 못한 것이다.
무선 전화 응용들에 대한 암호화의 적용은 상술된 보안 문제들에 대한 해법을 제공하지만, 무선 전화에 표준 암호화 방법들을 적용하는 것은 이 방법들의 연산-집약적 특성(computationally-intensive nature)으로 인해 커다란 어려움들에 부딪힌다. 특히, 이들 방법들은 소형의 무선 핸드셋을 공급해야 하는 필요성으로 인해 갖게된 제약들과 소형의 핸드셋들에 의해 부과된 처리 능력상의 제약들을 받는다. 전형적인 무선 핸드셋들에 존재하는 처리 능력은 통상적으로 DES(Data Encryption Standard)와 같은 공지된 암호화 알고리즘들의 처리 요건들을 처리하는데 충분하지 않다. 통상의 무선 전화 시스템에서의 이와 같은 통상적으로 공지된 암호화 알고리즘의 구현은 신호들을 처리(즉, 암호화 및 암호해독)하는데 필요한 시간을 잠재적으로 증가시킬 수 있으며, 그에 의해 가입자들에게 허용될 수 없을 정도의 지연들을 야기한다.
무선 전화용의 하나의 암호화 시스템은 본원에 참조문헌으로서 포함된, 미국 특허 제5,159,634호("Reeds")에 개시되어 있다. 리드(Reeds)는 CMEA("Cellular Message Encryption Algorithm) 처리로서 알려진 암호화 처리를 개시하고 있다. CMEA의 동작 중심은 tbox 함수이며, 이것은 공지된 테이블 및 비밀 키(secret key)를 사용하여, 하나의 옥텟(octet)과 다른 옥텟을 일 대 일 맵핑한다. 초기 인덱스로 시작해서, 키 자료(key material)는 맵핑을 수행하기 위해 다수 회 반복되어 테이블 자료와 조합된다. tbox 함수는 함수 호출로서 또는 스태틱 메모리-상주 tbox 테이블(static memory-resident tbox table)로서 구현될 수 있다. tbox 테이블의 목적은, 후자의 경우로서 구현되었을 때, 주어진 보안 레벨에 대한 암호화 속도를 크게 증가시킬 수 있게 하는 것이다.
CMEA 함수의 강화는, 1998년 4월 13일자로 출원되고 발명의 명칭이 "Methods and Apparatus for Multiple-Iteration CMEA Encryption and Decryption for Improved Security for Cellular Telephone Messages"인 출원과 1998년 4월 13일자로 출원되고 발명의 명칭이 "Methods and Apparatus for Enhanced Security Expansion of a Secret Key Into a Lookup Table"인 출원에 개시되어 있다. 이 강화는 CMEA 처리에 대해 상당히 증가된 보안을 제공한다. 그러나, 추가적인 강화는 보다 증가된 보안을 제공한다.
종래 기술의 CMEA 알고리즘은 이하에서 더욱 상세히 기술되는 것과 같이 크게 개선될 수 있다. 이 강화는 큰 이점을 가져오는 보다 높은 보안을 제공한다.
(발명의 요약)
본 발명은 역 ECMEA 처리뿐만 아니라 포워드 강화된(forward enhanced) CMEA, 또는 ECMEA 처리를 제공함으로써 CMEA와 같은 암호화 알고리즘들에 추가적인 보안을 제공한다. 포워드 처리에 의해 암호화된 정보는 역 처리에 의해 암호해독되고, 역 처리에 의해 암호화된 정보는 포워드 처리에 의해 암호해독된다. 포워드 ECMEA 처리는 CMEA 알고리즘의 반복 전에 메시지를 제 1 변환시키고, CMEA 알고리즘의 반복 후에 메시지를 제 2 변환시킨다. CMEA 알고리즘의 반복은 제 1 시크리트 오프셋에 의한 tbox 함수에 대한 입력들의 치환(permutation)을 포함한다. CMEA 알고리즘에 의해 사용되는 tbox 함수는 인볼룬터리 룩업 테이블(involutary lookup table)을 사용함으로써 강화된다. 변환들은 제 1 시크리트 오프셋과 제 2 시크리트 오프셋을 사용한다. 제 2 변환이 제 1 변환에 의해 사용되는 것과 반대 순서로 제 1 및 제 2 오프셋들을 사용하는 것을 제외하고는 제 2 변환은 제 1 변환과 동일하다. 각각의 변환은 각 인접하는 옥텟들의 쌍 사이에서 비트 교환, 각 옥텟에 대한 피드백을 갖는 복잡한 룩업 및 랜덤 바이트 치환(random byte permutation)을 수행한다.
변환들은 자기-반전(self-inverting)은 아니며, 따라서 포워드 ECMEA 처리는 전체로서 자기-반전이 아니다. 포워드 ECMEA 처리에 의해 암호화된 텍스트를 암호해독하거나, 또는 포워드 ECMEA 처리에 의한 암호해독을 위해 텍스트를 암호화하기 위해, 역 ECMEA 처리가 사용된다. 역 ECMEA 처리는 제 1 역변환을 사용하고, 그 다음에는 CMEA 처리의 반복을, 그 다음에는 제 2 역변환을 사용한다. 제 1 역변환은 역 랜덤 바이트 치환, 각 옥텟에 대해 피드백을 갖는 역 인볼룬터리 룩업 및 인접 옥텟들의 각 쌍 사이의 역 비트 교환을 수행한다. 또한 제 1 역변환은, 이하에 상세히 나타낸 것과 같이, 제 1 및 제 2 시크리트 오프셋들이 제 1 변환에 의해 사용되는 것과는 다른 순서로 제 1 및 제 2 시크리트 오프셋들을 사용한다. CMEA 알고리즘의 반복은 제 1 시크리트 오프셋에 의한 tbox 함수에 대한 입력들의 치환을 포함한다. CMEA 알고리즘에 의해 사용되는 tbox 함수는 인볼룬터리 룩업 테이블을 사용함으로써 강화된다. 제 1 및 제 2 시크리트 오프셋들이 제 1 역변환에 의해 사용되는 것과는 반대의 순서로 제 2 역변환이 제 1 및 제 2 시크리트 오프셋들을 사용하는 것을 제외하고는, 제 2 역변환은 제 1 역변환과 동일하다.
변환들은 자기-반전(self-inverting)은 아니며, 따라서 포워드 ECMEA 처리는 전체로서 자기-반전이 아니다. 포워드 ECMEA 처리에 의해 암호화된 텍스트를 암호해독하거나, 또는 포워드 ECMEA 처리에 의한 암호해독을 위해 텍스트를 암호화하기 위해, 역 ECMEA 처리가 사용된다. 역 ECMEA 처리는 제 1 역변환을 사용하고, 그 다음에는 CMEA 처리의 반복을, 그 다음에는 제 2 역변환을 사용한다. 제 1 역변환은 역 랜덤 바이트 치환, 각 옥텟에 대해 피드백을 갖는 역 인볼룬터리 룩업 및 인접 옥텟들의 각 쌍 사이의 역 비트 교환을 수행한다. 또한 제 1 역변환은, 이하에 상세히 나타낸 것과 같이, 제 1 및 제 2 시크리트 오프셋들이 제 1 변환에 의해 사용되는 것과는 다른 순서로 제 1 및 제 2 시크리트 오프셋들을 사용한다. CMEA 알고리즘의 반복은 제 1 시크리트 오프셋에 의한 tbox 함수에 대한 입력들의 치환을 포함한다. CMEA 알고리즘에 의해 사용되는 tbox 함수는 인볼룬터리 룩업 테이블을 사용함으로써 강화된다. 제 1 및 제 2 시크리트 오프셋들이 제 1 역변환에 의해 사용되는 것과는 반대의 순서로 제 2 역변환이 제 1 및 제 2 시크리트 오프셋들을 사용하는 것을 제외하고는, 제 2 역변환은 제 1 역변환과 동일하다.
포워드 ECMEA 처리는 역 ECMEA 처리에 의해 암호화된 텍스트를 암호해독하고, 역 ECMEA 처리는 포워드 ECMEA 처리에 의해 암호화된 텍스트를 암호해독한다. 상상술된 강화들은 CMEA를 개선하고, 이동 무선 송수신기에 통상적으로 사용되는 것과 같은 소형 컴퓨터에서 신속하고 효율적으로 동작하도록 구현될 수 있다.
본 발명에 따른 암호화 시스템은 강화된 tbox 함수를 적절히 사용하고, 또한, 변환 및 역변환의 수행시 및 CMEA에서의 사용을 위해, 강화된 tbox 함수에의 입력들을 치환하기 위해 제 1 및 제 2 오프셋들을 사용한다. 각각의 오프셋은 2개의 시크리트 값들과 외부 암호동기(cryptosync) 값을 사용하여 생성된다. 시크리트 값들은 종래 기술에서 일반적으로 공지되어 있는 다수의 기술들 중 어느 것에 의해 생성될 수도 있다. 몇몇 응용들에 있어서, 호의 제 1 메시지를 암호화하기 위해 사용되는 외부 암호동기 값은 2진 카운터로서 구현된 8-비트 값이다.
본 발명의 또 다른 양태에 있어서, 본 발명에 따른 전화 시스템은 이동국과 기지국을 포함한다. 이동국과 기지국 각각은 텍스트를 생성하고, 이 텍스트를 발생된 텍스트로서 식별하는 I/O인터페이스에 공급하고, 이 텍스트와 식별(identification)을, 차례로 텍스트를 암호화하고 그것을 송신하기 위해 송수신기에 공급하는 암호화/암호해독 처리기에 공급한다. 장치가 송수신기를 통해 송신을 수신할 때, 송신은 들어오는 암호문으로서 식별되고, 암호문 및 식별은 암호문을 암호해독하고 이것을 그 목적지로 라우팅(routing)하기 위한 I/O 처리기에 텍스트로서 공급하는 암호화/암호해독 처리기에 공급된다. 이동국은 바람직하게는 포워드 ECMEA 처리기를 사용하고 기지국은 바람직하게는 역 ECMEA 처리를 사용한다.
본 발명의 보다 완전한 이해뿐만 아니라 본 발명의 다른 양태 및 이점은 다음의 상세한 설명 및 첨부 도면으로부터 자명해질 것이다.
도 1은 종래 기술의 CMEA 키 발생 처리의 양태와 CMEA 기반 암호화의 구현에 이용한 것을 설명하는 플로챠트.
도 2는 제 1 변환, 인볼룬터리 룩업을 사용하는 강화된 tbox 함수가 사용되고 강화된 tbox 함수에 대한 입력들이 시크리트 오프셋에 의해 치환되는 CMEA 처리 및 제 2 변환을 사용하는 본 발명에 따른 포워드 ECMEA 암호화 방법을 설명하는 플로챠트.
도 3은 포워드 ECMEA 암호화 방법에 사용되는 제 1 변환을 설명하는 플로챠트.
도 4는 포워드 ECMEA 암호화 방법에 사용되는 제 2 변환을 설명하는 플로챠트.
도 5는 제 1 역변환, 인볼룬터리 룩업을 사용하는 강화된 tbox 함수가 사용되고 강화된 tbox 함수에 대한 입력들이 시크리트 오프셋에 의해 치환되는 CMEA 처리 및 제 2 역변환을 사용하는 본 발명에 따른 역 ECMEA 암호화 방법을 설명하는 플로챠트.
도 6은 역 ECMEA 암호화 방법에 사용되는 제 1 역 1 변환을 설명하는 플로챠트.
도 7은 역 ECMEA 암호화 방법에 사용되는 제 2 역변환을 설명하는 플로챠트.
도 8은 본 발명에 따른 ECMEA 처리를 사용하는 전화 시스템을 설명하는 도면.
도 1은 호 동안 송신될 수 있는 어떤 중요한 사용자 데이터의 암호화를 위해 CMEA 키를 사용하는 종래 기술의 방법(100)을 설명하는 플로챠트이다. CMEA 키는 256바이트들의 시크리트 어레이, tbox(z)를 생성하기 위해 사용된다. 대안적으로, tbox 함수는 함수 호출로서 구현될 수도 있다. 이것은 RAM의 사용을 감소시키지만, 대략 크기 정도에 의해 처리 시간을 증가시킨다.
단계 102에서, 처리되지 않은 텍스트가 도입된다. 단계 104에서, 함수 호출로서 보다는 스태틱 테이블로서 tbox를 구현하는 시스템들에 있어서, 스태틱 tbox 테이블이 도출된다. tbox 테이블은 다음과 같이 도출된다:
범위 0≤z≤256의 각 z에 대해,
tbox(z)=C(((C(((C(((C((z XOR k0)+k1)+z) XOR k2)+k3)+z) XOR k4)+k5)+z) XOR k6)+k7)+z,
삭제
여기서, "+"는 모듈로(modulo) 256 가산을 나타내고, "XOX"는 비트와이즈 불(boolean) 배타적-OR 연산자이고, "z"는 함수 인수이고, k0,..,k7은 CMEA 키의 8 옥텟들을 포함하고, C()는 CAVE(Cellular Authentication, Voice Privacy and Encryption) 8-비트 테이블 룩업의 결과이다. 이하에 설명되는 강화들이 없을 경우, tbox 함수는 이 기술분야에서 잘 알려져 있다. 그러나, 이하의 도 2 내지 도 5와 관련하여 설명되는 강화들은 tbox 함수로 하여금 상당히 증가된 정도의 보안을 제공할 수 있게 한다.
CMEA는 3개의 연속하는 스테이지들을 포함하며, 스테이지들 각각은 데이터 버퍼의 바이트 스트링(string)을 변경한다. 단계 106, 단계 108 및 단계 110에서, CMEA 처리의 제 1, 제 2 및 제 3 스테이지들은 본 명세서에 기재된 것과 같이 각각 수행된다. b(i)로 지정된 각각의 바이트를 갖고 범위 0≤i≤d의 정수 i에 대해, d 바이트 길이의 데이터 버퍼는 3개의 스테이지들에서 암호화된다.
CMEA의 제 1 스테이지(I)는 다음과 같다:
1. 변수 z를 0으로 초기화,
2. 범위 0≤i≤d 의 i의 연속하는 정수 값들에 대해,
b. k=TBOX(q)에 의해 변수 k를 형성,
c. b(i)=b(i) + k mod 256으로 b(i)를 갱신,
d. z=b(i)+z mod 256으로 z를 갱신.
CMEA의 제 2 스테이지(II)는 다음과 같다:
CMEA의 최종 제 3 스테이지(III)는 제 1 스테이지의 역인 암호해독하는 스테이지이다:
1. 변수 z를 0으로 초기화,
2. 범위 0≤i≤d의 i의 연속하는 정수 값들에 대해,
b. k=TBOX(q)에 의해 변수 k를 형성,
c. z=b(i)+z mod 256으로 z를 갱신,
d. b(i)=b(i) - k mod 256으로 b(i)를 갱신.
단계 112에서, 최종 처리된 출력이 제공된다.
상술된 CMEA 처리는 자기-반전이다. 즉, 동일한 순서로 적용된 동일한 단계들이 평문을 암호화하고 암호문을 암호해독하기 위해 사용된다. 그러므로, 암호화 또는 암호해독이 실행되고 있는지의 여부를 판정할 필요가 없다. 불행하게도, 상술된 CMEA 처리는 호를 위해 사용된 CMEA 키의 복원을 허용하는 공격을 받을 수 있다는 것이 밝혀졌다.
고객 정보에 부가적인 보안을 제공하기 위해, 본 발명에 따른 암호화 시스템은 인볼룬터리 룩업 테이블을 사용하는 강화된 tbox 함수를 사용하는 CMEA 반복을 사용한다. 또한, 암호화 시스템은 시크리트 오프셋들에 의해 tbox 함수에 대한 입력들을 치환함으로써 tbox 함수의 사용을 개선시킨다. 보가적인 보안은 CMEA 반복 전후에 메시지에 변환들을 적용함으로써 제공된다.
도 2는 본 발명에 따른 강화된 ECMEA 암호화/암호해독 처리를 도시한 플로챠트이다.
단계 202에서, 처리되지 않은 메시지가 암호화/암호해독 처리로 도입된다. 처리되지 않은 메시지는 송신을 위해 암호화될 평문 또는 암호해독될 수신된 암호화 메시지일 수도 있다. 처리되지 않은 메시지는 바람직하게는 처리를 위해 데이터 버퍼에 저장될 수도 있다. 단계 204에서, 함수 호출로서보다는 스태틱 테이블로서 tbox를 구현하는 시스템에 있어서, 스태틱 tbox 테이블이 도출된다. 단계 206에서, 시크리트 오프셋들을 발생하는데 사용하기 위해 시크리트 8비트 값들 K0 내지 K3 의 세트가 발생되고, 오프셋들은 계산된다. 시크리트 값들 K0 내지 K3 각각은 바람직하게 8비트 값이다. 모든 시크리트 값 K0 내지 K3은 바람직하게 각각의 무선 전화 호를 위해 발생되고, 바람직하게는 호 전체에 걸쳐 일정하다. 제 1 및 제 2 오프셋들은 다음 식을 사용하여 발생된다:
여기서, K0 내지 K3은 상기와 같이 정의되고, CS는 암호동기 값이다. CSn 값은 n번째 메시지를 위한 외부 값이다. CSn 값은 8비트를 포함하고, 바람직하게는 2진수로서 구현된다. offset1과 offset2는 각각 8비트값들이다.
단계 208에서, 제 1 변환 메시지를 생성하기 위해 제 1 및 제 2 시크리트 오프셋들을 사용하여, 처리되지 않은 메시지에 대해 변환이 수행된다. 변환의 상세사항들은 도 3의 설명과 관련하여 이하에서 설명될 것이다.
단계 210에서, 제 1 변환 메시지에는, 중간 암호문 메시지를 생성하기 위해 CMEA 키를 사용하여 CMEA 처리 반복이 행해진다. CMEA 함수는 강화된 tbox 함수를 포함하고, 이 함수는 각 옥텟의 인볼룬터리 룩업을 수행하고 다음 식에 의해 주어진다.
tbox(z)=I(I(I(I(I(I(I(I(I(I(I(I(I(I(z+k0) XOR k1)+k2) XOR k3)
+k4) XOR k5)+k6) XOR k7)-k6) XOR k5)-k4) XOR k3)-k2) XOR k1)-k0
여기서, "+"는 모듈로 256 가산을 나타내고,
"-"는 모듈로 256 감산을 나타내고,
"XOR"은 XOR 함수를 나타내고,
"z"는 함수 인수이고,
k0,. .,k7은 ECMEA 키의 8 옥텟들이고,
I()는 공지의 ibox 8비트 테이블 룩업의 결과이다. ibox 테이블은 8비트 바이트들로의 8비트 바이트의 인볼룬터리 맵핑을 행하기 위해 선택된 엔트리들을 갖는 인볼룬터리 룩업 테이블이다. ibox 테이블의 바람직한 예는 다음과 같다:
여기서, 엔트리들은 16진 포맷이다. ibox 테이블 엔트리들은 0x00 로부터 0xff까지 인덱스된다. 이것은 십진법 0 내지 255로 변환된다. 상기 테이블에 있어서, 제 1 행의 첫 번째 엔트리는 0x00으로 인덱스되고, 제 1 행의 8번째 엔트리는 0x07로 인덱스되고, 제 2 행의 첫 번째 엔트리는 0x08로 인덱스되고, 제 2 행의 8번째 엔트리는 0x0f으로 인덱스되고, 이와 같이 계속된다. 테이블이 인볼룬터리 룩업을 제공하는 테이블 검사로부터 명백하다. 즉, ibox(ibox((z))=z이다. 예를 들면, ibox(0x00)=0xa2이다. 0xa2로 인덱스된 엔트리를 보면, ibox(0xa2)=0x00인 것을 알 수 있다. 강화된 tbox 함수는 도 1의 설명과 관련하여 위에서 기술된 TBOX 함수에 대해 치환된다.
보안을 더욱 강화하기 위해, tbox 함수에 대한 입력들은 제 1 또는 제 2 시크리트 오프셋 중 하나를 사용하여 치환된다. 각 tbox 함수 입력은 치환 결과를 생성하기 위해 치환된다. tbox 함수 입력이 x로 정의되면, 예를 들면, 치환 결과는 (xoffset1)의 값이다. 치환 결과에는 tbox 함수가 적용된다. 그러므로, 각 tbox 입력 x에 대해, 사용된 함수는 tbox(xoffset1)이다. tbox 입력들의 치환은 tbox 엔트리들의 위치가 각 메시지와 함께 이동되도록 하여, 공격을 더욱 곤란하게 한다. 단계 212에서, 중간 암호문은 제 2 변환되어 최종 처리된 텍스트를 생성한다. 제 1 및 제 2 오프셋들이 제 2 변환에 대해서와는 반대인 것을 제외하고는, 제 2 변환은 제 1 변환과 동일하다. 즉, 제 1 오프셋이 제 1 변환에 사용되는 경우, 제 2 오프셋은 제 2 변환에 사용되고, 제 2 오프셋이 제 1 변환에 사용되는 경우, 제 1 오프셋은 제 2 변환에 사용된다. 제 2 변환은 도 4와 관련하여 이하에 설명된다.
도 3은 도 2에 도시된 포워드 ECMEA 처리(200)에서 수행된 제 1 변환(208)의 단계들을 상세히 설명한 플로챠트이다. 단계 304 내지 단계 308은 처리되지 않은 메시지의 각 옥텟 n에 대해 수행되며, 여기서, n=0 내지 n=nmax-1이고, nmax는 메시지의 옥텟들의 수이다. 단계 302에서, n은 0으로 설정된다. 단계 304에서, 다음 수식을 사용하여 옥텟 n과 그 위의 옥텟 사이에서 비트 교환이 행해진다:
만약 n〈nmax-1이면,
여기서, j는 임시 변수이고, On은 처리되지 메시지의 n번째 옥텟이고, AND는 비트와이즈 불리언 AND 연산자이다.
단계 306에서, 피드백을 갖는 인볼룬터리 룩업이 다음 수식에 따라 행해진다.
단계 306에서, 피드백을 갖는 인볼룬터리 룩업이 다음 수식에 따라 행해진다.
만약 n〈nmax-1이면,
만약 n=nmax-1이면,
단계 308에서, 랜덤 바이트 치환이 수행된다. 즉, 옥텟이 다음 수식에 따라 그 아래의 랜덤 옥텟과 교환되어도 된다:
만약 n〉0이면:
만약 n〈nmax-1이면,
만약 n=nmax-1이면,
j=((n+1)*j)>>8;
z=Oj
Oj=On
On=z
여기서 j와 z는 버퍼 변수들이고, *은 승산을 나타내고, >>8은 8비트의 우측 이동을 나타낸다.
단계 310에서 n이 증분된다. 단계 312에서, n이 nmax와 비교된다. n < nmax이면 제어는 단계 304로 되돌아간다. 만약 n≥nmax이면, 제어는 단계 314로 이동하고 제 1 변환 단계가 완료된다.
도 4는 도 2에 도시된 포워드 ECMEA 처리(200)에서 수행된 제 2 변환(212)의 단계들을 상세히 도시한 플로챠트이다. 단계 404 내지 단계 408은 중간 암호문 메시지의 각 옥텟 n에 대해 수행되며, 여기서, n=0 내지 n=nmax-1, nmax은 메시지의 옥텟들의 수이다. 단계 404에서, 다음 수식을 사용해서 옥텟 n과 그 위의 옥텟 사이에서 비트 교환이 수행된다:
만약 n < nmax-1이면,
여기서, j는 임시 변수이고, On은 중간 암호문 메시지의 n번째 옥텟이다.
단계 406에서, 피드백을 갖는 인볼룬터리 룩업이 다음 수식에 따라 수행된다:
만약 n < nmax-1이면,
만약 n=nmax-1이면,
단계 408에서, 랜덤 바이트 치환이 수행된다. 즉, 옥텟이 다음과 같은 식에 따라 그 아래의 랜덤 옥텟과 교환되어도 된다:
만약 n > 0이면:
만약 n < nmax-1이면,
만약 n=nmax-1이면,
j=((n+1)*j) >> 8
z=Oj
Oj=On
On=z,
여기서, j와 z는 임시 버퍼 변수들이고, *은 승산을 나타내고, >> 8은 8비트의 우측 이동을 나타낸다.
단계 410에서, n이 증분된다. 단계 412에서, n이 nmax과 비교된다. n < nmax이면 제어는 단계 404로 되돌아간다. 만약 n≥nmax이면, 제어는 단계 414로 이동하고 제 2 변환 단계가 완료된다.
도 5는, 도 2에 도시된 포워드 ECMEA 처리(200)에 의해 암호화된 텍스트를 암호해독하거나, 도 2에 도시된 포워드 ECMEA 처리(200)에 의해 암호해독하기 위한 텍스트를 암호화하는데 적합한 역 ECMEA 처리(500)를 도시하는 플로챠트이다. 포워드 및 역변환들에서, 제 1 오프셋이 제 2 오프셋으로 대체되고, 제 2 오프셋이 제 1 오프셋으로 대체되는 것을 제외하고는, 역 ECMEA 처리(500)는 포워드 ECMEA 처리(200)와 동일하다.
단계 502에서, 처리되지 않은 메시지가 암호화/암호해독 처리에 도입된다. 단계 504에서, 함수 호출로서보다는 스태틱 테이블로서 tbox를 구현하는 시스템들에서, 스태틱 tbox 테이블이 도출된다. 단계 506에서, 시크리트 오프셋들을 발생하는데 사용하기 위해 시크리트 8비트 값들 K0 내지 K3의 세트가 발생되고, 오프셋들이 계산된다. 시크리트 값들의 세트는 이 기술분야에서 통상적으로 공지된 다수의 기술들 중 어느 것을 사용하여 발생될 수도 있다. 모든 시크리트 값들 K0 내지 K3은 바람직하게 각각의 무선 전화 호를 위해 발생되고, 바람직하게 호 전체에 걸쳐 일정하다. 제 1 및 제 2 오프셋들은 다음 식을 사용하여 발생된다:
여기서, K0 내지 K3은 상기와 같이 정의되고, CS는 암호동기 값이다. CSn 값은 n번째 메시지를 위한 외부 값이다. CSn 값은 8비트들을 포함하고, 바람직하게는 2진 카운터로서 구현된다. offset1과 offset2은 각각 8비트값들이다.
단계 508에서, 제 1 역변환된 메시지를 생성하기 위해 제 1 및 제 2 시크리트 오프셋들을 사용하여, 처리되지 않은 메시지에 대해 제 1 역변환이 수행된다. 변환의 상세사항들은, 역변환에서 수행된 단계들이 그 변환에 대해 역순이고 메시지 옥텟들이 역순으로 처리되는 것을 제외하고는, 도 3의 설명과 관련하여 이상에서 설명된 것과 유사하다. 제 1 역변환의 상세사항들은 도 6의 설명과 관련하여 이하에서 설명되며, 제 2 역변환의 상세사항들은 도 7의 설명과 관련하여 이하에 설명된다.
단계 510에서, 제 1 역변환된 메시지에는, 역 중간 암호문 메시지를 생성하기 위해, CMEA 키를 사용하여 CMEA 처리의 반복이 행해진다. CMEA 함수는 강화된 tbox 함수를 포함하고, 이 함수는 각 옥텟의 인볼룬터리 룩업을 행하고, 다음 식에 의해 주어진다.
tbox(z)=I(I(I(I(I(I(I(I(I(I(I(I(I(I(z+k0)XOR k1)+k2) XOR k3)
+k4) XOR k5)+k6) XOR k7)-k6) XOR k5)-k4) XOR k3)-k2) XOR k1)-k0
여기서, "+"는 모듈로 256 가산을 나타내고,
"-"는 모듈로 256 감산을 나타내고,
"XOR"은 XOR 함수를 나타내고,
"z"는 함수 인수이고,
k0,..,k7는 ECMEA 키의 8옥텟들이고,
I()는 공지의 ibox 8비트 테이블 룩업의 결과이다. ibox 테이블은 8비트 바이트들로의 8비트 바이트들의 인볼룬터리 맵핑을 수행하기 위해 선택된 엔트리들을 갖는 인볼룬터리 룩업 테이블이다.
I()는 공지의 ibox 8비트 테이블 룩업의 결과이다. ibox 테이블은 8비트 바이트들로의 8비트 바이트들의 인볼룬터리 맵핑을 수행하기 위해 선택된 엔트리들을 갖는 인볼룬터리 룩업 테이블이다.
삭제
ibox 테이블은 8비트 바이트들로의 8비트 바이트들의 인볼룬터리 맵핑을 수행하기 위해 선택된 엔트리들을 갖는 인볼룬터리 룩업 테이블이다. ibox 테이블의 바람직한 예는 다음과 같다:
여기서, 엔트리들은 16진 포맷이다. ibox 테이블 엔트리들은 0x00으로부터 0xff까지 인덱스된다. 이것은 십진법 0 내지 255로 변환된다. 상기 테이블에 있어서, 제 1 행의 첫 번째 엔트리는 0x00으로 인덱스되고, 제 1 행의 8번째 엔트리는 0x07로 인덱스되고, 제 2행의 첫 번째 엔트리는 0x08로 인덱스되고, 제 2 행의 8번째 엔트리는 0x0f로 인덱스되고, 이와 같이 계속된다. 이것은 인볼룬터리 룩업을 제공한다는 것은 테이블의 검사로부터 명백하다. 즉, ibox(ibox((z))=z이다. 예를 들면, ibox(0x00)=0xa2이다. 0xa2로 인덱스된 엔트리를 보면, ibox(0xa2)=0x00인 것을 알 수 있다. 강화된 tbox 함수는 도 1의 설명과 관련하여 위에서 기술된 TBOX 함수로 대체된다.
보안을 더욱 강화하기 위해, tbox 함수에 대한 입력들은 제 1 시크리트 오프셋을 사용하여 치환된다. 각 tbox 함수 입력은 치환 결과를 생성하기 위해 치환된다. tbox 함수 입력이 x로 정의되면, 예를 들면, 치환 결과는 (xoffset1)의 값이다. 치환 결과에는 tbox 함수가 적용된다. 이로써, 각 tbox 입력 x에 대해, 사용된 함수는 tbox(xoffset1)이다. tbox 입력들의 치환은 tbox 엔트리들의 위치가 각 메시지에 의해 이동되도록 하여, 공격을 더욱 곤란하게 한다. 단계 512에서, 역 중간 암호문은 제 2 역변환되어 최종 처리된 텍스트를 생성한다. 제 1 및 제 2 오프셋들이 제 1 역변환에 대해 제 2 역변환으로 대체되는 것을 제외하고는, 제 2 역변환은 제 1 변환과 동일하다. 즉, 제 1 오프셋이 제 1 역변환을 위해 사용되는 경우, 제 2 오프셋은 제 2 역변환을 위해 사용되고, 제 2 오프셋이 제 1 역변환을 위해 사용되는 경우, 제 1 오프셋은 제 2 역변환을 위해 사용된다.
도 6은 도 5에 도시된 역 ECMEA 처리(500)에서 수행된 제 1 역변환(508)의 단계들을 상세히 설명한 플로챠트이다. 단계 604 내지 단계 608가 처리되지 않은 메시지의 각 옥텟 n에 대해 수행되고, 여기서, n=nmax-1 내지 n=0이고, nmax는 메시지의 옥텟들의 수이다.
단계 602에서, n은 nmax-1로 설정된다. 단계 604에서, 역 랜덤 바이트 치환이 수행된다. 즉, 옥텟은 다음 식에 따라 그 아래의 랜덤 옥텟과 교활될 수도 있다:
만약 n > 0이면,
만약 n < nmax-1이면,
만약 n=nmax-1이면,
j=((n+1)*j) >> 8
z=Oj
Oj=On
On=z
여기서, On은 처리되지 않은 메시지의 n번째 옥텟이고, j와 z는 임시 변수들이고, *는 승산을 나타내고, >> 8은 8비트들의 우측 이동을 나타낸다.
단계 604에서, 다음과 같은 식에 따라, 피드백을 갖는 역 인볼룬터리 룩업이 수행된다.
만약 n < nmax-1이면,
만약 n=nmax-1이면,
단계 606에서, 다음 식을 사용하여 옥텟 n과 그 위의 옥텟 사이에서 역 비트 교환이 수행된다:
만약 n < nmax-1이면:
여기서, j는 임시 변수이다.
단계 610에서, n이 감소된다. 단계 612에서, n은 0과 비교된다. n≥0이면, 제어는 단계 604로 되돌아 간다. n<0이면, 제어는 단계 614로 이동하고 제 1 역변환 단계가 완료된다.
도 7은 도 5에 도시된 역 ECMEA 처리(500)에서 수행된 제 2 역변환(512)의 단계들을 상세히 도시한 플로챠트이다. 단계 704 내지 단계 708은 중간 암호문 메시지의 각 옥텟 n에 대해 수행되고, 여기서, n=nmax-1 내지 n=0이고, nmax는 메시지의 옥텟들의 수이다.
단계 702에서, n은 nmax-1로 설정된다. 단계 704에서, 역 랜덤 바이트 치환이 수행된다. 즉, 옥텟이 다음 식에 따라 그 아래의 랜덤 옥텟과 교환될 수도 있다:
만약 n > 0이면:
만약 n < nmax-1이면,
만약 n=nmax-1이면,
j=((n+1)*j) >> 8;
z=Oj
Oj=On
On=z,
여기서, On은 중간 암호문 메시지의 n번째 옥텟이고, j와 z는 임시 변수들이고, *은 승산을 나타내고, >> 8은 8비트들의 우측 이동을 나타낸다.
단계 706에서, 피드백을 갖는 역 인볼룬터리 룩업이 다음과 같은 식에 따라 수행된다:
만약 n < nmax-1이면,
만약 n=nmax-1이면,
단계 708에서, 다음 식을 사용하여 옥텟 n과 그 위의 옥텟 사이에서 역 비트 교환이 수행된다:
만약 n < nmax-1이면:
여기서, j는 임시 변수이다.
단계 710에서, n이 감소된다. 단계 712에서, n은 0과 비교된다. n≥0이면, 제어는 단계 704로 되돌아 간다. n<0이면, 제어는 단계 714로 이동하고 제 2 역변환 단계가 완료된다.
도 8은 핸드셋(900)과 기지국(1000)을 구비한 무선 전화 시스템(800)을 도시한 도면이다. 핸드셋(900)과 기지국(1000) 모두는 본 발명에 따라 메시지 송신 및 처리를 수행하기 위해 갖추어졌다. 전화 핸드셋(900)은 송수신기(902), 입력/출력(I/O) 인터페이스(904), 암호화/암호해독 처리기(906) 및 키 발생기(908)를 구비한다. 키 발생기(908)는 키 발생을 위해 저장된 시크리트 데이터를 수신하여 사용한다. 저장된 시크리트 데이터는 바람직하게 EEPROM 또는 플래시메모리와 같은 비휘발성 메모리(910) 에 저장된다. 또한, 키 발생기는 시크리트 오프셋들을 생성하기 위해 사용되는 시크리트 값들 K0 내지 K3을 생성한다. 키 발생기는 이 기술분야에서 공지된 다수의 기술들 중 어느 것을 사용하여 시크리트 값들 K0 내지 K3을 발생하도록 설계될 수도 있다. 시크리트 값들 K0 내지 K3의 세트는 바람직하게 각각의 무선 전화 호를 위해 발생되고, 시크리트 값들 K0 내지 K3은 바람직하게는 호 전체에 걸쳐 일정하게 유지된다. 키 발생기(908)는 발생된 키들과 시크리트 값들 K0 내지 K3을 메모리(912)에 저장한다. 또한, 암호화/암호해독 처리기는 키 발생기(908)로부터 수신된 키들, 시크리트 오프셋들의 생성에 사용되는 초기화 값, 암호문 메시지 옥텟들 및 스태틱 테이블로서 tbox 함수를 구현하고자 할 경우 발생 및 사용될 수 있는 스태틱 tbox 테이블을 저장하기 위한 메모리(914)를 구비한다. 또, 전화 핸드셋(900)은 메시지 발생기(916)를 구비하고, 이 발생기는 암호화/암호해독 처리기(906)에 의해 암호화되고 송수신기(902)에 의해 송신될 메시지들을 발생한다.
내부적으로 발생된 메시지가 전화 핸드셋(900)에 의해 암호화되어 송신되는 경우, 메시지는 메시지 발생기(916)로부터 I/O 인터페이스(904)로 송신된다. I/O 인터페이스(904)는, 식별과 함께, 암호화/암호해독 처리기(906)에 메시지를 송신한다. 암호화/암호해독 처리기(906)는 키 발생기(908)로부터 키를 수신하고, 이때 키는 메시지를 암호화하기 위해 사용된다.
암호화/암호해독 처리기(906)가 메시지 발생기(916)로부터 평문 메시지를 수신할 때, 메시지에는, 도 2의 설명과 관련하여 위에서 설명한 바와 같이 포워드 ECMEA 처리가 행해진다. 포워드 ECMEA 처리는 제 1 변환, CMEA 처리의 반복 및 제 2 변환을 포함한다. 도 2에 설명한 것과 같이 ECMEA 처리를 사용함으로써 tbox 엔트리들의 위치가 각 메시지에 의해서 뿐만 아니라 단일 메시지의 암호화의 각 반복에 대해서도 이동하게 한다.
포워드 ECMEA 처리의 완료시, 최종 암호문이 생성되어 메모리(914)에 저장되며, 또한 I/O 인터페이스(904)와 송신용 송수신기(902)로 라우팅된다.
암호화된 메시지가 암호해독을 위해 전화 핸드셋(900)에 의해 수신될 경우, 송수신기(902)는 메시지를 I/O 인터페이스(904)로 보낸다. I/O 인터페이스는 메시지를 암호화/암호해독 처리기(906)로 보낸다. 암호화/암호해독 처리기(906)는 키 발생기(908)로부터 키를 수신하고 도 2와 관련하여 위에서 설명된 포워드 ECMEA 처리를 사용하여 메시지를 암호해독한다. 전화 핸드셋(900)은 메시지들을 암호화 및 암호해독하기 위해 포워드 ECMEA 처리를 사용하고, 바람직하게는 도 5와 관련하여 설명된 것과 같이, 암호화 및 암호해독을 위해 역 ECMEA 처리를 사용하는 기지국(1000)과 통신한다. 기지국(1000)은 송수신기(1002), I/O 인터페이스(1004), 암호화/암호해독 처리기(1006), 키 발생기(1008), 비휘발성 메모리(1010), 메모리(1012), 메모리(1014) 및 메시지 발생기(1016)를 구비한다. 이 구성 요소들은 핸드셋(900)의 대응 구성 요소와 유사하지만, 역 ECMEA 처리를 구현하도록 구성된다. 따라서, 핸드셋(900)에 의해 암호화된 메시지는 기지국(1000)에 의해 암호해독되고, 기지국(1000)에 의해 암호화된 메시지는 핸드셋(900)에 의해 암호해독된다.
속도 요건들 및 메모리 제한들에 의존하여, 핸드셋(900) 또는 기지국(1000)은 tbox를 함수로서 또는 스태틱 테이블로서 구현되도록 설계될 수도 있다. 스태틱 테이블로서 tbox를 구현하는 것은 증가된 메모리를 필요로 하지만 보다 빠른 속도를 제공한다.
실질적으로 보안을 증가시키는 CMEA 처리에 대한 상기와 같은 강화는 처리 또는 시스템 자원들을 거의 증가시키지 않으므로, 무선 전화 시스템과 같은 환경에 사용하기 매우 적합하다. 이와 같은 시스템들에서의 이동 유닛들(mobile units)과 기지국들은 종종 한정된 처리 능력을 가진다.
본 발명은 현재 바람직한 실시예의 내용을 개시하였으나, 광범위한 다양한 구현이 상기 설명 및 다음의 청구의 범위와 일치되게 이 기술분야에서 숙련된 사람에 의해 사용될 수도 있다는 것을 알 수 있을 것이다.
Claims (18)
- 무선 전화 시스템에 사용되는 CMEA(Cellular Message Encryption Algorithm) 암호화 시스템에 사용하기 위한, 호(call)의 각 메시지에 대한 포워드 강화된(forward enhanced) CMEA 암호화 또는 암호해독 암호 처리 방법에 있어서:처리되지 않은 메시지 또는 암호화된 메시지를 도입하는 단계;하나 이상의 시크리트 오프셋들(secret offsets)을 생성하는 단계;제 1 변환된 메시지를 발생하기 위해 상기 처리되지 않은 메시지에 대해 제 1 변환을 수행하는 단계;중간 암호문 메시지를 발생하기 위해 상기 제 1 변환 메시지에 대해 상기 CMEA 처리를 반복적으로 수행하는 단계로서, 상기 CMEA 처리의 반복은 인볼룬터리 룩업(involutary lookup)을 사용하는 강화된 tbox 함수를 사용하고, 상기 강화된 tbox 함수에 대한 입력들은 치환(permutation) 결과를 발생하기 위해 하나 이상의 시크리트 오프셋들을 사용하여 치환되는, 상기 CMEA 처리를 반복적으로 수행하는 단계; 및최종 처리된 메시지를 발생하기 위해 상기 중간 암호문 메시지에 대해 제 2 변환을 수행하는 단계를 포함하는, 포워드 강화된 CMEA 암호화 또는 암호해독 암호 처리 방법.
- 제 1 항에 있어서,상기 하나 이상의 시크리트 오프셋들은 제 1 및 제 2 시크리트 오프셋을 포함하는, 포워드 강화된 CMEA 암호화 또는 암호해독 암호 처리 방법.
- 제 2 항에 있어서,상기 제 1 및 제 2 오프셋들 각각을 발생하는 단계는 복수의 시크리트 값들과 외부 값을 조합하는 단계를 포함하는, 포워드 강화된 CMEA 암호화 또는 암호해독 암호 처리 방법.
- 제 3 항에 있어서,상기 시크리트 값들은 각 오프셋에 대해 2개의 8 비트 값들을 포함하는, 포워드 강화된 CMEA 암호화 또는 암호해독 암호 처리 방법.
- 제 4 항에 있어서,상기 외부 값은 8비트 값인, 포워드 강화된 CMEA 암호화 또는 암호해독 암호 처리 방법.
- 제 6 항에 있어서,상기 제 1 변환은 비트 교환(bit trading), 피드백을 갖는 인볼룬터리 룩업 및 상기 처리되지 않은 메시지의 각 옥텟(octet)에 대한 랜덤 바이트 치환 단계들을 수행하는 것을 포함하고, 상기 비트 교환 및 랜덤 바이트 치환 단계들은 각각 상기 제 1 시크리트 오프셋을 사용하고, 피드백을 갖는 상기 인볼룬터리 룩업 단계는 제 1 및 제 2 시크리트 오프셋들 모두를 사용하는, 포워드 강화된 CMEA 암호화 또는 암호해독 암호 처리 방법.
- 제 7 항에 있어서,상기 제 2 변환은 비트 교환, 피드백을 갖는 인볼룬터리 룩업 및 상기 중간 암호문 메시지의 각 옥텟에 대한 랜덤 바이트 치환 단계들을 포함하고, 상기 비트 교환 및 랜덤 바이트 치환 단계들 각각은 상기 제 2 시크리트 오프셋을 사용하고, 피드백을 갖는 상기 인볼룬터리 룩업 단계는 상기 제 1 및 제 2 시크리트 오프셋들 모두를 사용하는, 포워드 강화된 CMEA 암호화 또는 암호해독 암호 처리 방법.
- 무선 전화 시스템에 사용되는 CMEA 암호화 시스템에 사용하기 위한, 호의 각 메시지에 대한 역 강화된 CMEA 암호처리 방법에 있어서:처리되지 않은 메시지 또는 암호화된 메시지를 도입하는 단계;하나 이상의 시크리트 오프셋들을 생성하는 단계;제 1 역변환된 메시지를 발생하기 위해 상기 처리되지 않은 메시지에 대해 제 1 역변환을 수행하는 단계;중간 암호문 메시지를 발생하기 위해 상기 제 1 역변환된 메시지에 대해 CMEA 처리를 반복적으로 수행하는 단계로서, 상기 CMEA 처리의 반복은 인볼룬터리 룩업을 사용하는 강화된 tbox 함수를 사용하고, 상기 강화된 tbox 함수에 대한 입력들은 치환 결과를 발생하기 위해 하나 이상의 시크리트 오프셋들을 사용하여 치환되는, 상기 CMEA 처리를 반복적으로 수행하는 단계; 및최종 처리된 메시지를 발생하기 위해 상기 중간 암호문 메시지에 대해 제 2 역변환을 수행하는 단계를 포함하는, 역 강화된 CMEA 암호 처리 방법.
- 제 9 항에 있어서,상기 하나 이상의 시크리트 오프셋들은 제 1 및 제 2 시크리트 오프셋을 포함하는, 역 강화된 CMEA 암호 처리 방법.
- 제 10 항에 있어서,제 1 및 제 2 오프셋들 각각을 발생하는 단계는 복수의 시크리트 값들과 외부 값을 조합하는 단계를 포함하는, 역 강화된 CMEA 암호 처리 방법.
- 제 11 항에 있어서,상기 시크리트 값들은 각 오프셋에 대해 2개의 8 비트 값들을 포함하는, 역 강화된 CMEA 암호 처리 방법.
- 제 12 항에 있어서,상기 외부 값은 8비트 값인, 역 강화된 CMEA 암호 처리 방법.
- 제 13 항에 있어서,
- 제 14 항에 있어서,제 1 역변환은 랜덤 바이트 치환, 피드백을 갖는 인볼룬터리 룩업 및 상기 처리되지 않은 메시지의 각 옥텟에 대한 비트 교환을 수행하는 단계들을 수행하는 것을 포함하고, 상기 비트 교환 및 랜덤 바이트 치환 단계들 각각은 상기 제 2 시크리트 오프셋을 사용하고, 피드백을 갖는 상기 인볼룬터리 룩업 단계는 상기 제 1 및 제 2 시크리트 오프셋들 모두를 사용하는, 역 강화된 CMEA 암호 처리 방법.
- 제 15 항에 있어서,제 2 역변환은 랜덤 바이트 치환의 실행, 피드백을 갖는 인볼룬터리 룩업 및 상기 중간 암호문 메시지의 각 옥텟에 대한 비트 교환 단계들을 수행하는 것을 포함하고, 상기 비트 교환 및 랜덤 바이트 치환 단계들 각각은 상기 제 1 시크리트 오프셋을 사용하고, 피드백을 갖는 상기 인볼룬터리 룩업 단계는 상기 제 1 및 제 2 시크리트 오프셋들 모두를 사용하는, 역 강화된 CMEA 암호 처리 방법.
- 메시지들을 안전하게 송신하기 위한 무선 핸드셋에 있어서:송수신기;입력/출력 인터페이스;호 동안 사용될 하나 이상의 키들을 발생하기 위한 키 발생기; 및암호화될 평문(plaintext) 또는 암호해독될 암호문로서의 메시지의 식별과 함께 암호화 또는 암호해독될 메시지를 입력/출력 인터페이스로부터 수신하고, 하나 이상의 시크리트 오프셋들에 의해 치환된 입력들을 갖는 강화된 tbox 함수를 포함하는 CMEA 반복과 제 1 및 제 2 변환들을 포함하는 포워드 강화된 CMEA 처리를 사용하여 상기 메시지를 처리하기 위한 암호처리기를 포함하고,상기 강화된 tbox 함수는 인볼룬터리 룩업 테이블을 사용하고, 상기 암호화/암호해독 처리기는 또한 암호화 또는 암호해독된 메시지를 부가의 라우팅(routing)을 위해 상기 입력/출력 인터페이스로 되돌리도록 동작하는, 무선 핸드셋.
- 메시지들을 안전하게 송신하기 위한 무선 기지국에 있어서:송수신기;입력/출력 인터페이스;호 동안 사용될 하나 이상의 키들을 발생하기 위한 키 발생기; 및암호화될 평문 또는 암호해독될 암호문으로서의 상기 메시지의 식별과 함께 암호화 또는 암호해독될 메시지를 상기 입력/출력 인터페이스로부터 수신하고, 하나 이상의 시크리트 오프셋들에 의해 치환된 입력들을 갖는 강화된 tbox 함수를 포함하는 CMEA 반복과 제 1 및 제 2 역변환들을 포함하는 역 강화된 CMEA 처리를 사용하여 상기 메시지를 처리하는 암호 처리기를 포함하고,상기 강화된 tbox 함수는 인볼룬터리 룩업 테이블을 사용하고, 상기 암호화/암호해독 처리기는 또한 상기 암호화 또는 암호해독된 메시지를 부가의 라우팅을 위해 상기 입력/출력 인터페이스로 되돌리도록 동작하는, 무선 기지국.
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US5341297P | 1997-07-22 | 1997-07-22 | |
US60/053,412 | 1997-07-22 | ||
US5401897P | 1997-07-29 | 1997-07-29 | |
US60/054,018 | 1997-07-29 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20000068613A KR20000068613A (ko) | 2000-11-25 |
KR100591870B1 true KR100591870B1 (ko) | 2006-06-23 |
Family
ID=26731838
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019997002449A KR100591870B1 (ko) | 1997-07-22 | 1998-07-22 | 인볼룬터리 룩업을 사용하고 변환들에 의해 선행 및 추종되는 cmea 반복을 포함하는 강화된 cmea를 위한 방법 및 장치 |
Country Status (8)
Country | Link |
---|---|
EP (1) | EP0927473B1 (ko) |
JP (2) | JP3478839B2 (ko) |
KR (1) | KR100591870B1 (ko) |
CN (1) | CN1237299A (ko) |
BR (1) | BR9806074A (ko) |
CA (1) | CA2266683A1 (ko) |
DE (1) | DE69827917T2 (ko) |
WO (1) | WO1999005817A1 (ko) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102019108178B3 (de) | 2019-03-29 | 2020-06-18 | Tribe Technologies Gmbh | Verfahren und Vorrichtung zur automatischen Überwachung von Telefonaten |
Family Cites Families (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 |
AU4373493A (en) * | 1992-05-15 | 1993-12-13 | Tecsec, Incorporated | Voice and data encryption device |
US5594797A (en) * | 1995-02-22 | 1997-01-14 | Nokia Mobile Phones | Variable security level encryption |
-
1998
- 1998-07-22 BR BR9806074-0A patent/BR9806074A/pt unknown
- 1998-07-22 EP EP98936990A patent/EP0927473B1/en not_active Expired - Lifetime
- 1998-07-22 CA CA002266683A patent/CA2266683A1/en not_active Abandoned
- 1998-07-22 WO PCT/US1998/015196 patent/WO1999005817A1/en active IP Right Grant
- 1998-07-22 KR KR1019997002449A patent/KR100591870B1/ko not_active IP Right Cessation
- 1998-07-22 DE DE69827917T patent/DE69827917T2/de not_active Expired - Lifetime
- 1998-07-22 CN CN98801188A patent/CN1237299A/zh active Pending
- 1998-07-22 JP JP51003799A patent/JP3478839B2/ja not_active Expired - Fee Related
-
2002
- 2002-10-29 JP JP2002313581A patent/JP2003186395A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
BR9806074A (pt) | 2000-10-31 |
DE69827917T2 (de) | 2005-12-22 |
KR20000068613A (ko) | 2000-11-25 |
JP2003186395A (ja) | 2003-07-04 |
DE69827917D1 (de) | 2005-01-05 |
CA2266683A1 (en) | 1999-02-04 |
EP0927473B1 (en) | 2004-12-01 |
JP2000508502A (ja) | 2000-07-04 |
EP0927473A1 (en) | 1999-07-07 |
WO1999005817A1 (en) | 1999-02-04 |
JP3478839B2 (ja) | 2003-12-15 |
CN1237299A (zh) | 1999-12-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0966809B1 (en) | Method of and apparatus for encrypting signals for transmission | |
KR100573180B1 (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 | |
KR100591870B1 (ko) | 인볼룬터리 룩업을 사용하고 변환들에 의해 선행 및 추종되는 cmea 반복을 포함하는 강화된 cmea를 위한 방법 및 장치 | |
US6418224B1 (en) | Methods and apparatus for self-inverting multiple-iteration CMEA crypto-processing for improved security for wireless telephone messages | |
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) | 무선 전화 메시지들에 대한 보안성을 개선하기 위해 다수의 씨엠이에이 반복을 사용하는 암호화 및 해독화방법 및 무선 전화 | |
CA2603161C (en) | Method of and apparatus for encrypting signals for transmission | |
MXPA98010503A (en) | Methods and apparatus for multiple-iteration cmea encryption and decryption for improved security for wireless telephone messages | |
MXPA98010502A (en) | Methods and apparatus for enhanced security expansion of a secret key into a lookup table for improved security for wireless telephone messages |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20130607 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20140610 Year of fee payment: 9 |
|
FPAY | Annual fee payment |
Payment date: 20150605 Year of fee payment: 10 |
|
FPAY | Annual fee payment |
Payment date: 20160603 Year of fee payment: 11 |
|
LAPS | Lapse due to unpaid annual fee |