IP Library Granted Patent US 7,006,628
Granted Patent B2
US 7,006,628 · App. 10/038,295 · Granted Feb 28, 2006

Efficient packet encryption method

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,006,628
App. No.
10/038,295
Granted
Feb 28, 2006
Kind
B2
Abstract

The present efficient packet encryption method decreases the computation time to encrypt and decrypt successive packets of plaintext data. An S-vector is generated and the S-vector is used to encrypt successive packets of plaintext, thus reducing the per packet encryption/decryption time. The formula for encrypting successive packets includes use of the packet sequence number with a third variable injected to eliminate the predictability of the variables, thus making the present efficient packet encryption method more secure. A fourth variable is injected into the calculations to generate an encryption stream that does not repeat as frequently to provide additional security from hackers. For encrypting a packet having a long payload of plaintext, a packet byte sequence number is used to generate an encryption stream that is less likely to repeat within a particular packet.

Claims (88)

1. A method for encrypting at least one byte of plaintext to produce at least one byte of ciphertext, the method comprising:

selecting a secret key to create an S-vector following a standard encryption method;

setting a sequence number, the sequence number having a first part and a second part;

setting a first variable as the first part of the sequence number;

setting a second variable as the second part of the sequence number;

setting a byte sequence number;

calculating a third variable as the sum of the second variable plus the byte sequence number;

incrementing the byte sequence number by one;

calculating a fourth variable by adding the first variable plus the value within the S-vector pointed to by the third variable;

locating an encryption byte, wherein the location of the encryption byte within the S-vector is pointed to by the sum of the value within the S-vector pointed to by the third variable plus the value within the S-vector pointed to by the fourth variable; and

exclusive ORing the encryption byte with the at least one byte of plaintext to generate the at least one byte of ciphertext.

2. The method of claim 1 where setting a second variable further comprises:

exclusive ORing the second part of the sequence number and the value within the S-vector pointed to by the first variable.

3. The method of claim 1 , wherein calculating a fourth variable further comprises:

setting a value for a counter; and

summing the first variable plus the value within the S-vector pointed to by the third variable plus the value within the S-vector pointed to by the counter.

4. A method of encrypting one or more packets of plaintext, the one or more packets of plaintext having a plurality of bytes of plaintext, the method comprising:

obtaining a secret key;

generating an S-vector using the secret key;

for each successive one or more packets of plaintext,

obtaining a sequence number having a first portion and a second portion;

setting a first variable using the first portion of the sequence number;

setting a second variable using the second portion of the sequence number; and

setting a byte sequence number equal to zero;

for each next byte of the plurality of bytes of plaintext, calculating a next encryption byte, the calculating comprising:

adding the second variable to the byte sequence number to produce a third variable;

calculating a fourth variable by adding the first variable plus the value within the S-vector pointed to by the third variable;

locating a next encryption byte within the S-vector by adding the values within the S-vector pointed to by the third variable and the fourth variable to calculate a pointer to locate the next encryption byte;

setting the second variable equal to the third variable; and

incrementing the byte sequence number by one.

5. The method of claim 4 wherein calculating a second variable comprises:

exclusive ORing the second portion of the sequence number with the value within the S-vector pointed to by the first variable.

6. The method of claim 4 , at the transmitter further comprising:

for each next encrypted byte, calculating a next ciphertext byte by XORing the next encryption byte with the next byte of the plurality of bytes of plaintext.

7. The method of claim 4 , at the receiver further comprising:

for each next encryption byte, calculating a received next plaintext byte by XORing the next encryption byte with the next ciphertext byte within each one or more packets of plaintext.

8. The method of claim 4 , wherein calculating a fourth variable further comprises:

setting a counter;

calculating the fourth variable by adding the first variable plus the values within the S-vector pointed to by the third variable and the counter; and

for each next one or more packets of plaintext, incrementing the value of the counter according to a predetermined schedule.

