AES-VCM, AN AES-GCM CONSTRUCTION USING AN INTEGER-BASED UNIVERSAL HASH FUNCTION. ED KNAPP

Abstract. We give a framework for construction and composition of universal hash functions. Using this framework, we propose to swap out AES-GCM’s F2128 -based universal hash function for one based on VMAC, which uses integer arithmatic. For architectures having AES acceleration but where either F2128 acceleration is absent or exists on the same execution unit as AES acceleration, an integer-based variant of AES-GCM may offer a performance advantage, while offering identical security.

1. Introduction Construction of MACs based on universal hash functions was first proposed by Wegman and Carter [13]. Bernstein [1] provides a nice summary of the history universal-hash-based MACs. We give some hash function definitions and notation. Definition 1. Let {hk }k∈K be a collection of functions hk : A → B, where A, B, K are arbitrary. If Pr[hk (m) = hk (m0 )]k∈K ≤ ε, 0 for all m, m ∈ A, then we say that the collection {hk } is ε almost universal (ε-AU). When the collection {hk } is understood, we may simply say hk is ε-AU. Definition 2. Consider the group hG, +i. Let {hk }k∈K be a collection of functions hk : A → G, where A, K are arbitrary. If Pr[hk (m) − hk (m0 ) = δ]k∈K ≤ ε, for all δ ∈ G and distinct m, m0 ∈ A, then we say that the collection {hk } is ε almost delta universal (ε-A∆U) with respect to +. When G and the collection {hk } are understood, we may simply say hk is ε-A∆U. Definition 3. Let {hk }k∈K be a collection of functions hk : A → B, where A, B, K are arbitrary. If Pr[hk (a) = b]k∈K ≤ ε, for all a ∈ A, b ∈ B, then we say that the collection {hk } is ε-distributed. When the collection {hk } is understood, we may simply say hk is ε-distributed. From here on, F is understood to be a field, G is understood to be a group, and Zn is the integers modulo n. For a set S and non-negative integers a ≤ b, define S [a,b] =

