# US 9,438,425 B2 · Robust MAC aggregation with short MAC tags

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 9,438,425 B2
- Document ID: US9438425B2
- Status: Granted
- Kind: B2
- Application number: 14/460,791
- Filed: 2014-08-15
- Published: 2016-02-18
- Granted: 2016-09-06
- Earliest claimed: 2014-08-15
- Assignees: Alcatel Lucent
- Applicants: Alcatel-Lucent USA Inc.
- Inventors: Vladimir Kolesnikov
- Web page: https://patentgrep.com/patent/US9438425B2

## CPC

- H04L 9/3242: {involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC}
- H04L 9/0643: {Hash functions, e.g. MD5, SHA, HMAC or f9 MAC}
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

Method of producing an aggregated message authentication code (MAC). The method comprises generating or receiving, in a computer processor, a first message and its first MAC tag (m1, t1) and computing, in the computer processor, a first hashed message-tag pair H(m1, t1), where H is a cryptographic hash function. The method comprises generating or receiving, in the computer processor, a second message and its second MAC tag (m2, t2) and computing, in the computer processor, a second hashed message-tag pair H(m2, t2). The method comprises computing, in the computer processor, an aggregated MAC (At1) by an addition operation, as follows: At1=(H(m1, t1)+H(m2, t2)) modulo N, where N is a natural number equal to two or greater.

## Claims

### Claim 1

A method of producing an aggregated message authentication code (MAC), comprising:
generating or receiving, in a computer processor, a first message and its first MAC tag (m1, t1);
computing, in the computer processor, a first hashed message-tag pair H(m1, t1), where H is a cryptographic hash function;
generating or receiving, in the computer processor, a second message and its second MAC tag (m2, t2);
computing, in the computer processor, a second hashed message-tag pair H(m2, t2);
computing, in the computer processor, an aggregated MAC (At1) by an addition operation, as follows:
At1=(H(m1,t1)+H(m2,t2))modulo N,
where N is selected to equal a natural number equal to two or greater.

### Claim 2 (depends on 1)

The method of claim 1, further including aggregating the aggregated MAC with a third hashed message-tag pair, wherein:
the computer processor generates or receives, a third hashed message-tag pair H(m3, t3); and
the computer processor computes, a further aggregated MAC (At2) by the addition operation, as follows:
At2=(H(m3,t3)+At1)modulo N.

### Claim 3 (depends on 2)

The method of claim 2, including aggregating the further aggregated MAC with a plurality of m additional hashed message-tag pairs H(mm, tm), wherein m is a natural number of four or greater and for each of the additional hashed message-tag pairs, a further n-th aggregated MAC (Atn) is computed, by the computer processor, using the addition operation, as follows:
Atn=(H(mm,tm)+Atn-1)modulo N,
where Atn-1 equals a so-far aggregated MAC.

### Claim 4 (depends on 1)

The method of claim 1, further including aggregating the aggregated MAC (At1) with another aggregated MAC (Atx) to form a combined aggregated MAC (At′), computed by the computer processor, using the addition operation, as follows:
At′=(At1+Atx)modulo N.

### Claim 5 (depends on 1)

The method of claim 1, wherein each of the MAC tags is represented by a binary number have a bit length of 50 or less.

### Claim 6 (depends on 1)

The method of claim 1, wherein H, the cryptographic hash function, is a secure hash algorithm (SHA) function.

### Claim 7 (depends on 1)

The method of claim 1, further including verifying, in the computer processor or another computer processor, a candidate MAC, including:
receiving a candidate aggregated MAC and a list of constituent messages associated with the candidate aggregated MAC;
receiving a verification key;
regenerating the candidate aggregated MAC, using the list of constituent messages and the verification key, to produce a verification aggregated MAC; and
comparing the candidate aggregated MAC to the verification aggregated MAC.

### Claim 8 (depends on 7)

