KR20150119338A - 캐리리스 곱셈을 이용하여 컴퓨팅된 유니버셜 해시 함수를 이용한 메시지 인증 - Google Patents

캐리리스 곱셈을 이용하여 컴퓨팅된 유니버셜 해시 함수를 이용한 메시지 인증 Download PDF

Info

Publication number
KR20150119338A
KR20150119338A KR1020157025337A KR20157025337A KR20150119338A KR 20150119338 A KR20150119338 A KR 20150119338A KR 1020157025337 A KR1020157025337 A KR 1020157025337A KR 20157025337 A KR20157025337 A KR 20157025337A KR 20150119338 A KR20150119338 A KR 20150119338A
Authority
KR
South Korea
Prior art keywords
message
bit word
wireless device
authenticate
bit
Prior art date
Application number
KR1020157025337A
Other languages
English (en)
Other versions
KR101615289B1 (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 KR20150119338A publication Critical patent/KR20150119338A/ko
Application granted granted Critical
Publication of KR101615289B1 publication Critical patent/KR101615289B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3242Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/10Integrity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/10Integrity
    • H04W12/106Packet or message integrity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/80Wireless
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/02Terminal devices

Landscapes

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

Abstract

무선 디바이스에 의해 메시지를 인증하기 위한 방법이 설명된다. 무선 디바이스는 입력 메시지를 획득한다. 무선 디바이스는 키스트림을 발생시킨다. 무선 디바이스는, 키스트림 및 유니버셜 해시 함수를 이용하여 메시지 인증 코드를 컴퓨팅한다. 유니버셜 해시 함수는 캐리리스 곱셈을 이용하여 컴퓨팅된다.

Description

캐리리스 곱셈을 이용하여 컴퓨팅된 유니버셜 해시 함수를 이용한 메시지 인증{MESSAGE AUTHENTICATION USING A UNIVERSAL HASH FUNCTION COMPUTED WITH CARRYLESS MULTIPLICATION}
[0001] 본 개시내용은 일반적으로, 무선 통신 시스템들에 관한 것이다. 더 구체적으로, 본 개시내용은, 캐리리스 곱셈(carryless multiplication)을 이용한 유니버셜 해시 함수(universal hash function)를 이용하여 메시지를 인증하기 위한 시스템들 및 방법들에 관한 것이다.
[0002] 무선 통신 시스템들은 음성, 비디오, 데이터 등과 같은 다양한 유형들의 통신 콘텐츠를 제공하기 위해 폭넓게 전개된다. 이러한 시스템들은 하나 또는 둘 이상의 기지국들과의 다수의 모바일 디바이스들의 동시적인 통신을 지원할 수 있는 다중-액세스 시스템들일 수 있다.
[0003] 무선 통신들에 부가적인 보안을 제공하기 위해, 암호화(encryption) 기법들이 이용될 수 있다. 암호화는, 도청자(eavesdropper)들/해커들이 메시지들을 판독하고 그리고/또는 메시지를 변경하는 것을 방지하기 위해 메시지들을 인코딩하는 프로세스이다. 인가된 당사자(authorized party)만이 암호화된 메시지들을 암호해제(decryption) 알고리즘을 이용하여 디코딩할 수 있다. 암호화/암호해제 기법들을 이용할지라도, 메시지의 무결성(integrity) 및 진정성(authenticity)을 보호하기 위해 다른 기법들이 필요할 수 있다. 그 이득들은, 암호화된 메시지들을 인증(authenticating)하기 위한 개선된 방법들에 의해 실현될 수 있다.
[0004] 도 1은 다수의 무선 디바이스들을 갖는 무선 통신 시스템을 도시하고;
[0005] 도 2는 전송 무선 디바이스와 수신 무선 디바이스 사이의 인증 절차들을 예시하는 블록도이고;
[0006] 도 3은 전송 메시지에 인증을 제공하기 위한 방법의 흐름도이고;
[0007] 도 4는 수신된 메시지를 인증하기 위한 방법의 흐름도이고;
[0008] 도 5는 본 시스템들 및 방법들에서 사용하기 위한 128-EIA3 모듈을 예시하는 블록도이고;
[0009] 도 6은 입력 메시지(M)를 이용하여 메시지 인증 코드(MAC; message authentication code)를 컴퓨팅하기 위한 방법의 흐름도이고;
[0010] 도 7은 캐리리스 곱셈(carryless multiplication)을 이용한 메시지 인증 코드(MAC)의 계산을 예시하는 블록도이고;
[0011] 도 8은 무선 통신 디바이스 내에 포함될 수 있는 특정 컴포넌트들을 예시하고; 그리고
[0012] 도 9는 기지국 내에 포함될 수 있는 특정 컴포넌트들을 예시한다.
[0013] 메시지 인증은, 무선으로 전송되는 메시지에 대한 무결성 및 진정성 보장들을 제공하기 위해 무선 통신들에서 이용될 수 있다. 이러한 메시지 인증은, 유니버셜 해시 함수를 이용하여 메시지 인증 코드(MAC)를 발생시키는 것을 포함할 수 있다. 유니버셜 해시 함수는 입력 메시지를 인증하기 위해 (키스트림(keystream)에서) 키의 역할을 한다. 그러나, 이러한 인증은 상당한 수의 기계 명령(machine instruction)들을 요구할 수 있다. 유니버셜 해시 함수를 컴퓨팅하기 위해 캐리리스 곱셈을 이용함으로써, 요구되는 기계 명령들의 수가 크게 감소될 수 있어서, 더 효율적인 연산들을 초래한다. 이는 결국, 무결성 알고리즘의 처리량을 개선할 수 있다. 부가하여, 캐리리스 곱셈을 이용하여 유니버셜 해시 함수를 컴퓨팅하는 것은, 메시지 비트 값들과 독립적인 벽시계 시간(wall clock time)으로 실행될 수 있다.
[0014] 다음의 설명에서, 간결성 및 명료성의 이유들로, 국제 전기 통신 연합(ITU; International Telecommunication Union)에 의한 3세대 파트너십 프로젝트(3GPP; 3rd Generation Partnership Project) 하에서 공표된 바와 같은, LTE 표준들과 연관된 용어가 이용된다. 본 발명이 다른 기술들, 이를테면, 코드 분할 다중 액세스(CDMA), 시분할 다중 액세스(TDMA), 주파수 분할 다중 액세스(FDMA), 직교 주파수 분할 다중 액세스(OFDMA) 등과 관련된 기술들 및 연관된 표준들에 또한 적용가능함이 유의되어야 한다. 상이한 기술들과 관련하여 용어들은 바뀔 수 있다. 예를 들어, 고려되는 기술에 따라, 무선 디바이스는 때때로, 몇 개만 예를 들자면, 사용자 장비, 모바일 스테이션, 모바일 단말, 가입자 유닛, 액세스 단말 등으로 지칭될 수 있다. 마찬가지로, 기지국은 때때로, 액세스 포인트, 노드 B, 이볼브드 노드 B 등으로 지칭될 수 있다. 여기서, 적용가능한 경우, 상이한 용어들이 상이한 기술들에 적용됨이 유의되어야 한다.
[0015] 도 1은 다수의 무선 디바이스들을 갖는 무선 통신 시스템(100)을 도시한다. 무선 통신 시스템들(100)은, 음성, 데이터 등과 같은 다양한 유형들의 통신 콘텐츠를 제공하기 위해 폭넓게 전개된다. 무선 디바이스는 기지국(102) 또는 무선 통신 디바이스(104)일 수 있다. 기지국(102) 및 무선 통신 디바이스(104) 양쪽 모두는, (예를 들어, 전송되는 메시지들에 인증을 제공하기 위해 그리고 수신되는 메시지들에 대한 인증을 획득하기 위해) 암호화된 메시지들을 인증하도록 구성될 수 있다. 인증 동안, 유니버셜 해시 함수는 캐리리스 곱셈을 이용하여 컴퓨팅될 수 있다. 캐리리스 곱셈을 이용하여 유니버셜 해시 함수를 컴퓨팅하는 것은, 도 5 및 도 6과 관련하여 아래에서 추가로 상세하게 논의된다.
[0016] 기지국(102)은 하나 또는 둘 이상의 무선 통신 디바이스들(104)과 통신하는 스테이션이다. 기지국(102)은 또한, 액세스 포인트, 브로드캐스트 송신기, 노드B, 이볼브드 노드B 등으로 지칭될 수 있고, 이들의 기능성 중 일부 또는 모두를 포함할 수 있다. 본 명세서에서 "기지국"이라는 용어가 이용될 것이다. 각각의 기지국(102)은 특정 지리학적 영역을 위한 통신 커버리지를 제공한다. 기지국(102)은 하나 또는 둘 이상의 무선 통신 디바이스들(104)을 위한 통신 커버리지를 제공할 수 있다. "셀"이라는 용어는, 그 용어가 이용되는 맥락에 따라, 기지국(102) 및/또는 기지국(102)의 커버리지 영역을 나타낼 수 있다.
[0017] 무선 시스템(예를 들어, 다중-액세스 시스템)에서의 통신들은 무선 링크를 통한 송신들을 통해 달성될 수 있다. 이러한 통신 링크는, 단일-입력 및 단일-출력(SISO), 다중-입력 및 단일-출력(MISO) 또는 다중-입력 및 다중-출력(MIMO) 시스템을 통해 확립될 수 있다. MIMO 시스템은 데이터 송신을 위해 다수의(NT) 송신 안테나들 및 다수의(NR) 수신 안테나들을 각각 구비하는 송신기(들) 및 수신기(들)를 포함한다. SISO 및 MISO 시스템들은 MIMO 시스템의 특정한 경우들이다. 다수의 송신 및 수신 안테나들에 의해 생성된 부가적인 차원성들(dimensionalities)이 활용되는 경우, MIMO 시스템은 개선된 성능(예를 들어, 더 높은 처리량, 더 큰 용량 또는 개선된 신뢰성)을 제공할 수 있다.
[0018] 무선 통신 시스템(100)은 MIMO를 활용할 수 있다. MIMO 시스템은 시분할 듀플렉스(TDD) 및 주파수 분할 듀플렉스(FDD) 시스템들 양쪽 모두를 지원할 수 있다. TDD 시스템에서는, 업링크 및 다운링크 송신들이 동일한 주파수 영역 내에 있어서, 호혜성 원리(reciprocity principle)가, 업링크 채널로부터의 다운링크 채널의 추정을 허용한다. 이는, 전송 무선 디바이스가, 전송 무선 디바이스에 의해 수신되는 통신들로부터 전송 빔형성 이득을 추출하는 것을 가능하게 한다.
[0019] 무선 통신 시스템(100)은, 이용가능한 시스템 자원들(예를 들어, 대역폭 및 전송 파워)을 공유함으로써 다수의 무선 통신 디바이스들(104)과의 통신을 지원할 수 있는 다중-액세스 시스템일 수 있다. 이러한 다중-액세스 시스템들의 예들은, 코드 분할 다중 액세스(CDMA) 시스템들, 광대역 코드 분할 다중 액세스(W-CDMA) 시스템들, 시분할 다중 액세스(TDMA) 시스템들, 주파수 분할 다중 액세스(FDMA) 시스템들, 직교 주파수 분할 다중 액세스(OFDMA) 시스템들, 단일-캐리어 주파수 분할 다중 액세스(SC-FDMA) 시스템들, 3세대 파트너십 프로젝트(3GPP) 롱텀 에볼루션(LTE) 시스템들 및 공간 분할 다중 액세스(SDMA) 시스템들을 포함한다.
[0020] "네트워크들" 및 "시스템들"이라는 용어들은 종종 상호교환가능하게 이용된다. CDMA 네트워크는, UTRA(Universal Terrestrial Radio Access), cdma2000 등과 같은 무선 기술을 구현할 수 있다. UTRA는 W-CDMA 및 LCR(Low Chip Rate)을 포함하는 한편, cdma2000은 IS-2000, IS-95 및 IS-856 표준들을 커버한다. TDMA 네트워크는 GSM(Global System for Mobile Communications)과 같은 무선 기술을 구현할 수 있다. OFDMA 네트워크는 E-UTRA(Evolved UTRA), IEEE 802.11, IEEE 802.16, IEEE 802.20, Flash-OFDMA 등과 같은 무선 기술을 구현할 수 있다. UTRA, E-UTRA 및 GSM은 UMTS(Universal Mobile Telecommunication System)의 부분이다. 롱텀 에볼루션(LTE)은 E-UTRA를 이용하는 UMTS의 릴리즈이다. UTRA, E-UTRA, GSM, UMTS 및 롱텀 에볼루션(LTE)은 "3세대 파트너십 프로젝트"(3GPP)로 명명된 기구로부터의 문서들에서 설명된다. cdma2000은 "3세대 파트너십 프로젝트2"(3GPP2)로 명명된 기구로부터의 문서들에서 설명된다.
[0021] 3세대 파트너십 프로젝트(3GPP)는, 전 세계적으로 적용가능한 3세대(3G) 모바일 폰 사양을 정의하는 것을 목표로 하는 전기 통신 연합들의 그룹들 사이의 공동작업이다. 3GPP 롱텀 에볼루션(LTE)은 UMTS(Universal Mobile Telecommunications System) 모바일 폰 표준을 개선하는 것을 목표로 하는 3GPP 프로젝트이다. 3GPP는 차세대 모바일 네트워크들, 모바일 시스템들 및 모바일 디바이스들에 대한 사양들을 정의할 수 있다.
[0022] 3GPP 롱텀 에볼루션(LTE)에서, 무선 통신 디바이스(104)는 "사용자 장비"(UE)로 지칭될 수 있다. 무선 통신 디바이스(104)는 또한, 단말, 액세스 단말, 가입자 유닛, 스테이션 등으로 지칭될 수 있고, 이들의 기능성 중 일부 또는 전부를 포함할 수 있다. 무선 통신 디바이스(104)는 셀룰러 폰, PDA(personal digital assistant), 무선 디바이스, 무선 모뎀, 핸드헬드 디바이스, 랩톱 컴퓨터 등일 수 있다.
[0023] 무선 통신 디바이스(104)는 임의의 주어진 순간에 다운링크(106) 및/또는 업링크(108) 상에서 0개, 1개 또는 다수의 기지국들(102)과 통신할 수 있다. 다운링크(106)(또는 포워드 링크)는 기지국(102)으로부터 무선 통신 디바이스(104)로의 통신 링크를 나타내고, 업링크(108)(또는 리버스 링크)는 무선 통신 디바이스(104)로부터 기지국(102)으로의 통신 링크를 나타낸다.
[0024] 무선 통신 디바이스(104) 및 기지국(102) 양쪽 모두는 암호화/암호해독 모듈(110a-b)을 포함할 수 있다. 암호화/암호해독 모듈(110)은 무선 통신 디바이스(104)와 기지국(102) 사이에서 무선으로 전송되는 메시지들의 암호화 및 암호해독을 허용할 수 있다. 예를 들어, 암호화/암호해독 모듈(110a)은 무선 통신 디바이스(104)가 메시지를 암호화하도록 허용할 수 있다. 그 다음으로, 암호화된 메시지는 업링크(108)를 통해 기지국(102)으로 전송될 수 있다. 기지국(102)은 메시지를 암호해독하기 위해 암호화/암호해독 모듈(110b)을 이용할 수 있다.
[0025] 암호화된 메시지들을 이용할 때, 메시지를 인증하고 위조(forgery)를 검출하기 위해, 인증 절차들이 이용될 수 있다. 인증 절차들은, 송신 전에 메시지에 인증을 삽입하고, 수신된 메시지들의 인증을 검증하는 것을 포함할 수 있다. 암호화/암호해독 모듈(110)은 128-EIA3 모듈(112a-b)을 포함할 수 있다. 128-EIA3 모듈(112)은 캐리리스 곱셈을 이용하여, 암호화된 메시지들에 대한 인증 절차들(예를 들어, 송신 전에 인증을 삽입하는 것 및 수신된 메시지들에 대한 인증을 획득하는 것)을 수행할 수 있다. 따라서, 128-EIA3 모듈(112)은, 캐리리스 곱셈 기능(139a-b)을 이용하는 무결성 알고리즘을 위해 유니버셜 해시 함수를 이용할 수 있다. 캐리리스 곱셈 기능(139)은 도 5 및 도 6과 관련하여 아래에서 추가로 상세하게 논의된다.
[0026] LTE 시스템의 보안 아키텍처 내에, 기밀성(confidentiality) 및 무결성을 위해 표준화된 알고리즘들이 존재한다. 알고리즘들의 2개의 세트들(128-EEA1/128-EIA1 및 128-EEA2/128-EIA2)은 (3GPP 기밀성 및 무결성 알고리즘들; 문서 1: f8 및 f9 사양들; (3GPP TS35.201 릴리즈 6) 및 3GPP 시스템 아키텍처 에볼루션(SAE); 보안 아키텍처; (3GPP TS33.401 릴리즈 9)의 사양에서) 이미 명시되었다. 128-EIA3은 스트림 암호(stream cipher)(ZUC)에 기초하여 무결성(즉, 인증)을 위한 제 3 알고리즘을 적용한다. 128-EIA3 알고리즘은 무결성 키(IK)를 이용하여 주어진 입력 메시지의 32-비트 메시지 인증 코드(MAC)를 컴퓨팅할 수 있다. 메시지 인증 코드(MAC)에 의해 채택된 코어 알고리즘들은 유니버셜 해시 및 스트림 암호(ZUC)이다. 따라서, 128-EIA3 알고리즘은, 메시지 비트 당 하나의 32-비트 배타적 OR(XOR) 명령을 요구하는 소프트웨어에서 메시지 인증 코드(MAC)를 컴퓨팅한다.
[0027] 도 2는 전송 무선 디바이스(214a)와 수신 무선 디바이스(214b) 사이의 인증 절차들을 예시하는 블록도이다. 전송 무선 디바이스(214a)는 무선 통신 디바이스(104) 또는 기지국(102)일 수 있다. 수신 무선 디바이스(214b)는 무선 통신 디바이스(104) 또는 기지국(102)일 수 있다. 전송 무선 디바이스(214a)와 수신 무선 디바이스(214b) 양쪽 모두에서의 인증 절차들은 128-EIA3 알고리즘을 이용할 수 있다.
[0028] 전송 무선 디바이스(214a)는 전송 메시지(218)를 획득할 수 있다(즉, 전송 메시지(218)를 발생시킴으로써). 일 구성에서, 전송 무선 디바이스(214a) 상의 프로세서는 전송 메시지(218)를 발생시킬 수 있다. 전송 메시지(218)는 128-EIA3 모듈(212a)에 제공될 수 있다. 128-EIA3 모듈(212a)은 캐리리스 곱셈 기능(239a)(도 5 및 도 7과 관련하여 아래에서 논의됨)을 포함할 수 있다. 전송 메시지(218)를 이용하여, 128-EIA3 모듈(212a)은 전송 메시지 인증 코드(MAC)(220a)를 출력할 수 있다. 전송 메시지(218) 및 전송 메시지 인증 코드(MAC)(220a) 양쪽 모두는 송신기(222)에 제공될 수 있다. 송신기(222)는 메시지(224)를 획득하기 위해 전송 메시지(218)와 전송 메시지 인증 코드(MAC)(220a)를 결합할 수 있다. 그 다음으로, 송신기(222)는 (전송 메시지 인증 코드(MAC)(220b)와 함께) 메시지(224)를 전송할 수 있다.
[0029] 수신 무선 디바이스(214b)는 (예를 들어, 수신기(228)를 이용하여 메시지(224)를 수신함으로써) 메시지(224)를 획득할 수 있다. 일 구성에서, 수신 무선 디바이스(214b)는 안테나를 이용하여 메시지(224)를 획득할 수 있다. 수신기(228)는 메시지(224)로부터 전송 메시지 인증 코드(MAC)(220c)를 추출할 수 있다. 수신기(228)는 전송 메시지 인증 코드(MAC)(220c)를 인증 모듈(226)에 제공할 수 있다. 수신기(228)는 또한, 수신된 메시지(230)를 128-EIA3 모듈(212b)에 제공할 수 있다. 128-EIA3 모듈(212b)은 수신 메시지 인증 코드(MAC)(220d)를 컴퓨팅하기 위해, 수신된 메시지(230)를 이용할 수 있다. 128-EIA3 모듈(212b)은 캐리리스 곱셈 기능(239b)(도 5 및 도 7과 관련하여 아래에서 논의됨)을 포함할 수 있다. 128-EIA3 모듈(212b)은 수신 메시지 인증 코드(MAC)(220d)를 인증 모듈(226)에 제공할 수 있다. 그 다음으로, 인증 모듈(226)은, 수신된 메시지(224)가 진본(authentic)인지를 결정하기 위해, 전송 메시지 인증 코드(MAC)(220c) 및 수신 메시지 인증 코드(MAC)(220d)를 비교할 수 있다.
[0030] 메시지 인증 코드(MAC) 알고리즘(이를테면, 128-EIA3 알고리즘)은 또한, 키잉된(암호화) 해시 함수(keyed (cryptographic) hash function)로 지칭될 수 있다. 메시지 인증 코드(MAC) 알고리즘은 인증될 임의적-길이 메시지(예를 들어, 전송 메시지(218) 또는 수신 메시지(230)) 및 비밀 키를 입력으로서 수용하고 메시지 인증 코드(MAC)(220) 태그를 출력할 수 있다. 메시지 인증 코드(MAC) 알고리즘을 이용하는 것은, 메시지(224)의 데이터 무결성 및 진정성 양쪽 모두를 보호할 수 있는데, 그 이유는, 수신 무선 디바이스(214b)가 메시지 콘텐츠에 대한 임의의 변경들(이를테면, 위조들)을 검출할 수 있기 때문이다.
[0031] 도 3은 전송 메시지(218)에 대한 인증을 제공하기 위한 방법(300)의 흐름도이다. 방법(300)은 (기지국(102) 또는 무선 통신 디바이스(104)와 같은) 전송 무선 디바이스(214a)에 의해 수행될 수 있다. 전송 무선 디바이스(214a)는 전송 메시지(218)를 발생시킬 수 있다(302). 전송 무선 디바이스(214a)는 전송 메시지 인증 코드(MAC)(220a)를 획득하기 위해 128-EIA3 알고리즘을 전송 메시지(218)에 적용할 수 있다(304). 전송 무선 디바이스(214a)는 단일 메시지(224)에서 전송 메시지(218) 및 전송 메시지 인증 코드(MAC)(220a)를 수신 무선 디바이스(214b)에 전송할 수 있다(306).
[0032] 도 4는 수신된 메시지(224)를 인증하기 위한 방법(400)의 흐름도이다. 방법(400)은 (기지국(102) 또는 무선 통신 디바이스(104)와 같은) 수신 무선 디바이스(214b)에 의해 수행될 수 있다. 수신 무선 디바이스(214b)는 전송 메시지 인증 코드(MAC)(220b)를 포함하는 메시지(224)를 수신할 수 있다(402). 수신 무선 디바이스(214b)는 수신된 메시지(224)로부터 전송 메시지 인증 코드(MAC)(220c)를 추출할 수 있다(404). 수신 무선 디바이스(214b)는 수신 메시지 인증 코드(MAC)(220d)를 획득하기 위해 128-EIA3 알고리즘을 수신된 메시지(230)에 적용할 수 있다(406). 수신 무선 디바이스(214b)는 메시지(224)의 인증을 결정하기 위해, 수신 메시지 인증 코드(MAC)(220d)를 전송 메시지 인증 코드(MAC)(220c)와 비교할 수 있다(408). 예를 들어, 수신 메시지 인증 코드(MAC)(220d)가 전송 메시지 인증 코드(MAC)(220c)와 동일한 경우, 메시지(224)는 진본인 것으로 고려될 수 있다. 다른 예로서, 수신 메시지 인증 코드(MAC)(220d)가 전송 메시지 인증 코드(MAC)(220c)와 상이한 경우, 메시지(224)는 진본이 아닌 것으로 고려될 수 있다.
[0033] 도 5는 본 시스템들 및 방법들에서 사용하기 위한 128-EIA3 모듈(512)을 예시하는 블록도이다. 도 5의 128-EIA3 모듈(512)은 도 1의 128-EIA3 모듈들(112a-b) 중 하나의 구성일 수 있다. 128-EIA3 모듈(512)은 입력 메시지(M)(532)를 수신하고, 입력 메시지(M)(532), 키스트림(552), 및 유니버셜 해시 함수(H)(535)를 이용하여 컴퓨팅되는 메시지 인증 코드(MAC)(520)를 출력할 수 있으며, 유니버셜 해시 함수(H)(535)는 캐리리스 곱셈 기능(539)을 이용한다. 키스트림(552)은 스트림 암호(ZUC)(544)를 이용하여 컴퓨팅될 수 있다. 따라서, 128-EIA3 모듈(512)은, 메시지 인증 코드(MAC)(520)를 획득하기 위해 (그리고 이에 따라, 입력 메시지(M)(532)에 대한 인증을 제공/획득하기 위해) 128-EIA3 알고리즘을 입력 메시지(M)(532)에 적용할 수 있다.
[0034] 128-EIA3 모듈(512)은 32-비트인 카운터(COUNT)(534)를 포함할 수 있다. 128-EIA3 모듈(512)은 또한, 5-비트인 베어러 아이덴티티(BEARER)(536)를 포함할 수 있다. 128-EIA3 모듈(512)은 1-비트인 송신 방향(DIRECTION)(538)을 더 포함할 수 있다. 128-EIA3 모듈(512)은 또한, 128 비트인 무결성 키(IK)(540)를 포함할 수 있다. 입력 메시지(M)(532)의 길이(LENGTH)(542)는 32-비트일 수 있다(즉, 32-비트 길이(LENGTH)(542)는, 입력 메시지(M)(532)의 길이를 표시하기 위해 32-비트를 사용할 수 있음). 예를 들어, 길이(LENGTH)(542)는 입력 메시지(M)(532)의 비트들의 수(1 내지 65,504 비트)를 표시한다. 128-EIA3 모듈(512)에 의해 출력되는 메시지 인증 코드(MAC)(520)는 32-비트일 수 있다.
[0035] 128-EIA3 모듈(512)은 유니버셜 해시 함수(H)(535)를 포함할 수 있다. 유니버셜 해시 함수(H)(535)는, 큰 데이터 세트들(즉, 입력 메시지(M)(532))을 고정 길이의 더 작은 데이터 세트들(즉, 키스트림(552))에 맵핑하는 128-EIA3 알고리즘의 서브루틴을 나타낸다. 유니버셜 해시 함수(H)(535)는 캐리리스 곱셈 기능(539)을 이용하여 컴퓨팅될 수 있다. 캐리리스 곱셈 기능(539)의 사용은, 128-EIA3 모듈이 유니버셜 해시 함수(H)(535)를 더 효율적으로 컴퓨팅하게 할 수 있다.
[0036] 128-EIA3 모듈(512)은 또한, 워드-중심 스트림 암호(word-oriented stream cipher)(ZUC)(544)를 포함할 수 있다. 스트림 암호(ZUC)(544)는 128-비트 초기 키(initial key)(KEY)(546) 및 128-비트 초기 벡터(IV)(548)를 입력들로서 취하고, 32-비트 워드들의 키스트림 z[i](552)를 출력할 수 있다(여기서, 각각의 32-비트 워드는 키-워드로 지칭됨). 스트림 암호(ZUC)(544)에 의해 발생되는 키-워드들의 수는, 변수(L)(550)에 의해 정의될 수 있다. 키스트림(552)은 암호화/암호해독을 위해 이용될 수 있다. 입력 메시지(M)(532)를 이용한 메시지 인증 코드(MAC)(520)의 계산은 도 6 및 도 7과 관련하여 아래에서 추가로 상세하게 논의된다.
[0037] 도 6은 입력 메시지(M)(532)를 이용하여 메시지 인증 코드(MAC)(520)를 컴퓨팅하기 위한 방법(600)의 흐름도이다. 방법(600)은 기지국(102) 또는 무선 통신 디바이스(104)와 같은 무선 디바이스(214) 상에서 128-EIA3 모듈(512)에 의해 수행될 수 있다.
[0038] 무선 디바이스(214)는, 키스트림(552)의 발생 전에 초기화 변수들 및 무결성 키(IK)(540)를 이용하여 초기 키(KEY)(546)를 초기화하고(602) 그리고 초기 벡터(IV)(548)를 초기화할 수 있다(604). 변수가 (아래의 방정식들에서 사용되는 바와 같이) 다수의 서브스트링들로 나눠질 때, 최좌측 서브스트링이 [0]이고, 그 다음번 최상위 서브스트링이 [1]이고, 최하위 서브스트링까지 이러한 방식이다. 아래첨자 2(예를 들어,
Figure pct00001
)는 이진 표현에서 넘버를 표시하기 위해 이용된다. 표기법
Figure pct00002
는 서브스트링들 a 및 b의 연속(concatenation)을 표시하기 위해 이용된다. 표기법
Figure pct00003
는 x 이상의 최소 정수를 나타낸다.
[0039] 128-비트 무결성 키(IK)(540)는 방정식(1)을 이용하여 정의될 수 있다:
Figure pct00004
[0040] 방정식(1)에서,
Figure pct00005
는 바이트 단위이다. 스트림 암호(ZUC)(544)에 대한 128-비트 초기 키(KEY)(546)는 방정식(2)을 이용하여 설정될 수 있다:
Figure pct00006
[0041] 방정식(2)에서,
Figure pct00007
는 바이트 단위이다. 따라서, 초기 키(KEY)(546)는 방정식(3)을 이용하여 초기화될 수 있다(602):
Figure pct00008
[0042] 방정식(3)에서, 초기 키(KEY)(546)의 각각의 서브스트링은, 무결성 키(IK)(540)의 각각의 대응하는 서브스트링과 동등하게 설정된다. 32-비트 카운터(COUNT)(534)는 방정식(4)을 이용하여 정의될 수 있다:
Figure pct00009
[0043] 방정식(4)에서,
Figure pct00010
은 바이트 단위이다. 128-비트 초기 벡터(IV)(548)는 방정식(5)을 이용하여 정의될 수 있다:
Figure pct00011
[0044] 방정식(5)에서,
Figure pct00012
는 바이트 단위이다. 그 다음으로, 초기 벡터(IV)(548)는 방정식(6)을 이용하여 초기화될 수 있다(604):
Figure pct00013
[0045] 방정식(6)에서,
Figure pct00014
는 배타적-OR 연산을 나타내고,
Figure pct00015
는 t 비트만큼의 정수 a의 좌측 시프트를 나타낸다. 따라서,
Figure pct00016
는 DIRECTION(538)이 좌측으로 7비트 시프팅하는 것을 나타낸다.
[0046] 그 다음으로, 무선 디바이스(214)는 키스트림(552)를 발생시킨다(606). 일 구성에서, 키스트림(552)은 무선 디바이스(214) 상에서 프로세서에 의해 발생될 수 있다. 다른 구성에서, 키스트림(552)은 무선 디바이스(214) 상에서 메모리를 이용하여 발생될 수 있다. 스트림 암호(ZUC)(544)는, L(550) 키-워드들을 갖는 키스트림(552)을 발생시킬 수 있고, 여기서,
Figure pct00017
이다. 키스트림(552)은
Figure pct00018
에 의해 표기될 수 있고, 여기서
Figure pct00019
은 스트림 암호(ZUC)(544)의 제 1 출력 워드의 최상위 비트이고,
Figure pct00020
은 최하위 비트이다. 각각의
Figure pct00021
에 대해, 방정식(7)이 적용될 수 있다:
Figure pct00022
[0047] 따라서, 키스트림(552)의 각각의
Figure pct00023
는 32-비트 워드이다. 그 다음으로, 무선 디바이스(214)는, 메시지 인증 코드(MAC)(520)를 컴퓨팅하기 전에 유니버셜 해시 함수를 컴퓨팅할 수 있다(608). T는 32-비트 워드로서 정의될 수 있다. T는 초기에 0과 동등하게 설정될 수 있다. 그 다음으로, 각각의
Figure pct00024
에 대해,
Figure pct00025
인 경우, 방정식(8)이 적용될 수 있다:
Figure pct00026
[0048] 방정식(8)은 유니버셜 해시 함수(H)로 지칭될 수 있다. 그러나, 방정식(8)은 장황하다(tedious)(그 이유는, 유니버셜 해시 함수(H)의 계산이 입력 메시지(M)(532)의 모든 각각의 단일 비트에 대해 수행되어야 하기 때문임). 대신에, 유니버셜 해시 함수(H)를 효율적으로 컴퓨팅하기(608) 위해, 입력 메시지(M)(532)의 시간에서 32-비트를 프로세싱하기 위해, 캐리리스 곱셈이 이용될 수 있다.
[0049] 캐리리스 곱셈에서, 다항식들(polynomials)이 곱셈된다. 1회의 캐리리스 곱셈 반복은 방정식(8)의 32회의 반복들을 대체할 수 있다. 캐리리스 곱셈
Figure pct00027
은 32-비트 워드 F 및 32-비트 워드 G를 입력으로서 취하고, 64-비트 워드 E를 출력하며, 여기서 F 및 G의 비트들은
Figure pct00028
의 다항식들의 (최대 차수 31의) 계수들로서 취해지고, 여기서 E는
Figure pct00029
에서의 (최대 차수 62의) 결과적인 다항식 곱(polynomial product)이다. 이러한 개념은 임의의 주어진 워드 크기 wlog에 대한 모든 캐리리스 곱셈 기능들에 적용될 수 있다. 간략함을 위해, 워드 크기 wlog는 32로 나눌 수 있는 정수라는 것이 가정될 수 있다.
[0050] 캐리리스 곱셈을 이용하여 유니버셜 해시 함수(H)를 컴퓨팅하기 위해, 32-비트 워드 T는 첫 번째로 0으로 설정될 수 있다. 입력 메시지(M)(532)의 32-비트 워드
Figure pct00030
(여기서,
Figure pct00031
임)는 방정식(9)에 따라 반전될 수 있다:
Figure pct00032
[0051] 제 1의 64-비트 워드 E는 방정식(10)을 이용하여 확인될 수 있다:
Figure pct00033
[0052] 방정식(10)에서,
Figure pct00034
는 키스트림(552)의 비트를 나타내고,
Figure pct00035
은 최근의 상용제품 프로세서들 상에 점점 더 존재하고 있는 캐리리스 곱셈 기능을 나타낸다. 제 2의 64-비트 워드 F는 방정식(11)을 이용하여 확인될 수 있다:
[0053] 방정식(11)에서,
Figure pct00037
이고
Figure pct00038
이다(따라서, 32-비트 워드
Figure pct00039
는 32-비트 워드
Figure pct00040
를 바로 뒤따름). 변수 m은 E의 최저 32-비트 워드로 설정될 수 있다. 변수 n은 F의 최고 32-비트 워드로 설정될 수 있다. 그 다음으로, 방정식(12)이 수행될 수 있다:
Figure pct00041
[0054] 그 다음으로, 유니버셜 해시 함수는 방정식(13)을 이용하여 컴퓨팅된다(608):
Figure pct00042
[0055] 그 다음으로, 출력 메시지 인증 코드(MAC)(520)는 방정식(14)에 따라 컴퓨팅된다(610):
Figure pct00043
[0056] 기계 명령들에서, 메시지의 32 비트 당 비용은 고정될 수 있다. 1289-EIA3 사양에 대한 종래의 방법들에서, 메시지 비트 당 적어도 하나의 명령(즉, 조건적 XOR)이 요구된다. 따라서, 32 메시지 비트 당 32개의 명령들이 요구된다. 해시 함수를 컴퓨팅(608)하기 위해 캐리리스 곱셈을 이용하는 것은, 32 메시지 비트 당 5개의 명령들: 워드의 1 비트 반전, 2개의 캐리리스 곱셈들, 및 2개의 XOR들을 요구한다. 유니버셜 해시 함수를 컴퓨팅(608)하기 위해 캐리리스 곱셈을 이용하는 것은, 해시 함수(H)를 평가하기 위해 필요한 기계 명령들의 수를 상당히 감소시킨다. 이는 LTE 무결성 알고리즘 128-EIA3의 처리량을 개선한다. 더욱이, 유니버셜 해시 함수를 컴퓨팅(608)하기 위해 캐리리스 곱셈을 이용하는 것은, 메시지 비트 값들과 독립적인 벽시계 시간으로 실행된다(기존의 솔루션은 메시지 비트 값들에 대한 의존성을 가졌는데, 그 이유는 메시지 비트 = 1일 경우에만 방정식(8)이 적용되기 때문임). 따라서, 유니버셜 해시 함수를 컴퓨팅(608)하기 위해 캐리리스 곱셈을 이용하는 것은, 타이밍 및 파워 분석 공격들과 같은, 큰 어레이의 사이드-채널 공격(side-channel attack)들에 대해 부가적인 보호를 제공할 수 있고, 이에 의해, 시스템의 물리적 보안을 개선한다. 캐리리스 곱셈의 벽시계 실행 시간(wall clock execution time)은 오퍼랜드들의 해밍 웨이트(hamming weight)와 독립적일 수 있어서, 사이드-채널 보안(side-channel security)을 증가시킨다.
[0057] 도 7은 캐리리스 곱셈을 이용한 메시지 인증 코드(MAC)(220)의 계산을 예시하는 블록도이다. 일 구성에서, 메시지 인증 코드(MAC)(220)는 무선 디바이스(214) 상의 프로세서 및/또는 메모리를 이용하여 컴퓨팅될 수 있다. 입력 메시지(M)(732)의 32-비트 워드
Figure pct00044
가 수신된다. 방정식(9)에서 설명된 바와 같이, 입력 메시지(M)(732)의 비트들은
Figure pct00045
를 형성하기 위해 반전(754)될 수 있다. 입력 메시지(M)(732)의 비트들은, 입력 메시지(M)(732)의 워드들을, 다항식들의 링에서의 그들의 표현에 맵핑함으로써 반전될 수 있다.
[0058] 그 다음으로, 반전된 메시지 비트들
Figure pct00046
은 제 1 캐리리스 곱셈 스테이지(752a) 및 제 2 캐리리스 곱셈 스테이지(752b)에 제공될 수 있다. 캐리리스 곱셈 스테이지들(752) 각각은 캐리리스 곱셈 기능들(739a-b)일 수 있다. 앞서 방정식(10)에서 설명된 바와 같이, 키스트림(752a)의 32 비트들
Figure pct00047
은, 제 1의 64-비트 워드 E를 형성하기 위해 제 1 캐리리스 곱셈 스테이지(752a)에 제공된다. 마찬가지로, 키스트림(752b)의 32 비트들
Figure pct00048
은 (앞서 방정식(11)에서 설명된 바와 같이) 제 2의 64-비트 워드 F를 형성하기 위해 제 2 캐리리스 곱셈 스테이지(752b)에 제공된다.
[0059] 제 1의 64-비트 워드 E는 최고 32-비트 워드 및 최저 32-비트 워드로 분리될 수 있다. 마찬가지로, 제 2의 64-비트 워드 F는 최고 32-비트 워드 및 최저 32-비트 워드로 분리될 수 있다. 제 1의 64-비트 워드 E의 최저 32-비트 워드는 변수 m에 의해 표기될 수 있다. 제 2의 64-비트 워드 F의 최고 32-비트 워드는 변수 n에 의해 표기될 수 있다. 그 다음으로, 앞서 방정식(12)에서 설명된 바와 같이, 배타적 OR(XOR)(756)이 m과 n 사이에서 수행될 수 있다. 그 다음으로, 유니버셜 해시 함수(T)(735)는 앞서의 방정식(13)에 따라 컴퓨팅된다.
[0060] 도 8은 앞서 설명된 방식들 또는 프로세스들을 실행하기 위한 무선 통신 디바이스(804)의 하드웨어 구현의 일부를 도시한다. 무선 통신 디바이스(804)는 아래에 설명되는 바와 같은 회로소자를 포함한다. 본 명세서 및 첨부된 청구항들에서, "회로소자"라는 용어는 기능적 용어로서가 아니라 구조적 용어로서 해석됨이 명백해야 한다. 예를 들어, 회로소자는, 도 8에서 도시되고 설명된 바와 같은 프로세싱 및/또는 메모리 셀들, 유닛들, 블록들 등의 형태의, 다수의 집적 회로 컴포넌트들과 같은 회로 컴포넌트들의 집합체(aggregate)일 수 있다.
[0061] 무선 통신 디바이스(804)는 여러 회로들을 서로 링크시키는 중앙 데이터 버스(883)를 포함한다. 회로들은 CPU(중앙 프로세싱 유닛) 또는 제어기(885), 수신 회로(881), 전송 회로(873), 및 메모리 유닛(879)을 포함한다.
[0062] 수신 회로(881) 및 전송 회로(873)는 (도면에 도시되지 않은) RF(무선 주파수) 회로에 연결될 수 있다. 수신 회로(881)는 수신된 신호들을 데이터 버스(883)로 전송하기 전에, 그 신호들을 프로세싱 및 버퍼링한다. 다른 한편, 전송 회로(873)는 데이터 버스(883)로부터의 데이터를 무선 통신 디바이스(804) 외부로 전송하기 전에, 그 데이터를 프로세싱 및 버퍼링한다. CPU/제어기(885)는, 데이터 버스(883)의 데이터 관리의 기능을 수행하고, 메모리 유닛(879)의 명령 콘텐츠를 실행시키는 것을 포함하는 일반적인 데이터 프로세싱의 기능들을 촉진한다.
[0063] 메모리 유닛(879)은 일반적으로 참조번호 875에 의해 표시되는 모듈들 및/또는 명령들의 세트를 포함한다. 이러한 실시예에서, 모듈들/명령들은 특히, 앞서 설명된 바와 같은 방식들 및 프로세스들을 수행하는 캐리리스 곱셈 기능(877)을 이용하는 유니버셜 해시를 포함한다. 기능(877)은 도 1 내지 도 6에서 도시되고 설명된 바와 같은 프로세스 단계들을 실행하기 위한 컴퓨터 명령들 또는 코드를 포함한다. 엔티티에 특정한 특정 명령들은 기능(877)에서 선택적으로 구현될 수 있다.
[0064] 이러한 실시예에서, 메모리 유닛(879)은 RAM(랜덤 액세스 메모리) 회로이다. 기능(877)과 같은 예시적인 기능들은 하나 또는 둘 이상의 소프트웨어 루틴들, 모듈들 및/또는 데이터 세트들을 포함한다. 메모리 유닛(879)은, 휘발성 또는 비휘발성일 수 있는 다른 메모리 회로(도시되지 않음)와 관련될 수 있다. 대안적으로, 메모리 유닛(879)은, EEPROM(전기적 소거가능 프로그램가능 판독 전용 메모리), EPROM(전기적 프로그램가능 판독 전용 메모리), ROM(판독 전용 메모리), ASIC(주문형 집적 회로), 자기 디스크, 광학 디스크, 및 당해 기술분야에 잘 알려진 다른 것들과 같은 다른 회로 유형들로 이루어질 수 있다.
[0065] 도 9는 앞서 설명된 바와 같은 방식들 또는 프로세스들을 실행시키기 위한 기지국(902)의 하드웨어 구현의 일부를 도시한다. 기지국(902)은 아래에 설명되는 바와 같은 회로소자를 포함한다. 본 명세서 및 첨부된 청구항들에서, "회로소자"라는 용어는 기능적 용어로서가 아니라 구조적 용어로서 해석됨이 명백해야 한다. 예를 들어, 회로소자는, 도 9에서 도시되고 설명된 바와 같은 프로세싱 및/또는 메모리 셀들, 유닛들, 블록들 등의 형태의, 다수의 집적 회로 컴포넌트들과 같은 회로 컴포넌트들의 집합체일 수 있다.
[0066] 기지국(902)은 여러 회로들을 서로 링크시키는 중앙 데이터 버스(983)를 포함한다. 회로들은 CPU(중앙 프로세싱 유닛) 또는 제어기(985), 수신 회로(981), 전송 회로(973), 및 메모리 유닛(979)을 포함한다.
[0067] 수신 회로(981) 및 전송 회로(973)는 (도면에 도시되지 않은) RF(무선 주파수) 회로에 연결될 수 있다. 수신 회로(981)는 수신된 신호들을 데이터 버스(983)로 전송하기 전에, 그 신호들을 프로세싱 및 버퍼링한다. 다른 한편, 전송 회로(973)는 데이터 버스(983)로부터의 데이터를 기지국(902) 외부로 전송하기 전에, 그 데이터를 프로세싱 및 버퍼링한다. CPU/제어기(985)는, 데이터 버스(983)의 데이터 관리의 기능을 수행하고, 메모리 유닛(979)의 명령 콘텐츠를 실행시키는 것을 포함하는 일반적인 데이터 프로세싱의 기능들을 촉진한다.
[0068] 메모리 유닛(979)은 일반적으로 참조번호 975에 의해 표시되는 모듈들 및/또는 명령들의 세트를 포함한다. 이러한 실시예에서, 모듈들/명령들은 특히, 앞서 설명된 바와 같은 방식들 및 프로세스들을 수행하는 캐리리스 곱셈 기능(977)을 이용하는 유니버셜 해시를 포함한다. 기능(977)은 도 1 내지 도 6에서 도시되고 설명된 바와 같은 프로세스 단계들을 실행하기 위한 컴퓨터 명령들 또는 코드를 포함한다. 엔티티에 특정한 특정 명령들은 기능(977)에서 선택적으로 구현될 수 있다.
[0069] 이러한 실시예에서, 메모리 유닛(979)은 RAM(랜덤 액세스 메모리) 회로이다. 기능(977)과 같은 예시적인 기능들은 하나 또는 둘 이상의 소프트웨어 루틴들, 모듈들 및/또는 데이터 세트들을 포함한다. 메모리 유닛(979)은, 휘발성 또는 비휘발성일 수 있는 다른 메모리 회로(도시되지 않음)와 관련될 수 있다. 대안적으로, 메모리 유닛(979)은, EEPROM(전기적 소거가능 프로그램가능 판독 전용 메모리), EPROM(전기적 프로그램가능 판독 전용 메모리), ROM(판독 전용 메모리), ASIC(주문형 집적 회로), 자기 디스크, 광학 디스크, 및 당해 기술분야에 잘 알려진 다른 것들과 같은 다른 회로 유형들로 이루어질 수 있다.
[0070] "결정"이라는 용어는 매우 다양한 액션들을 포괄하며, 그러므로 "결정"은 계산, 컴퓨팅, 프로세싱, 도출, 연구, 조사(예를 들어, 표, 데이터베이스 또는 다른 데이터 구조의 조사), 확인 등을 포함할 수 있다. 또한, "결정"은 수신(예를 들어, 정보의 수신), 액세스(예를 들어, 메모리 내의 데이터에 액세스) 등을 포함할 수 있다. 또한, "결정"은 해결, 선택, 선출, 확립 등을 포함할 수 있다.
[0071] "기초하여"이라는 문구는, 명시적으로 달리 특정되지 않는 한, "기초하여서만"을 의미하지 않는다. 다시 말해, "기초하여"라는 문구는 "기초하여서만" 및 "적어도 기초하여" 양쪽 모두를 설명한다.
[0072] "~위한 수단" 문구를 이용하여 명시적으로 엘리먼트가 언급되거나, 방법 청구항의 경우에, "~위한 단계" 문구를 이용하여 엘리먼트가 언급되지 않는 한, 어떠한 청구범위의 엘리먼트도 35 U.S.C. §112, 6번째 문단의 조문에 따라 해석되지 않는다.
[0073] 본 명세서 및 첨부된 청구항들에서, "회로소자"라는 용어는 기능적 용어로서가 아니라 구조적 용어로서 해석됨이 명백해야 한다. 예를 들어, 회로소자는, 도 8 및 도 9에서 도시되고 설명된 바와 같은 프로세싱 및/또는 메모리 셀들, 유닛들, 블록들 등의 형태의, 다수의 집적 회로 컴포넌트들과 같은 회로 컴포넌트들의 집합체일 수 있다.
[0074] "프로세서"라는 용어는 범용 프로세서, 중앙 프로세싱 유닛(CPU), 마이크로프로세서, 디지털 신호 프로세서(DSP), 제어기, 마이크로제어기, 상태 머신 등을 포괄하는 것으로 넓게 이해되어야 한다. 일부 상황들 하에서, "프로세서"는 주문형 집적 회로(ASIC), 프로그램가능 논리 디바이스(PLD), 필드 프로그램가능 게이트 어레이(FPGA) 등을 나타낼 수 있다. "프로세서"라는 용어는 프로세싱 디바이스들의 결합, 예를 들어, DSP와 마이크로프로세서의 결합, 복수의 마이크로프로세서들, DSP 코어와 공조하는 하나 또는 둘 이상의 마이크로프로세서들, 또는 임의의 다른 이러한 구성을 나타낼 수 있다.
[0075] "메모리"라는 용어는 전자 정보를 저장할 수 있는 임의의 전자 컴포넌트를 포괄하는 것으로 넓게 이해되어야 한다. 메모리라는 용어는, 랜덤 액세스 메모리(RAM), 판독-전용 메모리(ROM), 비-휘발성 랜덤 액세스 메모리(NVRAM), 프로그램가능 판독-전용 메모리(PROM), 소거가능 프로그램가능 판독-전용 메모리(EPROM), 전기적 소거가능 PROM(EEPROM), 플래시 메모리, 자기 또는 광학 데이터 저장소, 레지스터들 등과 같은 다양한 유형들의 프로세서-판독가능 매체들을 나타낼 수 있다. 프로세서가 메모리로부터 정보를 판독하고 그리고/또는 메모리에 정보를 기록할 수 있는 경우, 메모리가 프로세서와 전자 통신된다고 한다. 프로세서에 통합되는 메모리는 프로세서와 전자 통신된다.
[0076] "명령들" 및 "코드"라는 용어들은 임의의 유형의 컴퓨터-판독가능 스테이트먼트(들)를 포함하는 것으로 넓게 이해되어야 한다. 예를 들어, "명령들" 및 "코드"라는 용어들은 하나 또는 둘 이상의 프로그램들, 루틴들, 서브-루틴들, 기능들, 절차들 등을 나타낼 수 있다. "명령들" 및 "코드"는 단일 컴퓨터-판독가능 스테이트먼트 또는 많은 컴퓨터-판독가능 스테이트먼트들을 포함할 수 있다.
[0077] 본 명세서에서 설명된 기능들은 하드웨어에 의해 실행되는 소프트웨어 또는 펌웨어로 구현될 수 있다. 기능들은 컴퓨터-판독가능 매체 상에 하나 또는 둘 이상의 명령들로서 저장될 수 있다. "컴퓨터-판독가능 매체" 또는 "컴퓨터-프로그램 물건"이라는 용어들은 컴퓨터 또는 프로세서에 의해 액세스될 수 있는 임의의 유형의(tangible) 저장 매체를 나타낸다. 제한이 아닌 예로서, 컴퓨터-판독가능 매체는 RAM, ROM, EEPROM, CD-ROM 또는 다른 광학 디스크 저장소, 자기 디스크 저장소 또는 다른 자기 저장 디바이스들, 또는 명령들 또는 데이터 구조들의 형태로 원하는 프로그램 코드를 저장 또는 전달하는데 사용될 수 있고, 컴퓨터에 의해 액세스될 수 있는 임의의 다른 매체를 포함할 수 있다. 본 명세서에서 사용되는 바와 같이, 디스크(disk) 및 디스크(disc)는 컴팩트 디스크(CD; compact disc), 레이저 디스크(laser disc), 광학 디스크(optical disc), 디지털 다기능 디스크(DVD; digital versatile disc), 플로피 디스크(floppy disk), 및 블루-레이® 디스크(Blu-ray® disc)를 포함하며, 여기서 디스크(disk)들은 일반적으로 데이터를 자기적으로 재생하지만, 디스크(disc)들은 레이저들을 이용하여 광학적으로 데이터를 재생한다. 컴퓨터-판독가능 매체는 유형적(tangible)이고 비-일시적일 수 있음이 유의되어야 한다. "컴퓨터-프로그램 물건"이라는 용어는, 컴퓨팅 디바이스 또는 프로세서에 의해 실행, 프로세싱 또는 컴퓨팅될 수 있는 코드 또는 명령들(예를 들어, "프로그램")과 결합하여 컴퓨팅 디바이스 또는 프로세서를 나타낸다. 본 명세서에서 사용된 바와 같이, "코드"라는 용어는 컴퓨팅 디바이스 또는 프로세서에 의해 실행가능한 소프트웨어, 명령들, 코드 또는 데이터를 나타낼 수 있다.
[0078] 소프트웨어 또는 명령들은 또한, 송신 매체를 통해 전송될 수 있다. 예를 들어, 소프트웨어가 웹사이트, 서버, 또는 다른 원격 소스로부터 동축 케이블, 광섬유 케이블, 트위스티드 페어(twisted pair), 디지털 가입자 라인(DSL), 또는 (적외선, 라디오, 및 마이크로파와 같은) 무선 기술들을 이용하여 전송되는 경우, 동축 케이블, 광섬유 케이블, 트위스티드 페어, DSL, 또는 (적외선, 라디오, 및 마이크로파와 같은) 무선 기술들은 송신 매체의 정의에 포함된다.
[0079] 본 명세서에서 개시된 방법들은 설명된 방법을 달성하기 위한 하나 또는 둘 이상의 단계들 또는 액션들을 포함한다. 방법 단계들 및/또는 액션들은 청구항들의 범주로부터 벗어남이 없이 서로 상호교환될 수 있다. 다시 말해, 설명되는 방법의 적절한 동작을 위해 특정 순서의 단계들 또는 액션들이 요구되지 않는 한, 특정 단계들 및/또는 액션들의 순서 및/또는 사용은, 청구항들의 범주로부터 벗어남이 없이 수정될 수 있다.
[0080] 또한, 도 3, 도 4 및 도 6에 의해 예시된 것들과 같은, 본 명세서에서 설명된 방법들 및 기법들을 수행하기 위한 모듈들 및/또는 다른 적절한 수단은 디바이스에 의해 다운로딩되고 그리고/또는 다른 방식으로 획득될 수 있음이 이해되어야 한다. 예를 들어, 디바이스는, 본 명세서에서 설명된 방법들을 수행하기 위한 수단의 전달을 용이하게 하기 위해 서버에 커플링될 수 있다. 대안적으로, 본 명세서에서 설명된 다양한 방법들은 저장 수단(예를 들어, 랜덤 액세스 메모리(RAM), 판독-전용 메모리(ROM), 물리적 저장 매체, 이를테면, 컴팩트 디스크(CD) 또는 플로피 디스크 등)을 통해 제공될 수 있어서, 저장 수단을 디바이스에 커플링 또는 제공함에 따라 디바이스는 다양한 방법들을 획득할 수 있다. 더욱이, 본 명세서에서 설명된 방법들 및 기법들을 디바이스에 제공하기 위한 임의의 다른 적절한 기법이 활용될 수 있다.
[0081] 청구항들은 앞서 예시된 바로 그 구성 및 컴포넌트들로 제한되지 않음이 이해될 것이다. 청구항들의 범주로부터 벗어남이 없이 본 명세서에서 설명된 시스템들, 방법들 및 장치의 어레인지먼트, 동작 및 상세들 내에서, 다양한 수정들, 변경들 및 변형들이 이루어질 수 있다.

Claims (43)

  1. 메시지를 인증하기 위해 구성된 무선 디바이스로서,
    상기 메시지를 획득하기 위한 수단;
    키스트림(keystream)을 발생시키기 위한 수단; 및
    상기 키스트림 및 유니버셜 해시 함수(universal hash function)를 이용하여 메시지 인증 코드를 컴퓨팅하기 위한 수단
    을 포함하고,
    상기 유니버셜 해시 함수는 캐리리스 곱셈(carryless multiplication)을 이용하여 컴퓨팅되는,
    메시지를 인증하기 위해 구성된 무선 디바이스.
  2. 제 1 항에 있어서,
    상기 유니버셜 해시 함수를 컴퓨팅하는 것은,
    상기 메시지의 32-비트 워드를 반전(reversing)시키는 것,
    상기 메시지의 반전된 32-비트 워드와 상기 키스트림의 제 1의 32-비트 워드 사이에서 캐리리스 곱셈을 이용하여 제 1의 64-비트 워드를 컴퓨팅하는 것,
    상기 메시지의 상기 반전된 32-비트 워드와 상기 키스트림의 제 2의 32-비트 워드 사이에서 캐리리스 곱셈을 이용하여 제 2의 64-비트 워드를 컴퓨팅하는 것,
    제 1의 32-비트 변수를 획득하기 위해, 상기 제 1의 64-비트 워드의 최저 32-비트 워드와 상기 제 2의 64-비트 워드의 최고 32-비트 워드 사이에서 배타적-OR 연산을 수행하는 것, 및
    제 2의 32-비트 변수와 상기 제 1의 32-비트 변수 사이에서 배타적-OR 연산을 수행하는 것
    을 포함하는,
    메시지를 인증하기 위해 구성된 무선 디바이스.
  3. 제 2 항에 있어서,
    상기 제 2의 32-비트 변수는 초기에 0으로 설정되는,
    메시지를 인증하기 위해 구성된 무선 디바이스.
  4. 제 2 항에 있어서,
    상기 키스트림의 상기 제 2의 32-비트 워드는 상기 키스트림의 상기 제 1의 32-비트 워드를 바로 뒤따르는,
    메시지를 인증하기 위해 구성된 무선 디바이스.
  5. 제 1 항에 있어서,
    상기 유니버셜 해시 함수는 32 메시지 비트 당 32개 미만의 기계 명령(machine instruction)들을 이용하여 컴퓨팅되는,
    메시지를 인증하기 위해 구성된 무선 디바이스.
  6. 제 1 항에 있어서,
    상기 유니버셜 해시 함수는 32 메시지 비트 당 5개의 기계 명령들을 이용하여 컴퓨팅되는,
    메시지를 인증하기 위해 구성된 무선 디바이스.
  7. 제 1 항에 있어서,
    상기 메시지 인증 코드는 128-EIA3 알고리즘을 이용하여 컴퓨팅되는,
    메시지를 인증하기 위해 구성된 무선 디바이스.
  8. 제 7 항에 있어서,
    상기 메시지를 획득하기 위한 수단은, 전송 메시지를 발생시키기 위한 수단을 포함하고,
    상기 무선 디바이스는,
    상기 전송 메시지 및 상기 메시지 인증 코드를 단일 메시지에서 전송하기 위한 수단
    을 더 포함하는,
    메시지를 인증하기 위해 구성된 무선 디바이스.
  9. 제 7 항에 있어서,
    상기 메시지를 획득하기 위한 수단은, 상기 메시지 및 상기 메시지 인증 코드를 포함하는 단일 메시지를 수신하기 위한 수단을 포함하고,
    상기 무선 디바이스는,
    상기 단일 메시지로부터 전송 메시지 인증 코드를 추출하기 위한 수단; 및
    상기 단일 메시지의 인증을 결정하기 위해 상기 전송 메시지 인증 코드를 상기 메시지 인증 코드와 비교하기 위한 수단
    을 더 포함하는,
    메시지를 인증하기 위해 구성된 무선 디바이스.
  10. 제 1 항에 있어서,
    상기 키스트림은 스트림 암호(stream cipher)를 이용하여 발생되는,
    메시지를 인증하기 위해 구성된 무선 디바이스.
  11. 제 1 항에 있어서,
    상기 무선 디바이스는 무선 통신 디바이스인,
    메시지를 인증하기 위해 구성된 무선 디바이스.
  12. 제 1 항에 있어서,
    상기 무선 디바이스는 기지국인,
    메시지를 인증하기 위해 구성된 무선 디바이스.
  13. 제 1 항에 있어서,
    캐리리스 곱셈의 벽시계 실행 시간(wall clock execution time)은 오퍼랜드(operand)들의 해밍 웨이트(hamming weight)와 독립적인,
    메시지를 인증하기 위해 구성된 무선 디바이스.
  14. 메시지를 인증하기 위해 구성된 장치로서,
    상기 메시지를 획득하고, 키스트림을 발생시키고, 그리고 상기 키스트림 및 유니버셜 해시 함수를 이용하여 메시지 인증 코드를 컴퓨팅하도록 구성된 회로소자
    를 포함하고,
    상기 유니버셜 해시 함수는 캐리리스 곱셈을 이용하여 컴퓨팅되는,
    메시지를 인증하기 위해 구성된 장치.
  15. 제 14 항에 있어서,
    상기 유니버셜 해시 함수를 컴퓨팅하는 것은,
    상기 메시지의 32-비트 워드를 반전시키는 것,
    상기 메시지의 반전된 32-비트 워드와 상기 키스트림의 제 1의 32-비트 워드 사이에서 캐리리스 곱셈을 이용하여 제 1의 64-비트 워드를 컴퓨팅하는 것,
    상기 메시지의 상기 반전된 32-비트 워드와 상기 키스트림의 제 2의 32-비트 워드 사이에서 캐리리스 곱셈을 이용하여 제 2의 64-비트 워드를 컴퓨팅하는 것,
    제 1의 32-비트 변수를 획득하기 위해, 상기 제 1의 64-비트 워드의 최저 32-비트 워드와 상기 제 2의 64-비트 워드의 최고 32-비트 워드 사이에서 배타적-OR 연산을 수행하는 것, 및
    제 2의 32-비트 변수와 상기 제 1의 32-비트 변수 사이에서 배타적-OR 연산을 수행하는 것
    을 포함하는,
    메시지를 인증하기 위해 구성된 장치.
  16. 제 15 항에 있어서,
    상기 제 2의 32-비트 변수는 초기에 0으로 설정되는,
    메시지를 인증하기 위해 구성된 장치.
  17. 제 15 항에 있어서,
    상기 키스트림의 상기 제 2의 32-비트 워드는 상기 키스트림의 상기 제 1의 32-비트 워드를 바로 뒤따르는,
    메시지를 인증하기 위해 구성된 장치.
  18. 제 14 항에 있어서,
    상기 유니버셜 해시 함수는 32 메시지 비트 당 32개 미만의 기계 명령들을 이용하여 컴퓨팅되는,
    메시지를 인증하기 위해 구성된 장치.
  19. 제 14 항에 있어서,
    상기 유니버셜 해시 함수는 32 메시지 비트 당 5개의 기계 명령들을 이용하여 컴퓨팅되는,
    메시지를 인증하기 위해 구성된 장치.
  20. 제 14 항에 있어서,
    상기 메시지 인증 코드는 128-EIA3 알고리즘을 이용하여 컴퓨팅되는,
    메시지를 인증하기 위해 구성된 장치.
  21. 제 20 항에 있어서,
    상기 메시지를 획득하도록 구성된 회로소자는, 전송 메시지를 발생시키도록 구성된 회로소자를 포함하고,
    상기 장치는,
    상기 전송 메시지 및 상기 메시지 인증 코드를 단일 메시지에서 전송하도록 구성된 회로소자
    를 더 포함하는,
    메시지를 인증하기 위해 구성된 장치.
  22. 제 20 항에 있어서,
    상기 메시지를 획득하도록 구성된 회로소자는, 상기 메시지 및 상기 메시지 인증 코드를 포함하는 단일 메시지를 수신하도록 구성된 회로소자를 포함하고,
    상기 장치는,
    상기 단일 메시지로부터 전송 메시지 인증 코드를 추출하도록 구성된 회로소자, 및 상기 단일 메시지의 인증을 결정하기 위해 상기 전송 메시지 인증 코드를 상기 메시지 인증 코드와 비교하도록 구성된 회로소자
    를 더 포함하는,
    메시지를 인증하기 위해 구성된 장치.
  23. 제 14 항에 있어서,
    상기 키스트림은 스트림 암호를 이용하여 발생되는,
    메시지를 인증하기 위해 구성된 장치.
  24. 제 14 항에 있어서,
    상기 장치는 무선 통신 디바이스인,
    메시지를 인증하기 위해 구성된 장치.
  25. 제 14 항에 있어서,
    상기 장치는 기지국인,
    메시지를 인증하기 위해 구성된 장치.
  26. 제 14 항에 있어서,
    캐리리스 곱셈의 벽시계 실행 시간은 오퍼랜드들의 해밍 웨이트와 독립적인,
    메시지를 인증하기 위해 구성된 장치.
  27. 무선 디바이스에 의해 메시지를 인증하기 위한 방법으로서,
    상기 메시지를 획득하는 단계;
    키스트림을 발생시키기는 단계; 및
    상기 키스트림 및 유니버셜 해시 함수를 이용하여 메시지 인증 코드를 컴퓨팅하는 단계
    를 포함하고,
    상기 유니버셜 해시 함수는 캐리리스 곱셈을 이용하여 컴퓨팅되는,
    무선 디바이스에 의해 메시지를 인증하기 위한 방법.
  28. 제 27 항에 있어서,
    상기 유니버셜 해시 함수를 컴퓨팅하는 단계는,
    상기 메시지의 32-비트 워드를 반전시키는 단계,
    상기 메시지의 반전된 32-비트 워드와 상기 키스트림의 제 1의 32-비트 워드 사이에서 캐리리스 곱셈을 이용하여 제 1의 64-비트 워드를 컴퓨팅하는 단계,
    상기 메시지의 상기 반전된 32-비트 워드와 상기 키스트림의 제 2의 32-비트 워드 사이에서 캐리리스 곱셈을 이용하여 제 2의 64-비트 워드를 컴퓨팅하는 단계,
    제 1의 32-비트 변수를 획득하기 위해, 상기 제 1의 64-비트 워드의 최저 32-비트 워드와 상기 제 2의 64-비트 워드의 최고 32-비트 워드 사이에서 배타적-OR 연산을 수행하는 단계, 및
    제 2의 32-비트 변수와 상기 제 1의 32-비트 변수 사이에서 배타적-OR 연산을 수행하는 단계
    를 포함하는,
    무선 디바이스에 의해 메시지를 인증하기 위한 방법.
  29. 제 28 항에 있어서,
    상기 제 2의 32-비트 변수는 초기에 0으로 설정되는,
    무선 디바이스에 의해 메시지를 인증하기 위한 방법.
  30. 제 28 항에 있어서,
    상기 키스트림의 상기 제 2의 32-비트 워드는 상기 키스트림의 상기 제 1의 32-비트 워드를 바로 뒤따르는,
    무선 디바이스에 의해 메시지를 인증하기 위한 방법.
  31. 제 27 항에 있어서,
    상기 유니버셜 해시 함수는 32 메시지 비트 당 32개 미만의 기계 명령들을 이용하여 컴퓨팅되는,
    무선 디바이스에 의해 메시지를 인증하기 위한 방법.
  32. 제 27 항에 있어서,
    상기 유니버셜 해시 함수는 32 메시지 비트 당 5개의 기계 명령들을 이용하여 컴퓨팅되는,
    무선 디바이스에 의해 메시지를 인증하기 위한 방법.
  33. 제 27 항에 있어서,
    상기 메시지 인증 코드는 128-EIA3 알고리즘을 이용하여 컴퓨팅되는,
    무선 디바이스에 의해 메시지를 인증하기 위한 방법.
  34. 제 33 항에 있어서,
    상기 메시지를 획득하는 단계는, 전송 메시지를 발생시키는 단계를 포함하고,
    상기 방법은,
    상기 전송 메시지 및 상기 메시지 인증 코드를 단일 메시지에서 전송하는 단계
    를 더 포함하는,
    무선 디바이스에 의해 메시지를 인증하기 위한 방법.
  35. 제 33 항에 있어서,
    상기 메시지를 획득하는 단계는, 상기 메시지 및 상기 메시지 인증 코드를 포함하는 단일 메시지를 수신하는 단계를 포함하고,
    상기 방법은,
    상기 단일 메시지로부터 전송 메시지 인증 코드를 추출하는 단계; 및
    상기 단일 메시지의 인증을 결정하기 위해 상기 전송 메시지 인증 코드를 상기 메시지 인증 코드와 비교하는 단계
    를 더 포함하는,
    무선 디바이스에 의해 메시지를 인증하기 위한 방법.
  36. 제 27 항에 있어서,
    상기 키스트림은 스트림 암호를 이용하여 발생되는,
    무선 디바이스에 의해 메시지를 인증하기 위한 방법.
  37. 제 27 항에 있어서,
    상기 무선 디바이스는 무선 통신 디바이스인,
    무선 디바이스에 의해 메시지를 인증하기 위한 방법.
  38. 제 27 항에 있어서,
    상기 무선 디바이스는 기지국인,
    무선 디바이스에 의해 메시지를 인증하기 위한 방법.
  39. 제 27 항에 있어서,
    캐리리스 곱셈의 벽시계 실행 시간은 오퍼랜드들의 해밍 웨이트와 독립적인,
    무선 디바이스에 의해 메시지를 인증하기 위한 방법.
  40. 메시지를 인증하기 위한 컴퓨터-프로그램 물건으로서,
    명령들을 갖는 비-일시적 컴퓨터-판독가능 매체
    를 포함하고,
    상기 명령들은,
    무선 디바이스로 하여금, 상기 메시지를 획득하게 하기 위한 코드,
    상기 무선 디바이스로 하여금, 키스트림을 발생시키게 하기 위한 코드, 및
    상기 무선 디바이스로 하여금, 상기 키스트림 및 유니버셜 해시 함수를 이용하여 메시지 인증 코드를 컴퓨팅하게 하기 위한 코드
    를 포함하고,
    상기 유니버셜 해시 함수는 캐리리스 곱셈을 이용하여 컴퓨팅되는,
    메시지를 인증하기 위한 컴퓨터-프로그램 물건.
  41. 제 40 항에 있어서,
    상기 유니버셜 해시 함수를 컴퓨팅하는 것은,
    상기 메시지의 32-비트 워드를 반전시키는 것,
    상기 메시지의 반전된 32-비트 워드와 상기 키스트림의 제 1의 32-비트 워드 사이에서 캐리리스 곱셈을 이용하여 제 1의 64-비트 워드를 컴퓨팅하는 것,
    상기 메시지의 상기 반전된 32-비트 워드와 상기 키스트림의 제 2의 32-비트 워드 사이에서 캐리리스 곱셈을 이용하여 제 2의 64-비트 워드를 컴퓨팅하는 것,
    제 1의 32-비트 변수를 획득하기 위해, 상기 제 1의 64-비트 워드의 최저 32-비트 워드와 상기 제 2의 64-비트 워드의 최고 32-비트 워드 사이에서 배타적-OR 연산을 수행하는 것, 및
    제 2의 32-비트 변수와 상기 제 1의 32-비트 변수 사이에서 배타적-OR 연산을 수행하는 것
    을 포함하는,
    메시지를 인증하기 위한 컴퓨터-프로그램 물건.
  42. 제 41 항에 있어서,
    상기 제 2의 32-비트 변수는 초기에 0으로 설정되는,
    메시지를 인증하기 위한 컴퓨터-프로그램 물건.
  43. 제 41 항에 있어서,
    상기 키스트림의 상기 제 2의 32-비트 워드는 상기 키스트림의 상기 제 1의 32-비트 워드를 바로 뒤따르는,
    메시지를 인증하기 위한 컴퓨터-프로그램 물건.
KR1020157025337A 2013-02-20 2014-02-13 캐리리스 곱셈을 이용하여 컴퓨팅된 유니버셜 해시 함수를 이용한 메시지 인증 KR101615289B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/771,531 US9065632B2 (en) 2013-02-20 2013-02-20 Message authentication using a universal hash function computed with carryless multiplication
US13/771,531 2013-02-20
PCT/US2014/016285 WO2014130341A1 (en) 2013-02-20 2014-02-13 Message authentication using a universal hash function computed with carryless multiplication

Publications (2)

Publication Number Publication Date
KR20150119338A true KR20150119338A (ko) 2015-10-23
KR101615289B1 KR101615289B1 (ko) 2016-04-25

Family

ID=50236281

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020157025337A KR101615289B1 (ko) 2013-02-20 2014-02-13 캐리리스 곱셈을 이용하여 컴퓨팅된 유니버셜 해시 함수를 이용한 메시지 인증

Country Status (8)

Country Link
US (1) US9065632B2 (ko)
EP (1) EP2959630B1 (ko)
JP (1) JP5902362B1 (ko)
KR (1) KR101615289B1 (ko)
CN (1) CN104995866B (ko)
ES (1) ES2731856T3 (ko)
HU (1) HUE044169T2 (ko)
WO (1) WO2014130341A1 (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10313129B2 (en) 2015-06-26 2019-06-04 Intel Corporation Keyed-hash message authentication code processors, methods, systems, and instructions
US10893056B2 (en) 2015-09-30 2021-01-12 Nokia Technologies Oy Message verification
DE102016219926A1 (de) * 2016-10-13 2018-04-19 Siemens Aktiengesellschaft Verfahren, Sender und Empfänger zum Authentisieren und zum Integritätsschutz von Nachrichteninhalten
IL250657A0 (en) 2017-02-19 2017-03-30 Sella Yaron Cooperative computation of an authentication code based on a cryptographic hash function
US11165758B2 (en) * 2018-04-09 2021-11-02 International Business Machines Corporation Keystream generation using media data
US11843689B2 (en) * 2021-08-06 2023-12-12 Samsung Electronics Co., Ltd. Methods and systems for reducing propagation delays in hardware implementation of ZUC cryptographic algorithms

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4538240A (en) * 1982-12-30 1985-08-27 International Business Machines Corporation Method and apparatus for performing hashing operations using Galois field multiplication
US7152942B2 (en) * 2002-12-02 2006-12-26 Silverbrook Research Pty Ltd Fixative compensation
US20060159260A1 (en) * 2005-01-14 2006-07-20 Eaton Corporation Method and communication system employing secure key exchange for encoding and decoding messages between nodes of a communication network
JP2008541163A (ja) * 2005-05-11 2008-11-20 エヌエックスピー ビー ヴィ 通信プロトコル及び電気通信システム、特に認証管理システム及び対応する方法
US7590930B2 (en) * 2005-05-24 2009-09-15 Intel Corporation Instructions for performing modulo-2 multiplication and bit reflection
JP2007086170A (ja) * 2005-09-20 2007-04-05 Nec Corp 汎用ハッシュ関数族計算装置、方法、プログラム、および共有鍵生成システム
KR20080058462A (ko) * 2005-11-04 2008-06-25 닛본 덴끼 가부시끼가이샤 메시지 인증 장치, 메시지 인증 방법, 메시지 인증 프로그램을 기록한 매체
US7991152B2 (en) * 2007-03-28 2011-08-02 Intel Corporation Speeding up Galois Counter Mode (GCM) computations
CN101483519A (zh) * 2008-01-11 2009-07-15 索尼(中国)有限公司 产生哈希函数的压缩函数装置以及哈希函数系统及方法
US8340280B2 (en) 2008-06-13 2012-12-25 Intel Corporation Using a single instruction multiple data (SIMD) instruction to speed up galois counter mode (GCM) computations
US8891756B2 (en) 2008-10-30 2014-11-18 Certicom Corp. Collision-resistant elliptic curve hash functions
CN101662366B (zh) * 2009-05-27 2011-09-21 西安西电捷通无线网络通信股份有限公司 基于哈希函数的双向认证方法及系统
EP2288195B1 (en) * 2009-08-20 2019-10-23 Samsung Electronics Co., Ltd. Method and apparatus for operating a base station in a wireless communication system
US8296568B2 (en) * 2009-10-27 2012-10-23 Google Inc. Systems and methods for authenticating an electronic transaction
US8635262B2 (en) 2010-12-03 2014-01-21 Via Technologies, Inc. Carryless multiplication preformatting apparatus and method
US9166793B2 (en) * 2011-12-05 2015-10-20 University Of Washington Efficient authentication for mobile and pervasive computing
US8732853B1 (en) * 2013-03-22 2014-05-20 Dropbox, Inc. Web-based system providing sharable content item links with link sharer specified use restrictions

Also Published As

Publication number Publication date
CN104995866B (zh) 2016-09-14
JP5902362B1 (ja) 2016-04-13
EP2959630B1 (en) 2019-03-20
EP2959630A1 (en) 2015-12-30
US9065632B2 (en) 2015-06-23
KR101615289B1 (ko) 2016-04-25
JP2016513411A (ja) 2016-05-12
ES2731856T3 (es) 2019-11-19
WO2014130341A1 (en) 2014-08-28
US20140237237A1 (en) 2014-08-21
CN104995866A (zh) 2015-10-21
HUE044169T2 (hu) 2019-10-28

Similar Documents

Publication Publication Date Title
KR101615289B1 (ko) 캐리리스 곱셈을 이용하여 컴퓨팅된 유니버셜 해시 함수를 이용한 메시지 인증
US11818124B2 (en) Attestation of a platform entity
US9379887B2 (en) Efficient cryptographic key stream generation using optimized S-box configurations
Chikouche et al. A privacy-preserving code-based authentication protocol for Internet of Things
WO2016026517A1 (en) Generating cryptographic checksums
CN110999253B (zh) 网状设备及其方法、计算机可读介质以及电子装置
US20220166600A1 (en) Evolving cryptograpy system and method
US9026791B2 (en) Linear feedback shift register (LFSR)
US20240022396A1 (en) System and method for evolving cryptography with a private time base
Chacko et al. Physical gate based preamble obfuscation for securing wireless communication
He et al. Secure and efficient dynamic program update in wireless sensor networks
CN113302961B (zh) 安全信标
EP4135257A1 (en) System and method for evolving cryptography with a private time base
CN111771357A (zh) Tls证书认证方法、装置、设备及存储介质
Hazzaa et al. A New Lightweight Cryptosystem for IoT in Smart City Environments
WO2022165472A1 (en) Evolving cryptography system and method
Patalbansi Secure Authentication and Security System for Mobile Devices in Mobile Cloud Computing
Linh et al. Analysing open-source 5G core networks for TLS vulnerabilities and 3GPP compliance
Wassal Securonil–CUSDR Security
Shin et al. A Secure MQTT Framework from PUF-based Key Establishment
Kaur et al. Review and Comparative Analysis of Stream Cipher for LTE Technology.
CN118802150A (zh) 数字签名方法、设备及存储介质
Uysal A security framework for mobile communication

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated 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: 20190327

Year of fee payment: 4