9. The method of claim 8 , wherein setting a counter further comprises:

for a first packet of the one or more packets of plaintext, resetting a rollover counter to zero;

for each next one or more packets of plaintext, incrementing the rollover counter when incrementing the sequence number causes the value of the sequence number to transition from to all 0s.

10. The method of claim 4 further comprising:

for each next byte of the plurality of bytes of plaintext, permuting the S-vector, the permutation comprising:

saving a copy of the S-vector; and

swapping the value within the S-vector pointed to by the third variable and the value within the S-vector pointed to by the fourth variable, wherein the values within the S-vector are swapped after locating the next encryption byte; and

for each next one or more packets of plaintext, restoring the saved S-vector.

11. A method for converting one or more packets having a plurality of bytes of plaintext P to one or more packets having a plurality of ciphertext bytes C, the method comprising:

obtaining a secret key;

calculating an S-vector having a plurality of S-vector bytes using the secret key;

randomly setting a sequence number having a first part and a second part;

for each successive one or more packets, incrementing the sequence number;

setting a first variable j according to j=first part of the sequence number;

calculating a second variable i according to i=second part of the sequence number;

for each successive byte of the plurality of bytes of plaintext P, calculating a next successive ciphertext byte C, the calculating comprising:

further calculating the first variable according to j=j+S[i];

setting a third variable k;

further calculating the second variable i according to i=i+k;

locating the next successive encryption byte E within the S-vector according to E=S[S[i]+S[j]]; and

converting the next successive encryption byte E to a next successive ciphertext byte C according to C=E⊕P; and

when the last byte of the plurality of bytes of plaintext P has been converted to ciphertext byte C for the next packet of the one or more packets, transmitting the next successive packet of the one or more packets to a receiver.

12. The method of claim 11 wherein calculating a second variable i further comprises:

exclusive ORing the low order sequence number and the value within the S-vector pointed to by first variable according to i=(low order of the sequence number)⊕S[j].

13. The method of claim 11 , wherein further calculating the first variable j further comprises:

setting a counter r;

further calculating the first variable j according to j=j+S[i]+S[r]; and

for each successive packet of the one or more packets, incrementing the value of the counter r.

14. The method of claim 11 , wherein calculating a next successive encryption byte E further comprising:

permuting the S-vector, the permutation comprising:

saving a copy of the S-vector; and

swapping the byte of the plurality of S-vector bytes pointed to by the first variable j and the byte of the plurality of S-vector bytes pointed to by the second variable i; and

when the last byte of the plurality of bytes of plaintext P has been converted to the plurality of ciphertext bytes C for the next one of the one or more packets, restoring the saved S-vector.

15. A method for converting one or more packets having a plurality of bytes of plaintext P to one or more packets having a plurality of ciphertext bytes C, the method comprising:

obtaining a secret key;

calculating an S-vector having a plurality of S-vector bytes using the secret key;

randomly setting a sequence number having a high order and a low order;

for each successive one or more packets, incrementing the sequence number;

for each successive byte of the plurality of bytes of plaintext P, calculating a next successive encryption byte E, the calculating comprising:

setting a first variable j according to j=high order of the sequence number;

calculating a second variable i according to i=(low order of the sequence number)⊕S[j];

setting a counter r;

further calculating the first variable according to j=j+S[i]+S[r];

setting a third variable k;

incrementing the second variable i according to i=i+k;

locating the next successive encryption byte E within the S-vector according to E=S[S[i]+S[j]]; and

converting the next successive encryption byte E to a next successive ciphertext byte C according to C=E⊕P; and

when the last byte of the plurality of bytes of plaintext P has been converted to ciphertext byte C for the next packet of the one or more packets, transmitting the next successive packet of the one or more packets to a receiver.

