本节书摘来自异步社区《Python密码学编程》一书中的第1章,第1.1节,作者 [美] Al Sweigart(斯维加特),李永伦 译,更多章节内容可以访问云栖社区“异步社区”公众号查看。
第1章 制作纸质加密工具
本章主要内容:
密码学是什么;
代码和加密法;
凯撒加密法;
加密轮盘;
St. Cyr滑条;
用纸笔做加密;
“双重强度”加密。
我忍不住偷听,可能因为我在窃听。
——佚名
1.1 密码学是什么
看看以下两段文字:
左边的文字是秘密消息。这段消息已被加密,或者说被变成了秘密代码。任何不知道如何解密(也就是把它变回普通英语消息)的人都无法阅读。本书将会教你如何加密和解密消息。
右边的消息只是随机乱码,没有包含任何有意义的内容。加密你写下来的消息是对其他人保密的一种方式,即使他们得到了加密之后的消息。这看起来和随机乱码完全一样。
密码学是使用秘密代码的科学。密码编译者是使用和研究秘密代码的人。本书会告诉你成为一名密码编译者需要知道什么。
当然,这些秘密消息并不总是保持秘密状态。密码破译者是能破译秘密代码并读取其他人的加密消息的人。密码破译者又称为代码破译者(code breaker)或代码黑客(hacker)。本书也会告诉你成为一名密码破译者需要知道什么。遗憾的是,你在本书里学到的破译方式不会给你带来麻烦(我的意思是,幸亏如此)。
间谍、士兵、黑客、海盗、贵族、商人、暴君、政治激进分子、网购者以及任何要与可信好友分享秘密的人都依赖密码学,以确保他们的秘密还是秘密。