b [

Si.

i=a

Informally, we give a result regarding the use of a universal hash function to construct a secure MAC. 1

2

ED KNAPP

Lemma 1. [11, Theorem 1] Let h be ε-A∆U. We can construct a “secure” counterbased mac as MAC(c, m) = hk1 (m) + AESk2 (c). Construction of authenticated encryption schemes based on universal hash functions include AES-GCM [10] and a VMAC-based scheme [9]. Herein, we describe a MAC using a VHASH-like universal hash function. Also, we describe a cipher based on this universal hash function and modeled after AES-GCM, called AES-VCM. 2. universal hash function primatives We discuss several constructions for universal hash functions which can be composed to build hash functions suitable for MAC constructions. Winnograd intoduced a method for computing inner products using fewer multiplications [14]. This technique was adapted to universal hash functions by Halevi and Krawczyk [5], attibuting the result to unpublished work by Wegman and Carter. We present the result in only two coordinates and later give a generic way to generalize universal hash functions to larger domains. Lemma 2 (Pseudo dot product hash). [2, Theorem 4.2] Let n be a positive integer. For k ∈ Z2n , define hk : Z2n → Zn2 as hk (m) = (m1 + k1 ) · (m2 + k2 ), where addition is in Zn and multiplication is lifted to Zn2 . Then hk is n−1 -A∆U. Next, we prove that, additionally, the pseudo dot product is ε-distributed. Lemma 3. Let n be a positive integer. For k ∈ Z2n , define hk : Z2n → Zn2 as hk (m) = (m1 + k1 ) · (m2 + k2 ), where addition is in Zn and multiplication is lifted to Zn2 . Then hk is n−1 distributed. Proof. Fix (m1 , m2 ) ∈ Z2n and δ ∈ Zn2 . Note that since addition by mi modulo n is a permutation, we have Pr [(m1 + k1 )(m2 + k2 ) = δ] = Pr[k1 k2 = δ]. Since k1 , k2 ∈ Zn , the product k1 k2 ∈ Zn2 can be taken to be over the integers, a unique factorization domain. For each k1 , there exists at most one k2 such that k1 k2 = δ and so Pr[k1 k2 = δ] ≤ n−1 .  Next, we present a polynomial-based universal hash function, where the message is encoded as coefficients in the polynomial. The result was independently proposed by den Boer [4]; Johansson, Kabatianskii, and Smeets [6]; and Taylor [12]. Lemma 4 (Polynomial hash). [12, Theorem 1] Let N be a positive integer. For k ∈ F, define hk : FN → F as hk (m) =

N X

k i · mi .

i=1

Then {hk } is a ε-A∆U, where ε = N · |F|−1 . We state a well-known composition lemma. Lemma 5 (Composition). Let f : A → B be ε1 -AU and g : B → C be ε2 -A∆U. Then g ◦ f is (ε1 + ε2 )-A∆U.

3

Proof. Fix m1 , m2 ∈ A, and δ ∈ C. Then Pr[g(f (m1 )) − g(f (m2 )) = δ] = Pr[g(f (m1 )) − g(f (m2 )) = δ | f (m1 ) = f (m2 )] · Pr[f (m1 ) = f (m2 )] + Pr[g(f (m1 )) − g(f (m2 )) = δ | f (m1 ) 6= f (m2 )] · Pr[f (m1 ) 6= f (m2 )] ≤ Pr[0 = δ](ε1 ) + (ε2 ) · Pr[f (m1 ) 6= f (m2 )] ≤ (1)(ε1 ) + (ε2 )(1) = ε1 + ε2  The VMAC paper [3] gives a result allowing us to truncate the outputs of certain universal hash functions. Lemma 6 (Round). Let a, b, and n be positive integers such that 2a ≤ n ≤ 2b . Let f : A → Zn be ε-A∆U and define g : A → Z2a : m 7→ (f (m) mod 2a ). Then g is 2b−a ε-A∆U. Proof. This follows from Corollary 5 of the second VMAC paper [3].



It follows trivially that a ε-A∆U function is a ε-AU function. The next lemma shows that we can create a ε-AU function from a ε-A∆U function while extending the domain. Lemma 7. Let fk : A → G be ε-A∆U. Define gk : A × G → G by gk (a, b) = fk (a) + b. Then g is ε-AU. Proof. Let (a, b), (a0 , b0 ) ∈ A × G be distinct. If a = a0 , then b 6= b0 and so for every key k, we have that gk (a, b) = fk (a) + b 6= fk (a) + b0 = gk (a0 , b0 ) and so Pr[gk (a, b) = gk (a0 , b0 )] = 0 ≤ ε. If a 6= a0 , then set δ = b0 − b and so Pr[gk (a, b) = gk (a0 , b0 )] = Pr[fk (a) − fk (a0 ) = δ] ≤ ε.  Given universal hash functions h1 , h2 , we can construct functions h(m1 , m2 ) = h1 (m1 ) + h2 (m2 ), as well as h(m) = hh1 (m), h2 (m)i. These constructions respectively expand the input length and decrease the collision proabability. We can compose the techniques, achieving both goals. The next lemma shows that we can compose the techniques while reusing some of the hash functions, reducing key lengths. Lemma 8 (Stacked functions). Let n and s be positive integers. Let fk : M → G be ε-A∆U, where k ∈ K. For k 0 ∈ K s+n−1 , define hk0 : M n → Gs by hk0 (m) = S · 1n , 0 where S = [fki+j−1 (mj )]i,j is the s by n matrix and 1n is the n-dimensional all-ones 0 vector. Then hk is εs -A∆U. Proof. Let m, m0 ∈ M n be distinct and let δ ∈ Gs . Let ` be the least integer such that m` 6= m0` . Let Ai be the statement “[hk (m)]i − [hk (m0 )]i = δi ”. Then   " s # ^ s s ^ Y Pr[hk (m) − hk (m0 ) = δ] = Pr Ai = Pr Ai Aj  . j=i+1 i=1 i=1

4

ED KNAPP

Next, we restrict each probability space in the product to a single coordinate of k ∈ ∗ ∗ ∗ K s+n−1 , the (i+`−1)-th coordinate. We define Bi (k1∗ , . . . , ki+`−2 , ki+` , . . . , ks+n−1 ) ∗ to be the statement “kj = kj for all j = 1, . . . , s + n − 1, j 6= i + ` − 1”. Then     ^ ^ s X s Aj  Aj  = Pr Ai ∧ Bi (k ∗ ) Pr Ai j=i+1 ∗ s+n−2 j=i+1 k ∈K     ^ s s ^ X Aj  . Aj  Pr Bi (k ∗ ) Pr Ai Bi (k ∗ ) ∧ = ∗ s+n−2 j=i+1 j=i+1 k ∈K We can rearrange the statement Aj as Aj : δj = [hk (m)]j − [hk (m0 )]j =

n X

fkj+t−1 (mt ) − fkj+t−1 (m0t )



t=1

=

n X

 fkj+t−1 (mt ) − fkj+t−1 (m0t ) ,

t=`

