จะเป็นอย่างไรถ้าแทนที่จะใช้ฟังก์ชันแฮช H เราจะใช้ CMAC ด้วยคีย์ K แล้วเซ็นชื่อผลลัพธ์ของ CMAC(M, K) ด้วยคีย์ส่วนตัว การดำเนินการดังกล่าวมีความปลอดภัยในการเข้ารหัสหรือไม่?
ถ้า $K$ ใช้สำหรับลายเซ็นเฉพาะเป็นแบบสาธารณะ (ซึ่งจะต้องมีการตรวจสอบลายเซ็นโดยผู้ที่ถือรหัสสาธารณะและลายเซ็นและไม่มีอะไรเป็นความลับ) จากนั้นจึงง่ายต่อการค้นหาข้อความที่สอง $M'$ ดังนั้น $\text{CMAC}(M, K) = \text{CMAC}(M', K)$; นั่นคือลายเซ็นจะตรวจสอบกับข้อความที่สองนั้นด้วย $M'$.
ในความเป็นจริงผู้โจมตีจะมีความยืดหยุ่นอย่างมากในการเลือกสิ่งนั้น $M'$; เขาสามารถระบุทั้งหมด $M'$ ข้อความยกเว้นบล็อกจัดตำแหน่ง 16 ไบต์ที่ใดก็ได้ในข้อความนั้น - จากนั้นเขาสามารถคำนวณได้อย่างมีประสิทธิภาพว่าค่า 16 ไบต์ต้องเป็นเท่าใด ที่ให้เขาทั้งหมด $M'$.
ในทางกลับกัน ถ้า $K$ เป็นความลับ ข้างต้นใช้ไม่ได้ แน่นอน นั่นทำให้เกิดคำถามที่ชัดเจน: หากผู้ลงนามและผู้ตรวจสอบเปิดเผยความลับร่วมกัน (และคุณวางใจได้ว่าผู้ตรวจสอบจะไม่พยายามสร้างการปลอมแปลง) ทำไมคุณไม่ใช้ CMAC และไม่ต้องกังวลกับการดำเนินการลงนาม ?