如果你之前没用过 TrueCrypt,强烈建议你先看完《文件加密的扫盲介绍》和《TrueCrypt——文件加密的法宝》这两篇。
★如何选择【加密算法】?
先大致介绍一下 TrueCrypt 支持的加密算法和散列算法。然后再聊不同场合该如何选择。
◇TrueCrypt 支持哪些加密算法?
TrueCrypt 支持的加密算法有三种:AES、Twofish、Serpent。
AES 是洋文“Advanced Encryption Standard”的缩写。该算法原名是“Rijndael”,发布于2001年。2002年被美国官方确定为新的加密标准,用来替代之前的 DES(Data Encryption Standard)。当年美国政府采用公开征集的方式,参与海选的加密算法挺多;但进入最后一轮的算法只有5个,分别是:MARS、RC6、Rijndael、Serpent、Twofish(为避免纠纷,此处以字母序排列)
最终是 Rijndael 入选,所以如今经常提到的 AES 指的就是 Rijndael 算法。
◇这三个算法的特点
规格
当年美国政府招标 AES 算法,有提出先决条件(限定加密算法的规格):
1. 必须是“块加密”(又称“分组密码”,洋文叫“Block Cipher”)
2. 块长度必须是128位(128比特 = 16字节)
3. 密钥长度至少支持 128/192/256 位
4. 加密强度比 3DES(也叫“Triple-DES”) 高,并且速度比 3DES 快
因为存在这些竞标的约束,所以这三个算法都是块加密,也都支持 256位 的密钥长度(对同一个算法,密钥长度越大,加密强度越高)。
可靠性
在竞标 AES 的竞赛中,虽然 Twofish 和 Serpent 没有最终入选,但都是最后一轮的候选者。所以这三个算法至少在密码学层面,不会有明显的弱点。大伙儿可以放心地使用这三个算法。
强度
虽然这三个算法的规格差不多,但是在加密强度方面还是有差别的。下面是当年进入最后一轮竞标的5个候选算法,它们的“安全因子”(Safety Factor)对照表。限于篇幅,俺就不解释“安全因子”的含义了。你只需明白,安全因子越大,加密强度越高(越难破解)。
算法名称 | 安全因子 | 备注 |
---|---|---|
MARS | 1.90 | |
RC6 | 1.18 | |
Rijndael | 1.56 | 它就是 AES 的最终获选者 |
Serpent | 3.56 | |
Twofish | 2.67 |
通过“安全因子”可知三者的加密强度是:Serpent > Twofish > Rijndael(AES)
某些爱刨根问底的同学会纳闷了:既然 Rijndael 的安全因子不是最好,那为啥会中标捏?为啥不选强度最高的 Serpent?
因为“美国国家标准局”(NIST)在评估候选密码的时候,不是光看加密强度,还要考虑“性能、算法的复杂性,算法的扩展性”等诸多因素。Rijndael 虽然强度不是最高,但算法的灵活性强,而且比其它几个算法简单(越简单的算法,潜在的弱点就容易被发现,也更难隐藏“算法后门”)。
◇加密算法的选择
TrueCrypt 不光支持上述三个算法的“单重加密”,还支持多个算法组合成“双重加密”甚至“三重加密”。总共支持如下几种排列组合:
AES
Serpent
Twofish
AES-Twofish
Serpent-AES
Twofish-Serpent
AES-Twofish-Serpent
Serpent-Twofish-AES
显然,“三重加密”的强度最高,但是性能也最差。反之亦然。面对这么多选择,你需要考虑的就是:如何平衡“安全性”&“性能”。
“安全性”方面,刚刚已经介绍过了。至于“性能”,TrueCrypt 提供了一个 Benchmark 界面(在 TrueCrypt 主菜单点“Tools”然后再点“Benchmark”菜单项)。你可以在这个界面上测试不同组合的加密算法,其加密/解密的速度。请注意:在不同电脑测试,得到的排序结果是不同的。比方说有的 CPU 内置了 AES 指令,那么 AES 的速度就非常有优势(提升4至8倍)。想知道自己的电脑 CPU 是否支持 AES 指令,先打开 TrueCrypt 主界面,在主菜单点“Setting”,再点“Performance”就能看到。
下面举几个例子,说说如何平衡“安全性”和“性能”。(举例中提到的“加密盘”,泛指“物理加密盘”和“虚拟加密盘”)
举例1
如果你要制作的加密盘是用来备份个人的隐私或敏感文件,并且这个加密盘平时【很少用】,仅作为“灾难恢复”。那你完全可以选择强度最高的“三重加密”。
举例2
如果你的加密盘是用来存放一些日常使用的文档类资料(比如电子书)。在这种情况下,磁盘【读】操作的频度远远高于【写】操作的频度。那么你就需要挑选“解密速度”快的组合。
(注:磁盘【读】操作对应“解密”,磁盘【写】操作对应“加密”)
举例3
如果你使用 TrueCrypt 来加密系统分区,并且你的虚拟内存文件也在该分区。那么就要兼顾“读写两方面”的性能。这时候俺建议采用 AES 单重加密。如果你的 CPU 内置 AES 指令,更加要选 AES 相关的组合。
有的同学会担心,单重加密是不是不够强?俺的观点是:尽量【别】把敏感文件放到系统分区。这样的话,系统分区【没】啥要害,单重加密通常是够用滴。
★如何选择【散列算法】?
“散列算法”又称为“哈希算法”(洋文叫 Hash)。不了解的同学,可以先看俺写的《扫盲文件完整性校验——关于散列值和数字签名》。这篇博文中大致解释了散列算法的概念。
用 TrueCrypt 创建加密盘,除了要选择加密算法的组合,还需要选择散列算法。TrueCrypt 需要使用散列算法来进行“伪随机数生成”,然后再利用“伪随机数”来产生加密卷的主密钥。
TrueCrypt 支持如下三种散列算法:
算法名称 | 散列值比特数 | 散列值字节数 |
---|---|---|
RIPEMD-160 | 160 | 20 |
SHA-512 | 512 | 64 |
Whirlpool | 512 | 64 |
通常而言,散列值的长度越大,发生“人为碰撞”和“随机碰撞”的概率就越小。所以俺一般选后两种。另外提醒一下:如果使用 TrueCrypt 加密【系统分区】,只能选 RIPEMD-160 这个散列算法。
★磁盘加密的【操作模式】
(本小节涉及较多密码学的知识,不太懂技术的网友请自行跳过,以免浪费时间和心情)
上周那篇《文件备份技巧:组合“虚拟加密盘”与“网盘”》提到了:利用某些网盘客户端提供的“字节级差异同步”来优化加密盘的上传速度。
之后某网友在博客留言中提出质疑。他/她认为:加密盘中即使只修改了某个小文件,因为加密算法的特点,会导致加密卷文件中有大量的数据被修改。
这位网友思考问题比较深入,但对“块加密算法”只知其一,不知其二。下面俺稍微解释一下 TrueCrypt 采用的 XTS 操作模式。
“块加密算法”因为每次加密的明文是固定大小的(也就是“块尺寸”),所以在实际使用场合中,需要结合具体的操作模式。所谓的操作模式,就是把明文通过某种方式分割成若干块,然后采用某种机制分别加密每一块。
最常听说的操作模式有 ECB、CBC、PCBC、CFB、等等(维基百科的“这个页面”有这些操作模式的原理介绍)。
ECB 最简单,就是用密钥分别对 N 块明文进行加密,得到 N 块密文。此模式的最大缺陷在于:如果两块明文的内容完全一样,得到的那两块密文也会完全一样。所以 ECB 模式会遭遇“差分攻击”(通过【差异化分析】尝试进行破解)。
后来 IBM 公司在70年代发明了 CBC——这个模式可以避免 ECB 的缺点。CBC 的原理也比较简单:先加密第一块明文,得到第一块的密文;然后在加密第二块明文的时候,把第一块密文作为输入参与运算;然后把第二块的密文作为第三块加密的输入;以此类推......
CBC 的好处在于,即使相邻两块明文的内容完全一样,加密得到的密文差异也极大。所以 CBC 可以对抗“差分攻击”。但是 CBC【没法】用于磁盘加密。因为 CBC 模式在加密/解密某个数据块的时候,要【连环依赖】于其它数据块的加密/解密。如果磁盘加密工具使用 CBC 模式,性能会非常非常差(原因很显然,自己想)。
为了解决磁盘加密的需求,前几年又发明了新的模式——XEX 和 XTS(这两者差不多,XTS 是 XEX 的改良版)。使用 XTS 进行加密/解密,不同的数据块是完全独立的(解决了磁盘读写的性能问题);另外,这玩意儿本身【没啥】明显弱点。所以,当今大部分磁盘加密工具(包括 TrueCrypt)都采用 XTS 模式。对该模式感兴趣的同学,可以看 TrueCrypt 手册的“Description of XTS mode”章节。俺这里就不细聊啦。
★【物理】加密盘 VS 【虚拟】加密盘
“虚拟加密盘”也叫“virtual volume”,就是用一个大文件作为加密盘的容器。
俺在《文件备份技巧:组合“虚拟加密盘”与“网盘”》中已经介绍过这两者常见的优缺点对比。今天除了说一下常见的优缺点对比,再稍微说一下【不太常见】的优缺点对比。
(物理加密盘其实又分为两种——加密普通分区 & 加密系统分区。“加密系统分区”比较特殊,俺会在本系列的后续博文中专门介绍)
◇“虚拟加密盘”的优点(同时也是“物理加密盘”的缺点)
优点1
首要的优点就是便于备份。因为“虚拟加密盘”说白了就是一个大文件,你只要把这个大文件 copy 到其它地方,就相当于完成了虚拟盘的备份。
而“物理加密盘”要备份,就相对麻烦一些。你需要使用专门的磁盘备份工具(比如 Ghost)。
优点2
虚拟加密盘可以嵌套任意多层(在一个虚拟盘内部再创建另一个虚拟盘)。
而物理加密盘不支持多重嵌套。(“外层卷”和“隐藏卷”不算嵌套。本系列的后续博文会单独介绍“隐藏卷”的经验)
嵌套多层的好处在于,大大增加攻击者的破解难度。而且在一开始,攻击者根本无法知道你设置了多少层嵌套。(这个优点不明显。大部分网友应该用不到。但少数对安全性要求很高的网友,可能需要此优点)
◇“物理加密盘”的优点(同时也是“虚拟加密盘”的缺点)
优点1
因为你没法把整个操作系统的系统分区放到一个虚拟加密盘中。所以,对系统分区只能采用“物理加密盘”的方式,无法采用“虚拟加密盘”的方式。
支持加密【系统分区】,这是“物理加密盘”主要的优点之一。对【系统分区】的加密很重要,在本系列第3篇会讨论与之相关的话题。
优点2
其实“物理加密盘”还有一个额外的好处,但大多数人碰不到这种情形。
当你干了某些事情,并被警方盯上。警察可能会收缴你的电脑并拿回去做“取证分析”(如今公安部的省市级机构,都有“信息取证”的技术人员)。假如你用的是“虚拟加密盘”,那么你的电脑中就会有一些大文件(加密盘的卷文件)。当警察盘问你,这些个大文件是干嘛用滴?你很难解释,也很难抵赖。
反之,如果你用的是“物理加密盘”,当加密分区还【没】被挂载时,分区中的数据是杂乱无章的,就像是随机数据。那么你就可以辩解说,这个分区是【尚未格式化】滴。(注:这种辩解可以骗过外行,但不一定能骗过【内行】;至于如何对付【内行】,本系列第4篇会有专门的讨论)
◇咋样结合两者的优点?
这其实很容易想到的——就是把虚拟加密盘放到物理加密盘内部。当然,如果放到物理加密盘的【隐藏卷】部分,效果就更好啦。(因为篇幅的关系,“隐藏卷”的经验放到下一篇,本文先不讨论)
把虚拟加密盘放到物理加密盘内部,你的操作系统中就不会有可疑的大文件,而且不影响虚拟加密盘的备份。真可谓一举多得,当然也有缺点——主要的缺点就是性能会下降。好在如今的电脑,CPU 已经很强劲了,动不动就是好几个核。所以,这点性能下降还是可以接受滴。
★【物理】加密盘的两种玩法——全盘加密 VS 逐个分区加密
使用物理加密盘可以有两种搞法:其一,全盘加密;其二,逐个分区加密。
对这两种方案,俺个人建议采用后者——逐个分区加密。把整个硬盘做一次性的全盘加密,虽然操作起来稍微简单一些,但是存在如下一些隐患。
◇隐患1——强度不够
大多数电脑都是单硬盘,也就是说系统分区也在该硬盘上。所以,对单硬盘 PC 的“全盘加密”也就是“加密系统分区”。而 TrueCrypt 在加密系统分区的时候,仅支持口令认证,不支持 KeyFiles 认证。这就导致加密强度【大打折扣】——因为 KeyFiles 难以用暴力穷举,而口令更容易被暴力穷举。
◇隐患2——灵活性不够
如今的硬盘都很大,里面通常会有不止一个分区。不同分区存放的数据往往也不同。有的分区存放的数据重要,有的不重要。
如果你对整个硬盘进行一次性加密,就面临一个两难——如何选择加密算法?加密算法太强,性能会很差;加密算法不够强,安全性又不够。
而如果采用不同分区逐个加密的方案,就可以避免上述难点。你可以对特别敏感的分区采用更强的加密算法(但也更慢),对不太重要的分区采用弱一些(但也快一些)的加密算法。
◇隐患3——兼容性不够
假如你的硬盘安装了多个不同的操作系统(多引导)。这种情况下使用全盘加密可能会出现一些冲突,导致某些系统无法启动(Linux 与 Windows 混装的环境尤其明显)。
★未完待续
本想一篇博文写完。写到这里发现内容已经很长了。今天先发出来,剩余部分再发2到3篇。大伙儿请见谅。
回到本系列目录
俺博客上,和本文相关的帖子(需翻墙):
《TrueCrypt——文件加密的法宝》
《扫盲 VeraCrypt——跨平台的 TrueCrypt 替代品》
《如何用“磁盘加密”对抗警方的【取证软件】和【刑讯逼供】,兼谈数据删除技巧》
《文件加密的扫盲介绍》
《扫盲文件完整性校验——关于散列值和数字签名》
本博客所有的原创文章,作者皆保留版权。转载必须包含本声明,保持本文完整,并以超链接形式注明作者编程随想和本文原始地址:
https://program-think.blogspot.com/2013/08/truecrypt-1.html?m=0
有人打算整理一下关于编程随想下落的线索吗?(从正反两个方面来举证)
好多怪事都是人为的,第一在搞邪术如祭鬼封神献祭打call,其次是搞种姓的事,
这帮东西用老外的名义来操控挑拨玩弄这个那个,这也是奇葩的,和叫东土人找阿三还是鬼子去表达册封封禅这皇帝是东土的皇帝一样奇葩, ......
ym蜀人都不愿放手的东西如屁眼套路,幼女,献祭,老单和最高神位是有原因的,很值得去研究的 ......
即使博主能活着出狱,若要看到他更新六四系列,那也是在天朝发生了民主化之后,共产党不再有能力镇压批评者之时。
就算哪天中国情报部门不经司法程序,直接把人暗杀了,我也不会觉得奇怪。
https://www.zaobao.com.sg/realtime/china/story20241226-5649612
https://www.youtube.com/watch?v=ozVq_04XMro
如果出现了自杀场景,多半是政府秘密下令处决,并伪装成了自杀。
来自Firsthack的评论
而且,二审的发改率(发回重审+改判)是一个考核政绩的指标,高层认为这个数字越低说明冤假错案越少,然后下面就越容易升官。 ......
原神UID:310221197410210025
互动热线: 13524626271 上海移动
学历: 硕士
生日: 19741021
身高: 165 ......
周欣身份证310105197106042383
户籍地址 :上海市闵行区吴中路429弄15号501室
同户人 :薛军,男,310106196903180414,1969年03月18日; ......
希望各大媒体都报道这几个名字:审判长周欣,审判员:凌莉、须梅华。
家属贝震颖推特号:Birds_b_r_32309
多谢分享“中药注射剂”等国产医疗行业的相关丑闻。
另外,关于疫情期间的乱象,俺整理了一篇:
《每周转载:白纸抗议年的“动态清零”灾难(网文14篇,多图)》
多年前不记得在哪篇博文的评论区和博主讨论叙利亚的命运,当时叙利亚的局势还未尘埃落定。可惜博主现在大牢内,看不到。
这次叙利亚的民主转型发生在俄国陷入战争的泥沼的背景下。 ......
这个是个邪术,第一个是给上面看(不知什么鬼),其次的就真的会指导目标去实际地去做这么些的犯罪邪恶,侵犯幼女的情节是经常频繁重复地出现地,和侵犯女性,还有就是生命 ......
估计到最高法院也没戏,可能会以9:0判决禁抖音。
欢迎提出不同观点。
你提到的是这二者之间的差异,俺也同意这些差异确实存在。
但是,俺要开始说但是了。从本文,咱们也可以讨论这二者之间的共性,至少包含以下方面: ......
玩邪术玩出个什么结果好歹给公开一下,拼命玩邪术还一声不吭,很危险的,要分享分享,劳资帮你们来研究研究
劳资相信这帮东西是能穿越时空的,现在是2019年的ZS,时空被改变穿越了。穿越时空的套路。这帮东西几千年都一个屌样,来几个十级地震都不会任何改变。 ......
现在的两党是争先比谁对华更强硬,已经通过的制裁法案不会松绑,已经加的关税也不会再降,否则就会被在野党骂成“通敌叛国”。
明年1月19日之前,抖音会被禁。
每天上网的好多人都在聊政治呢,难道你要把每一个聊政治的人都抓起来判刑?那也没用。因为年轻人越来越倾向于认为政治制度才是造成他们被困在他那个阶层的重要原因。 ......
这个博客对于政府的批评,大部分都是有理有据。你要是觉得哪里不对,可以反驳博主嘛。判7年是究竟有多心虚? ......
以色列做任何事,都是美国包容范围,和美国民意无关(甚至抗议都无效)。台湾今后也会差不多。
国会一旦提出新的关于台湾的法案,无论是军售,亦或是改善台湾的国际地位等等,都很容易造成近乎【全票通过】。 ......
然而,公报本身只是行政政府的声明,其效力不如法律。 ......
然而,现在的人们,对于不能证明是否为间谍的走线客,也不太宽容。估计人们会支持一律用“有间谍嫌疑”之类的理由,实行一律驱逐的政策。 ......
但是,有些两党已经形成共识的事,其实是不受太大影响的。例如:把台湾武装成以色列。
所以我估计,中共在川普第2任期的前2年之内,就会对台湾动手。
因为这次GOP在众院优势实在太小了,稍微发生一点差错,钟摆效应会让民主党夺回之。
参议院不好说。如果连参议院也丢了,那川普后两年就可能成为跛脚总统,啥事都干不了。
不服者会选择:明着顺从,其实背地里跟共产党对着干。
众议院估计是个险胜。
上次共和党在众议院也是微弱优势,导致议长难产。
这次应该不会难产,因为有川普在,他只要在台上喊几句,就可以让任何一个人当议长,其它共和党议员不会阻挠。 ......
根据NBC新闻:
https://www.nbcnews.com/politics/immigration/trump-may-deport-hundreds-thousands-migrants-biden-allowed-legally-ent-rcna179357 ......
就是先用民调测量其它选举,比如某个地方议员的选举,然后和民调进行对比,看女性候选人是否严重吃亏,是否和民调严重不符。
如果发生该现象,那得出的差额数字,就是该地隐藏的“害羞的性别歧视者”的百分比。 ......
因为“害羞的川粉”等受访者不诚实回答问题的现象,仍然使得民调失真。
贺锦丽连普选票都输了。
你民主党输得这么惨,总不能反思为啥没去迎合那些“黑命贵零元购”之类的种族主义口号吧?反思搞种族平权搞得过头了?
......
美国出了个川贼东。抗战前没做到【攘外必先安内】,这下麻烦大了。
恭喜美国又创造了世界纪录。
估计是川普险胜。
因为大法官的任命是由总统和参议院共同决定,如果总统是川普,那他就会提名非常有争议的保守派大法官。
......
......
川普险胜29%
其它情况基本可以排除。