IP Library Granted Patent US 7,343,011
Granted Patent B2
US 7,343,011 · App. 10/424,803 · Granted Mar 11, 2008

Secure telecommunications system for wireless local area networks

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,343,011
App. No.
10/424,803
Granted
Mar 11, 2008
Kind
B2
Abstract

A security mechanism suitable for wireless local area networks is disclosed that exhibits a reasonable trade-off between computation speed and resistance to attack. The illustrative embodiment can be implemented with operations that are quickly performed on most processors, and, therefore be in many cases reasonably implemented in software. The illustrative embodiment comprises modulo 2 additions, modulo 2 B additions, bit rotations, and byte transpositions.

Claims (73)

1. A method, comprising:

converting a message to a sequence of message words using a message padder;

generating a first message integrity codeword, L, and a second message integrity codeword, R, based on the message words and respective first authentication key, K 0 , and second authentication key, K 1 , the generating based on operations comprising modulo 2 sum, modulo 2 B sum, bit rotation, and block transformation, where B is a positive integer, wherein generating comprises setting the second message integrity codeword, R, equal to the modulo 2 sum of the second message integrity codeword, R, plus the first message integrity codeword, L, after being rotated left 17 bits; and

transmitting a cyphertext message based on the first and second message integrity codewords and the message words over a communications medium to a receiver.

2. The method of claim 1 , further comprising encrypting the message words and the first and second message integrity codewords with first and second privacy keys to provide the ciphertext message.

3. The method of claim 2 , wherein generating comprises:

setting the first message integrity codeword, L, equal to the modulo 2 B sum of the first message integrity codeword, L, plus the second message integrity codeword, R;

setting the second message integrity codeword, R, equal to the modulo 2 sum of the second message integrity codeword, R, plus a transposition of the first message integrity codeword, L;

setting the first message integrity codeword, L, equal to the modulo 2 B sum of the first message integrity codeword, L, plus the second message integrity codeword, R;

setting the second message integrity codeword, R, equal to the modulo 2 sum of the second message integrity codeword, R, plus the first message integrity codeword, L, after being rotated left 3 bits;

setting the first message integrity codeword, L, equal to the modulo 2 B sum of the first message integrity codeword, L, plus the second message integrity codeword, R;

setting the second message integrity codeword, R, equal to the modulo 2 sum of the second message integrity codeword, R, plus the first message integrity codeword, L, after being rotated right 2 bits; and

setting the first message integrity codeword, L, equal to the modulo 2 B sum of the first message integrity codeword, L, plus the second message integrity codeword, R.

4. The method of claim 3 , wherein the transposition of the first message integrity codeword, L, swaps the position of the two least significant bytes of L with each other and swaps the position of the two most significant bytes of L with each other.

5. The method of claim 1 , wherein generating comprises:

setting the first message integrity codeword, L, equal to the first authentication key, K 0 , and the second message integrity codeword, R, equal to the second key, K 1 ; and

iteratively for i=0 through n,

setting the first message integrity codeword, L, equal to the modulo 2 sum of the first message integrity codeword, L, plus the message word, M i , and

setting the first message integrity codeword, L, and the second message integrity codeword, R, equal to a block transformation of the first message integrity codeword, L, and the second message integrity codeword, R.

6. The method of claim 5 , wherein the block transformation comprises:

setting the first message integrity codeword, L, equal to the modulo 2 B sum of the first message integrity codeword, L, plus the second message integrity codeword, R;

setting the second message integrity codeword, R, equal to the modulo 2 sum of the second message integrity codeword, R, plus a transposition of the first message integrity codeword, L;

setting the first message integrity codeword, L, equal to the modulo 2 B sum of the first message integrity codeword, L, plus the second message integrity codeword, R;

setting the second message integrity codeword, R, equal to the modulo 2 sum of the second message integrity codeword, R, plus the first message integrity codeword, L, after being rotated left 3 bits;

setting the first message integrity codeword, L, equal to the modulo 2 B sum of the first message integrity codeword, L, plus the second message integrity codeword, R;

