Search icon CANCEL
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Conferences
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
TLS Cryptography In-Depth

You're reading from   TLS Cryptography In-Depth Explore the intricacies of modern cryptography and the inner workings of TLS

Arrow left icon
Product type Paperback
Published in Jan 2024
Publisher Packt
ISBN-13 9781804611951
Length 712 pages
Edition 1st Edition
Arrow right icon
Authors (2):
Arrow left icon
Dr. Roland Schmitz Dr. Roland Schmitz
Author Profile Icon Dr. Roland Schmitz
Dr. Roland Schmitz
Dr. Paul Duplys Dr. Paul Duplys
Author Profile Icon Dr. Paul Duplys
Dr. Paul Duplys
Arrow right icon
View More author details
Toc

Table of Contents (30) Chapters Close

Preface 1. Part I Getting Started
2. Chapter 1: The Role of Cryptography in the Connected World FREE CHAPTER 3. Chapter 2: Secure Channel and the CIA Triad 4. Chapter 3: A Secret to Share 5. Chapter 4: Encryption and Decryption 6. Chapter 5: Entity Authentication 7. Chapter 6: Transport Layer Security at a Glance 8. Part II Shaking Hands
9. Chapter 7: Public-Key Cryptography 10. Chapter 8: Elliptic Curves 11. Chapter 9: Digital Signatures 12. Chapter 10: Digital Certificates and Certification Authorities 13. Chapter 11: Hash Functions and Message Authentication Codes 14. Chapter 12: Secrets and Keys in TLS 1.3 15. Chapter 13: TLS Handshake Protocol Revisited 16. Part III Off the Record
17. Chapter 14: Block Ciphers and Their Modes of Operation 18. Chapter 15: Authenticated Encryption 19. Chapter 16: The Galois Counter Mode 20. Chapter 17: TLS Record Protocol Revisited 21. Chapter 18: TLS Cipher Suites 22. Part IV Bleeding Hearts and Biting Poodles
23. Chapter 19: Attacks on Cryptography 24. Chapter 20: Attacks on the TLS Handshake Protocol 25. Chapter 21: Attacks on the TLS Record Protocol 26. Chapter 22: Attacks on TLS Implementations 27. Bibliography
28. Index
29. Other Books You Might Enjoy

18.4 Poly1305

Poly1305 is a message authentication code specified in RFC 8439 [131]. It takes a 256-bit one-time key k and an arbitrary length plaintext m, and produces a 128-bit tag used to authenticate message m.

The key k is partitioned into two parts, which RFC 8439 refers to as r and s. The pair (r,s) must be unique and unpredictable for each Poly1305 invocation. The 16-byte part r may be constant, but must undergo the following modification, referred to as clamping in RFC 8439:

  • The four highest bits of bytes 3, 7, 11, and 15 must be set to 0 (in other words, these bytes must be smaller than 16).

  • The two bottom bits of bytes 4, 8, and 12 must be set to 0 (in other words, these bytes must be divisible by 4).

Part s, the other 16-byte part of the secret key k, must be unpredictable. However, r and s can also be (pseudo)randomly generated for each new Poly1305 invocation.

Poly1305 pseudocode is shown in Algorithm 9. It takes a 256-bit one-time key and an arbitrary-size message...

lock icon The rest of the chapter is locked
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at €18.99/month. Cancel anytime