The method of claim 7, wherein regenerating the candidate aggregated MAC includes computing the first hashed message-tag pair H(m1, t1), the second hashed message-tag pair H(m2, t2) and the addition operation, where (m1) and (m2) are messages included in the list of constituent messages and tags associated with the candidate aggregated MAC.

### Claim 9 (depends on 1)

The method of claim 1, wherein the computer processor is located in a communication sensor node of a communication network.

### Claim 10 (depends on 1)

The method of claim 1, wherein the computer processor is part of a computer communicably coupled to a database of records stored on a non-transitory computer readable medium.

### Claim 11

An apparatus for producing an aggregated message authentication code (MAC), comprising:
a computer processor that is programmed to generate or to receive a first message and its first MAC tag (m1, t1), and a second message and its second MAC tag (m2, t2), wherein:
the computer processor is programmed to compute a first hashed message-tag pair H(m1, t1), and a second hashed message-tag pair H(m2, t2) where H is a cryptographic hash function; and
the computer processor is programmed to compute a first aggregated MAC (At1) by an addition operation, as follows:
At1=(H(m1,t1)+H(m2,t2))modulo N,
where N is a natural number selected to equal to two or greater.

### Claim 12 (depends on 11)

The apparatus of claim 11, wherein the computer processor is programmed to further aggregate the aggregated MAC to a third hashed message-tag pair wherein:
the computer processor is programmed to generate or receive, a third hashed message-tag pair H(m3, t3);
the computer processor is programmed to compute, a further aggregated MAC (At2) by the addition operation, as follows:
At2=(H(m3,t3)+At1)modulo N.

### Claim 13 (depends on 11)

The apparatus of claim 11, wherein the computer processor is programmed to further aggregate the aggregated MAC (At1) to another aggregated MAC (Atx) to form a combined aggregated MAC (At′), computed by the computer processor, using the addition operation, as follows:
At′=(At1+Atx)modulo N.

### Claim 14 (depends on 11)

The apparatus of claim 11, wherein the computer processor is located in the apparatus configured as one of a plurality of communication nodes of a communication network.

### Claim 15 (depends on 14)

The apparatus of claim 14, wherein the first message includes measurement data collected by a sensor of the one communication node, the sensor connected to the computer processor.

### Claim 16 (depends on 14)

The apparatus of claim 14, wherein the apparatus, configured as one of the communication node, further includes:
an input interface;
an output interface; and
a non-transitory computer readable medium, wherein the computer processor is operably coupled to the input interface, the output interface and the memory.

### Claim 17 (depends on 11)

The apparatus of claim 11, wherein the computer processor is part of an apparatus configured as a computer device, the computer device communicably coupled to a database of records stored on a non-transitory computer readable medium.

### Claim 18 (depends on 17)

The apparatus of claim 17, wherein the first message includes a copy of a first database record stored on the non-transitory computer readable medium located in the apparatus configured as a computer.

### Claim 19

A non-transitory computer readable medium, comprising:
computer-executable instructions stored on the computer readable medium that, when executed by a computer processor, perform a method that includes computing an aggregated message authentication code (MAC), including:
generating or receiving, in the computer processor, a first message and its first MAC tag (m1, t1)
computing, in the computer processor, a first hashed message-tag pair H(m1, t1), where H is a cryptographic hash function;
generating or receiving, in the computer processor, a second message and its second MAC tag (m2 t2);
computing, in the computer processor, a second hashed message-tag pair H(m2, t2);
computing, in the computer processor, an aggregated MAC (At1) by an addition operation, as follows:
At1=(H(m1,t1)+H(m2,t2))modulo N,
where N is selected to equal a natural number equal to two or greater.

### Claim 20 (depends on 19)

The computer readable medium recited in claim 19, wherein the computer readable medium includes further computer-executable instructions that, when executed by the computer processor, compute a further aggregated MAC, (At2) including computing the addition operation, as follows:
At2=(H(m3,t3)+At1)modulo N
where H(m3, t3) is a third hashed message-tag pair generated or received by the computer processor.