which shows that Aj depends only on kr , for all j + ` − 1 ≤ r ≤ j + n − 1. Notice that if i < j, then i+`−1 < j +`−1 and Aj does not depend on ki+`−1 . Therefore, for each k ∗ ∈ K s+n−2 ,   s ^ Pr Ai Bi (k ∗ ) ∧ Aj  = Pr [Ai | Bi (k ∗ )] . j=i+1 Next, notice that for each i, there exists δi∗ independent of ki+`−1 such that [hk (m)]i − [hk (m0 )]i − δi = fki+`−1 (m` ) − fki+`−1 (m0` ) − δi∗ and therefore, for a fixed k ∗ , the statement Ai is equivalent to the statement “fki+`−1 (m` ) − fki+`−1 (m0` ) = δi∗ ”, which gives us   Pr [Ai | Bi (k ∗ )] = Pr fki+`−1 (m` ) − fki+`−1 (m0` ) = δi∗ Bi (k ∗ ) ≤ ε. Putting this all together, we have Pr[hk (m) − hk (m0 ) = δ]   s s Y ^ = Pr Ai Aj  j=i+1 i=1     s s s Y X ^ ^ = Pr Ai Bi (k ∗ ) ∧ Aj  Pr Bi (k ∗ ) Aj  j=i+1 i=1 k∗ ∈K s+n−2 j=i+1   s s Y X ^ = Pr [Ai | Bi (k ∗ )] Pr Bi (k ∗ ) Aj  j=i+1 i=1 k∗ ∈K s+n−2   ^ s s Y X ≤ ε Pr Bi (k ∗ ) Aj  j=i+1 i=1 k∗ ∈K s+n−2 = εs , which proves the lemma.



5

The next lemma shows that if we start with an fk that is also ε-distributed, then we can extend the domain of the result, making is easier to construct variable-length universal hash functions. Lemma 9. Let n and s be positive integers. Let fk : M → G be ε-A∆U and εdistributed, where k ∈ K. For k 0 ∈ K s+n−1 , define hk0 : M [1,n] → Gs by hk0 (m) = 0 S` · 1` for m ∈ M ` , where S` = [fki+j−1 (mj )]i,j is the s by ` matrix and 1` is the `-dimension all-ones vector. Then hk0 is εs -A∆U. Proof. Let m ∈ M a , m0 ∈ M b be distinct, where a, b are integers in [1, . . . , n]. Let δ ∈ G. By symmetry, take a ≤ b. If there exists an index ` such that m` 6= m0` , then the proof follows exactly as in Lemma 8 and we’re done. Assume that a < b and m1 = m01 , . . . , ma = m0a . Set ` = a + 1. Let Ai be the statement “[hk (m0 )]i = δi ” and Bi be as in Lemma 8. Observe that Pr[hk (m) − hk (m0 ) = δ]  " s # s ^ Y = Pr Ai = Pr Ai i=1

i=1

 s ^ Aj  j=i+1

   ^ s s ^ = Pr Ai Bi (k ∗ ) ∧ Aj  Pr Bi (k ∗ ) Aj  ∗ s+n−2 i=1 k ∈K j=i+1 j=i+1 s Y



X

Again, we can follow the proof in Lemma 8 by observing that Ai is independent of ki+j−1 for all j < ` and that there exists δi∗ independent of ki+`−1 such that Ai is equivalent to “[fki+`−1 (m0` )]i = δi∗ ”, which gives us, for each k ∗ , that   s ^ Pr Ai Bi (k ∗ ) ∧ Aj  = Pr [Ai | Bi (k ∗ )] ≤ ε. j=i+1 Finally, Pr[hk (m) − hk (m0 ) = δ]  s Y X Pr Ai =

   ^ s s ^ Bi (k ∗ ) ∧ Aj  Pr Bi (k ∗ ) Aj  ∗ s+n−2 j=i+1 j=i+1 i=1 k ∈K   s s Y X ^ ≤ ε Pr Bi (k ∗ ) Aj  ∗ s+n−2 i=1 k ∈K j=i+1

≤ εs , proving the Lemma.



3. Higher-order universal hash functions In this section, we compose our functions from Section 2 to construct a universal hash function capable of taking more-arbitrary inputs and mapping to a hash∗ output-sized range. Defining a function similar to {0, 1} → Z2128 seems like a nice goal. For our cipher construction, we would like to be able to hash two independent bytestrings, the AAD and the ciphertext. To this end, our goal for this section will ∗ ∗ be a function of the form {0, 1} × {0, 1} → Z2128 .

6

ED KNAPP

We start by applying lemmas 2 and 3 with n = 264 to obtain a 2−64 -A∆U and 2 -distributed function, −64

Z2264 → Z2128 .

(1)

Using Lemma 8 with n = 8, s = 2, and Equation (1) as fk , we obtain a 2−128 -A∆U function (Z2264 )8 → (Z2128 )2 .

(2)

Using Lemma 9 with n = 8, s = 2, and Equation (1) as fk , we obtain a 2−128 -A∆U function (Z2264 )[1,8] → (Z2128 )2 .

(3)

Applying Lemma 6 to equations (2), (3) with a = 126 and b = 128, we obtain 2124 -A∆U functions (4)

(Z2264 )8 → (Z2126 )2 ,

(5)

(Z2264 )[1,8] → (Z2126 )2 .

We extend the domain of Equation (5) using Lemma 7, yielding a 2124 -AU function (Z2264 )[1,8] × (Z2126 )2 → (Z2126 )2 .

(6)

Let f4 , f5 , and f6 denote equations (4), (5), and (6) respectively. Let m ∈ (Z2264 )∗ have ` coordinates (each in Z2264 ). Set `0 = d`/8e − 1, define m0i = ˜ = (m8`0 +1 , . . . m` ) ∈ (m8i+1 , . . . , m8i+8 ) ∈ (Z2264 )8 for i = 1, . . . , `0 , and define m [1,8] 2 `−8`0 2 2 . We define Z2124 functions NH and NH0 as ⊆ (Z264 ) (Z264 ) (7) (8)

0

+2 0 0 NH : (Z2264 )` → Z2` ˜ 2126 : m 7→ hf4 (m1 ), . . . , f4 (m`0 ), f5 (m)i, 0

+2 0 0 NH0 : (Z2264 )` × Z22126 → Z2` ˜ a)i. 2126 : (m, a) 7→ hf4 (m1 ), . . . , f4 (m`0 ), f6 (m,

Equations (7) and (8) give us functions capable of encoding unbounded (but not arbitrary) bitstrings. To handle arbitrary (pairs of) bitstrings, we encode the ∗ length(s) into Z22126 . Let m1 , m2 ∈ {0, 1} . Let `1 be the bitlength of m1 modulo 128 and `2 be the bitlength of m2 . Let m ˜ 1, m ˜ 2 be m1 , m2 zero-padded to a bitlength that is a multiple of 128. We construct (9)





2d` /128e+2d`2 /128e

{0, 1} × {0, 1} → Z21261

:

(m1 , m2 ) 7→ hf7 (m ˜ 1 ), f8 (m ˜ 2 , `1 · 264 + `2 , `1 · 264 + `2 )i, which is a 2124 -AU. Equation (9) takes as input two arbitrary bitstrings but produces an output whose length is a fraction of the input. The next step is to produce a fixedlength output. We instantiate Lemma 4 with p = 2127 − 1 and N = 232 + 1. We invoke Lemma 8 with the resulting function, n = 2, an s = 1 to produce a (232 + 1)p−1 -A∆U function (10)

N ZN p × Zp → Zp .

We desire to build a function with a variable-length domain out of Equation (10). We define the following injection (11)

−1] Z[0,N → ZN p p : (m1 , . . . , mt ) 7→ (0, . . . , 0, 1, mt , . . . , m1 ).

7

Put more simply, we postpend 1 ∈ Zp , followed by zero-padding, and reverse the order of the result. Composing the injection from Equation (11) with Equation (10), we obtain a function Zp[0,N −1] × Zp[0,N −1] → Zp .

(12)

Note that substituting a positive integer N 0 < N for N in the previous construc[0,N −1] [0,N 0 −1] tion gives an identical construction to restricting the domain Zp to Zp in Equation (12). This implies that we can obtain a stronger hash function, a N 0 p−1 -A∆U function, if we restrict the domain of the N = 232 instantitation. Let f9 denote Equation (9) and f12 denote Equation (12). Given a message ∗ ∗ (m1 , m2 ) ∈ {0, 1} × {0, 1} , let m ˜ 1, . . . , m ˜ 2t be such that f9 (m1 , m2 ) = hm ˜ 1, . . . , m ˜ 2t i ∈ Z2t 2126 . Define m∗1 , m∗2 ∈ Ztp , dividing up the even and odd m ˜ i terms as follows m∗1 = hm ˜ 1, m ˜ 3, . . . , m ˜ 2t−1 i m∗2 = hm ˜ 2, m ˜ 4, . . . , m ˜ 2t i and define (13)





{0, 1} × {0, 1} → Zp : (m1 , m2 ) 7→ f12 (m∗1 , m∗2 ).

For messages m1 , m2 with bitlengths bounded by `1 , `2 respecitvely, set `∗ = 2 · d`1 /1024e + 2 · d`2 /1024e. By Lemma 5, the function in Equation (13) is ε-A∆U where (2−124 + (`∗ + 1) · p−1 ). We can bound `∗ by (`1 + `2 )2−9 + 2 and p−1 by 2−126 giving us ε ≤ (`1 + `2 )2−135 + 2−123 . 4. Comparison with other VHASH functions We compare simplified versions of four VHASH-like functions, the two functions defined in the VMAC papers [3, 8], the actual VMAC implementation [7], and our new function. In the following comparisons, we ignore the need for hashing variable-length messages, since it follows the technique outlined with Section 3. Let p = 2127 − 1 and q = 264 − 28 − 1. The VMAC functions are composed principally of an NH hash, (Z2264 )8 → Z22128 , followed by a polynomial hash Z∗p . The result of the NH step is rounded down to 126 bits so that it maps into Zp . The first VMAC paper [8] describes a hash function with 128-bit tags that has the following structure: NH

Round

((Z264 )16 )N −→ ((Z2128 )2 )N −→ ((Z2126 )2 )N

Poly1271

−→

Sum

(Zp )2 −→ Zp

The second VMAC paper [3] recommends two instantiations of 64-bit VHASH with distinct keys. The main difference for the 64-bit version is that an additional step is need to map Zp into a 64-bit result. Two injections, Zp → Z264 −232 → Z2q , and a pseudo dot product over Zq are used to obtain a 64-bit result. The 64-bit VHASH has the following structure: NH

Round

((Z264 )16 )N −→ (Z2128 )N −→ (Z2126 )N

Poly1271

−→

Split

Zp −→ (Z264 −232 )2

Tiny NH

−→

Zq

The VMAC implementation [7] follows the second structure, except the two 64-bit VHASH instantiations have related keys. The authors mention the need for larger keys, comparing the first and second version:

8

ED KNAPP

“On the negative side, defining VMAC-128 as two iterations of VMAC-64 introduces an additional 32-bytes of key, a separate polynomial computation and a third hashing stage, all of which are slowing influences.” The authors mention a version in their first paper which they claim does not require much more internal key. “If an application needs collision probabilities less than those of VHASH, then VHASH could be applied to given messages twice, using a different key each time. Alternatively, Figure 3 gives a hash function VHASH-128 based on the same principles as VHASH, but producing 128-bit outputs without the need for significantly more internal key than VHASH.” It is unclear from their description if they mean to describe what is contained in the code, however they give no proof in any case. The implementation of the 128-bit version uses 48 bytes of additional key compared to the 64-bit version. The lemmas we give in Section 2 can be composed to prove the security of the VMAC implementation [7] and both versions of VMAC [3, 8]. 5. AES-VCM 5.1. Key generation. Our cipher follows the same general construction as AESGCM, a universal hash function combined with AES-CTR. An AES-VCM key is generated from an AES key. The internal AES-VCM key is composed of the (expanded) AES key and the hash function keys. Portions of the space of AES-CTR are reserved for the internal KDF, used for generating the keys of the universal hash function. We view the counter as a four-tuple of little-endian 32-bit integers. The NH keys are generated using the counters h0, 0, 0, 0i, h0, 0, 0, 1i, . . . , h0, 0, 0, 8i. The AES outputs of these counters are treated as pairs of 64-bit little-endian integers. The polynomial keys are generated as the AES outputs of the counter values h0, 0, 1, 0i, h0, 0, 1, 1i, treated as 128-bit littleendian integers, the high-order 3 bits of every 32-bit block are zeroed. 5.2. Authenticated encryption. A unique IV is required for each authenticated encryption. In the case of a 96-bit counter, an internal AES counter is formed using a little-endian 32-bit integer ‘1’ for the low bits (recall ‘0’ is reserved for the internal KDF) and the 96-bit IV for the high bits. IVs that are not 96-bits are handled similarly to AES-GCM, generated using an identically modified version of the underlying universal hash function. The low 32 bits of the internal AES counter is little-endian incremented modulo 232 to obtain a new counter for each AES block. Let A be associated data with bitlength n and P be plaintext data with bitlength m. Let m0 be the least integer such that m ≤ 128m0 . Define 128-bit blocks Pi so that P = (P1 , . . . , Pm0 ) with Pm0 zero-padded to 128-bits, if needed. Let Z1 be the counter produced by the IV and let Z2 , . . . , Zm0 +1 be next m0 counter values. Define Ci = Pi ⊕ AESK (Zi ) for i = 1, . . . , m0 and set C = (C1 , . . . , Cm0 )em , where ‘em ’ denotes truncation to m bits. We hash the value (A, C) to obtain T and set T ∗ = T + AESK (Zm0 +1 ), computed modulo 2128 . The resulting ciphertext is C and tag is T ∗ . This construction is very similar to AES-GCM, differing only in endianness, the distribution of the counter space, and the underlying hash function.

9

References [1] Daniel J Bernstein. Polynomial evaluation and message authentication. 2007. http://cr.yp. to/papers.html. [2] John Black, Shai Halevi, Hugo Krawczyk, Ted Krovetz, and Phillip Rogaway. Umac: Fast and secure message authentication. In Advances in CryptologyCRYPTO99, pages 216–233. Springer, 1999. [3] Wei Dai and Ted Krovetz. VHASH security. IACR Cryptology ePrint Archive. https:// eprint.iacr.org/2007/338/. [4] Bert den Boer. A simple and key-economical unconditional authentication scheme. Journal of Computer Security, 2(1):65–71, 1993. [5] Shai Halevi and Hugo Krawczyk. MMH: Software message authentication in the Gbit/second rates. In Fast Software Encryption, pages 172–189. Springer, 1997. [6] Thomas Johansson, Gregory Kabatianskii, and Ben Smeets. On the relation between a-codes and codes correcting independent errors. In Advances in CryptologyEUROCRYPT93, pages 1–11. Springer, 1994. [7] Ted Krovetz. Fast cryptography. http://www.fastcrypto.org/vmac/. [8] Ted Krovetz. Message authentication on 64-bit architectures. In Selected Areas in Cryptography, pages 327–341. Springer, 2007. [9] Ted Krovetz. Patent-free authenticated-encryption as fast as OCB. In Innovative Algorithms and Techniques in Automation, Industrial Electronics and Telecommunications, pages 459– 461. Springer, 2007. [10] David McGrew and John Viega. The Galois/counter mode of operation (GCM). Submission to NIST, 2004. http://csrc.nist.gov/CryptoToolkit/modes/proposedmodes/gcm/ gcm-spec.pdf. [11] Victor Shoup. On fast and provably secure message authentication based on universal hashing. In Advances in CryptologyCRYPTO96, pages 313–328. Springer, 1996. [12] Richard Taylor. An integrity check value algorithm for stream ciphers. In Advances in CryptologyCrypto93, pages 40–48. Springer, 1994. [13] Mark N Wegman and J Lawrence Carter. New hash functions and their use in authentication and set equality. Journal of computer and system sciences, 22(3):265–279, 1981. [14] Shmuel Winograd. A new algorithm for inner product. Computers, IEEE Transactions on, 100(7):693–694, 1968. Google LLC. 1600 Amphitheatre Parkway Mountain View, CA 94043 USA E-mail address, Ed Knapp: [email protected]

AES-VCM, AN AES-GCM CONSTRUCTION ... - Research at Google

We give a framework for construction and composition of univer- sal hash functions. Using this framework, we ... Informally, we give a result regarding the use of a universal hash function to construct a secure MAC. 1 ... The VMAC paper [3] gives a result allowing us to truncate the outputs of certain universal hash functions.

259KB Sizes 2 Downloads 254 Views

Recommend Documents

An Information Avalanche - Research at Google
Web-page editors, blogging soft- ware, image- and video-sharing ser- vices, Internet-enabled mobile devices with multimedia recording capability, and a host of ...

Direct Construction of Compact Context ... - Research at Google
Abstract. This paper describes a new method for building compact con- text-dependency ... eters of context dependent units, if the training data is not suf- ficient to ... models might have a big impact on the size of the C transducer. In this paper 

Mathematics at - Research at Google
Index. 1. How Google started. 2. PageRank. 3. Gallery of Mathematics. 4. Questions ... http://www.google.es/intl/es/about/corporate/company/history.html. ○.

An Argument for Increasing TCP's Initial ... - Research at Google
3rd Quarter 2009. http://www.akamai.com/stateoftheinternet, 2009. [5] M. Allman, S. Floyd, and C. Partridge. Increasing TCP's. Initial Window. RFC 3390, 2002.

An Optimal Online Algorithm For Retrieving ... - Research at Google
Oct 23, 2015 - Perturbed Statistical Databases In The Low-Dimensional. Querying Model. Krzysztof .... The goal of this paper is to present and analyze a database .... applications an adversary can use data in order to reveal information ...

An interactive tutorial framework for blind users ... - Research at Google
technology, and 2) frequent reliance on videos/images to identify parts of web ..... the HTML tutorial, a participant was provided with two windows, one pointing to.

AUDIO SET: AN ONTOLOGY AND HUMAN ... - Research at Google
a hierarchy to contain these terms in a way that best agreed with our intuitive .... gory, “Bird vocalization, bird call, bird song”. 3. AUDIO SET DATASET. The Audio ...

Drac: An Architecture for Anonymous Low ... - Research at Google
(e.g., extracted from a social network web site [3],) but that relationships with ..... world network of 500 users, with 10 friends and 10 contacts each, and circuit.

Faucet - Research at Google
infrastructure, allowing new network services and bug fixes to be rapidly and safely .... as shown in figure 1, realizing the benefits of SDN in that network without ...

BeyondCorp - Research at Google
41, NO. 1 www.usenix.org. BeyondCorp. Design to Deployment at Google ... internal networks and external networks to be completely untrusted, and ... the Trust Inferer, Device Inventory Service, Access Control Engine, Access Policy, Gate-.

VP8 - Research at Google
coding and parallel processing friendly data partitioning; section 8 .... 4. REFERENCE FRAMES. VP8 uses three types of reference frames for inter prediction: ...

JSWhiz - Research at Google
Feb 27, 2013 - and delete memory allocation API requiring matching calls. This situation is further ... process to find memory leaks in Section 3. In this section we ... bile devices, such as Chromebooks or mobile tablets, which typically have less .

Yiddish - Research at Google
translation system for these language pairs, although online dictionaries exist. ..... http://www.unesco.org/culture/ich/index.php?pg=00206. Haifeng Wang, Hua ...

Katholieke Universiteit Leuven An efficient ... - Research at Google
where Γ denotes the SNR-gap to capacity, which is a function of the desired BER, the coding gain and noise margin. The data rate for user n is. Rn = fs ∑k bn k .

Paxos Made Live - An Engineering Perspective - Research at Google
Jun 26, 2007 - As a result, the consensus problem has been studied extensively ...... At Google, the day-to-day monitoring and management of our systems is ...

traits.js - Research at Google
on the first page. To copy otherwise, to republish, to post on servers or to redistribute ..... quite pleasant to use as a library without dedicated syntax. Nevertheless ...

sysadmin - Research at Google
On-call/pager response is critical to the immediate health of the service, and ... Resolving each on-call incident takes between minutes ..... The conference has.

Introduction - Research at Google
Although most state-of-the-art approaches to speech recognition are based on the use of. HMMs and .... Figure 1.1 Illustration of the notion of margin. additional ...

References - Research at Google
A. Blum and J. Hartline. Near-Optimal Online Auctions. ... Sponsored search auctions via machine learning. ... Envy-Free Auction for Digital Goods. In Proc. of 4th ...

BeyondCorp - Research at Google
Dec 6, 2014 - Rather, one should assume that an internal network is as fraught with danger as .... service-level authorization to enterprise applications on a.

Browse - Research at Google
tion rates, including website popularity (top web- .... Several of the Internet's most popular web- sites .... can't capture search, e-mail, or social media when they ..... 10%. N/A. Table 2: HTTPS support among each set of websites, February 2017.

google disease trends: an update - Research at Google
across all weekly estimates was 0.30 percentage ... While not covered in detail in this paper, Google. Dengue ... the total count of all queries issued in that week ...