【文章內(nèi)容簡介】
000011111 Encryption for authentication (cont.) ? Second symmetric encryption ? Compute a “checksum” (frame check sequence) – Let F be a public checksum function – Compute C=EK(M||F(M)) – Authentication ? Compute DK(C)=M’||S’ ? Check S’=F(M’) Encryption for authentication (cont.) Message Encryption ? if publickey encryption is used: – encryption provides no confidence of sender – since anyone potentially knows publickey – however if ? sender signs message using their privatekey ? then encrypts with recipients public key ? have both secrecy and authentication – again need to recognize corrupted messages – but at cost of two publickey uses on message Message authentication code ? Prerequisite: A and B shares a key K – Can be a session key ? MAC: a short fixedsize data block, depending on the message M and the shared key K ? MAC(K,M)=CK(M) ? Sender: M||CK(M) ? Receiver: on receiving M’|C’ – Compute C’’=CK(M’) – Check whether C’=C’’ MAC: example ? The last block of DESCBC Cipher block chaining mode MAC: security ? Only A and B who share a key can create a valid MAC code for a message M ? Only the designated receiver A or B can authenticate the received message ? An attacker cannot modify M without recalculating the MAC=CK(M’) Message Digest ? 目標(biāo):確保信息的完整性 (Integrity) ? 特色: (1) 不需密鑰 (2) 任意長信息輸入,固定長摘要輸出 (3) 找出兩個(gè)不同的輸入,使輸出相同在計(jì)算上很難 ? 常用系統(tǒng): ?MD5 (RFC 1321) ?SHA1 (FIPS 1801) Structure of Message Digest MD5不再安全 !? ? 安全的雜湊函數(shù)在設(shè)計(jì)時(shí)必須滿足兩個(gè)要求 ● 找到兩個(gè)不同輸入而得到相同的輸出值在計(jì)算上是不可行的 —— 抗碰撞 ● 給定一輸出值找出輸入值在計(jì)算上是不可行的 ——單向性 ? 2021年在 Crypto會(huì)議,來自山東大學(xué)的王小云等教授發(fā)表了一份「破解」 MD5的把報(bào)告 ● 提出一種可以快速找到碰撞的方法 ● 受影響的算法 —— MD HAVAL12 MD RIPEMD ● SHA0及減弱條件下的 SHA1不安全 ——在任何初始值下 用 240次 hash運(yùn)算可以找出 SHA0的碰撞 ● SHA1預(yù)計(jì)至 2021年也會(huì)被