setting the second message integrity codeword, R, equal to the module 2 sum of the second message integrity codeword, R, plus the first message integrity codeword, L, after being rotated right 2 bits; and

setting the first message integrity codeword, L, equal to the modulo 2 B sum of the first message integrity codeword, L, plus the second message integrity codeword, R.

7. The method of claim 6 , wherein the transposition of the first message integrity codeword, L, swaps the position of the two least significant bytes of L with each other and swaps the position of the two most significant bytes of L with each other.

8. The method of claim 5 , further comprising:

deciphering a ciphertext message using a first privacy key, P 0 , and a second privacy key, P 1 to recover message words and candidate message integrity codewords L C and R C ;

generating benchmark message integrity codewords L B and R B based on the message words and a first authentication key, K 0 , and a second authentication key, K 1 , the benchmark message integrity codewords L B and R B potentially corresponding to the candidate message integrity codewords L C and R C , respectively; and

authenticating message bytes corresponding to the message words based on a comparison of the respective candidate message integrity codewords L C and R C and the benchmark message integrity codewords L B and R B .

9. The method of claim 8 , wherein authenticating comprises authenticating the message bytes when and only when the candidate message integrity codeword L C matches the benchmark message integrity codeword L B , and when and only when the candidate message integrity codeword R C matches the benchmark message integrity codeword R B .

10. The method of claim 8 , wherein deciphering comprises decrypting the ciphertext message with the first privacy key, P 0 , and the second privacy key, P 1 to recover N message words M 0 through M N−1 .

11. The method of claim 8 , wherein deciphering comprises generating the first candidate message integrity codeword, L C , and said second candidate message integrity codeword, R C , the generating of the first candidate message integrity codeword, L C , and said second candidate message integrity codeword, R C comprising:

setting said first candidate message integrity codeword, L C , equal to said first authentication key, K 0 , and said second message integrity codeword, R C , equal to said second key, K 1 , and

iteratively for i=0 through n,

setting said first candidate message integrity codeword, L C , equal to the modulo 2 sum of said first candidate message integrity codeword, L C , plus said message word M i , and

setting said first candidate message integrity codeword, L C , and said second candidate message integrity codeword, R C , equal to a block transformation of said first candidate message integrity codeword, L C , and said second candidate message integrity codeword, R C .

12. The method of claim 11 , wherein said block transformation comprises:

setting said first message integrity codeword, L, equal to the modulo 2 B sum of said first message integrity codeword, L, plus said second message integrity codeword, R, where B is a positive integer;

setting said second message integrity codeword, R, equal to the modulo 2 sum of said second message integrity codeword, R, plus a transposition of said first message integrity codeword, L;

setting said first message integrity codeword, L, equal to the modulo 2 B sum of said first message integrity codeword, L, plus said second message integrity codeword, R;

setting said second message integrity codeword, R, equal to the modulo 2 sum of said second message integrity codeword, R, plus said first message integrity codeword, L, after being rotated left 3 bits;

setting said first message integrity codeword, L, equal to the modulo 2 B sum of said first message integrity codeword, L, plus said second message integrity codeword, R;

setting said second message integrity codeword, R, equal to the modulo 2 sum of said second message integrity codeword, R, plus said first message integrity codeword, L, after being rotated right 2 bits; and

setting said first message integrity codeword, L, equal to the modulo 2 B sum of said first message integrity codeword, L, plus said second message integrity codeword, R.

13. The method of claim 12 , wherein said transposition of said first message integrity codeword, L, swaps the position of the two least significant bytes of L with each other and swaps the position of the two most significant bytes of L with each other.

14. The method of claim 8 , wherein the deciphering is based on operations comprising modulo 2 sum, modulo 2 B sum, bit rotation, and block transformation, where B is a positive integer comprising.

15. A system, comprising:

a transmitter comprising:

a message padder configured to convert a message to a sequence of message words; and

