IP Library Granted Patent US 8,600,059
Granted Patent B2
US 8,600,059 · App. 13/276,225 · Granted Dec 3, 2013

Short message service cipher

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 8,600,059
App. No.
13/276,225
Granted
Dec 3, 2013
Kind
B2
Abstract

A wireless phone system and methods performed thereon for cryptographically processing SMS messages is disclosed. A cryptographic pad is used to replace characters in a payload of a SMS message with coded characters. The cryptographic pad is used by the receiver of the SMS message to decode it. The cryptographic pad is one of two or more possible cryptographic pads stored in the receiver. In one embodiment, the two or more possible cryptographic pads are sent as a key where a particular cryptographic pad is referenced in the key using an index.

Claims (59)

1. A cellular telephone encryption system for protecting messages for a handset, the cellular telephone encryption system comprising:

a key that is larger than the messages;

an index indicating a reference point for a cryptographic pad, wherein the cryptographic pad is a subset of the key and is pulled from a set of pseudorandom locations in the key, and wherein the pseudorandom locations are selected for each message to insure that the entire length of the key is utilized for each message;

a cryptographic algorithm that cryptographically processes a message as a function of the cryptographic pad; and

a wireless transceiver that sends or receives the message;

wherein the cryptographic algorithm takes a character from a payload of the message and replaces it with a different character selected from a predefined character set that is different from the character set from which the key is constructed.

2. The cellular telephone encryption system for protecting messages for the handset as recited in claim 1 , wherein the index is embedded into the message.

3. The cellular telephone encryption system for protecting messages for the handset as recited in claim 1 , wherein the message is a short message service (SMS) message.

4. The cellular telephone encryption system for protecting messages for the handset as recited in claim 1 , wherein the wireless transceiver is in the handset and sends the message.

5. The cellular telephone encryption system for protecting messages for the handset as recited in claim 1 , wherein the cryptographic pad is pulled from the key using non-sequential information.

6. The cellular telephone encryption system for protecting messages for a handset as recited in claim 1 , wherein the key is used to process multiple messages, a respective cryptographic pad being pulled from a respective set of pseudorandom locations within the key for each message to be processed.

7. The cellular telephone encryption system for protecting messages for the handset as recited in claim 1 , wherein the predefined character set has fewer members than the number of possible unique values in the key.

8. The cellular telephone encryption system for protecting messages for the handset as recited in claim 1 , wherein the predefined character set consists of printable characters.

9. The cellular telephone encryption system for protecting messages for the handset as recited in claim 1 , wherein the replacement character is selected from the predefined character set at least in part by indexing into a circular list of the characters in the predefined character set using a value from the key as the index into the circular list.

10. A method for cryptographically processing short message service (SMS) messages of a handset, the method comprising:

loading a key into a memory, wherein the key is larger than the messages;

determining an index within the key;

determining a replacement character that is a function of a cryptographic pad located by the index, wherein during processing of a particular SMS message, the cryptographic pad is pulled from a set of pseudorandom locations in the key, the pseudorandom locations selected for each message such that the entire length of the key is utilized for each message, and wherein the replacement character is selected from a predefined character set that is different from the character set from which the key is constructed; and

replacing a character in the payload of the SMS message with the replacement character.

11. The method for cryptographically processing SMS messages of the handset as recited in claim 10 , further comprising receiving the key from a wireless network.

12. The method for cryptographically processing SMS messages of the handset as recited in claim 10 , wherein the index is a function of a value in a payload for the SMS message.

13. The method for cryptographically processing SMS messages of the handset as recited in claim 10 , wherein a stream cipher is used for encryption of the SMS.

14. The method for cryptographically processing SMS messages of the handset as recited in claim 10 , wherein the key is randomly generated.

15. The method for cryptographically processing SMS messages of the handset as recited in claim 10 , wherein the key is binary.

16. The method for cryptographically processing SMS messages of the handset as recited in claim 10 , further comprising:

detecting tampering with a handset holding the key; and

making the key unreadable.

17. The method for cryptographically processing SMS messages of the handset as recited in claim 10 , wherein the key is known to both a server and a handset communicating the SMS message.

18. The method for cryptographically processing SMS messages of the handset as recited in claim 10 , wherein the predefined character set is a 7 bit SMS character set.

19. The method for cryptographically processing short message service (SMS) messages of a handset as recited in claim 10 , wherein the key is used to process multiple SMS messages, a respective cryptographic pad being pulled from a respective set of pseudorandom locations within the key for each SMS message to be processed.

20. The method for cryptographically processing SMS messages of the handset as recited in claim 10 , wherein the predefined character set has fewer members than the number possible unique values in the key.

21. The method for cryptographically processing SMS messages of the handset as recited in claim 10 , wherein the predefined character set consists of printable characters.

22. The method for cryptographically processing SMS messages of the handset as recited in claim 10 , wherein the replacement character is selected from the predefined character set at least in part by indexing into a circular list of the characters in the predefined character set using a value from the key as the index into the circular list.

23. A method for cryptographically processing short message service (SMS) messages of a handset, the method comprising:

providing a value that identifies a cryptographic pad, from a plurality of cryptographic pads within a key that is larger than the SMS messages and that is stored in a memory, to use to cryptographically process a SMS message;

loading the identified cryptographic pad from a set of pseudorandom locations in the key, the pseudorandom locations selected for each SMS message such that the entire length of the key is utilized for each SMS message;

determining a replacement character that is a function of the cryptographic pad identified by the value, wherein the replacement character is selected from a predefined character set that is different from the character set from which the key is constructed; and

replacing a character in the payload of the SMS message with the replacement character.

24. The method for cryptographically processing SMS messages of the handset as recited in claim 23 , wherein the value is stored in the SMS message.

