Message authentication codes | Finite fields

One-key MAC

One-key MAC (OMAC) is a message authentication code constructed from a block cipher much like the CBC-MAC algorithm. Officially there are two OMAC algorithms (OMAC1 and OMAC2) which are both essentially the same except for a small tweak. OMAC1 is equivalent to CMAC, which became an NIST recommendation in May 2005. It is free for all uses: it is not covered by any patents.In cryptography, CMAC is a block cipher-based message authentication code algorithm. It may be used to provide assurance of the authenticity and, hence, the integrity of data. This mode of operation fixes security deficiencies of CBC-MAC (CBC-MAC is secure only for fixed-length messages). The core of the CMAC algorithm is a variation of CBC-MAC that Black and Rogaway proposed and analyzed under the name XCBC and submitted to NIST. The XCBC algorithm efficiently addresses the security deficiencies of CBC-MAC, but requires three keys. Iwata and Kurosawa proposed an improvement of XCBC and named the resulting algorithm One-Key CBC-MAC (OMAC) in their papers. They later submitted OMAC1, a refinement of OMAC, and additional security analysis. The OMAC algorithm reduces the amount of key material required for XCBC. CMAC is equivalent to OMAC1. To generate an ℓ-bit CMAC tag (t) of a message (m) using a b-bit block cipher (E) and a secret key (k), one first generates two b-bit sub-keys (k1 and k2) using the following algorithm (this is equivalent to multiplication by x and x2 in a finite field GF(2b)). Let ≪ denote the standard left-shift operator and ⊕ denote bit-wise exclusive or: 1. * Calculate a temporary value k0 = Ek(0). 2. * If msb(k0) = 0, then k1 = k0 ≪ 1, else k1 = (k0 ≪ 1) ⊕ C; where C is a certain constant that depends only on b. (Specifically, C is the non-leading coefficients of the lexicographically first irreducible degree-b binary polynomial with the minimal number of ones: 0x1B for 64-bit, 0x87 for 128-bit, and 0x425 for 256-bit blocks.) 3. * If msb(k1) = 0, then k2 = k1 ≪ 1, else k2 = (k1 ≪ 1) ⊕ C. 4. * Return keys (k1, k2) for the MAC generation process. As a small example, suppose b = 4, C = 00112, and k0 = Ek(0) = 01012. Then k1 = 10102 and k2 = 0100 ⊕ 0011 = 01112. The CMAC tag generation process is as follows: 1. * Divide message into b-bit blocks m = m1 ∥ ... ∥ mn−1 ∥ mn, where m1, ..., mn−1 are complete blocks. (The empty message is treated as one incomplete block.) 2. * If mn is a complete block then mn′ = k1 ⊕ mn else mn′ = k2 ⊕ (mn ∥ 10...02). 3. * Let c0 = 00...02. 4. * For i = 1, ..., n − 1, calculate ci = Ek(ci−1 ⊕ mi). 5. * cn = Ek(cn−1 ⊕ mn′) 6. * Output t = msbℓ(cn). The verification process is as follows: 1. * Use the above algorithm to generate the tag. 2. * Check that the generated tag is equal to the received tag. (Wikipedia).

Video thumbnail

What is a D Chord?

All D Major chords are combinations of D, A and F#

From playlist Music Lessons

Video thumbnail

One to One Functions

Definition, horizontal line test, and examples! Facebook: https://www.facebook.com/braingainzofficial Instagram: https://www.instagram.com/braingainzofficial Thanks for watching! Comment below with any questions / feedback and make sure to like / subscribe if you enjoyed!

From playlist Precalculus

Video thumbnail

Multivariable Taylor Polynomials

Free ebook http://tinyurl.com/EngMathYT A lecture on how to calculate Taylor polynomials and series for functions of two variables. Such ideas are useful in approximation of functions. We show where the polynomial representation comes from.

From playlist Mathematics for Finance & Actuarial Studies 2

Video thumbnail

What is a B Chord?

All B major chords are a combination of B, D# and F#

From playlist Music Lessons

Video thumbnail

Maclaurin Series for e^(2x)

Please Subscribe here, thank you!!! https://goo.gl/JQ8Nys Maclaurin Series for e^(2x)

From playlist Calculus 2 Exam 4 Playlist

Video thumbnail

What is an F Chord?

All F chords are made from different permutations and combinations of the F,C and A notes

From playlist Music Lessons

Video thumbnail

1.4.1

OpenStax Calculus Volume 1

From playlist OpenStax Calculus Volume 1 (By Objectives)

