本书翻译原文来自美国PGP安全软件公司的产品PGPDesktop9.9.0软件包中的JonCallas在2006年所著《AnIntroductiontoCryptography(IntroToCrypto.pdf(CRC-32:79EE7FEF))》,原文的意旨在于使所有普通人都可以看懂这本关于密码学的书籍,经过翻译和改编,所以本书的文字简单,适合初学者阅读。
内容从密码学的历史到密码学在现实生活中的应用,而且书中没有深入讨论任何专业性的问题,也不会讨论算法的细节,否则不少人会看不懂,最多的就是一个名字、一个概念,甚至是一个比喻,也可能是一个简单的数学知识。
有兴趣的人可以从你感兴趣的方面深入的了解密码学。
原作者是处在美国的法律环境,美国的法律更新和加密技术发展一样快,文章内众多法律名称也为我们了解美国关于密码技术的法律做了介绍。
Cryptography在英语中是密码术、密码学的意思,外国人认为的“密码”一词是个动词,意味加密,也就是加密数据,他们强调的是这个过程,中国人称的“密码”是开启秘密的那个口令码,它是使用密钥文件的钥匙。
所以,外国人用词更加精确。
其实“密码学”原义是包含数据加密和数据解密2个过程,而从中文字面上看就误解成了研究破解密码的一种学问,认为研究密码学的都是在破译密码,不完全对。
破解密码的学问叫做:密码分析学!注释中有大量本人的“非官方”说明,遇到不懂的请参阅注释!注释中还针对中国读者添加了一些中国的实例,推荐遇到有注释的环节都仔细看看,表达的意思可能就是另外一种。
在前文出现的一些词汇你可能不是很明白,而在后面会有具体的介绍。
原版中的尾注很不方便,所以我把尾注全部改为当页下方的脚注,读者可以很快找到当页里面自己想要的东西!注释的链接有不少英文内容的,所以我建议大家努力学习英语!推荐阅读本书的人具有简单的计算机知识和高等数学的底子,其实用到的地方也不是很多,你不会这些也不必担心,下方的脚注仔细一看就完全可以明白。
没有翻译外国人的名字,名字只是字符代号而已,这样可以使你更容易的在互联网上搜索关于他们的故事。
本书的内容除了来自JonCallas的《AnIntroductiontoCryptography》,有一小部分是来自BruceSchneier的《应用密码学》,这是因为JonCallas写的过于简陋,入门都谈不上,高度刚刚碰到门槛,不小心可能会绊着,所以我稍微提升了一点高度。
附录部分并不是原书的内容,本书的英文书出自PGP官方人员的手,在一些细节就会有特别的广告嫌疑。
为了给读者一个更加宽阔的软件选择视野,我挑选了一些我认为比较可信的软件。
有些文字几乎是复制粘贴上去的。
因为实在找不出更好语句来阐述它们了。
我想应该不会有人在免费打广告的前提下问我要稿费。
如果有人想尝试重新翻译,我很赞成,这里给想尝试的人的一些建议:在翻译这类书前,并不是只要有英文的功底。
中国话——隔行如隔山,语言类的知识是无法解决这个问题的,推荐去图书馆参阅大量数学部分的知识,且包括密码学书籍的部分,并且要了解基本的计算机知识。
我并非PGP官方技术人员,也不是英文翻译专业出生。
翻译这本书纯粹是对英文和密码学的兴趣。
尽管我做了很细心的校对,书中的错误是难免的,也可能出现很多翻译的错误。
在这本“非官方”译本中有许多不足的地方希望PGP用户、广大热心网友、数学高人、密码学研究者指出。
同时感谢你们对这本书的支持。
目录:1关于本书-1-1.1什么样的人适合阅读这本书-1-1.2万丈高楼平地起.-1-1.3密码学很难——但是它使梦想变的简单.-1-1.4说难不难,说易不易-2-1.5究竟什么是密码学?-3-1.5.1隐写术-3-1.6这本书的历史.-4-1.7原书作者特别致谢-5-2为什么密码学那么重要?.-6-2.1走进缺口:骇人的事件.-6-2.1.1笔记本丢失事件-6-2.1.2无安全保护的网络资源-8-2.1.3个人身份信息丢失.-9-2.2法律法规-9-2.2.1含保密项的法律法规.-9-2.2.2复合法律法规-10-2.2.3违规警告的法律法规.-11-2.3限制加密技术的法律法规.-11-3密码技术的不完全历史.-13-3.1人工密码技术.-13-3.1.1代替密码和换位密码.-14-3.1.1.1代替密码.-14-3.1.1.2换位密码.-15-3.2机械密码技术.-
2025/3/18 2:09:09 1.91MB 密码学介绍 Cryptography
1
自动生成二维码,可设置二维码样式;
自动生成二维码,可设置二维码样式;
自动生成二维码,可设置二维码样式;
自动生成二维码,可设置二维码样式;
2025/3/17 17:37:40 307KB js 生成 二维码 自定义
1
单片机试卷及答案单片机试卷及答案是一个关于单片机的考试试卷,涵盖了单片机的基本概念、指令、存储器、定时器、中断、串行通信等方面的知识点。
单片机的基本概念1.单片机(Microcontroller,MCU)是一种集成了中央处理器(CPU)、存储器、输入/输出接口等功能于一块集成电路(IC)的微型计算机。
2.单片机的主要组成部分包括中央处理器(CPU)、存储器、输入/输出接口、计时器/计数器、串行通信接口等。
单片机的指令1.单片机指令是指单片机执行的一系列机器指令,用于控制单片机的操作,例如arithmeticallogicalunit(ALU)操作、load/store操作、branch操作等。
2.单片机指令的编码规则是指单片机指令的编码方式,包括操作码、操作数、地址码等。
单片机的存储器1.单片机的存储器包括程序存储器、数据存储器和特殊功能存储器等。
2.程序存储器用来存储单片机的程序代码,数据存储器用来存储数据,特殊功能存储器用于存储特殊功能参数。
单片机的定时器/计数器1.定时器/计数器是单片机的一种外设,用于产生时钟信号、计数脉冲信号等。
2.定时器/计数器有多种工作方式,例如计数方式、时钟方式等。
单片机的中断1.中断是单片机的一种事件响应机制,当单片机收到外部中断请求时,会暂停当前执行的程序,转而执行中断服务程序。
2.单片机的中断源包括外部中断、定时器中断、串行通信中断等。
单片机的串行通信1.串行通信是单片机的一种通信方式,用于与外部设备进行通信。
2.串行通信的协议包括异步串行通信、同步串行通信等。
其他知识点1.EPROM存储器是一种可擦除可编程只读存储器,用于存储程序代码和数据。
2.MCS-51是一种单片机家族,包括8051、8031、89C51等型号。
3.8155A是一种片上系统(SoC),集成了单片机、存储器、输入/输出接口等功能于一块集成电路(IC)。
总体来说,单片机试卷及答案涵盖了单片机的基础知识、指令、存储器、定时器、中断、串行通信等方面的知识点,是一个非常全面和系统的考试试卷。
2025/3/17 2:14:36 1.13MB
1
STM32F429DISCO是一款基于STM32F4系列高性能微控制器的开发板,广泛用于嵌入式系统开发。
在这个特定的例子中,我们关注的是如何在该平台上实现RNDIS(RemoteNetworkDriverInterfaceSpecification)功能,利用LWIP(LightweightIP)网络库,并且不依赖DHCP(DynamicHostConfigurationProtocol)服务。
RNDIS是一种由Microsoft定义的接口标准,允许设备以网络适配器的形式与主机通信。
在STM32F429DISCO上实现RNDIS,可以将开发板通过USB连接模拟为一个网络设备,使它能够与主机进行数据交换,如发送和接收TCP/IP协议栈的数据包。
LWIP是一个开源、轻量级的TCP/IP协议栈,适合资源有限的嵌入式设备。
在这个例子中,LWIP将作为STM32F429DISCO的网络堆栈,处理TCP/IP协议,包括IP、TCP、UDP、ICMP等,而无需完整的操作系统支持。
DHCP是用于自动分配网络设备IP地址的协议。
不过,在这个例子中提到“nodhcp”,意味着系统不会使用DHCP服务来动态获取IP地址。
这意味着开发者可能需要手动配置STM32F429DISCO的IP地址,以及其他网络参数如子网掩码和默认网关。
在提供的压缩包文件中,我们可以找到以下几个关键目录:1.**Src**:包含了项目的源代码,这通常包括了RNDIS驱动、LWIP的配置和应用层的代码,以及USB驱动的实现,以便STM32F429DISCO能够作为一个RNDIS设备。
2.**Middlewares**:中间件目录,可能包含LWIP的源代码或者配置文件,以及可能的USB堆栈和其他必要的软件组件。
3.**Drivers**:驱动程序目录,通常会包含STM32F429的HAL(HardwareAbstractionLayer)库和LL(Low-Layer)库,这些库提供了对微控制器硬件功能的访问,包括USB控制器和以太网接口。
4.**MDK-ARM**:这是基于ARM的MicrocontrollerDevelopmentKit,包含了项目工程文件,如`.sln`或`.uvprojx`,以及编译所需的设置和配置。
5.**Inc**:头文件目录,包含了所有源代码中引用的头文件,包括STM32的外设驱动接口声明、LWIP的API定义以及其他必要的数据结构和常量。
在实际开发过程中,开发者需要理解RNDIS的工作原理,熟悉LWIP的配置和使用,掌握STM32F4系列的USB和网络接口编程。
同时,还需要对MDK-ARM集成开发环境有一定的了解,以便于编译、调试和优化代码。
此外,手动配置IP地址可能会涉及到网络规划和静态IP的设置。
这个项目对于想要学习如何在嵌入式系统中实现USB通信和网络功能的开发者来说,是一个很好的实践案例。
2025/3/15 14:50:32 2.64MB lwip
1
基于GPT2模型的5言和7言诗歌生成的测试项目,使用pytorch框架,里面包含了几万首古诗和已经编好码的字典和数据集,由于模型太大,上传不便,大家自己跑一下训练代码就可以了,跑了20轮之后的模型,目测效果还可以,至少我本人是写不出来这些诗歌了,哈哈
2025/3/14 19:52:11 27.24MB GPT2 pytorch 深度学习
1
两个android设备连接同一wifi,分别安装两个apk,实现将一个设备的屏幕投射给另一个android设备,视频码率清晰度可配置。
1
赛灵思EGO1口袋实验开发板-全套包括:开发板使用手册、及配置实验共8个,都有原码和公司每个实验指导书的pdf还包括:EGO1板卡文件、引脚约束文件、及硬件手册
2025/3/13 12:31:24 88.54MB EGO1
1
用汇编语言写的闹钟,黑背景。
主要是获取系统时钟然后不断刷新和已经定好的时钟对比,到了的时候会有提示等。
这只是原码来着,还要编译连接再运行
2025/3/13 0:10:08 2KB 汇编闹钟
1
H5调用扫描二维码,兼容IOS安卓。
webcodecamjs.jsDecoderWorker.js
2025/3/12 21:45:09 407KB H5 扫描二维码 扫码 HTML5
1
这是一个定点的多带OFDM物理层发射机_接收机模型,共122个子载波,22个导频,采用QPSK调制,5_8前向纠错码(删余卷积码.)
2025/3/12 20:42:05 114KB OFDM matlab 代码
1
共 1000 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