‘壹’ 求各种文件加密的方法
文件加密
方法一:后缀名加密法
严格地说,这并不是一诈唬 加密的方法,因为这种方法对高手无用!但真正的高手是不会关注你的。这种方法就是将你想保密的文件改为一个任意字符的后缀名。如:将123.doc改为456.swc,在别人来看,是很难知道其中的秘密的。
方法二:目录欺骗法
新建一个目录,把想保密的文件放入该文件夹,然后将文件夹改名为“123.wav.{00020c01-0000-0000-c000-000000000046}”,你会看到你的这个文件夹会变成一个WAV文件的图标,双击它也是打开媒体播放器(但就是无法播放)。想浏览该文件需要在“资源管理器”里。
方法三:使用软件法
使用一些专业的文件加密软件即可。这一类软件网上多的是,大家可以搜索下载。
方法四:硬件加密
就是利用一些诸如“硬件狗”等这类工具进行相关的设定,使用计算机时必须使用这类硬件才能正常启动电脑和使用。
又如:微星公司为其主板专门设计的USB接口加密锁,只有当计算机插上这个加密锁之后,才能进操作系统和正常使用。不用这个USB加密锁即使你清空CMOS也是无济于事。
=========================
用文件加密器
自己看看下面的连接
微软中国EFS加密专题
http://www.microsoft.com/china/technet/security/sgk/protect_data_EFS.mspx
E-神加密文件夹 2005
http://nj.onlinedown.net/soft/22072.htm
◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎2
加密金刚锁 v7.403
http://www.crsky.com/soft/991.html
◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎
万能加密器 v5.5 正式版
http://www.crsky.com/soft/746.html
◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎
小李文件加密II v7.0 Build 0110
http://www.crsky.com/soft/1260.html
◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎
金锋文件加密器 v4.3 标准版
http://www.crsky.com/soft/1327.html
◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎
超白金加密 v8.70
http://www.crsky.com/soft/1616.html
◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎
加密精灵(EncryptGenie) v2.68.1
http://www.crsky.com/soft/1031.html
◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎
文件加密器(FDET) v4.56
http://www.crsky.com/soft/2452.html
◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎
E-钻文件夹加密大师 Build 050721
http://www.crsky.com/soft/6168.html
◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎
梦幻加密精灵 2004 v1.21
http://www.crsky.com/soft/3305.html
◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎
狡兔三窟加密锁 v3.0
http://www.crsky.com/soft/3151.html
◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎
枫叶文件加密器 v1.0
http://www.crsky.com/soft/2587.html
◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎
Wkh文件加密器 v3.05
http://www.crsky.com/soft/3177.html
◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎
狡兔三窟加密器 v2.11
http://www.crsky.com/soft/2991.html
◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎
E钻文件夹加密大师 v1.2
http://www.crsky.com/soft/5435.html
◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎
CipherOne加密钻石锁 v5.1
http://www.crsky.com/soft/5673.html
还有个方法
电脑里经常会存储着重要文件,这些文件需要进行加密,有许多方法来实现。但如果想对一个文件夹里的所有文件都进行加密,数量少还可以,要是数量多岂不是得把人累死?因此,今天我要告诉您一个好方法:给Windows 9x/2000文件夹加密。通过给一个文件夹加密就可使该文件夹里的所有文件得到保护。其工作效果,就是在您双击进入该文件夹时系统提示您输入密码,正确则进入,错误则自动退回到硬盘根目录下——非常好用!
1、进入您要进行加密保护的文件夹中,在空白处单击鼠标右键,选择“自定义文件夹…”选项;
2、单击“下一步”选择“自定义”并在副选框中选择“选择或编辑该文件夹的Html模板”,单击“下一步”;
3、在选择模板类型中选择“标准”,并将“编辑该模板”选项选中,单击“下一步”;
4、在弹出的“Folder”文件中找到〈script language="javaScript"〉,在其下方顶头输入以下内容:
var pass = prompt("请输入密码")该处的“请输入密码”为系统提示语
if(pass != "123") “123”处换成您自己设定的密码
{window.location="c:"}
5、保存“Folder”文件之后,选择完成,文件夹加密就完成了,您可以进行测试啦
因为刚才的诸多步骤就是Windows的脚本编程,所以经验证,该方法适用于所有Windows系统。如果需要去掉保护,只需要把“Folder”文件修改回原样就好啦!
由于Windows版本不同,细微之处会有所区别,如在Windows Me中,“Folder”文件中就没有〈script language="JavaScript"〉字段,而只有〈script〉,放到它后面也同样起作用。文件夹向导也不尽相同,请大家举一反三。
‘贰’ 加密的历史
1。
古代加密方法(手工阶段) 源于应用的无穷需求总是推动技术发明和进步的直接动力。存于石刻或史书中的记载表明,许多古代文明,包括埃及人、希伯来人、亚述人都在实践中逐步发明了密码系统。
从某种意义上说,战争是科学技术进步的催化剂。人类自从有了战争,就面临着通信安全的需求,密码技术源远流长。
古代加密方法大约起源于公元前440年出现在古希腊战争中的隐写术。当时为了安全传送军事情报,奴隶主剃光奴隶的头发,将情报写在奴隶的光头上,待头发长长后将奴隶送到另一个部落,再次剃光头发,原有的信息复现出来,从而实现这两个部落之间的秘密通信。
公元前400年,斯巴达人就发明了“塞塔式密码”,即把长条纸螺旋形地斜绕在一个多棱棒上,将文字沿棒的水平方向从左到右书写,写一个字旋转一下,写完一行再另起一行从左到右写,直到写完。解下来后,纸条上的文字消息杂乱无章、无法理解,这就是密文,但将它绕在另一个同等尺寸的棒子上后,就能看到原始的消息。
这是最早的密码技术。 我国古代也早有以藏头诗、藏尾诗、漏格诗及绘画等形式,将要表达的真正意思或“密语”隐藏在诗文或画卷中特定位置的记载,一般人只注意诗或画的表面意境,而不会去注意或很难发现隐藏其中的“话外之音”。
比如:我画蓝江水悠悠,爱晚亭枫叶愁。 秋月溶溶照佛寺,香烟袅袅绕轻楼 2。
古典密码(机械阶段) 古典密码的加密方法一般是文字置换,使用手工或机械变换的方式实现。古典密码系统已经初步体现出近代密码系统的雏形,它比古代加密方法复杂,其变化较小。
古典密码的代表密码体制主要有:单表代替密码、多表代替密码及转轮密码。 3。
近代密码(计算机阶段) 密码形成一门新的学科是在20世纪70年代,这是受计算机科学蓬勃发展 *** 和推动的结果。快速电子计算机和现代数学方法一方面为加密技术提供了新的概念和工具,另一方面也给破译者提供了有力武器。
计算机和电子学时代的到来给密码设计者带来了前所未有的自由,他们可以轻易地摆脱原先用铅笔和纸进行手工设计时易犯的错误,也不用再面对用电子机械方式实现的密码机的高额费用。 总之,利用电子计算机可以设计出更为复杂的密码系统。
密码大事记 公元前5世纪,古希腊斯巴达出现原始的密码器,用一条带子缠绕在一根木棍上,沿木棍纵轴方向写好明文,解下来的带子上就只有杂乱无章的密文字母。
解密者只需找到相同直径的木棍,再把带子缠上去,沿木棍纵轴方向即可读出有意义的明文。这是最早的换位密码术。
公元前1世纪,着名的恺撒(Caesar)密码被用于高卢战争中,这是一种简单易行的单字母替代密码。 公元9世纪, *** 的密码学家阿尔·金迪(al' Kindi 也被称为伊沙克 Ishaq,(801?~873年),同时还是天文学家、哲学家、化学家和音乐理论家)提出解密的频度分析方法,通过分析计算密文字符出现的频率破译密码。
公元16世纪中期,意大利的数学家卡尔达诺(G.Cardano,1501—1576)发明了卡尔达诺漏格板,覆盖在密文上,可从漏格中读出明文,这是较早的一种分置式密码。 公元16世纪晚期,英国的菲利普斯(Philips)利用频度分析法成功破解苏格兰女王玛丽的密码信,信中策划暗杀英国女王伊丽莎白,这次解密将玛丽送上了断头台。
几乎在同一时期,法国外交官维热纳尔(或译为维琼内尔) Blaise de Vigenere(1523-1596)提出着名的维热纳尔方阵密表和维热纳尔密码(Vigenerecypher),这是一种多表加密的替代密码,可使阿尔—金迪和菲利普斯的频度分析法失效。 公元1863,普鲁士少校卡西斯基(Kasiski)首次从关键词的长度着手将它破解。
英国的巴贝奇(Charles Babbage)通过仔细分析编码字母的结构也将维热纳尔密码破解。 公元20世纪初,第一次世界大战进行到关键时刻,英国破译密码的专门机构“40号房间”利用缴获的德国密码本破译了着名的“齐默尔曼电报”,促使美国放弃中立参战,改变了战争进程。
大战快结束时,准确地说是1918年,美国数学家吉尔伯特·维那姆发明一次性便笺密码,它是一种理论上绝对无法破译的加密系统,被誉为密码编码学的圣杯。但产生和分发大量随机密钥的困难使它的实际应用受到很大限制,从另一方面来说安全性也更加无法保证。
第二次世界大战中,在破译德国着名的“恩格玛(Enigma)”密码机密码过程中,原本是以语言学家和人文学者为主的解码团队中加入了数学家和科学家。电脑之父亚伦·图灵(Alan Mathison Turing)就是在这个时候加入了解码队伍,发明了一套更高明的解码方法。
同时,这支优秀的队伍设计了人类的第一部电脑来协助破解工作。显然,越来越普及的计算机也是军工转民用产品。
美国人破译了被称为“紫密”的日本“九七式”密码机密码。靠前者,德国的许多重大军事行动对盟军都不成为秘密;靠后者,美军炸死了偷袭珍珠港的元兇日本舰队总司令山本五十六。
同样在二次世界大战中,印第安纳瓦霍土着语言被美军用作密码,从吴宇森导演的《风语者》Windtalkers中能窥其一二。所谓风语者,是指美国二战时候特别征摹使用的印第安纳瓦约(Navajo)通信兵。
在二次世界大战日美的太平洋战场上,美国海军军部让北墨西哥和亚历桑那印第安纳瓦约族人使用约瓦纳语进行情报传递。纳瓦约语的语法、音调及词汇都极为独特,不为世人所知道,当时纳瓦约族以外的美国人中,能听懂这种语言的也就一二十人。
这是密码学和语言学的成功结合,纳瓦霍语密码成为历史上从未被破译的密码。 1975年1月15日,对计算机系统和网络进行加密的DES(Data Encryption Standard数据加密标准)由美国国家标准局颁布为国家标准,这是密码术历史上一个具有里程碑意义的事件。
1976年,当时在美国斯坦福大学的迪菲(Diffie)和赫尔曼(Hellman)两人提出了公开密钥密码的新思想(论文"New Direction in Cryptography"),把密钥分为加密的公钥和解密的私钥,这是密码学的一场革命。 1977年,美国的里维斯特(Ronald Rivest)、沙米尔(Adi Shamir)和阿德勒曼(Len Adleman)提出第一个较完善的公钥密码体制——RSA体制,这是一种建立在大数因子分解基础上的算法。
1985年,英国牛津大学物理学家戴维·多伊奇(David Deutsch)提出量子计算机的初步设想,这种计算机一旦造出来,可在30秒钟内完成传统计算机要花上100亿年才能完成的大数因子分解,从而破解RSA运用这个大数产生公钥来加密的信息。 同一年,美国的贝内特(Ben)根据他关于量子密码术的协议,在实验室第一次实现了量子密码加密信息的通信。
尽管通信距离只有30厘米,但它证明了量子密码术的实用性。与一次性便笺密码结合,同样利用量子的神奇物理特性,可产生连量子计算机也无法破译的绝对安全的密码。
2003,位于日内瓦的id Quantique公司和位于纽约的MagiQ技术公司,推出了传送量子密钥的距离超越了贝内特实验中30厘米的商业产品。日本电气公司在创纪录的150公里传送距离的演示后,最早将在明年向市场推出产品。
IBM、富士通和东芝等企业也在积极进行研发。目前,市面上的产品能够将密钥通过光纤传送几十公里。
美国的国家安全局和美联储都在考虑购买这种产品。MagiQ公司的一套系统价格在7万美元到10万美元之间。
://dev.csdn/article/62/62594.s。
致命错误引发历史上最伟大的密码破译事件
--------------------------------------------------------------------------------
这是发生在第一次世界大战时的事情,它在世界情报学历史上占有重要地位,它使得美国举国震怒,结束中立,最终加入到对德作战的行列。
第一次世界大战期间,1917年1月17日,英军截获了一份以德国最高外交密码 0075加密的电报。这个令人无法想象的密码系统由1万个词和词组组成,与1000个数字码群对应。密电来自德国外交部长阿瑟·齐麦曼,传送给德国驻华盛顿大使约翰·冯·贝伦朵尔夫,然后继续传给德国驻墨西哥大使亨尼希·冯·艾克哈尔特。电文将在那里解密,最后要交给墨西哥总统瓦律斯提阿诺·加汉扎。
密件从柏林经美国海底电缆送到了华盛顿。英军在那里将其截获并意识到了它的重要性。英国密码破译专家开始全力以赴进行破译,然而,面对这个未曾被破译的新外交密码系统,专家们绞尽脑筋仍一筹莫展。
令英国密码破译专家意想不到的机遇降临了。接到密件的德国驻华盛顿大使约翰·冯·贝伦朵尔夫在他的华盛顿办公室里犯下了致命的错误:他们在将电报用新的0075密件本译出后,却又用老的密件本将电报加密后传送到墨西哥城。大使没有意识到,他已经犯下了一个密码使用者所能犯的最愚蠢的、最可悲的错误。
没过多久,已经破译了老密码的英方便从德国大使的糊涂操作中获得了新旧密码的比较版本。英国的解码人员开始了艰苦的工作:将密件在旧密码中译出,用纸笔建构模型。随着齐麦曼的密件逐渐清晰,电报内容浮现出来,其重要性令人吃惊。
当时的情况是,尽管1915年美国的远洋客轮“露斯塔尼亚”号被德军击沉,但只要德国此后对其潜艇的攻击行动加以限制,美国仍将一直保持中立。齐麦曼的电文概括了德国要在1917年2月1日重新开始无限制海战以抑制英国的企图。为了让美国无暇他顾,齐麦曼建议墨西哥入侵美国,宣布得克萨斯州、新墨西哥州和亚利桑那州重新归其所有。德国还要墨西哥说服日本进攻美国,德国将提供军事和资金援助。
英国海军部急于将破译的情报通知美国,但同时又不能让德国知道其密码已被破译。于是,英国的一个特工成功地渗入了墨西哥电报局,得到了送往墨西哥总统的解了密的文件拷贝。这样,秘密就可能是由墨西哥方泄露的,它以此为掩护将情报透露给了美国。
美国愤怒了。每个美国人都被激怒了。原先只是东海岸的人在关心战局的进展,现在整个美国都开始担心墨西哥的举动。电文破译后6个星期,美国总统伍德罗·威尔逊宣布美国对德宣战。此时,站在他背后的是一个团结起来的愤怒的国家。齐麦曼的电文使整个美国相信德国是国家的敌人。这次破译由此也被称为密码学历史上最伟大的密码破译。
介绍密码学的发展历史
密码学的发展历程大致经历了三个阶段:古代加密方法、古典密码和近代密码。
1.古代加密方法(手工阶段)
源于应用的无穷需求总是推动技术发明和进步的直接动力。存于石刻或史书中的记载表明,许多古代文明,包括埃及人、希伯来人、亚述人都在实践中逐步发明了密码系统。从某种意义上说,战争是科学技术进步的催化剂。人类自从有了战争,就面临着通信安全的需求,密码技术源远流长。
古代加密方法大约起源于公元前440年出现在古希腊战争中的隐写术。当时为了安全传送军事情报,奴隶主剃光奴隶的头发,将情报写在奴隶的光头上,待头发长长后将奴隶送到另一个部落,再次剃光头发,原有的信息复现出来,从而实现这两个部落之间的秘密通信。
公元前400年,斯巴达人就发明了“塞塔式密码”,即把长条纸螺旋形地斜绕在一个多棱棒上,将文字沿棒的水平方向从左到右书写,写一个字旋转一下,写完一行再另起一行从左到右写,直到写完。解下来后,纸条上的文字消息杂乱无章、无法理解,这就是密文,但将它绕在另一个同等尺寸的棒子上后,就能看到原始的消息。这是最早的密码技术。
我国古代也早有以藏头诗、藏尾诗、漏格诗及绘画等形式,将要表达的真正意思或“密语”隐藏在诗文或画卷中特定位置的记载,一般人只注意诗或画的表面意境,而不会去注意或很难发现隐藏其中的“话外之音”。
比如:我画蓝江水悠悠,爱晚亭枫叶愁。秋月溶溶照佛寺,香烟袅袅绕轻楼
2.古典密码(机械阶段)
古典密码的加密方法一般是文字置换,使用手工或机械变换的方式实现。古典密码系统已经初步体现出近代密码系统的雏形,它比古代加密方法复杂,其变化较小。古典密码的代表密码体制主要有:单表代替密码、多表代替密码及转轮密码。
3.近代密码(计算机阶段)
密码形成一门新的学科是在20世纪70年代,这是受计算机科学蓬勃发展 *** 和推动的结果。快速电子计算机和现代数学方法一方面为加密技术提供了新的概念和工具,另一方面也给破译者提供了有力武器。计算机和电子学时代的到来给密码设计者带来了前所未有的自由,他们可以轻易地摆脱原先用铅笔和纸进行手工设计时易犯的错误,也不用再面对用电子机械方式实现的密码机的高额费用。总之,利用电子计算机可以设计出更为复杂的密码系统。
1 解密方法在软件的帮助里面写得很清楚。
最后的办法是利用开始使用的时候填入的邮箱与客服联系解密事宜。 2 你去官方网站下载最新的版本,然后重新安装加密软件,就行了 3 解铃还需系铃人!一般卸载了那个软件也应该可以解密了的!如果不行,那个这个软件就是水货!建议用文件夹加密超级大师。
4 去网上下载个加密破解器。 5 以上4步都没有解密,那就没办法了。
删除软件文件也没办法恢复。联系作者吧!没有更好的办法了。
软件界面上有联系方式的。 最后说一句忠告的话:不要用免费的加密软件,作者会故意留一些缺陷或者漏洞。
致命错误引发历史上最伟大的密码破译事件 -------------------------------------------------------------------------------- 这是发生在第一次世界大战时的事情,它在世界情报学历史上占有重要地位,它使得美国举国震怒,结束中立,最终加入到对德作战的行列。
第一次世界大战期间,1917年1月17日,英军截获了一份以德国最高外交密码 0075加密的电报。这个令人无法想象的密码系统由1万个词和词组组成,与1000个数字码群对应。
密电来自德国外交部长阿瑟·齐麦曼,传送给德国驻华盛顿大使约翰·冯·贝伦朵尔夫,然后继续传给德国驻墨西哥大使亨尼希·冯·艾克哈尔特。电文将在那里解密,最后要交给墨西哥总统瓦律斯提阿诺·加汉扎。
密件从柏林经美国海底电缆送到了华盛顿。英军在那里将其截获并意识到了它的重要性。
英国密码破译专家开始全力以赴进行破译,然而,面对这个未曾被破译的新外交密码系统,专家们绞尽脑筋仍一筹莫展。 令英国密码破译专家意想不到的机遇降临了。
接到密件的德国驻华盛顿大使约翰·冯·贝伦朵尔夫在他的华盛顿办公室里犯下了致命的错误:他们在将电报用新的0075密件本译出后,却又用老的密件本将电报加密后传送到墨西哥城。大使没有意识到,他已经犯下了一个密码使用者所能犯的最愚蠢的、最可悲的错误。
没过多久,已经破译了老密码的英方便从德国大使的糊涂操作中获得了新旧密码的比较版本。英国的解码人员开始了艰苦的工作:将密件在旧密码中译出,用纸笔建构模型。
随着齐麦曼的密件逐渐清晰,电报内容浮现出来,其重要性令人吃惊。 当时的情况是,尽管1915年美国的远洋客轮“露斯塔尼亚”号被德军击沉,但只要德国此后对其潜艇的攻击行动加以限制,美国仍将一直保持中立。
齐麦曼的电文概括了德国要在1917年2月1日重新开始无限制海战以抑制英国的企图。为了让美国无暇他顾,齐麦曼建议墨西哥入侵美国,宣布得克萨斯州、新墨西哥州和亚利桑那州重新归其所有。
德国还要墨西哥说服日本进攻美国,德国将提供军事和资金援助。 英国海军部急于将破译的情报通知美国,但同时又不能让德国知道其密码已被破译。
于是,英国的一个特工成功地渗入了墨西哥电报局,得到了送往墨西哥总统的解了密的文件拷贝。这样,秘密就可能是由墨西哥方泄露的,它以此为掩护将情报透露给了美国。
美国愤怒了。每个美国人都被激怒了。
原先只是东海岸的人在关心战局的进展,现在整个美国都开始担心墨西哥的举动。电文破译后6个星期,美国总统伍德罗·威尔逊宣布美国对德宣战。
此时,站在他背后的是一个团结起来的愤怒的国家。齐麦曼的电文使整个美国相信德国是国家的敌人。
这次破译由此也被称为密码学历史上最伟大的密码破译。
《山海经》之中,雄性的性狂想,只是很小很小的一部分,实际上,这部书里充斥着大量的原始性崇拜与性启蒙。
书中的许多故事,如果出现在欧洲,出现在美洲,肯定是早就被解读出来了。但是中国是一个含蓄的国度,虽然中国人口很多,生育率居高不下,但这种事情,做是可以做的,谁要是说出来,那可不见得是好事。
所以中国人有话要说,那我们就只能听到神乎其神的神话:在西北方的海外,赤水的北岸,有座章尾山。山上住着一个神,长着人的面孔、蛇的身子而全身是红色,身子长达一千里,竖立生长的眼睛正中合成一条缝,他闭上眼睛就是黑夜、睁开眼睛就是白昼,不吃饭、不睡觉、不呼吸,只以风雨为食物。
他能照耀阴暗的地方,所以称作烛龙。 我们可以发现,神祇烛阴是男性性特征的夸张表现,而神烛龙,却是女性性特征的极度夸张。
明白了,这个怪神,虽然是对女性性特征的强烈夸张,但仍然充满了男性的狂想。 在这里,男人渴望着这样一种女人,她们不挑不拣、不嫌贫,任何时候都不会拒绝男人,这样的话,男人就不需要打拼奋斗了,不需要赚钱糊口了,只需要和女人没日没夜地欢爱下去,直到地久天长、地老天荒…… 不客气地讲,男人的性狂想走到这步,就有点距现实太远了,所以这两段禁忌性文字,即使化身于两个奇怪的神,也仍然无法登堂入室,进入大众的视线。
但是这种性狂想仍然存在,所以烛阴和烛龙这两个怪神,说不定什么时候还会蹿出来,让人们大吃一惊。除了烛阴和烛龙这两个性神之外,在《山海经》中,甚至连雷神都带有着明显的性特征。
雷泽中有一位雷神,长着龙的身子人的头,他一鼓起肚子就响雷。这个雷神的姿势好怪异……这个雷神,不过是原始社会时期的欲望之神,它很像是非洲土着部落中掌握了部落权力的酋长,将生殖器官用竹木夸张地装饰起来,天天晃荡着在女原始人面前炫耀,要命的是,这些装饰物虽然华美庞大,而且还会弄出巨大的音响效果,可是这些饰物一取掉,原始野男人就立即现了原形…… 正因为原形让人沮丧,所以原始人最爱夸张自己的突凸之物,最爱炫耀自己的性能力——现代文明人也爱这么干,到目前为止,这种夸张与炫耀,仍然是男人的一种习惯与风格。
中国是世界上最早使用密码的国家之一。而最难破解的“密电码”也是中国人发明的。
反切注音方法出现于东汉末年,是用两个字为另一个字注音,取上字的声母和下字的韵母,“切”出另外一个字的读音。“反切码”就是在这种反切拼音基础上发明的,发明人是着名的抗倭将领、军事家戚继光。戚继光还专门编了两首诗歌,作为“密码本”:一首是:“柳边求气低,波他争日时。莺蒙语出喜,打掌与君知”;另一首是:“春花香,秋山开,嘉宾欢歌须金杯,孤灯光辉烧银缸。之东郊,过西桥,鸡声催初天,奇梅歪遮沟。”
这两首诗歌是反切码全部秘密所在。取前一首中的前15个字的声母,依次分别编号1到15;取后一首36字韵母,顺序编号1到36。再将当时字音的八种声调,也按顺序编上号码1到8,形成完整的“反切码”体系。使用方法是:如送回的情报上的密码有一串是5-25-2,对照声母编号5是“低”,韵母歌编号25是“西”,两字的声母和韵母合到一起了是di,对照声调是2,就可以切出“敌”字。戚继光还专门编写了一本《八音字义便览》,作为训练情报人员、通信兵的教材。
‘叁’ 密码技术(十一)之密钥
——秘密的精华
在使用对称密码、公钥密码、消息认证码、数字签名等密码技术使用,都需要一个称为 密钥 的巨大数字。然而,数字本身的大小并不重要,重要的是 密钥空间的大小 ,也就是可能出现的密钥的总数量,因为密钥空间越大,进行暴力破解就越困难。密钥空间的大小是由 密钥长度 决定的。
对称密码DES的密钥的实质长度为56比特(7个字节)。
例如,
一个DES密钥用二进制可以表示为:
01010001 11101100 01001011 00010010 00111101 01000010 00000011
用十六进制则可以表示为:
51 EC 4B 12 3D 42 03
而用十进制则可以表示为:
2305928028626269955
在对称密码三重DES中,包括使用两个DES密钥的DES-EDE2和使用三个DES密钥的DES-EDE3这两种方式。
DES-EDE2的密钥长度实质长度为112比特(14字节),比如:
51 EC 4B 12 3D 42 03 30 04 D8 98 95 93 3F
DES-EDE3的密钥的实质长度为168比特(21字节),比如:
51 EC 4B 12 3D 42 03 30 04 D8 98 95 93 3F 24 9F 61 2A 2F D9 96
对称密码AES的密钥长度可以从128、192和256比特中进行选择,当密钥长度为256比特时,比如:
51 EC 4B 12 3D 42 03 30 04 D8 98 95 93 3F 24 9F 61 2A 2F D9 96
B9 42 DC FD A0 AE F4 5D 60 51 F1
密钥和明文是等价的 。假设明文具有100万的价值,那么用来加密这段明文的密钥也就是具有100万元的价值;如果明文值1亿元,密钥也就值1亿元;如果明文的内容是生死攸关的,那么密钥也同样是生死攸关的。
在对称密码中,加密和解密使用同一个密钥。由于发送者和接收者需要共享密钥,因此对称密码又称为共享密钥密码。对称密码中所使用的密钥必须对发送者和接收者以外的人保密,否则第三方就能够解密了。
在消息认证码中,发送者和接收者使用共享的密钥来进行认证。消息认证码只能由持有合法密钥的人计算出来。将消息认证码附加在通信报文后面,就可以识别通信内容是否被篡改或伪装,由于“持有合法的密钥”就是发送者和接收者合法身份的证明,因此消息认证码的密钥必须对发送者以外的人保密,否则就会产生篡改和伪装的风险。
在数字签名中,签名生成和验证使用不同的密钥,只有持有私钥的本人才能够生成签名,但由于验证签名使用的是公钥,因此任何人都能够验证签名。
对称密码和公钥密码的密钥都是用于确保机密性的密钥。如果不知道用于解密的合法密钥,就无法得知明文的内容。
相对地,消息认证码和数字签名所使用的密钥,则是用于认证的密钥。如果不知道合法的密钥,就无法篡改数据,也无法伪装本人的身份。
当我们访问以https://开头的网页时,Web服务器和浏览器之间会进行基于SSL/TLS的加密通信。在这样的通信中所使用的密钥是仅限于本次通信的一次密钥,下次通信时就不能使用了,想这样每次通信只能使用一次的密钥称为 会话密钥 。
由于会话密钥只在本次通信中有效,万一窃听者获取了本次通信的会话密钥,也只能破译本次通信的内容。
虽然每次通信都会更换会话密钥,但如果用来生成密钥的伪随机数生成器品质不好,窃听者就有可能预测出下次生成会话密钥,这样就会产生通信内容被破译的风险。
相对于每次通信更换的会话密钥,一直被重复使用的密钥称为 主密钥 。
一般来说,加密的对象是用户直接使用的信息,这样的情况下所使用的密钥称为CEK(Contents Encryting Key,内容加密密钥);相对地,用于加密密钥的密钥则称为KEK(Key Encryting Key,密钥加密密钥)。
在很多情况下,之前提到的会话密钥都是被作为CEK使用的,而主密钥则是被作为KEK使用的。
生成密钥的最好方法就是使用随机数,因为米哟啊需要具备不易被他人推测的性质。在可能的情况下最好使用能够生成密码学上的随机数的硬件设备,但一般我们都是使用伪随机数生成器这一专门为密码学用途设计的软件。
在生成密钥时,不能自己随便写出一些像“3F 23 52 28 E3....”这样的数字。因为尽管你想生成的是随机的数字,但无论如何都无法避免人为偏差,而这就会成为攻击者的目标。
尽管生成伪随机数的算法有很多种,但密码学用途伪随机生成器必须是专门针对密码学用途而设计的。例如,有一些伪随机数生成器可以用于游戏和模拟算法,尽管这些伪随机数生成器所生成的数列看起也是随机的,但只要不是专门为密码学用途设计的,就不能用来生成密钥,因为这些伪随机数生成器不具备不可预测性这一性质。
有时候我们也会使用人类的可以记住的口令(pasword或passphrase)来生成密钥。口令指的是一种由多个单词组成的较长的password。
严格来说,我们很少直接使用口令来作为密钥使用,一般都是将口令输入单向散列函数,然后将得到的散列值作为密钥使用。
在使用口令生成密钥时,为了防止字典攻击,需要在口令上附加一串称为盐(salt)的随机数,然后在将其输入单向散列函数。这种方法称为“基于口令的密码(Password Based Encryption,PBE)”。
在使用对称密码时,如何在发送者和接收者之间共享密钥是一个重要的问题,要解决密钥配送问题,可以采用事先共享密钥,使用密钥分配中心,使用公钥密码等方法,除了上述方法,之前还提到一种解决密钥配送的问题的方法称为Diffie-Hellman密钥交换。
有一种提供通信机密性的技术称为 密钥更新 (key updating),这种方法就是在使用共享密钥进行通信的过程中,定期更改密钥。当然,发送者和接收者必须同时用同样的方法来改变密钥才行。
在更新密钥时,发送者和接收者使用单向散列函数计算当前密钥的散列值,并将这个散列值用作新的密钥。简单说,就是 用当前密钥散列值作为下一个密钥 。
我们假设在通信过程中的某个时间点上,密钥被窃听者获取了,那么窃听者就可以用这个密钥将之后的通信内容全部解密。但是,窃听者却无法解密更新密钥这个时间点之前的内容,因为这需要用单向散列函数的输出反算出单向散列函数的输入。由于单向散列函数具有单向性,因此就保证了这样的反算是非常困难的。
这种防止破译过去的通信内容机制,称为 后向安全 (backward security)。
由于会话密钥在通信过程中仅限于一次,因此我们不需要保存这种秘密。然而,当密钥需要重复使用时,就必须要考虑保存密钥的问题了。
人类是 无法记住具有实用长度的密钥 的。例如,像下面这样一个AES的128比特的密钥,一般人是很难记住的。
51 EC 4B 12 3D 42 03 30 04 DB 98 95 93 3F 24 9F
就算勉强记住了,也只过不是记住一个密钥而已。但如果要记住多个像这样的密钥并且保证不忘记,实际上是非常困难的。
我们记不住密钥,但如果将密钥保存下来又可能会被窃取。这真是一个头疼的问题。这个问题很难得到彻底解决,但我们可以考虑一些合理的解决方法。
将密钥保存生文件,并将这个文件保存在保险柜等安全地方。但是放在保险柜里的话,出门就无法使用了。这种情况,出门时就需要随身携带密钥。而如果将密钥放在存储卡随身携带的话,就会产生存储卡丢失、被盗等风险。
万一密钥被盗,为了能够让攻击者花更多的时间才能真正使用这个密钥,我们可以使用将密钥加密后保存的方法,当然,要将密钥加密,必须需要另一个密钥。像这样用于密码加密的密钥,一般称为KEK。
对密钥进行加密的方法虽然没有完全解决机密性的问题,但在现实中却是一个非常有效地方法,因为这样做可以减少需要保管密钥的数量。
假设计算机上有100万个文件,分别使用不同的密钥进行加密生成100万个密文,结果我们手上就产生了100万个密钥,而要保管100万个密钥是很困难的。
于是,我们用一个密钥(KEK)将这100万个密钥进行加密,那么现在我们只要保管者一个KEK就可以了,这一个KEK的价值相当于签名的100万个密钥的价值的总和。
用1个密钥来代替多个密钥进行保管的方法,和认证机构的层级化非常相似。在后者中,我们不需要信任多个认证机构,而只需要信任一个根CA就可以了。同样的,我们也不需要确保多个密钥的机密性,而只需要确保一个KEK的机密性就可以了。
密钥的作废和生成是同等重要的,这是因为密钥和明文是等价的。
假设Alice向Bob发送了一封加密邮件。Bob在解密之后阅读了邮件的内容,这时本次通信所使用的密钥对于Alice和Bob来说就不需要了。不在需要的密钥必须妥善删除,因为如果被窃听者Eve获取,之前发送的加密邮件就会被解密。
如果密钥是计算机上的一个文件,那么仅仅删除这个文件是不足以删除密钥的,因为有一些技术能够让删除的文件“恢复”。此外,很多情况下文件的内容还会残留在计算机的内存中,因此必须将这些痕迹完全抹去。简而言之,要完全删除密钥,不但要用到密码软件,还需要在设计计算机系统时对信息安全进行充分的考虑
如果包含密钥的文件被误删或者保管密钥的笔记本电脑损坏了,会怎么样?
如果丢失了对称密钥密码的共享密钥,就无法解密密文了。如果丢失了消息认证码的密钥,就无法向通信对象证明自己的身份了。
公钥密码中,一般不太会发送丢失公钥的情况,因为公钥是完全公开的,很有可能在其他电脑上存在副本。
最大的问题是丢失公钥密码的私钥。如果丢失了公钥密码的私钥,就无法解密用公钥密码加密的密文了。此外,如果丢失了数字签名的私钥,就无法生成数字签名了。
Diffie-Hellman密钥交换(Diffie-Hellman key exchange)是1976年由Whitfield Diffie和Martin Hellman共同发明的一种算法。使用这种算法,通信双方仅通过交换一些可以公开的信息就能够生成共享秘密数字,而这一秘密数字就可以被用作对称密码的密钥。IPsec 中就使用了经过改良的Diffie-Hellman密钥交换。
2 Alice 生成一个随机数A
A是一个1 ~ P-2之间的整数。这个数是一个只有Alice知道的密码数字,没有必要告诉Bob,也不能让Eve知道。
Alice计算出的密钥=Bob计算出的密钥
在步骤1-7中,双方交换数字一共有4个,P、G、G A mod P 和 G B mod P。根据这4个数字计算出Alice和Bob的共享密钥是非常困难的。
如果Eve能欧知道A和B的任意一个数,那么计算G A*B 就很容易了,然而仅仅根据上面的4个数字很难求出A和B的。
根据G A mod P 计算出A的有效算法到现在还没有出现,这问题成为有限域(finite field) 的 离散对数问题 。
Diffie-Hellman密钥交换是利用了“离散对数问题”的复杂度来实现密钥的安全交换的,如果将“离散对数问题”改为“椭圆曲线上离散对数问题”,这样的算法就称为 椭圆曲线Diffie-Hellman 密钥交换。
椭圆曲线Diffie-Hellman密钥交换在总体流程上是不变的,只是所利用的数学问题不同而已。椭圆曲线Diffie-Hellman密钥交换能够用较短的密钥长度实现较高的安全性。
基于口令密码(password based encryption,PBE)就是一种根据口令生成密钥并用该密钥进行加密的方法。其中加密和解密使用同一个密钥。
PBE有很多种实现方法。例如RFC2898和RFC7292 等规范中所描述的PBE就通过Java的javax.crypto包等进行了实现。此外,在通过密码软件PGP保存密钥时,也会使用PBE。
PBE的意义可以按照下面的逻辑来理解。
想确保重要消息的机制性。
↓
将消息直接保存到磁盘上的话,可能被别人看到。
↓
用密钥(CEK)对消息进行加密吧。
↓
但是这次又需要确保密钥(CEK)的机密性了。
↓
将密钥(CEK)直接保存在磁盘上好像很危险。
↓
用另一个密钥(KEK)对密钥进行加密(CEK)吧。
↓
等等!这次又需要确保密钥(KEK)的机密性了。进入死循环了。
↓
既然如此,那就用口令来生成密钥(KEK)吧。
↓
但只用口令容易遭到字典攻击
↓
那么就用口令和盐共同生成密钥(KEK)吧。
↓
盐可以和加密后的密钥(CEK)一切保存在磁盘上,而密钥(KEK)可以直接丢弃。
↓
口令就记在自己的脑子里吧。
PBE加密包括下列3个步骤:
盐是由伪随机数生成器生成的随机数,在生成密钥(KEK)时会和口令一起被输入单向散列函数。
密钥(KEK)是根据秘密的口令生成的,加盐好像没有什么意义,那么盐到底起到什么作用呢?
盐是用来防御字典攻击的 。字典攻击是一种事先进行计算并准备好候选密钥列表的方法。
我们假设在生成KEK的时候没有加盐。那么主动攻击者Mallory就可以根据字典数据事先生成大量的候选KEK。
在这里,事先是很重要的一点。这意味着Mallory可以在窃取到加密会话的密钥之前,就准备好了大量的候选KEK。当Mallory窃取加密的会话密钥后,就需要尝试将它解密,这是准备好了大量事先生成的候选KEK,就能够大幅度缩短尝试的时间,这就是 字典攻击 (dictionary attack)。
如果在生成KEK时加盐,则盐的长度越大,候选KEK的数量也会随之增大,事先生成的的候选KEK就会变得非常困难。只要Mallory还没有得到盐,就无法生成候选KEK。这是因为加盐之后,候选KEK的数量会变得非常巨大。
具有充足长度的密钥是无法用人脑记忆的。口令也是一样,我们也无法记住具有充足比特数的口令。
在PBE中,我们通过口令生成密钥(KEK),在用这个密钥来加密会话密钥(CEK)。由于通过口令生成的密钥(KEK)强度不如由伪随机数生成器生成的会话密钥(CEK),这就好像是将一个牢固的保险柜的钥匙放在了一个不怎么牢固的保险柜保管,因此在使用基于口令的密钥时,需要将盐和加密后的CEK通过物理方法进行保护。例如将盐和加密后的CEK保存到存储卡随身携带。
在生成KEK时,通过多次使用单向散列函数就可以提高安全性。例如,将盐和口令输入单向散列函数,进行1000次的散列函数所得到的散列值作为KEK来使用,是一个不错的方法。
像这样将单向散列函数进行多次迭代的方法称为 拉伸 (stretching)。
该系列的主要内容来自《图解密码技术第三版》
我只是知识的搬运工
文章中的插图来源于原着
‘肆’ 数据加密主要有哪些方式
主要有两种方式:“对称式”和“非对称式”。
对称式加密就是加密和解密使用同一个密钥,通常称之为“Session Key ”这种加密技术目前被广泛采用,如美国政府所采用的DES加密标准就是一种典型的“对称式”加密法,它的Session Key长度为56Bits。
非对称式加密就是加密和解密所使用的不是同一个密钥,通常有两个密钥,称为“公钥”和“私钥”,它们两个必需配对使用,否则不能打开加密文件。这里的“公钥”是指可以对外公布的,“私钥”则不能,只能由持有人一个人知道。它的优越性就在这里,因为对称式的加密方法如果是在网络上传输加密文件就很难把密钥告诉对方,不管用什么方法都有可能被别窃听到。而非对称式的加密方法有两个密钥,且其中的“公钥”是可以公开的,也就不怕别人知道,收件人解密时只要用自己的私钥即可以,这样就很好地避免了密钥的传输安全性问题。
一般的数据加密可以在通信的三个层次来实现:链路加密、节点加密和端到端加密。(3)
链路加密
对于在两个网络节点间的某一次通信链路,链路加密能为网上传输的数据提供安全证。对于链路加密(又称在线加密),所有消息在被传输之前进行加密,在每一个节点对接收到消息进行解密,然后先使用下一个链路的密钥对消息进行加密,再进行传输。在到达目的地之前,一条消息可能要经过许多通信链路的传输。
由于在每一个中间传输节点消息均被解密后重新进行加密,因此,包括路由信息在内的链路上的所有数据均以密文形式出现。这样,链路加密就掩盖了被传输消息的源点与终点。由于填充技术的使用以及填充字符在不需要传输数据的情况下就可以进行加密,这使得消息的频率和长度特性得以掩盖,从而可以防止对通信业务进行分析。
尽管链路加密在计算机网络环境中使用得相当普遍,但它并非没有问题。链路加密通常用在点对点的同步或异步线路上,它要求先对在链路两端的加密设备进行同步,然后使用一种链模式对链路上传输的数据进行加密。这就给网络的性能和可管理性带来了副作用。
在线路/信号经常不通的海外或卫星网络中,链路上的加密设备需要频繁地进行同步,带来的后果是数据丢失或重传。另一方面,即使仅一小部分数据需要进行加密,也会使得所有传输数据被加密。
在一个网络节点,链路加密仅在通信链路上提供安全性,消息以明文形式存在,因此所有节点在物理上必须是安全的,否则就会泄漏明文内容。然而保证每一个节点的安全性需要较高的费用,为每一个节点提供加密硬件设备和一个安全的物理环境所需要的费用由以下几部分组成:保护节点物理安全的雇员开销,为确保安全策略和程序的正确执行而进行审计时的费用,以及为防止安全性被破坏时带来损失而参加保险的费用。
在传统的加密算法中,用于解密消息的密钥与用于加密的密钥是相同的,该密钥必须被秘密保存,并按一定规则进行变化。这样,密钥分配在链路加密系统中就成了一个问题,因为每一个节点必须存储与其相连接的所有链路的加密密钥,这就需要对密钥进行物理传送或者建立专用网络设施。而网络节点地理分布的广阔性使得这一过程变得复杂,同时增加了密钥连续分配时的费用。
节点加密
尽管节点加密能给网络数据提供较高的安全性,但它在操作方式上与链路加密是类似的:两者均在通信链路上为传输的消息提供安全性;都在中间节点先对消息进行解密,然后进行加密。因为要对所有传输的数据进行加密,所以加密过程对用户是透明的。
然而,与链路加密不同,节点加密不允许消息在网络节点以明文形式存在,它先把收到的消息进行解密,然后采用另一个不同的密钥进行加密,这一过程是在节点上的一个安全模块中进行。
节点加密要求报头和路由信息以明文形式传输,以便中间节点能得到如何处理消息的信息。因此这种方法对于防止攻击者分析通信业务是脆弱的。
端到端加密
端到端加密允许数据在从源点到终点的传输过程中始终以密文形式存在。采用端到端加密,消息在被传输时到达终点之前不进行解密,因为消息在整个传输过程中均受到保护,所以即使有节点被损坏也不会使消息泄露。
端到端加密系统的价格便宜些,并且与链路加密和节点加密相比更可靠,更容易设计、实现和维护。端到端加密还避免了其它加密系统所固有的同步问题,因为每个报文包均是独立被加密的,所以一个报文包所发生的传输错误不会影响后续的报文包。此外,从用户对安全需求的直觉上讲,端到端加密更自然些。单个用户可能会选用这种加密方法,以便不影响网络上的其他用户,此方法只需要源和目的节点是保密的即可。
端到端加密系统通常不允许对消息的目的地址进行加密,这是因为每一个消息所经过的节点都要用此地址来确定如何传输消息。由于这种加密方法不能掩盖被传输消息的源点与终点,因此它对于防止攻击者分析通信业务是脆弱的。