标签
内容简介
《Python密码学编程(第2版)》是阿尔·斯维加特写给编程初学者的密码学实践入门书,中文版依据原书第2版译出,“第2版”在原书对应的名称是《Cracking Codes with Python》。全书以Python为工具,从不需要编程基础的部分讲起:先带读者制作纸质密码学工具、熟悉交互式运行环境与字符串操作,再一步步实现反向密码、凯撒密码、置换密码、仿射密码、简单代换密码、维吉尼亚密码等古典加密方法。每一种算法都按“原理—实现—破解”三段展开:先说明加密思路,再给出注释详尽的Python代码,最后编写程序把密文破开,其中还穿插了暴力枚举、频率分析、英语文本自动检测等实用技巧。后半部分把话题推进到一次一密、素数的查找与生成、公钥密码密钥生成及RSA公钥算法的编程实现,末尾附有调试Python代码的附录。全书约330页、475千字,配有示例源代码,每章末尾设有习题,适合边读边敲代码的学习方式。
编辑推荐
很多密码学入门书一上来就是数论证明和符号公式,把只想“动手做个加密程序”的读者挡在门外。斯维加特这本书走的是另一条路:不讲抽象定理,直接给你能跑起来的代码。每个古典密码都拆成原理、实现、破解三段,写完加密程序紧接着写破解程序,读者在“攻与防”的一来一回中自然理解了密钥空间、频率特征、暴力枚举这些概念是怎么落到代码里的。更难得的是它对零基础读者友好——第一章甚至用纸和笔做密码工具,交互式环境、字符串操作、文件读写都从头交代,不需要先啃完一本Python教材。第2版把内容延伸到一次一密、素数生成和RSA公钥算法,读完能对现代密码的骨架有直观认识。题量适中、代码注释清楚、配套源码齐全,很适合作为“第一个密码学项目”的练手读物。需要说明的是,全书重在教学演示,而非可直接用于生产环境的加密库。
适合谁读
适合
- 已经会用Python基本语法,想找个项目练手巩固的编程初学者
- 对密码学好奇但被数学公式劝退、希望先动手实现再补理论的读者
- 信息安全从业者,想从代码层面重温古典密码与RSA的基本构造
- 计算机、信息安全相关专业学生,需要课程实践或课设参考资料
- 中学信息技术教师或编程兴趣班老师,寻找可拆解复用的教学案例
不适合
- 希望直接获得可上生产环境的加密方案与安全库用法的人
- 数学基础扎实、想要严格证明与算法复杂度分析的高阶密码学读者
- 完全零编程经验、连变量与循环都未接触的读者,会感到节奏偏快
- 关注现代密码协议、TLS、密钥管理等工程实践方向的从业者
阅读建议
- 务必边读边敲:每章的加密与破解代码都手动输入并运行一遍,效果远胜只看书。
- 先读第2、3章确认Python环境与字符串基础,若已熟练可跳过,直接进入第4章。
- 读完古典密码部分后,尝试把频率分析程序改成处理中文或英文以外的文本,检验理解程度。
- 把它当项目书而不是理论书,遇到原理疑问再配合一本密码学教材补齐数学背景。
出版社简介
人民邮电出版社
中国 · 成立于 1953 年
人民邮电出版社以科技、计算机与信息通信类图书见长,并由此延伸至摄影、艺术、软件学习与励志成长等门类,形成较为多元的出版方向。库内图书既涵盖《重构与模式(修订版)》《华为交换机学习指南(第二版)》等计算机与通信技术读物,也收录《小王子(中英法彩绘典藏纪念版)》《了不起的盖茨比》《假如给我三天光明》等双语典藏类作品;《北京十年:1980-1990》与《鬼刀 WLOP个人插画作品集》则体现其在摄影与艺术领域的布局。作者资源包括安东尼·圣埃克苏佩里、海伦·凯勒、Joshua Kerievsky、王达、张兆增与WLOP等。
目录
- 第1章 制作纸质密码学工具
- 第2章 在交互式运行环境中编程
- 第3章 字符串及编写程序
- 第4章 反向密码
- 第5章 凯撒密码
- 第6章 用暴力算法破解凯撒密码
- 第7章 通过置换密码实现加密
- 第8章 解密置换密码
- 第9章 编写测试程序
- 第10章 文件的加密与解密
- 第11章 编程检测英语文本
- 第12章 破解置换密码
- 第13章 仿射密码的模运算模块
- 第14章 编写仿射密码
- 第15章 破解仿射密码
- 第16章 编写简单代换密码
- 第17章 破解简单代换密码
- 第18章 编写维吉尼亚密码
- 第19章 频率分析
- 第20章 破解维吉尼亚密码
- 第21章 一次一密
- 第22章 素数的查找与生成
- 第23章 为公钥密码生成密钥
- 第24章 编写公钥密码算法
- 附录 调试Python代码
常见问题
这本书需要什么Python基础才能读?
只需要变量、循环、函数这一层的基本语法。前三章会把交互式环境、字符串、文件读写补一遍,对Python要求不高,但完全没写过代码的读者建议先学完一门Python入门课再读。
第1版和第2版有什么区别?
第1版2016年出版,译者李永伦,ISBN 9787115424297,约324页;第2版2020年出版,译者郑新芳、赵怡翾,ISBN 9787115529992,330页、475千字,内容依据原书第2版更新,并延伸到一次一密与RSA公钥算法的实现。
书里的算法能直接用在真实项目里吗?
不建议。书中代码是为教学演示写的,注重可读性,缺少真实系统需要的密钥管理、随机数质量与抗侧信道等考虑。真实项目应使用经过审计的成熟密码库。
包含配套源码吗?
是的,本书提供示例源代码下载,涵盖书中各章的加密、破解程序。建议下载后对照书本运行,便于排查自己在录入代码时的错误。
读者评论
查询本书
本站为索引目录:「全网查询」由您发起、在您的浏览器中运行,所列入口均指向第三方站点,请自行判断可用性。