a message integrity code generator configured to generate a first message integrity codeword, L, and a second message integrity codeword, R, based on the message words and respective first authentication key, K 0 , and second authentication key, K 1 , the generating based on operations comprising modulo 2 sum, modulo 2 B sum, bit rotation, and block transformation, where B is a positive integer, wherein the message integrity code generator is further configured to implement the block transformation by setting the second message integrity codeword, R, equal to the modulo 2 sum of the second message integrity codeword, R, plus the first message integrity codeword, L, after being rotated left 17 bits,

wherein the transmitter is further configured to transmit a cyphertext message based on the first and second message integrity codewords and the message words over a communications medium to a receiver.

16. The system of claim 15 , the transmitter further comprising an encryptor, the encryptor configured to encrypt the message words and the first and second message integrity codewords with first and second privacy keys to provide a ciphertext message.

17. The system of claim 16 , wherein the message integrity code generator is further configured to generate by:

setting the first message integrity codeword, L, equal to the first authentication key, K 0 , and the second message integrity codeword, R, equal to the second key, K 1 ; and

iteratively for i=0 through n,

setting the first message integrity codeword, L, equal to the modulo 2 sum of the first message integrity codeword, L, plus the message word, M i , and

setting the first message integrity codeword, L, and the second message integrity codeword, R, equal to a block transformation of the first message integrity codeword, L, and the second message integrity codeword, R.

18. The system of claim 15 , wherein the message integrity code generator is further configured to implement the block transformation by:

setting the first message integrity codeword, L, equal to the modulo 2 B sum of the first message integrity codeword, L, plus the second message integrity codeword, R;

setting the second message integrity codeword, R, equal to the modulo 2 sum of the second message integrity codeword, R, plus a transposition of the first message integrity codeword, L;

setting the first message integrity codeword, L, equal to the modulo 2 B sum of the first message integrity codeword, L, plus the second message integrity codeword, R;

setting the second message integrity codeword, R, equal to the modulo 2 sum of the second message integrity codeword, R, plus the first message integrity codeword, L, after being rotated left 3 bits;

setting the first message integrity codeword, L, equal to the modulo 2 B sum of the first message integrity codeword, L, plus the second message integrity codeword, R;

setting the second message integrity codeword, R, equal to the modulo 2 sum of the second message integrity codeword, R, plus the first message integrity codeword, L, after being rotated right 2 bits; and

setting the first message integrity codeword, L, equal to the modulo 2 B sum of the first message integrity codeword, L, plus the second message integrity codeword, R,

wherein the transposition of the first message integrity codeword, L, swaps the position of the two least significant bytes of L with each other and swaps the position of the two most significant bytes of L with each other.

19. The system of claim 15 , further comprising a receiver, the receiver comprising:

a decryptor configured to receive a ciphertext message over a communication medium from the transmitter, the decryptor configured to decipher the ciphertext message using a first privacy key, P 0 , and a second privacy key, P 1 to recover message words and candidate message integrity codewords L C and R C ;

a second message integrity code generator configured to generate benchmark message integrity codewords L B and R B based on the message words and a first authentication key, K 0 , and a second authentication key, K 1 , the benchmark message integrity codewords L B and R B potentially corresponding to the candidate message integrity codewords L C and R C , respectively; and

a message integrity code comparator configured to authenticate message bytes corresponding to the message words based on a comparison of the respective candidate message integrity codewords L C and R C and the benchmark message integrity codewords L B and R B .