25. The method for cryptographically processing SMS messages of the handset as recited in claim 23 , wherein the SMS message is decrypted by successively replacing characters in the SMS message using the cryptographic pad.

26. The method for cryptographically processing SMS messages of the handset as recited in claim 23 , wherein the SMS message is encrypted by successively replacing characters in the SMS message using the cryptographic pad.

27. The method for cryptographically processing SMS messages of the handset as recited in claim 23 , further comprising sending the SMS message from a handset over a wireless network.

28. The method for cryptographically processing short message service (SMS) messages of a handset as recited in claim 23 , wherein the key is used to process multiple SMS messages, a respective cryptographic pad being pulled from a respective set of pseudorandom locations within the key for each SMS message to be processed.

29. The method for cryptographically processing SMS messages of the handset as recited in claim 23 , wherein the predefined character set has fewer members than the number possible unique values in the key.

30. The method for cryptographically processing SMS messages of the handset as recited in claim 23 , wherein the predefined character set consists of printable characters.

31. The method for cryptographically processing SMS messages of the handset as recited in claim 23 , wherein the replacement character is selected from the predefined character set at least in part by indexing into a circular list of the characters in the predefined character set using a value from the key as the index into the circular list.

32. A method for cryptographically processing messages, the method comprising:

storing a key into a memory, wherein the key is larger than the messages;

encrypting a first message using a first cryptographic pad that is a first subset of the key, the first cryptographic pad being pulled from a first set of pseudorandom locations in the key, the pseudorandom locations selected for each message to insure that the entire length of the key is utilized for each message; and

encrypting a second message using a second cryptographic pad that is a second subset of the key, the second cryptographic pad being pulled from a second set of pseudorandom locations in the key;

wherein encrypting a message comprises replacing each character of the message with a respective replacement character selected from a predefined character set that is different from the character set from which the key is constructed.

33. The method for cryptographically processing messages as recited in claim 32 , wherein the locations from which each respective cryptographic pad is pulled from the key are determined at least in part based on the content of the respective message.

34. The method for cryptographically processing messages as recited in claim 33 , wherein the locations from which each respective cryptographic pad is pulled from the key are determined at least in part based one or more pseudorandom characters placed in the content of the respective message for the purpose of identifying the respective cryptographic pad.

35. The method for cryptographically processing messages as recited in claim 32 , wherein the locations from which the respective cryptographic pad is pulled from the key are determined at least in part based on the length of the respective message.

36. The method for cryptographically processing messages as recited in claim 32 , wherein the locations from which each respective cryptographic pad is pulled from the key are determined at least in part based on the key values.

37. The method for cryptographically processing messages as recited in claim 36 , wherein the locations from which each respective cryptographic pad is pulled from the key are determined using a series of hops through the key data, wherein the key value at a hop is used as input into the next hop distance.

38. The method for cryptographically processing messages as recited in claim 32 , wherein the predefined character set has fewer members than the number possible unique values in the key.

39. The method for cryptographically processing messages as recited in claim 32 , wherein the predefined character set consists of printable characters.

40. The method for cryptographically processing messages as recited in claim 32 , wherein the replacement character is selected from the predefined character set at least in part by indexing into a circular list of the characters in the predefined character set using a value from the key as the index into the circular list.

Assignments (11)
MERGER Recorded Apr 29, 2020
From: GREATCALL, INC.
To: BEST BUY HEALTH, INC.
Reel/Frame 052522/0693 →
RELEASE OF SECURITY INTEREST Recorded Oct 2, 2018
From: THE NORTHWESTERN MUTUAL LIFE INSURANCE COMPANY, AS COLLATERAL AGENT
To: GREATCALL, INC.
Reel/Frame 047174/0959 →
RELEASE OF SECURITY INTEREST IN CERTAIN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (043279/0472) Recorded Oct 2, 2018
From: JEFFERIES FINANCE LLC, AS COLLATERAL AGENT
To: GREATCALL, INC.
Reel/Frame 047184/0001 →
RELEASE OF SECURITY INTEREST Recorded Nov 8, 2017
From: SILICON VALLEY BANK
To: GREATCALL, INC.
Reel/Frame 044071/0473 →
RELEASE OF SECURITY INTEREST Recorded Nov 8, 2017
From: SILICON VALLEY BANK
To: GREATCALL, INC.
Reel/Frame 044071/0393 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Jul 27, 2017
From: GREATCALL, INC.
To: THE NORTHWESTERN MUTUAL LIFE INSURANCE COMPANY, AS COLLATERAL AGENT
Reel/Frame 043360/0117 →
PATENT SECURITY AGREEMENT Recorded Jul 20, 2017
From: GREATCALL, INC.
To: JEFFERIES FINANCE LLC, AS COLLATERAL
Reel/Frame 043279/0472 →
RELEASE OF SECURITY INTEREST Recorded Jul 5, 2017
From: NXT CAPITAL SBIC, LP; NXT CAPITAL, LLC
To: GREATCALL, INC.
Reel/Frame 043107/0048 →
SECURITY AGREEMENT Recorded Aug 2, 2012
From: GREATCALL, INC.
To: SILICON VALLEY BANK
Reel/Frame 028709/0572 →
SECURITY AGREEMENT Recorded May 11, 2012
From: GREATCALL, INC.
To: NXT CAPITAL SBIC, LP, ITS SUCCESSORS AND ASSIGNS; NXT CAPITAL, LLC, ITS SUCCESSORS AND ASSIGNS
Reel/Frame 028194/0677 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 18, 2011
From: IMMING, PHILIP C.; VAN DER RAADT, KRIJN
To: GREATCALL, INC.
Reel/Frame 027082/0272 →