Python密码学编程(第2版) 封面

Python密码学编程(第2版)

暂无评分
字数
475字
章节数
25
丛书
图灵程序设计丛书
ISBN
9787115529992

标签

内容简介

《Python密码学编程(第2版)》是阿尔·斯维加特写给编程初学者的密码学实践入门书,中文版依据原书第2版译出,“第2版”在原书对应的名称是《Cracking Codes with Python》。全书以Python为工具,从不需要编程基础的部分讲起:先带读者制作纸质密码学工具、熟悉交互式运行环境与字符串操作,再一步步实现反向密码、凯撒密码、置换密码、仿射密码、简单代换密码、维吉尼亚密码等古典加密方法。每一种算法都按“原理—实现—破解”三段展开:先说明加密思路,再给出注释详尽的Python代码,最后编写程序把密文破开,其中还穿插了暴力枚举、频率分析、英语文本自动检测等实用技巧。后半部分把话题推进到一次一密、素数的查找与生成、公钥密码密钥生成及RSA公钥算法的编程实现,末尾附有调试Python代码的附录。全书约330页、475千字,配有示例源代码,每章末尾设有习题,适合边读边敲代码的学习方式。

编辑推荐

很多密码学入门书一上来就是数论证明和符号公式,把只想“动手做个加密程序”的读者挡在门外。斯维加特这本书走的是另一条路:不讲抽象定理,直接给你能跑起来的代码。每个古典密码都拆成原理、实现、破解三段,写完加密程序紧接着写破解程序,读者在“攻与防”的一来一回中自然理解了密钥空间、频率特征、暴力枚举这些概念是怎么落到代码里的。更难得的是它对零基础读者友好——第一章甚至用纸和笔做密码工具,交互式环境、字符串操作、文件读写都从头交代,不需要先啃完一本Python教材。第2版把内容延伸到一次一密、素数生成和RSA公钥算法,读完能对现代密码的骨架有直观认识。题量适中、代码注释清楚、配套源码齐全,很适合作为“第一个密码学项目”的练手读物。需要说明的是,全书重在教学演示,而非可直接用于生产环境的加密库。

适合谁读

适合

  • 已经会用Python基本语法,想找个项目练手巩固的编程初学者
  • 对密码学好奇但被数学公式劝退、希望先动手实现再补理论的读者
  • 信息安全从业者,想从代码层面重温古典密码与RSA的基本构造
  • 计算机、信息安全相关专业学生,需要课程实践或课设参考资料
  • 中学信息技术教师或编程兴趣班老师,寻找可拆解复用的教学案例

不适合

  • 希望直接获得可上生产环境的加密方案与安全库用法的人
  • 数学基础扎实、想要严格证明与算法复杂度分析的高阶密码学读者
  • 完全零编程经验、连变量与循环都未接触的读者,会感到节奏偏快
  • 关注现代密码协议、TLS、密钥管理等工程实践方向的从业者

阅读建议

  1. 务必边读边敲:每章的加密与破解代码都手动输入并运行一遍,效果远胜只看书。
  2. 先读第2、3章确认Python环境与字符串基础,若已熟练可跳过,直接进入第4章。
  3. 读完古典密码部分后,尝试把频率分析程序改成处理中文或英文以外的文本,检验理解程度。
  4. 把它当项目书而不是理论书,遇到原理疑问再配合一本密码学教材补齐数学背景。

出版社简介

人民邮电出版社 中国 · 成立于 1953 年

人民邮电出版社以科技、计算机与信息通信类图书见长,并由此延伸至摄影、艺术、软件学习与励志成长等门类,形成较为多元的出版方向。库内图书既涵盖《重构与模式(修订版)》《华为交换机学习指南(第二版)》等计算机与通信技术读物,也收录《小王子(中英法彩绘典藏纪念版)》《了不起的盖茨比》《假如给我三天光明》等双语典藏类作品;《北京十年:1980-1990》与《鬼刀 WLOP个人插画作品集》则体现其在摄影与艺术领域的布局。作者资源包括安东尼·圣埃克苏佩里、海伦·凯勒、Joshua Kerievsky、王达、张兆增与WLOP等。

目录

  1. 第1章 制作纸质密码学工具
  2. 第2章 在交互式运行环境中编程
  3. 第3章 字符串及编写程序
  4. 第4章 反向密码
  5. 第5章 凯撒密码
  6. 第6章 用暴力算法破解凯撒密码
  7. 第7章 通过置换密码实现加密
  8. 第8章 解密置换密码
  9. 第9章 编写测试程序
  10. 第10章 文件的加密与解密
  11. 第11章 编程检测英语文本
  12. 第12章 破解置换密码
  13. 第13章 仿射密码的模运算模块
  14. 第14章 编写仿射密码
  15. 第15章 破解仿射密码
  16. 第16章 编写简单代换密码
  17. 第17章 破解简单代换密码
  18. 第18章 编写维吉尼亚密码
  19. 第19章 频率分析
  20. 第20章 破解维吉尼亚密码
  21. 第21章 一次一密
  22. 第22章 素数的查找与生成
  23. 第23章 为公钥密码生成密钥
  24. 第24章 编写公钥密码算法
  25. 附录 调试Python代码

常见问题

这本书需要什么Python基础才能读?
只需要变量、循环、函数这一层的基本语法。前三章会把交互式环境、字符串、文件读写补一遍,对Python要求不高,但完全没写过代码的读者建议先学完一门Python入门课再读。
第1版和第2版有什么区别?
第1版2016年出版,译者李永伦,ISBN 9787115424297,约324页;第2版2020年出版,译者郑新芳、赵怡翾,ISBN 9787115529992,330页、475千字,内容依据原书第2版更新,并延伸到一次一密与RSA公钥算法的实现。
书里的算法能直接用在真实项目里吗?
不建议。书中代码是为教学演示写的,注重可读性,缺少真实系统需要的密钥管理、随机数质量与抗侧信道等考虑。真实项目应使用经过审计的成熟密码库。
包含配套源码吗?
是的,本书提供示例源代码下载,涵盖书中各章的加密、破解程序。建议下载后对照书本运行,便于排查自己在录入代码时的错误。

读者评论

查询本书

本站为索引目录:「全网查询」由您发起、在您的浏览器中运行,所列入口均指向第三方站点,请自行判断可用性。

同一作者

同类高分