Assignments (19)
CHANGE OF NAME Recorded Sep 25, 2024
From: ROVI TECHNOLOGIES CORPORATION
To: ADEIA TECHNOLOGIES INC.
Reel/Frame 069047/0828 →
RELEASE OF SECURITY INTEREST Recorded Jun 5, 2020
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: ROVI SOLUTIONS CORPORATION; ROVI TECHNOLOGIES CORPORATION; ROVI GUIDES, INC.; TIVO SOLUTIONS, INC.; VEVEO, INC.
Reel/Frame 053481/0790 →
RELEASE OF SECURITY INTEREST Recorded Jun 5, 2020
From: HPS INVESTMENT PARTNERS, LLC
To: ROVI SOLUTIONS CORPORATION; ROVI TECHNOLOGIES CORPORATION; ROVI GUIDES, INC.; TIVO SOLUTIONS, INC.; VEVEO, INC.
Reel/Frame 053458/0749 →
SECURITY INTEREST Recorded Jun 1, 2020
From: ROVI SOLUTIONS CORPORATION; ROVI TECHNOLOGIES CORPORATION; ROVI GUIDES, INC.; TIVO SOLUTIONS INC.; VEVEO, INC.; INVENSAS CORPORATION; INVENSAS BONDING TECHNOLOGIES, INC.; TESSERA, INC.; TESSERA ADVANCED TECHNOLOGIES, INC.; DTS, INC.; PHORUS, INC.; IBIQUITY DIGITAL CORPORATION
To: BANK OF AMERICA, N.A.
Reel/Frame 053468/0001 →
PATENT SECURITY AGREEMENT Recorded Nov 25, 2019
From: ROVI SOLUTIONS CORPORATION; ROVI TECHNOLOGIES CORPORATION; ROVI GUIDES, INC.; TIVO SOLUTIONS, INC.; VEVEO, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 051110/0006 →
SECURITY INTEREST Recorded Nov 22, 2019
From: ROVI SOLUTIONS CORPORATION; ROVI TECHNOLOGIES CORPORATION; ROVI GUIDES, INC.; TIVO SOLUTIONS, INC.; VEVEO, INC.
To: HPS INVESTMENT PARTNERS, LLC, AS COLLATERAL AGENT
Reel/Frame 051143/0468 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 6, 2017
From: ROVI CORPORATION
To: ROVI TECHNOLOGIES CORPORATION
Reel/Frame 042178/0324 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 6, 2017
From: INTELLECTUAL VENTURES ASSETS 35 LLC
To: ROVI CORPORATION
Reel/Frame 041887/0515 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 21, 2017
From: INTELLECTUAL VENTURES I LLC
To: INTELLECTUAL VENTURES ASSETS 35 LLC
Reel/Frame 041668/0515 →
MERGER Recorded Jul 22, 2011
From: XOCYST TRANSFER AG L.L.C.
To: INTELLECTUAL VENTURES I LLC
Reel/Frame 026637/0603 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 2, 2009
From: CONEXANT, INC.
To: XOCYST TRANSFER AG L.L.C.
Reel/Frame 022043/0591 →
RELEASE OF SECURITY INTEREST Recorded Oct 27, 2008
From: BANK OF NEW YORK MELLON TRUST COMPANY, N.A. (FORMERLY, BANK OF NEW YORK TRUST COMPANY, N.A.)
To: CONEXANT, INC.
Reel/Frame 021731/0845 →
CONFIRMATORY ASSIGNMENT Recorded Aug 28, 2008
From: INTERSIL CORPORATION; INTERSIL AMERICAS, INC.
To: GLOBESPANVIRATA, INC.
Reel/Frame 021450/0637 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 1, 2007
From: INTERSIL AMERICAS, INC.; INTERSIL CORPORATION
To: GLOBESPANVIRATA, INC.
Reel/Frame 018841/0595 →
SECURITY INTEREST Recorded Nov 20, 2006
From: CONEXANT, INC.
To: BANK OF NEW YORK TRUST COMPANY, N.A.
Reel/Frame 018545/0298 →
CHANGE OF NAME Recorded Nov 1, 2005
From: GLOBESPANVIRATA, INC.
To: CONEXANT, INC.
Reel/Frame 016937/0061 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 25, 2005
From: INTERSIL CORPORATION
To: GLOBESPANVIRATA, INC.
Reel/Frame 016561/0550 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 25, 2005
From: INTERSIL CORPORATION
To: GLOBESPAN VIRATA, INC.
Reel/Frame 016561/0040 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 31, 2003
From: FERGUSON, NIELS THOMAS
To: INTERSIL AMERICAS INC.
Reel/Frame 014339/0583 →