【读书笔记】数学之美2--信息指纹

16.信息指纹及其应用

原来的Hash Table是直接存储的,而且存储效率只有50%,十分耗费存储空间。

而通过伪随机数产生器算法,任何一段信息(包括文字、语音、视频、图片等),都可以对应一个不太长的随机数,作为区别这段信息和其他信息的指纹。如此所需要的存储量就大大减小了。如图所示:

常见的算法有:平方取中法、MD5、SHA-1等。

 有了这个信息指纹,我们就能够判别是否有重复、是否有抄袭盗版等。

17.谈谈密码学的数学原理

加密和解密是一对函数和反函数。

根据信息论的观点,当密码之间分布均匀且统计独立时,提供的信息最少。均匀分布使得敌方无从统计,而统计独立可以保证敌人即使知道了加密算法,并且看到了一段密码和明码后,也无法破译另一段密码。

这些算法有这样特点:

  1. 它们都有两个完全不同的样式,一个用于加密,一个用于解密。
  2. 这两个看上去无关的钥匙,在数学上是关联的。

像RSA,就是用超级大的素数进行加密的,如果要破解,就要对大数N进行因数分解,即通过N反过来找到P和Q。

23.布隆过滤器

布隆过滤器,它只需要Hash Table1/8到1/4的大小就能够解决同样的问题,它实际上是一个很长的二进制向量和一系列随机映射函数。

而布隆过滤器的识别率与(比特数/插入元素数)、每个元素对应的信息指纹的散列函数个数成正比。

猜你喜欢

转载自blog.csdn.net/qq_29567851/article/details/83756350