Data Integrity and Message Authentication

Part of the Embedded Systems book series (EMSY)


The integrity of encrypted data was a cause for concern in the banking industry in the 1970s. They wanted to be sure that attackers were not able to modify data especially since the data, in this case, was financial. As a result many standards for integrity and authentication as well as authenticated encryption (Bellare et al. 2003) have been established (FIPS180-3 2008; FIPS198a 2002) and are being developed (SHA-3 2008). This chapter will introduce the basic properties and structure of data integrity functions including message authentication. In general, if confidentiality and assurance or authentication of confidentiality of data is important then authenticated encryption schemes (discussed in Sect. 6.5) should be used. Cryptographic hash functions and message authentication codes (MACs) are discussed in this chapter. Integrity trees will also be discussed as an application of these integrity functions. Some initial terminology is provided below as an aid to understanding concepts which will be developed in this chapter.

It provides assurance that the data has not been modified from its original state. Integrity is provided by hash functions. In general, these hashes are computed and then protected in some manner for verifying the data again at some time in the future. Hash functions combined with other properties (one-way, collision resistance) provide modification detection codes (MDCs) or message integrity codes (MICs).


Hash Function External Memory Replay Attack Message Authentication Code Memory Block 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


  1. Black J (2004) Authenticated encryption. In: Tilborg HCA van (ed) encyclopedia of cryptography and security, Springer (also
  2. Bellare M (2005) Attacks on SHA-1, Initiative for Open AuTHentication, OATH,
  3. Bellare M, Rogawayy P, Wagner D (2003) A conventional authenticated-encryption mode
  4. Blum M, Evans W, Gemmell P, Kannan S, Naor M (1994) Checking the correctness of memories. Algorithmica 12:225–244CrossRefMathSciNetGoogle Scholar
  5. Dworkin M (2004) Recommendation for block cipher modes of operation – the CCM mode for Authentication and Confidentiality. National Institute of Standards and Technology, NIST special publication 800–38CGoogle Scholar
  6. Dworkin M (2005) Recommendation for block cipher modes of operation: the CMAC mode for authentication, SP800–38B, Computer Security Division, Information Technology Laboratory, National Institute of Standards and Technology, Gaithersburg, MDGoogle Scholar
  7. Dworkin M (2007) Recommendation for block cipher modes of operation – Galois/Counter Mode (GCM) and GMAC. National Institute of Standards and Technology, NIST special publication 800–38DGoogle Scholar
  8. Elbaz R, Champagne D, Lee RB, Torres L, Sassatelli G, Guillemin (2007) TEC-Tree: a low cost and parallelizable tree for efficient defense against memory replay attacks. Proceedings of workshop on cryptographic hardware and embedded systems (CHES 2007), September 10–13, 2007, Vienna, Austria, pp 289–302Google Scholar
  9. .
    Elbaz R, Champagne D, Gebotys C, Lee RB, Potlapally N, Torres L (2009) Hardware mechanisms for memory authentication: a survey of existing techniques and engines. Trans Comp Sci IV LNCS 5430:1–22CrossRefGoogle Scholar
  10. FIPS180-3 (2008) Secure hash standard. Federal information processing standards publication, FIPS PUB 180-3, info tech lab, National Institute of standards and technology, Gaithersburg, MD 20899–8900Google Scholar
  11. FIPS198a (2002) The keyed-hash message authentication code (HMAC). National Institute of Standards and TechnologyGoogle Scholar
  12. Hall WE, Jutla CS (2005) Parallelizable authentication trees. SAC 2005, LNCS, Springer, Heidelberg 2006, 3897:95–109Google Scholar
  13. Juliato M, Gebotys C (2008) SEU-Resistant SHA-256 Design for security in satellites. Proceedings of international workshop on signal processing for space communications, SPSC, doi10.1109/SPSC.2008.4686705: 1–7Google Scholar
  14. Juliato M, Gebotys C (2009) High-performance HMAC processor based on the SHA-2 family of hash functions. CACR tech report
  15. Juliato M, Gebotys C, Elbaz R (2009) Efficient fault tolerant SHA-2 hash functions for space applications. Proceedings of IEEE aerospace conference doi:10.1109/AERO.2009.4839503Google Scholar
  16. Krawczyk H (2001) The order of encryption and authentication for protecting communications (Or: How Secure is SSL)? International crytology conference on advances in cryptology 2001 LNCS 2139: 310–331Google Scholar
  17. Menezes A, Van Oorschot P, Vanstone S (1996) Handbook of applied cryptography. CRC Press, Boca Raton, FlCrossRefGoogle Scholar
  18. Merkle RC (1989) Protocols for public key cryptography. IEEE symposium on security and privacy, April 1980, Oakland, CA, 122–134Google Scholar
  19. Potlapally NR et al. (2003) Analyzing the energy consumption of security protocols. ISLPED, doi:10.1109/LPE.2003.1231830:30–35Google Scholar
  20. Schneier B (1996) Applied cryptography. Wiley, New YorkGoogle Scholar
  21. SHA-3 (2008) Round one of the cryptographic hash algorithm.
  22. Stinson D (2005) Cryptography: theory and practice, 3rd edn. Chapman and CRC press, Boca Raton, FlGoogle Scholar

Copyright information

© Springer Science+Business Media, LLC 2010

Authors and Affiliations

  1. 1.Department of Electrical & Computer EngineeringUniversity of WaterlooWaterlooCanada

Personalised recommendations