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

本文涉及的产品
密钥管理服务KMS,1000个密钥,100个凭据,1个月
简介:


前 言

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

本书适合不懂加密、破译或密码学的初学者。本书的加密法(除了最后一章的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加密法

相关文章
|
28天前
|
人工智能 数据可视化 数据挖掘
探索Python编程:从基础到高级
在这篇文章中,我们将一起深入探索Python编程的世界。无论你是初学者还是有经验的程序员,都可以从中获得新的知识和技能。我们将从Python的基础语法开始,然后逐步过渡到更复杂的主题,如面向对象编程、异常处理和模块使用。最后,我们将通过一些实际的代码示例,来展示如何应用这些知识解决实际问题。让我们一起开启Python编程的旅程吧!
|
27天前
|
存储 数据采集 人工智能
Python编程入门:从零基础到实战应用
本文是一篇面向初学者的Python编程教程,旨在帮助读者从零开始学习Python编程语言。文章首先介绍了Python的基本概念和特点,然后通过一个简单的例子展示了如何编写Python代码。接下来,文章详细介绍了Python的数据类型、变量、运算符、控制结构、函数等基本语法知识。最后,文章通过一个实战项目——制作一个简单的计算器程序,帮助读者巩固所学知识并提高编程技能。
|
15天前
|
Unix Linux 程序员
[oeasy]python053_学编程为什么从hello_world_开始
视频介绍了“Hello World”程序的由来及其在编程中的重要性。从贝尔实验室诞生的Unix系统和C语言说起,讲述了“Hello World”作为经典示例的起源和流传过程。文章还探讨了C语言对其他编程语言的影响,以及它在系统编程中的地位。最后总结了“Hello World”、print、小括号和双引号等编程概念的来源。
102 80
|
4天前
|
Python
[oeasy]python055_python编程_容易出现的问题_函数名的重新赋值_print_int
本文介绍了Python编程中容易出现的问题,特别是函数名、类名和模块名的重新赋值。通过具体示例展示了将内建函数(如`print`、`int`、`max`)或模块名(如`os`)重新赋值为其他类型后,会导致原有功能失效。例如,将`print`赋值为整数后,无法再用其输出内容;将`int`赋值为整数后,无法再进行类型转换。重新赋值后,这些名称失去了原有的功能,可能导致程序错误。总结指出,已有的函数名、类名和模块名不适合覆盖赋新值,否则会失去原有功能。如果需要使用类似的变量名,建议采用其他命名方式以避免冲突。
26 14
|
14天前
|
分布式计算 大数据 数据处理
技术评测:MaxCompute MaxFrame——阿里云自研分布式计算框架的Python编程接口
随着大数据和人工智能技术的发展,数据处理的需求日益增长。阿里云推出的MaxCompute MaxFrame(简称“MaxFrame”)是一个专为Python开发者设计的分布式计算框架,它不仅支持Python编程接口,还能直接利用MaxCompute的云原生大数据计算资源和服务。本文将通过一系列最佳实践测评,探讨MaxFrame在分布式Pandas处理以及大语言模型数据处理场景中的表现,并分析其在实际工作中的应用潜力。
49 2
|
27天前
|
小程序 开发者 Python
探索Python编程:从基础到实战
本文将引导你走进Python编程的世界,从基础语法开始,逐步深入到实战项目。我们将一起探讨如何在编程中发挥创意,解决问题,并分享一些实用的技巧和心得。无论你是编程新手还是有一定经验的开发者,这篇文章都将为你提供有价值的参考。让我们一起开启Python编程的探索之旅吧!
46 10
|
29天前
|
机器学习/深度学习 人工智能 数据挖掘
探索Python编程的奥秘
在数字世界的海洋中,Python如同一艘灵活的帆船,引领着无数探险者穿梭于数据的波涛之中。本文将带你领略Python编程的魅力,从基础语法到实际应用,一步步揭开Python的神秘面纱。
44 12
|
28天前
|
IDE 程序员 开发工具
Python编程入门:打造你的第一个程序
迈出编程的第一步,就像在未知的海洋中航行。本文是你启航的指南针,带你了解Python这门语言的魅力所在,并手把手教你构建第一个属于自己的程序。从安装环境到编写代码,我们将一步步走过这段旅程。准备好了吗?让我们开始吧!
|
29天前
|
关系型数据库 开发者 Python
Python编程中的面向对象设计原则####
在本文中,我们将探讨Python编程中的面向对象设计原则。面向对象编程(OOP)是一种通过使用“对象”和“类”的概念来组织代码的方法。我们将介绍SOLID原则,包括单一职责原则、开放/封闭原则、里氏替换原则、接口隔离原则和依赖倒置原则。这些原则有助于提高代码的可读性、可维护性和可扩展性。 ####
|
27天前
|
人工智能 数据挖掘 开发者
探索Python编程之美:从基础到进阶
本文是一篇深入浅出的Python编程指南,旨在帮助初学者理解Python编程的核心概念,并引导他们逐步掌握更高级的技术。文章不仅涵盖了Python的基础语法,还深入探讨了面向对象编程、函数式编程等高级主题。通过丰富的代码示例和实践项目,读者将能够巩固所学知识,提升编程技能。无论你是编程新手还是有一定经验的开发者,这篇文章都将为你提供有价值的参考和启示。让我们一起踏上Python编程的美妙旅程吧!