《Python密码学编程》——导读

简介:


前 言

有很多书教初学者如何使用加密法写秘密消息,有一些书教初学者如何破译加密法。据我所知,还没有书教初学者如何编写程序来破译加密法。这本书填补了这个空缺。

本书适合不懂加密、破译或密码学的初学者。本书的加密法(除了最后一章的RSA加密法)都有数百年历史了,现代计算机的计算能力可以破译使用它们加密的信息,现代组织或个人已经不再使用这些加密法了。有鉴于此,你不会因为本书里的内容而惹麻烦。

本书适合从来没有编过程序的初学者。本书使用Python编程语言讲解基本编程概念。Python非常适合初学者学习编程:它是一种简单可读却又强大的编程语言,为专业软件开发者所用。Python软件可以从http://python.org 免费下载,可以在Linux,Windows,OS X和树莓派上运行。

“黑客”有两种定义。一种“黑客”是指通过学习来理解一个系统,并跳出系统原有的规则限制,有创造性地修改它,使之以新的方式来工作的人。另一种“黑客”也用来指入侵计算机系统,触犯个人隐私并造成伤害的罪犯。本书提到的“黑客”是第一种。黑客很酷,罪犯则只是通过破坏来显摆智商的人。就我个人而言,我的本职是一名软件开发者,和写病毒或网络诈骗相比,这份工作钱多活少。

还有一点要注意的,不要把本书里的任何加密程序用于你的实际文件。它们可以带来乐趣,但并不提供真正的安全。一般来说,你不应该信任你自己创造的加密法。正如传奇密码学家Bruce Schneier说的:“任何人,从最无能的外行到最好的密码学家,都能创建出他自己无法破译的算法。这并非难处。难处在于创建出别人无法破译的算法,即使经过数年分析,证明那点的唯一途径是通过各地最好的密码学家对这个算法进行长达数年的分析。”

如果你对这些程序如何工作有问题,可以随时给我发电子邮件:al@inventwithpython.com。

目 录

[第1章 制作纸质加密工具
1.1 密码学是什么
1.2 代码与加密法
1.3 制作纸质加密轮盘
1.4 虚拟加密轮盘
1.5 如何使用加密轮盘加密
1.6 如何使用加密轮盘解密
1.7 另一个加密法工具:St. Cyr滑条
1.8 A组练习
1.9 不用纸质工具做加密
1.10 B组练习
1.11 双重强度加密
1.12 通过计算机编程进行加密
[第2章 Pygame基础知识
2.1 下载和安装Python
2.1.1 Windows安装步骤
2.1.2 OS X安装步骤
2.1.3 Ubuntu和Linux安装步骤
2.2 下载pyperclip.py
2.3 启动IDLE
2.4 特色程序
2.5 行号和空格
2.6 本书的文本换行
2.7 在线跟踪程序
2.8 使用在线比较工具检查输入的代码
2.9 复制粘贴文本
2.10 更多信息链接
2.11 编程和密码学
第3章 交互式Shell
第4章 字符串和写程序
第5章 反转加密法
第6章 凯撒加密法
第7章 暴力破译凯撒加密法
第8章 使用换位加密法加密
第9章 使用换位加密法解密
第10章 写一个程序测试我们的程序
第11章 加密和解密文件
第12章 通过编程检测英文
第13章 破译换位加密法
第14章 取模运算与乘数加密法和仿射加密法
第15章 仿射加密法
第16章 破译仿射加密法
第17章 简单替代加密法
第18章 破译简单替代加密法
第19章 维吉尼亚加密法
第20章 频率分析
第21章 破译维吉尼亚加密法
第22章 一次一密加密法
第23章 寻找质数
第24章 公钥密码学和RSA加密法

相关文章
|
3月前
|
数据采集 机器学习/深度学习 人工智能
Python:现代编程的首选语言
Python:现代编程的首选语言
323 102
|
3月前
|
数据采集 机器学习/深度学习 算法框架/工具
Python:现代编程的瑞士军刀
Python:现代编程的瑞士军刀
350 104
|
3月前
|
人工智能 自然语言处理 算法框架/工具
Python:现代编程的首选语言
Python:现代编程的首选语言
281 103
|
3月前
|
机器学习/深度学习 人工智能 数据挖掘
Python:现代编程的首选语言
Python:现代编程的首选语言
208 82
|
2月前
|
Python
Python编程:运算符详解
本文全面详解Python各类运算符,涵盖算术、比较、逻辑、赋值、位、身份、成员运算符及优先级规则,结合实例代码与运行结果,助你深入掌握Python运算符的使用方法与应用场景。
242 3
|
2月前
|
数据处理 Python
Python编程:类型转换与输入输出
本教程介绍Python中输入输出与类型转换的基础知识,涵盖input()和print()的使用,int()、float()等类型转换方法,并通过综合示例演示数据处理、错误处理及格式化输出,助你掌握核心编程技能。
495 3
|
2月前
|
并行计算 安全 计算机视觉
Python多进程编程:用multiprocessing突破GIL限制
Python中GIL限制多线程性能,尤其在CPU密集型任务中。`multiprocessing`模块通过创建独立进程,绕过GIL,实现真正的并行计算。它支持进程池、队列、管道、共享内存和同步机制,适用于科学计算、图像处理等场景。相比多线程,多进程更适合利用多核优势,虽有较高内存开销,但能显著提升性能。合理使用进程池与通信机制,可最大化效率。
316 3
|
2月前
|
Java 调度 数据库
Python threading模块:多线程编程的实战指南
本文深入讲解Python多线程编程,涵盖threading模块的核心用法:线程创建、生命周期、同步机制(锁、信号量、条件变量)、线程通信(队列)、守护线程与线程池应用。结合实战案例,如多线程下载器,帮助开发者提升程序并发性能,适用于I/O密集型任务处理。
333 0
|
3月前
|
数据采集 机器学习/深度学习 人工智能
Python:现代编程的多面手
Python:现代编程的多面手
96 0
|
3月前
|
存储 人工智能 算法
Python实现简易成语接龙小游戏:从零开始的趣味编程实践
本项目将中国传统文化与编程思维相结合,通过Python实现成语接龙游戏,涵盖数据结构、算法设计与简单AI逻辑,帮助学习者在趣味实践中掌握编程技能。
419 0

推荐镜像

更多