关键词 > CSE470K/570K

CSE 470K/570K, Assignment 3

发布时间:2023-08-04

Hello, dear friend, you can consult us at any time if you have any questions, add WeChat: daixieit

CSE 470K/570K, Assignment 3

Due: Wednesday, August 2, 2023, by 11:59 pm.

Note 1: The total mark for this assignment is 30. You should NOT directly copy anything from slides or other resources. You may get the ideas from slides but what you submit must be in your own words. Any help must be acknowledged.

1.    ECBC-MAC is a very important MAC construction algorithm with many real-world applications. For example, 802.11i and banking industry standards like ANSI X9.9, ANSI X9.19, FIPS 186-4 all use ECBC-MAC or its variants to provide message integrity. Describe ECBC-MAC and explain why do we need the last encryption step in this construction? (6 points)

2.   The following is a simplified implementation (in Python) of HMAC verification in Keyczar (now replaced by Tink) Crypto Library:

def Verify(key, msg, sig_bytes):

return HMAC(key, msg) == sig_bytes

a)   What is the security bug in the above implementation? How an attacker can use this bug to compute tag for a target message? (4 points)

b)   Give an example where attackers took advantage of such bugs in attacking a real- word system? (2 points)

c)    How the above HMAC verification could be implemented in a secure way? Provide three secure implementations. (6 points)

3.   Galois/Counter Mode (GCM) is a NIST Standard for authenticated encryption which provides both data authenticity (integrity) and confidentiality. GCM has many important  applicants, for example, it is used in the IEEE 802.1AE (MACsec). Also,it is included in the NSA Commercial National Security Algorithm (CNSA) Suite. Give the GCM API implemented by OpenSSL. (6 points)

4.   You area developer and would like to have data authenticity (integrity) and confidentiality for your project. You know that you have to find away for encryption and  away for Macing and then combine them. Describe different ways for such combination. Which combination is always CCA-secure (secure against chosen-ciphertext attacks)? (6 points)