需要找本好书看,数学基础当然不能少
推荐《密码学引论》by 冯登国,裴定一
如果是英文教材先看《Handbook of Applied Cryptography》by A. Menezes, P. van Oorschot, and S. Vanstone, CRC Press, 1996.
都是好书,入门很好!
我对“恩尼格玛”密码机很感兴趣,趁着考完AP历史和物理休息的时间,整理一下我自己学到的东西,包括密码的历史和恩尼格玛的历史。
I am interested in the "Enigma" cipher machine. While taking a break after AP history and physics exam. I organized what I have learned, including the history of cipher and enigma.
密码学是研究密码技术的科学,目的是研究保障信息安全的技术和手段。
密码在中外历史上古代就有广泛的应用,比如中国的狼烟,消息树,古罗马的凯撒密码等,这些密码都是利用简单的直接想象编制完成的。现代的密码学原理直到20世纪初都才逐渐形成,现代的密码学是数学+通信+计算机科学等学科于的交叉科学。
Cryptography is the study of the science of cryptography, the purpose of which is to study the technology and means to ensure information security.
Passwords have been widely used in Chinese and foreign history, such as the Chinese "Wolf smoke", "message tree", and the ancient Roman "Caesar" ciphers.
The principles of modern cryptography were not gradually formed until the early 20th century. Modern cryptography is an interdisciplinary science of mathematics, communication and computer science
一、几个非常有意思的例子
唐朝武则天朝执政期间,宰相裴炎与徐敬业(就是骆宾王著名的檄文《为徐敬业讨武曌檄》中的徐敬业)勾搭造反,裴给徐送去一封密信,书信被武则天查获。信中只有“青鹅”两个字,武则天识破密信内容,“青”字可以拆分成“十二月”,繁体的“鹅”,可以拆分成“我自与”,断定裴炎十二月要造反,将裴炎处死于洛阳。
古罗马皇帝恺撒向前线司令官发出了一封密信:VWRS WUDIIF,密信的内容被敌方截获,但是敌方根本不了解这是什么意思,但罗马的前线司令官却很快明白了。因为古罗马皇帝同时发出的还有另外一封密信:前进三步,两封信结合到一起,VWRS WUDIIF就是STOP TRAFFIC。
二、古典密码
原始的加密方法,也被称为古典密码,大致有以下几种,
1、棋盘密码
公元前两世纪,一个希腊人提出了棋盘密码,原理是把26个字母放合5x5的方格里,其中i、j放在同一个格中,具体如下表:
如果α是该字母所在行的标号,β是列标号,那么每个字母就对应了由两个数字αβ构成的字符。如果接收到密文为:11、35、12、24、34、31、34、22、54,对应的明文就是:A P B I O L O G Y。
2、替代密码法
典型的替代密码法是凯撒密码,以上文的前进三步为例:“VWRS WUDIILF”+“前进三步”,按照字母表,前进三步,就出现了如下的转换:v—s、w—t、r—o、s—p、w—t、U—r、d—a……,最后解密为 STOP TRAFFIC。
法国人维吉尼亚1585年在凯撒密码基础上,使用一系列凯撒密码组成密码字母表的加密方法,被称作维吉尼亚密码。
假设明文为:
ATTACKLONDON
选择一个关键词作为密钥,关键词重复使用,如果关键词为LEMON,对应上述明文的密钥为:LEMONLEMONLE
明文的第一个字母A,对应密钥的第一个字母L,使用表格中L行字母表进行加密,得到密文第一个字母L。类似,明文第二个字母为T,在表格中使用对应的E行进行行加密,得到密文第二个字母X。如此类推,可以得到:
明文:ATTACKLONDON
密钥:LEMONLEMONLE
密文:LXFOPVPABOZE
3、一次性密码本
一次性密码本(One Time Pad,缩写为OTP)是古典密码学中的一种加密算法。以随机的密钥组成明文,且只使用一次。
理论上,此种密码具有完善保密性,是牢不可破的。
电子锁锁定怎么办
电子锁锁定怎么办,指纹锁在现在已经成为了一款非常常见的防盗产品,现在有很多的家庭中都安装了电子锁,当如果没有正确使用电子锁的时候就会导致锁定,电子锁锁定怎么办?
电子锁锁定怎么办1
一、如果是因为指纹多次输入都是错误的,而导致指纹锁被迫锁定了的话。我们可以稍等一会儿,虽然每款指纹锁锁定后解锁的时间都是不一样的,要根据每个品牌自己所设定的程序是多久来决定的。但是一般来说,为了顾及到人们的使用感受,正常的指纹锁大多在锁定以后,都是在十分钟到半个小时之内,就可以打开了。因此我们可以耐心的等待一会儿,再重新试下指纹开锁即可。
二、大家都知道指纹锁里面是需要装电池的,如果一旦指纹锁里面的电池没电了,就会导致指纹锁打不开了。如果这时候我们是在室内的话就比较好解决了,直接更换一块新的电池就可以了。但如果我们是处于室外环境下的话,我们就需要先给指纹锁充上一些电,将它打开了才能再更换电池。因此,我们可以先购买一块9V的电池,然后将这块电池的正极和负极连接起来,就可以做成一个临时的电源。给指纹锁充上一些电之后,指纹锁就可以打开了,打开以后就给它更换上新的电池,以免忘记了下次又打不开了。
三、除了上述所说的临时电源,有一些比较高级的指纹锁是配有安卓接口的。像这种情况下我们就可以使用我们正常给手机充电用的充电宝,来临时给指纹锁充些电。不过这种情况只能针对于指纹锁上配有安卓接口的情况下才是可以使用的,其他情况下都是不可匹配的。
四、如果你现在是身边没有支付宝也买不到9V电池的情况下,想必你身上应该带有机械钥匙吧。一般来说每一把锁都必须配有一把机械钥匙,以防指纹或密码失灵的时候,可以备用。像这个时候,我们就可以拿出机械钥匙开锁即可。
五、如果不是因为电池没电而导致了指纹锁锁定了,那可能就是电路出现了故障。像这种情况下,我们需要拨打售后电话,请专业的人员来维修,千万不可以自己贸然尝试。
电子锁锁定怎么办2
指纹锁在使用过程中,多次输入错误,会造成指纹锁系统自动锁定,这是出于安全问题考虑,为指纹锁安全设置的保护功能,当密码或指纹连续多次输入错误后,指纹锁主板被锁定5分钟,有效的防止了密码被恶意窃取。
不同品牌的指纹锁系统锁定时间是不一样的,您可以拨打指纹锁售后电话问一下,指纹锁的系统锁定时间一般是5分钟左右,5分钟后系统会自动解开,如果实在等不及的话,您还可以用应急钥匙开锁进门后,进行系统重置的。
指纹锁普及原因:
首先,中高端防盗门锁具拥有非常高的安全保护性能,能够保障用户生命财产安全。其次,如今的防盗门锁具都渐渐摆脱了质量笨重,造型单一等缺点,普遍被加入了触屏、密码、指纹、遥控、无线、刷卡等这些高科技、智能化元素,更加彰显了人性化的关怀。
最后,高科技防盗门锁的利润可观,引来不少了企业关注和投资,以抢占业内的一席销售之地。”
防盗门锁具最关键的功能和作用就是防盗。企业为了让使用者享受到锁具最大程度的安全性,着重对内部锁体和锁芯功能进行升级完善。
随着社会各类支柱行业和主导领域需求的日益增加以及消费者要求的不断提高,普通古典的防盗门锁具已经很难被满足和接受。
业内的产品改革升级,质量优化提升已是离弦之箭,高科技、高智能的防盗门锁具也随之应运而生。
各种各样的技术含量丰富,附加值高的防盗门锁具与防盗门被生产企业有机巧妙地融合在了一起,不仅为很大程度上改变了大家之前对防盗门锁具的看法,而且也为参观者呈现了行业革命性的成就。
电子锁锁定怎么办3
指纹锁的系统锁定时间一般是5分钟左右,5分钟后系统会自动解开。
不过,不同品牌的指纹锁系统锁定时间是不一样的。
指纹锁在使用过程中,多次输入错误,会造成指纹锁系统自动锁定,这是出于安全问题考虑为指纹锁安全设置的保护功能。
当密码或指纹连续多次输入错误后,指纹锁主板被锁定5分钟,有效的防止了密码被恶意窃取。如果实在等不及,还可以用应急钥匙开锁进门后,进行系统重置。
指纹锁锁芯的要求
所有的指纹锁都要求配备应急钥匙孔,锁芯的安全级别当然也显得非常关键。
假插芯:一般是指一字型锁芯,就是它的锁芯处只有一条像一字的空位,靠锁芯前面的一字杆插进到一字空位那里带动锁体转动。钥匙孔在锁的底部,不通过门,从面板下插入。用钥匙打开的不是锁,而是一个类似于卡槽结构的东西,有的人管这个结构叫”离合器“,多采用A级锁芯。
优点是隐蔽性好而且便宜,缺点就是安防性能低。意思就是当小偷要进门,只要敲掉指纹锁的外面板,然后用一把一字螺丝刀代替一字杆,就可以轻松开锁了。
真插芯:真插芯锁芯一般就是葫芦胆锁芯,该锁芯是嵌入到锁体里的,与外面板脱离,必须用机械钥匙带动锁芯来进行开锁动作。也就是直接用机械钥匙插入开锁,是通过锁体的,采用B级锁芯。
优点是防盗性能好,不易通过钥匙套开,缺点就是成本稍高。介于这点,就算小偷敲开外面板,面对的还是整个锁芯,如果是超B级真插芯锁芯,技术开启也需要270分钟以上。
基本原理
电子锁具,它也是以51系列单片机(AT89051)为核心,配以相应硬件电路,完成密码的设置、存贮、识别和显示、驱动电磁执行器并检测其驱动电流值、接收传感器送来的报警信号、发送数据等功能。
单片机接收键入的代码,并与存贮在EEPROM中的密码进行比较,如果密码正确,则驱动电磁执行器开锁;如果密码不正确,则允许操作人员重新输入密码,最多可输入三次;如果三次都不正确,则单片机通过通信线路向智能监控器报警。单片机将每次开锁操作和此时电磁执行器的驱动电流值作为状态信息发送给智能监控器,同时将接收来自传感器接口的报警信息也发送给智能监控器,作为智能化分析的依据。
1、基本原理及硬件组成
智能密码锁的系统由智能监控器和电子锁具组成。二者异地放置,智能监控器供给电子锁具所需的.电源并接收其发送的报警信息和状态信息。这里采用了线路复用技术,使电能供给和信息传输共用一根二芯电缆,提高了系统的可靠性、安全性。
1.1、智能监控器的基本原理及组成框图
智能监控器的组成框图,它由单片机、时钟、键盘、LCD显示器、存贮器、解调器、线路复用及监测、A/D转换、蜂鸣器等单元组成。主要完成与电子锁具之间的通信、智能化分析及通信线路的安全监测等功能。
智能监控器始终处于接收状态,以固定的格式接收电子锁具发来的报警信息和状态信息。对于报警信息,则马上通过LCD显示器及蜂鸣器发出声、光报警;对于状态信息,则存入内存,并与电子锁具在此时刻以前的历史状态进行比较,得出变化趋势,预测未来的状态变化,通过LCD显示器向值班人员提供相应信息,以供决策使用。智能监控器与电子锁具建立通信联系的同时,通过A/D转换器实时地监视流过通信线路的供电电流的变化,有效地防止人为因素造成的破坏,保证了通信线路的畅通。
1.2、电子锁具基本原理及组成框图
电子锁具的组成框图,它也是以51系列单片机(AT89051)为核心,配以相应硬件电路,完成密码的设置、存贮、识别和显示、驱动电磁执行器并检测其驱动电流值、接收传感器送来的报警信号、发送数据等功能。
单片机接收键入的代码,并与存贮在EEPROM中的密码进行比较,如果密码正确,则驱动电磁执行器开锁;如果密码不正确,则允许操作人员重新输入密码,最多可输入三次;如果三次都不正确,则单片机通过通信线路向智能监控器报警。单片机将每次开锁操作和此时电磁执行器的驱动电流值作为状态信息发送给智能监控器,同时将接收来自传感器接口的报警信息也发送给智能监控器,作为智能化分析的依据。
2、关键技术
为了提高智能密码锁的安全性、可靠性,本文除在器件选择上采取措施(如采用低功耗、宽温度范围的器件)外,在设计中还采用了一些关键技术。
2.1、线路复用技术
智能监控器和电子锁具异地放置,智能监控器供给电子锁具所需的电源并接收其发送的报警信息和状态信息。如果采用通信线路和供电线路分开的方式,势必要增加电缆芯数,安全隐患增加。本文采用了线路复用技术,仅用一根二芯电缆,实现了供电和信息的传输。原理图如图3所示。
在发送端,电子锁具通过脉冲变压器T将调制好的数据信号升压后发送出去;在接收端,脉冲变压器T将接收到的数据信号降压后送解调器,以减少载波信号在传输过程中的损耗。为了减少通信和供电之间的相互干扰,对扼流圈L、耦合电容C的选择要综合考虑。
设载波频率fo=400kHz,为了保证绝大部分信号能量传输到接收端,取L=33.7μHC1=0.047μF。
2.2、电流监视技术
为了防止通信线路的人为破坏和电磁执行器因某种原因造成流过电磁线圈的电流过大而烧毁线圈,本文在智能密码锁设计中采用电流监视技术。电流监视器采用MAXIM公司生产的电流/电压转换芯片MAX471。该芯片能将被测电流I转化成对地输出电压U,且有测量范围大、精度高、输出电压U和被测电流I成正比等特点。电流监视器输出电压送A/D转换器,单片机通过读取A/D转换结果,获知线路中电流的变化情况,通过分析及时发现异常,发出报警信号。原理电路如图4所示。
2.3、数据通讯与预处理技术
智能监控器接收锁具发来的状态信息(其中包括锁具的开启、关闭、第一次密码错、第二次密码错、第三次密码错等)、流过电磁执行器线圈的电流值,并读取该时刻通讯线路的供电电流值,三者结合起来构成一个数据块,其中操作状态占1个字节,供电电流占2个字节,线圈电流占2个字节。智能监控器在与电子锁具通信过程中,始终处于接收状态。为了提高通信可靠性,本文在通信协议中采用重复发送的方式,电子锁具对每一组数据重复发送5次,智能监控器接收到这组数据后,采用大数译码定律纠错,保证了数据接收的准确性。另外为了节约内存需对接收到的数据采用预处理技术,即每接收到一个数据后,首先将该数据与设定的门限值比较,如果大于门限值,则发出超限报警;如果小于门限值,则将该数据与当日接收到的同类数据比较,保留较大者。这样每天存储的数据为同类数据中的最大值,其流程图如图所示。
2.4、智能化分析
智能化分析与预测技术就是以每次接收到的数据块为依据,与此前同类数据的记录值作比较,分析该操作引起电流变化的大小及趋势,及时发现存在问题,并报告管理人员,从而提高了整个系统的可靠性。
3、系统软件设计
智能密码锁软件采用51系列单片机汇编语言对智能监控器和电子锁具分别编程。智能监控器软件包括键盘扫描和LCD显示程序、蜂鸣器驱动程序、时钟修改和读取程序、数据通信与预处理程序、智能化分析程序及线路监测程序等模块。电子锁具软件包括键盘扫描与译码程序、LCD显示程序、通信程序、电磁执行器驱动及检测程序、传感器接口程序等模块。软件设计过程中采用模块化设计方法,便于程序的阅读、调试和改进。
智能密码锁充分利用了51系统单片机软、硬件资源,引入了智能化分析功能,提高了系统的可靠性和安全性。通过在某型号保险柜安装使用,受到用户的欢迎。另外,智能密码锁在软、硬件方面稍加改动,便可构成智能化的分布式监控网络,实现某一范围内的集中式监控管理,在金融、保险、军事重地及其它安全防范领域具有广泛的应用前景。
信息理论之父:克劳德 香农
论文《通信的数学理论》
如果没有信息加密,信息直接被中间人拦截查看、修改。
明文Plain text
密文Cipher text
加密Encryption/Encrypherment:将明文转化为密文
解密Decrytion/Decipherment:讲密文还原为明文
加密钥匙EK Encryption Key:加密时配合加密算法的数据
解密钥匙EK Encryption Key:解密时配合解密算法的数据
各个字符按照顺序进行n个字符错位的加密方法。
(凯撒是古罗马军事家政治家)
多次使用恺撒密码来加密并不能获得更大的安全性,因为使用偏移量A加密得到的结果再用偏移量B加密,等同于使用A+B的偏移量进行加密的结果。
凯撒密码最多只有25个密匙 +1到+25 安全强度几乎为0
(密钥为0或26时,明文在加密前后内容不变)
暴力枚举
根据密文,暴力列出25个密匙解密后的结果。
凯撒密码的例子是所有 单字母替代式密码 的典范,它只使用一个密码字母集。
我们也可以使用多字母替代式密码,使用的是多个密码字母集。
加密由两组或多组 密码字母集 组成,加密者可自由的选择然后用交替的密码字母集加密讯息。
(增加了解码的困难度,因为密码破解者必须找出这两组密码字母集)
另一个多字母替代式密码的例子“维吉尼亚密码”,将更难解密
(法语:Vigenère cypher),
它有26组不同用来加密的密码字母集。
每个密码字母集就是多移了一位的凯撒密码。
维吉尼亚方格(替换对照表):
维吉尼亚密码引入了密匙概念。
同一明文在密文中的每个对应,可能都不一样。
移位式密码,明文中出现的字母依然出现在密文中,只有字母顺序是依照一个定义明确的计划改变。
许多移位式密码是基于几何而设计的。一个简单的加密(也易被破解),可以将字母向右移1位。
例如,明文"Hello my name is Alice."
将变成"olleH ym eman si ecilA."
密码棒(英语:scytale)也是一种运用移位方法工具。
如
明文分组,按字符长度来分,每5个字母分一组。
并将各组内的字符的顺序进行替换。
具体例子
纵栏式移项密码
先选择一个关键字,把原来的讯息由左而右、由上而下依照关键字长度转写成长方形。接着把关键字的字母依照字母集顺序编号,例如A就是1、B就是2、C就是3等。例如,关键字是CAT,明文是THE SKY IS BLUE,则讯息应该转换成这样:
C A T
3 1 20
T H E
S K Y
I S B
L U E
最后把讯息以行为单位,依照编号大小调换位置。呈现的应该是A行为第一行、C行为第二行、T行为第三行。然后就可以把讯息"The sky is blue"转写成HKSUTSILEYBE。
另一种移位式密码是中国式密码(英语:Chinese cipher),移位的方法是将讯息的字母加密成由右而左、上下交替便成不规则的字母。范例,如果明文是:THE DOG RAN FAR,则中国式密码看起来像这样:
R R G T
A A O H
F N D E
密码文将写成:RRGT AAOH FNDE
绝大多数的移位式密码与这两个范例相类似,通常会重新排列字母的行或列,然后有系统的移动字母。其它一些例子包括Vertical Parallel和双移位式(英语:Double Transposition)密码。
更复杂的算法可以混合替代和移位成为积密码(product cipher);现代资料区段密码像是DES反复位移和替代的几个步骤。
行数=栏数
明文,分为N栏(N行) 按照明文本来的顺序,竖着从上往下填。
【实例1】
明文123456
栏数2(行数2)
密文135246
135
246
拆成2行(2栏),竖着看密文——得到明文
【实例2】明文123456789abcdefghi 栏数9 (行数)---密文1a2b3c4d5e6f7g8h9i
拆成9行竖着看密文.
1a
2b
3c
4d
5e
6f
7g
8h
9i
古典密码【栅栏密码安全度极低】组成栅栏的字母一般一两句话,30个字母。不会太多! 加解密都麻烦
是指研究字母或者字母组合在文本中出现的频率。应用频率分析可以破解古典密码。
工具
在线词频分析
1。可以直接用SQL数据库的论坛代码你可以自己去找!稍加修改就能有的应该不少!
2。ACCESS数据库转SQL数据库是可以实现的!记得转前先备份!
方法就我就从别人那复制了!(打字的话太麻烦了!^^||)
一,首先,我说的是在ACCESS2000,SQL2000之间转换。其他的经验不多。
二,转换的方法
1,打开”控制面板“下”管理工具“中的”数据库源“;
2,按”添加“添加一个新的数据源,在选择栏里选”Driver do microsoft Access
(*.mdb)”,完成后将出现一个框,
在”数据库源“里面输入你想写的名称,我取名叫“ABC”,说明不需要填,接着,按下面的选择,寻找你的数据库地址和选中(注意,请先备份自己的ACCESS数据库),然后确定。
数据源在这里建好了,剩下转换了。
3,打开SQL2000企业管理器,进入数据库,新建一个空的数据库“ABC”;
4,选择新建立的数据库,按鼠标右键,选择“所有任务”下“导入数据”,按“下一步”继续;
5,在数据库源下拉但中选择”Driver do microsoft Access(*.mdb)“,在”用户/系统DSN“中,选种你刚才添加的”ABC“,按 ”下一步“;
6,“目的”不需要修改,选择服务器(一般下为自己的本机"local",也可以选择服务器地址或者局域网地址,确定你的权限是否可以操作,),"使用WINDOWS 身份验证"指用自己的系统管理员身份操作,"使用SQL身份操作验证"可以用于网站的操作,推荐用后者;
7,选上"使用SQL身份操作验证"后,填写你的用户名和密码,我自己选择的是系统默认号码"sa","****",数据库选择刚新建的"ABC",按"下一步";
8,这一步的两个单项选择,"从数据源复制表和视图"与"用一条查询指令指定要传输的数据",选择前者,按"下一步"继续;
9,这里将出现你自己ACCESS数据库的表,按"全选"后,下一步;
10,"DTS导入/导出向导",看"立即运行"被选中按"下一步",
11,按"完成"继续;
12,这个步骤你将看到你的数据被导入SQL2000里面,当出现"已经成功把XXX个表导入到数据库"的字样,而且所有的表前面都有绿色的勾,就表示成功导入所有数据,如果中途出现问题或者表前面有红色的叉的话,说明该表没有成功导入,这时就要回去查看自己的操作是否正确了.
三,数据修改
1,由于SQL2000里面没有"自动编号",所以你的以"自动编号"设置的字段都会变成非空的字段,这就必须手工修改这些字段,并把他的"标示"选择"是",种子为"1",增量为"1",
2,另外,ACCESS2000转换成SQL2000后,原来属性为"是/否"的字段将被转换成非空的"bit",这时候你必须修改成自己想要的属性了;
3,另外,大家要注意对时间函数的把握.ACCESS与SQL是有很多不同的.
还有就是用工具软件的转换比如
Access To MSSQL V2.3
在天空就有下载...
参考资料:下载地址
还有换了数据库可能会出错,到时注意修改下论坛代码!