简介
完整性用来确保信息没有被修改,也可以防止假冒的信息。
目前数据完整性的主要解决方案就是使用单向散列函数和加密算法。单向散列函数能够将一个文件映射成一段小的信息码并且不同文件散列之后的值是不同的。通常将原始文件使用单向散列函数处理得到一段信息码,然后将其加密,和文件一起保存。如果由人改动文件,那么我们在使用这个文件的时候就可以先使用单向散列函数对文件处理,得到信息码,可以和之前的信息码对比,如果没有发生变化说明文件没有被别人改动过,否则被改动过。
单向散列函数:有一个输入和一个输出,其中输入称之为消息,输出称之为散列值或消息码,单向散列函数也称之为哈希函数,杂凑函数。
- 这里的信息不一定是文本文件,也可以是视频,声音,单向散列函数不需要知道消息的实际意义,无论任何消息,都会单纯的单作比特处理
- 散列值的长度和消息的长度无关,单向散列函数都会计算出固定长度的散列值。
单向散列函数
单向散列函数的性质:
- 根据任意长度的消息计算出固定长度的散列值
- 能够快速的计算出散列值
- 消息不同散列值也不同,也称之为雪崩效应
- 具备单向性