Video thumbnail

the C language (part 2 of 5)

Introduction to the C programming language. Part of a larger series teaching programming. See http://codeschool.org

From playlist The C language

Video thumbnail

the C language (part 5 of 5)

Introduction to the C programming language. Part of a larger series teaching programming. See http://codeschool.org

From playlist The C language

Video thumbnail

Message Authentication Codes

Cryptography and Network Security by Prof. D. Mukhopadhyay, Department of Computer Science and Engineering, IIT Kharagpur. For more details on NPTEL visit http://nptel.iitm.ac.in

From playlist Computer - Cryptography and Network Security

Video thumbnail

Stanford Seminar - Bugs in Crypto Implementations

Whether it’s by email, text, or social media platform, the average person will send over 60 messages per day—that's 22,000 messages per year. With billions of messages sent around the world each day, how can you be sure that your messages are safe and secure? Join professor Dan Boneh, on

From playlist Stanford Seminars

Video thumbnail

CERIAS Security: Watermarking Relational Databases 2/6

Clip 2/6 Speaker: Mohamed Shehab · Purdue University Proving ownership rights on outsourced relational databases is a crucial issue in today internet-based application environment and in many content distribution applications. In this talk, we will present mechanisms for proof of owne

From playlist The CERIAS Security Seminars 2005 (2)

Video thumbnail

Ruby Conf 2013 - Being Boring: A Survival Guide to Ruby Cryptography

We all know that security is hard, and that math is hard, but what happens when you put them together? Cryptography is an increasingly essential tool for building secure systems, but also a perilous minefield where any number of mistakes can lead to insecure systems. This talk will take y

From playlist Ruby Conf 2013 - Miami Beach, FL

Video thumbnail

R11. Cryptography: More Primitives

MIT 6.046J Design and Analysis of Algorithms, Spring 2015 View the complete course: http://ocw.mit.edu/6-046JS15 Instructor: Ling Ren In this recitation, problems related to cryptography are discussed. License: Creative Commons BY-NC-SA More information at http://ocw.mit.edu/terms More c

From playlist MIT 6.046J Design and Analysis of Algorithms, Spring 2015

Video thumbnail

22C3: Anonymous Data Broadcasting by Misuse of Satellite ISPs

Speaker: Sven Löschner An open-source project to develop a tool for broadband satellite broadcasts The lecture focuses on satellite ISP technology and how to misuse it for anonymously broadcasting to an unlimited number of anonymous users while only one user pays for a standard dial-up c

From playlist 22C3: Private Investigations

Video thumbnail

Off-the-Record Messaging: Useful Security and Privacy for IM

May 23, 2007 lecture by Ian Goldberg for the Stanford University Computer Systems Colloquium (EE 380). In this talk, Ian discusses "Off-the-Record Messaging" (OTR), a widely used software tool for secure and private instant messaging; he outlines the properties of Useful Security and Priva

From playlist Course | Computer Systems Laboratory Colloquium (2006-2007)

Video thumbnail

DeepSec 2009: Reversing and Exploiting an Apple Firmware Update

Thanks to the DeepSec organisation for making these videos available and let me share the videos on YouTube. Speaker: K. Chen K. Chen explains how to use an Apple firmware update to get a foothold on the system. For more information visit: http://bit.ly/DeepSec_2009_information To down

From playlist DeepSec 2009

Video thumbnail

Working with Multiple Windows in Split View - Tips for Windows & Mac

Sign up for our Excel webinar, times added weekly: https://www.excelcampus.com/blueprint-registration/ In this video I explain tips for enabling split screen view in Windows and Mac. I share the mouse and keyboard shortcuts that make it quick and easy to work between two windows. Read t

From playlist Excel Tips & Shortcuts

Video thumbnail

Voicemod & Stream Deck Pairing on MacOS | Tutorial & Guide

Do you have Voicemod working on your Mac (see my other two videos on how to get this going below), but can't connect it with your Stream Deck? In this tutorial/guide, I explain how to set-up your working Voicemod in your Windows virtual machine with a Hotkey app called Quicksilver to get

From playlist Tech Tutorials

Video thumbnail

Multivariable Calculus | What is a vector field.

We introduce the notion of a vector field and give some graphical examples. We also define a conservative vector field with examples. http://www.michael-penn.net http://www.randolphcollege.edu/mathematics/

From playlist Multivariable Calculus

Related pages

CBC-MAC | Finite field | Block cipher | Message authentication code | Cryptography | Exclusive or