IP Library Granted Patent US 8,707,036
Granted Patent B2
US 8,707,036 · App. 13/275,027 · Granted Apr 22, 2014

Cryptographic method and apparatus

Inventor: Marinus Struik (Toronto, CA)
Assignee: Certicom Corp.
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,707,036
App. No.
13/275,027
Granted
Apr 22, 2014
Kind
B2
Abstract

A method of formatting data for transmission to another party including the step of incorporating in the data a flag indicative of the absence of data for authentication of the sender. An authentication tag length is also included to permit variable length tags to be used.

Claims (40)

1. A computer-implemented method of formatting data at a device capable of providing optional data confidentiality and optional data authenticity, the method comprising:

obtaining message data m and nonce data N, wherein a value M encoded in the nonce data N indicates a length of an authentication tag, wherein the nonce data N comprises an identification of a security level, wherein the security level inhibits or invokes data confidentiality, and wherein the security level inhibits or invokes data authenticity; and

generating, by a cryptographic unit, a block-cipher output based on the message data m and the nonce data N, wherein the output comprises the authentication tag if the security level invokes data authenticity, and wherein the output comprises encrypted data if the security level invokes data confidentiality,

wherein generating the output comprises encrypting the authentication tag and the message data m if the security level invokes both data confidentiality and data authenticity.

2. The method of claim 1 , wherein generating the output comprises encrypting the message data m if the security level invokes data confidentiality.

3. The method of claim 1 , wherein the output comprises message data m and the authentication tag if the security level inhibits data confidentiality and invokes data authenticity, wherein the message data m in the output is unencrypted.

4. The method of claim 1 , wherein the authentication tag in the output is unencrypted.

5. The method of claim 1 , wherein the output lacks any authentication tag if the security level inhibits data authenticity.

6. The method of claim 1 , wherein the output comprises plain text if the security level inhibits data confidentiality.

7. The method of claim 1 , wherein the nonce data N is based on a frame identifier for an individual frame of data, wherein the security level inhibits or invokes data confidentiality for the individual frame, and wherein the security level inhibits or invokes data authenticity for the individual frame.

8. The method of claim 1 , further comprising obtaining key data.

9. The method of claim 1 , wherein the authentication tag comprises a variable-length authentication tag.

10. The method of claim 1 , wherein the value M is zero.

11. The method of claim 1 , wherein if the value M is zero, then data authenticity is disabled.

12. The method of claim 1 , wherein the value M is greater than zero.

13. The method of claim 1 , wherein the security level is configured to allow for varying levels of data authenticity.

14. The method of claim 1 , wherein the method is performed prior to transmission of data.

15. The method of claim 1 , further comprising transmitting a message comprising the output.

16. A computer-implemented method of processing data received at a device, the method comprising:

obtaining nonce data N and block-cipher data c, wherein a value M encoded in the nonce data N indicates a length of an authentication tag, wherein the nonce data N comprises an identification of a security level, wherein the security level indicates whether data confidentiality is invoked or inhibited, wherein the security level indicates whether data authenticity is invoked or inhibited, wherein the data c comprises encrypted data if the security level indicates data confidentiality is invoked, and wherein the data c comprises the authentication tag if the security level indicates data authenticity is invoked; and

determining, by a cryptographic unit, message data m based on the data c and the nonce data N,

wherein determining message data m comprises decrypting data c and checking authentication if the security level indicates data confidentiality and data authenticity are both invoked.

17. The method of claim 16 , wherein determining message data m comprises checking authentication if the security level indicates data authenticity is invoked.

18. The method of claim 16 , wherein determining message data m comprises decrypting the data c if the security level indicates data confidentiality is invoked.

19. The method of claim 16 , wherein determining message data m comprises parsing data c if the security level indicates data confidentiality and data authenticity are both inhibited.

20. The method of claim 16 , wherein the nonce data N is based on a frame identifier for an individual frame of data, wherein the security level inhibits or invokes data confidentiality for the individual frame, and wherein the security level inhibits or invokes data authenticity for the individual frame.

21. The method of claim 16 , further comprising obtaining key data.

22. The method of claim 16 , wherein the authentication tag comprises a variable-length authentication tag.

23. The method of claim 16 , wherein the value M is zero.

24. The method of claim 16 , wherein if the value M is zero, then data authenticity is disabled.

25. The method of claim 16 , wherein the value M is greater than zero.

26. The method of claim 16 , wherein the security level is configured to allow for varying levels of data authenticity.

27. A non-transitory machine-readable medium comprising machine-executable instructions for formatting data at a device capable of providing optional data confidentiality and optional data authenticity, the machine-executable instructions operable when executed to perform operations comprising:

obtaining message data m and nonce data N, wherein a value M encoded in the nonce data N indicates a length of an authentication tag, wherein the nonce data N comprises an identification of a security level, wherein the security level inhibits or invokes data confidentiality, and wherein the security level inhibits or invokes data authenticity; and

generating a block cipher output based on the message data m and the nonce data N, wherein the output comprises the authentication tag if the security level invokes data authenticity, and wherein the output comprises encrypted data if the security level invokes data confidentiality,

wherein generating the output comprises encrypting the authentication tag and the message data m if the security level invokes both data confidentiality and data authenticity.

28. A non-transitory machine-readable medium comprising machine-executable instructions for processing data received at a device, the machine-executable instructions operable when executed to perform operations comprising

obtaining nonce data N and block cipher data c, wherein a value M encoded in the nonce data N indicates a length of an authentication tag, wherein the nonce data N comprises an identification of a security level, wherein the security level indicates whether data confidentiality is invoked or inhibited, wherein the security level indicates whether data authenticity is invoked or inhibited, wherein the data c comprises encrypted data if the security level indicates data confidentiality is invoked, and wherein the data c comprises the authentication tag if the security level indicates data authenticity is invoked; and

determining message data m based on the data c and the nonce data N,

wherein determining message data m comprises decrypting data c and checking authentication if the security level indicates data confidentiality and data authenticity are both invoked.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 2, 2019
From: CERTICOM CORP.
To: BLACKBERRY LIMITED
Reel/Frame 050610/0937 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 19, 2014
From: STRUIK, MARINUS
To: CERTICOM CORP.
Reel/Frame 032246/0019 →
Priority Claims (1)
CA 2449524 · Nov 14, 2003 · national
Continuity (3)
Continuation 10986806 · Nov 15, 2004
Provisional Application 60519609 · Nov 14, 2003
Related Publication 20120036357A1 · Feb 9, 2012