欢迎来到天天文库
浏览记录
ID:27912960
大小:3.99 MB
页数:52页
时间:2018-12-07
《恩尼格码密码机制作图解.doc》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、恩尼格码密码机制作图解 这个作品是2013年无线电单片机竞赛的亚军。感谢所有支持这个作品的你们! 在对称加密学当中,恩尼格码机绝对是承前启后的存在。它将密码学研究从以前的语言文字学中心完全转移到了数学身上。在这里牵涉的密码并不是我们平时邮箱、银行帐号那种狭义概念,那种顶多叫做口令。这里说的密码就是通过某种转换规律方式,把一篇文章变得面目全非,非常人能阅读,以达到保密效果。这篇文章适于电脑控、军事控、历史控、数学控阅读,请做好烧脑准备。 第1步: 在对称加密学当中,恩尼格码机绝对是承前启后的存在。它将密码学研究从以前的
2、语言文字学中心完全转移到了数学身上。在这里牵涉的密码并不是我们平时邮箱、银行帐号那种狭义概念,那种顶多叫做口令。这里说的密码就是通过某种转换规律方式,把一篇文章变得面目全非,非常人能阅读,以达到保密效果。这篇文章适于电脑控、军事控、历史控、数学控阅读,请做好烧脑准备。 这是我们的初号机。以下教程将手把手教你如何完美山寨史上著名的德国恩尼格玛密码机(以下称哑谜机,不清楚历史的可以到维基、百度等地方脑补一下)。这个基于Arduino的开源程序能够加解密任何哑谜机M4型(海军型)的信息。 这个第一台全功能开源完美哑谜机复制品是根据sket
3、chsk3tch写的《Kid’sGametoArduinoEnigmaMachine》(从儿童玩具到Arduino恩尼格玛机)所作。 采用多路复用LED电路,仅用38个针脚的115个发光二极管和4个针脚的36个按键所连接的整个电路,全靠在键盘回路里准确放置的电阻以及P型号晶体管得以实现。要不然,4个16段显示器,以及每个按键上的LED将大幅增加所需针脚总量,即使用了ArduinoMega板但如果没用上述两个方法也不能如此简洁。面对电路的超额需求,我们在http://www.stgeotronics.com设计了专用的PCB
4、板。直接跳到第10步和以后的步骤可以找到更多信息。同时,我们以测试过的完整电子组装套装发布。 第2步: 面包板上的论证 第3步: 在开始制作电子哑谜机之前,我们先要确保能驱动16段LED显示。如果能的话,我们就能做接下来的所有步骤,除了数学上的问题,一切都是浮云。 第4步: 万事具备 第5步: 布置零件 第6步: 第7步: 第8步: 第9步: 6*8寸无线电面包版是最合适放置所有元件的,既不多余也不拥挤,而且和哑谜机盒子内部完美吻合。 最初我们将面包等分三块区域,但很快意识到如
5、此一来,电子版哑谜机将比原版机械哑谜机长。于是我们将所有零件缩放到正好够占用的空间。 每个元件位置就绪,下一步就是焊接。 第10步: 第11步: 我焊,我焊,我焊焊焊…… 第12步: 第13步: 第14步: 第15步: 第16步: 好吧,在单一作品身上,我从没焊接如此多次。16段显示的18个针脚,还有26个字母键乘以每个4个脚,外加26个键盘灯,一些其他LED,一个三掷开关,真乃“成吉思焊”。 当初我们的决定是使这些16段LED显示看起来像老式电子管的感觉,增加了不少焊点,“巨焊”!
6、ArduinoMega板上针脚的分配:17段: 第17步: 第18步: 第19步: 在原版M4型木盒内得到确定位置数据后,我们买了一块胶合板,将它切块,然后砌盒子。 我们从旧服务器机架上卸了一块钢板,厚度正合需要。将模具(上面早已画好每个按键和灯位,并切好了洞洞)盖在钢板上,然后用记号笔画出需要切出的洞洞。 接着,我们用喷漆把它涂黑,就像真的哑谜机那样。 第20步: 组装测试 第21步: 第22步: 第23步: 第24步: 第25步: 第26步: 首先把金属板在面包版
7、上永久固定,确保所有按键正常工作,所有LED都能发光。 接着就是把这一大坨东东装入木盒,确保没有空隙位置。 第27步: 第28步: 在组装硬件过程中,我们也写了个小型Arduino程序框架,用以测试特定几个需要关注的部分: 用来测试每个按键信号能准确读取,还有测试10个功能按键的代码。 Enigma_POST(上电自检)确保在每种模式下所有键盘等都能准确亮起,在每种模式下每个LED信号都能传送。我们对原本面包板上的代码做了修正,确保4个16段LED显示的每个部件无懈可击。 但,即使所有手上的程序片段都说明机器状态完
8、好,重现M4海军型哑谜机加解密功能,数学方面居功至伟。 所有Arduino程序片段在我们刚刚建好的云端都能找到。 以下是Enigma_POST程序片段(上电自检): 第29
此文档下载收益归作者所有