CBC-MAC消息认证码原理及HASH函数,求解答

(1)请分析如何利用DES加密算法的CBC模式生成MAC(消息认证码);
(2)假定你知道某消息M利用CBC模式生成的MAC值为X,以及用于计算MAC值的密钥K,但是你不知道该消息M是什么:
(a)请证明你能构造消息M’,并且利用密钥K和CBC模式为M’生成的MAC值等于X。
(b)请问,你可以构造出多少个不同的消息M’?
(c)上述利用CBC模式生成MAC的方法,是否可以用于哈希函数的设计?为什么?

这个问题真挺好,今天正好学到这里,但是还是不太明白,有无大佬指点一下啊,感恩!