TrueCrypt的原理

转载 2016年06月02日 11:41:51

1)TrueCrypt随机数产生RandomNuderGenerator(RNG)


Random Number Generator(RNG)是一个内存中的随机数产生器。它在TrueCrypt中发挥着重要作用。RNG将产生各种密钥,其中最主要的是加密卷首部分的卷首密钥和以后实时加解密过程中的主次密钥。RNG还将产生卷首前512字节的 “盐”和密钥文件.用于基于PBKDF2的用户 口令的实现中。同时为了隐藏卷文件中重要内容的大小.卷文件通常在创建的过程中填充临时加密过的随机数.而这些随机数也是RNG产生的。在Win—dows平台下RNG产生的随机数是RNG实时收集 Windows操作系统的各种数据并通过一定方式的运算得到的。


2)TrueCrypt中实时加解密密钥

对加密卷内的文件进行读写操作时都需要加解密,而密钥存放的位置和受保护的程度决定了加密文件的安全性。True—Crypt把主次密钥(实时加解密时的密钥)存放在加密卷的卷首(512字节)的第 256至511字节。而卷首的512字节由不同于主次密钥的卷首密钥加密的。卷首密钥得到的理论基础是PKCS#5(基于I=1令的密码系统规范2.o)中的密钥导出函数PBKDF2.得出的密钥可以有效的防范字典攻击。PBKDF2主要公式是:DK=PBKDF2(P,S,C,dkLen),其中DK是最终导出的密钥,参数P是口令(一个字节串)参数s是“盐”(一个字节串)参数c是迭代的次数.参数dkLen是导出密钥的任意长度。一般来说P就是用户输入的口令,而TrueCrypt为保证用户口令的安全对参数P做了修改。用“用户口令+口令密钥文件”方式得到新的用户口令。口令密钥文件是TrueCrypt的一大亮点.它即可以由Tme—Crypt自己随机生成。又可以是用户提供的任意格式任意大小的文件,如图片文件、Mp3文件等。并不是文件的所有数据都起作用,只有文件的前 1048576字节f1MB1的数据才作为有用数据进行运算。TrueCrypt对 口令密钥文件的数量也没有限制。

PBKDF2中对分组的操作是基于基本 的伪随机 函数的,True—Crypt中提供 了三种这 样的函数 HMAC—SHA-512、HMAC—RIPEMD-160、HMAC—Whirlpool。


3)TrueCrypt隐藏卷

隐藏卷形象的来说就是 “嵌套”在普通加密卷里边的。这样设计考虑了用户的安全需求。当用户被胁迫解密加密卷时用户可以把隐藏加密卷的 “外套”普通加密卷解密,透露一些无关紧要的信息,而真正的受保护的信息则隐藏在隐藏卷中,得以保护。由此可见隐藏卷的创建过程必须是:首先创建一个普通卷然后在普通卷里创建一个隐藏卷。需要注意的是普通卷和普通卷里的隐藏卷的用户口令必须是不同的。在加载卷时TrueCrypt根据用户 口令来判断是加载普通卷还是普通卷里的隐藏卷。所以用户在胁迫的情况下可以告诉普通卷的口令。来保护信息。


4)TrueCrypt加密卷的创建和加载


加密卷的创建过程如下:用户选择创建参数,包括加密算法 、哈希函数、文件系统、加密卷大小等;按照卷首格式在内存中创建卷首:根据用户选择的文件系统格式化加密卷,并向卷内填充随机数:创建备份卷首。

加密卷的加载就是把加密卷虚拟成一个虚拟磁盘。用户通过向磁盘内读写文件.实现加解密.

相关文章推荐

TrueCrypt 6.2a原理及代码分析

TrueCrypt 6.2a原理及代码分析   3 comments   25th Apr 10   rafa   1 项目物理布局 Project     |____ Boot /* ...
  • lzda
  • lzda
  • 2014-08-02 22:18
  • 907

TrueCrypt原理与系统开发

1、TrueCryptFormat创建加密卷    一、概述       TrueCrypt是唯一的一款支持WindowsVista/...
  • lzda
  • lzda
  • 2014-08-02 22:19
  • 567

TrueCrypt原理与系统开发(3):TrueCrypt Mount卸载虚拟磁盘

第三部分、TrueCrypt Mount卸载虚拟磁盘       加载虚拟磁盘之后,可以创建受虚拟磁盘加密保护的文档,之后卸载虚拟磁盘,创建的文档则加密保存在加密卷中,这步操作起来比较简单,那么...

TrueCrypt原理与系统开发(2):TrueCrypt Mount加载虚拟磁盘

第二部分、TrueCrypt Mount加载虚拟磁盘      在创建完加密卷之后,怎么使用虚拟磁盘呢?这个时候需要加载虚拟磁盘,加载完虚拟磁盘后,就会在磁盘分区里多出一个分区,比如在我的电脑里可以看...

TrueCrypt原理与系统开发(1):TrueCrypt Format创建加密卷

一、概述       TrueCrypt是唯一的一款支持Windows Vista/XP/2000/Linux开源的虚拟加密磁盘软件,能够创建和设置加密的虚拟磁盘镜像,虚拟磁盘可以与其它磁盘一样正常...

TrueCrypt原理与系统开发(2):TrueCrypt Mount加载虚拟磁盘

第二部分、TrueCrypt Mount加载虚拟磁盘       在创建完加密卷之后,怎么使用虚拟磁盘呢?这个时候需要加载虚拟磁盘,加载完虚拟磁盘后,就会在磁盘分区里多出一个分区,比如在我的电脑...

TrueCrypt原理与系统开发(3):TrueCrypt Mount卸载虚拟磁盘

第三部分、TrueCrypt Mount卸载虚拟磁盘      加载虚拟磁盘之后,可以创建受虚拟磁盘加密保护的文档,之后卸载虚拟磁盘,创建的文档则加密保存在加密卷中,这步操作起来比较简单,那么,在Tr...

FBI也没辙?超强加密软件TrueCrypt全教程

许多网友在电脑中都有需要保密的文件,如工作文档、私人日记、照片等,经过XX门事件之后,相信各位网友都对自己电脑里的一些隐私文件的保存问题有了更高的安全要求。生活中却有许多的不安全因素会使得这些需要保密...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)