Assignments (25)
(SECURITY INTEREST) GRANTOR'S NAME CHANGE Recorded Sep 21, 2023
From: AVAYA INC.
To: AVAYA LLC
Reel/Frame 065019/0231 →
RELEASE OF SECURITY INTEREST IN PATENTS (REEL/FRAME 53955/0436) Recorded May 18, 2023
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: AVAYA MANAGEMENT L.P.; AVAYA INC.; INTELLISIST, INC.; AVAYA INTEGRATED CABINET SOLUTIONS LLC
Reel/Frame 063705/0023 →
RELEASE OF SECURITY INTEREST IN PATENTS (REEL/FRAME 045034/0001) Recorded May 18, 2023
From: GOLDMAN SACHS BANK USA., AS COLLATERAL AGENT
To: ZANG, INC. (FORMER NAME OF AVAYA CLOUD INC.); AVAYA INC.; INTELLISIST, INC.; AVAYA INTEGRATED CABINET SOLUTIONS LLC; OCTEL COMMUNICATIONS LLC; VPNET TECHNOLOGIES, INC.; HYPERQUALITY, INC.; HYPERQUALITY II, LLC; CAAS TECHNOLOGIES, LLC; AVAYA MANAGEMENT L.P.
Reel/Frame 063779/0622 →
RELEASE OF SECURITY INTEREST IN PATENTS (REEL/FRAME 61087/0386) Recorded May 18, 2023
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: AVAYA MANAGEMENT L.P.; AVAYA INC.; INTELLISIST, INC.; AVAYA INTEGRATED CABINET SOLUTIONS LLC
Reel/Frame 063690/0359 →
INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded May 4, 2023
From: AVAYA INC.; AVAYA MANAGEMENT L.P.; INTELLISIST, INC.
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 063542/0662 →
INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded May 3, 2023
From: AVAYA MANAGEMENT L.P.; AVAYA INC.; INTELLISIST, INC.; KNOAHSOFT INC.
To: WILMINGTON SAVINGS FUND SOCIETY, FSB [COLLATERAL AGENT]
Reel/Frame 063742/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS AT REEL 45124/FRAME 0026 Recorded Apr 26, 2023
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: AVAYA HOLDINGS CORP.; AVAYA INC.; AVAYA MANAGEMENT L.P.; AVAYA INTEGRATED CABINET SOLUTIONS LLC
Reel/Frame 063457/0001 →
INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Aug 5, 2022
From: AVAYA INC.; INTELLISIST, INC.; AVAYA MANAGEMENT L.P.; AVAYA CABINET SOLUTIONS LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 061087/0386 →
BANKRUPTCY COURT ORDER RELEASING THE SECURITY INTEREST RECORDED AT REEL/FRAME 020156/0149 Recorded Jul 25, 2022
From: CITIBANK, N.A., AS ADMINISTRATIVE AGENT
To: AVAYA, INC.; AVAYA TECHNOLOGY LLC; OCTEL COMMUNICATIONS LLC; VPNET TECHNOLOGIES
Reel/Frame 060953/0412 →
SECURITY INTEREST Recorded Sep 25, 2020
From: AVAYA INC.; AVAYA MANAGEMENT L.P.; INTELLISIST, INC.; AVAYA INTEGRATED CABINET SOLUTIONS LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION
Reel/Frame 053955/0436 →
SECURITY INTEREST Recorded Jan 23, 2018
From: AVAYA INC.; AVAYA INTEGRATED CABINET SOLUTIONS LLC; OCTEL COMMUNICATIONS LLC; VPNET TECHNOLOGIES, INC.; ZANG, INC.
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 045124/0026 →
SECURITY INTEREST Recorded Jan 10, 2018
From: AVAYA INC.; AVAYA INTEGRATED CABINET SOLUTIONS LLC; OCTEL COMMUNICATIONS LLC; VPNET TECHNOLOGIES, INC.; ZANG, INC.
To: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
Reel/Frame 045034/0001 →
RELEASE OF SECURITY INTEREST Recorded Jan 9, 2018
From: CITICORP USA, INC.
To: AVAYA, INC.; SIERRA HOLDINGS CORP.; AVAYA TECHNOLOGY, LLC; OCTEL COMMUNICATIONS LLC; VPNET TECHNOLOGIES, INC.
Reel/Frame 045032/0213 →
BANKRUPTCY COURT ORDER RELEASING ALL LIENS INCLUDING THE SECURITY INTEREST RECORDED AT REEL/FRAME 041576/0001 Recorded Dec 15, 2017
From: CITIBANK, N.A.
To: AVAYA INC.; AVAYA INTEGRATED CABINET SOLUTIONS INC.; OCTEL COMMUNICATIONS LLC (FORMERLY KNOWN AS OCTEL COMMUNICATIONS CORPORATION); VPNET TECHNOLOGIES, INC.
Reel/Frame 044893/0531 →
BANKRUPTCY COURT ORDER RELEASING ALL LIENS INCLUDING THE SECURITY INTEREST RECORDED AT REEL/FRAME 012759/0141 Recorded Dec 15, 2017
From: THE BANK OF NEW YORK
To: AVAYA INC. (FORMERLY KNOWN AS AVAYA TECHNOLOGY CORP.)
Reel/Frame 044891/0439 →
BANKRUPTCY COURT ORDER RELEASING ALL LIENS INCLUDING THE SECURITY INTEREST RECORDED AT REEL/FRAME 025863/0535 Recorded Dec 15, 2017
From: THE BANK OF NEW YORK MELLON TRUST, NA
To: AVAYA INC.
Reel/Frame 044892/0001 →
BANKRUPTCY COURT ORDER RELEASING ALL LIENS INCLUDING THE SECURITY INTEREST RECORDED AT REEL/FRAME 030083/0639 Recorded Dec 15, 2017
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
To: AVAYA INC.
Reel/Frame 045012/0666 →
SECURITY INTEREST Recorded Jan 27, 2017
From: AVAYA INC.; AVAYA INTEGRATED CABINET SOLUTIONS INC.; OCTEL COMMUNICATIONS CORPORATION; VPNET TECHNOLOGIES, INC.
To: CITIBANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 041576/0001 →
SECURITY AGREEMENT Recorded Mar 13, 2013
From: AVAYA, INC.
To: BANK OF NEW YORK MELLON TRUST COMPANY, N.A., THE
Reel/Frame 030083/0639 →
SECURITY AGREEMENT Recorded Feb 22, 2011
From: AVAYA INC., A DELAWARE CORPORATION
To: BANK OF NEW YORK MELLON TRUST, NA, AS NOTES COLLATERAL AGENT, THE
Reel/Frame 025863/0535 →
CONVERSION FROM CORP TO LLC Recorded Dec 29, 2008
From: AVAYA TECHNOLOGY CORP.
To: AVAYA TECHNOLOGY LLC
Reel/Frame 022071/0420 →
REASSIGNMENT Recorded Jun 27, 2008
From: AVAYA TECHNOLOGY LLC
To: AVAYA INC
Reel/Frame 021158/0319 →
SECURITY AGREEMENT Recorded Nov 28, 2007
From: AVAYA, INC.; AVAYA TECHNOLOGY LLC; OCTEL COMMUNICATIONS LLC; VPNET TECHNOLOGIES, INC.
To: CITICORP USA, INC., AS ADMINISTRATIVE AGENT
Reel/Frame 020166/0705 →
SECURITY AGREEMENT Recorded Nov 27, 2007
From: AVAYA, INC.; AVAYA TECHNOLOGY LLC; OCTEL COMMUNICATIONS LLC; VPNET TECHNOLOGIES, INC.
To: CITIBANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 020156/0149 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 4, 2002
From: GILMAN, ROBERT R.; ROBINSON, RICHARD L.; WUTZKE, MARK
To: AVAYA TECHNOLOGY CORP.
Reel/Frame 012509/0562 →