上QQ阅读APP看书,第一时间看更新
读者需掌握的基础知识
如何才能充分地利用本书呢?本书假设读者对计算机或互联网的工作原理有一些基本的了解,至少应该听说过加密技术。本书讨论的内容是现实世界的密码学,因此,如果读者完全不了解计算机或者从来没有听说过加密这个概念,那么理解本书可能有些困难。
假设读者已经知道本书涵盖哪些领域的知识,那么读者应该了解位和字节,看过甚至使用过像异或、左移之类的位操作,这些背景知识都是读者学习本书的优势。如果没有这些优势,会导致读者无法阅读本书吗?不会,但这可能意味着读者必须花时间去网络上搜索阅读过程中遇到的问题及其解答,才能继续阅读本书。
事实上,无论读者对相关知识了解到何种程度,在阅读本书时,都不得不偶尔停下来,在互联网搜索并了解更多的背景知识。不过,这都不妨碍读者阅读和理解本书,因为我会尽可能解释本书涉及的概念。
最后,当我使用密码学这个词时,读者脑中出现的可能是数学。不过,读者并不需要太过担心。本书主要讨论的是对密码学技术的宏观认识,并尽可能避免从数学的角度讨论它们的本质,这样读者也能够对密码学技术的运作原理有直观的理解。
当然,本书肯定会介绍一部分数学知识,因为讨论密码学就无法避开数学。所以,我想说的是:如果读者的数学基础不错,就会非常有利于读者理解本书的内容。但如果没有数学基础,也不妨碍读者阅读本书的大部分内容。有些章节,特别是最后两章的内容的理解需要读者有比较好的数学基础,通过阅读这些章节以及搜索矩阵乘法和其他相关知识,读者也可以了解相关的数学知识。读者可以选择跳过这些章节,但请不要跳过第16章,因为这章包含一些十分有用的知识。