Instructions for Building TrueCrypt 7

TrueCrypt 7.0  is released on July 19, 2010.

New features:

  • Hardware-accelerated AES (for more information, see the chapter Hardware Acceleration).

  • Partition/device-hosted volumes can now be created on drives that use a sector size of 4096, 2048, or 1024 bytes (Windows, Linux).  Note: Previously only file-hosted volumes were supported on such drives.

  • Other features are omitted in here.

TrueCrypt 7.0最重要的新特性就是加入了AES-NI指令支持,大幅度提升了AES算法的运行效率,比纯软件实现AES-XTS算法快 4-8 倍。

Linux版本加入AES算法的汇编实现和Benchmark功能。

 

编译 TrueCrypt 7.0/7.0a Windows版本,请参考 Readme.txt 和 Instructions for Building TrueCrypt 6.3a in Windows XP

编译 TrueCrypt 7.0/7.0a Linux版本,请参考下文 或 Instructions for Building TrueCrypt 6.3a in Linux

 

因为TrueCrypt的Linux版本首次加入了AES算法的汇编实现,需要加入额外的编译步骤,在这里整理一下在Ubuntu 9.10下面编译TrueCrypt的步骤。

1. sudo apt-get install build-essential

2. sudo apt-get install libfuse-dev

3. 下载PKCS #11 Cryptographic Token Interface (Cryptoki) 2.20 header files中三个文件:pkcs11.h,pkcs11f.h,pkcs11t.h,把这三个文件放到PKCS11_INC文件夹下。

     设置临时环境变量,不过每次重启后再进行编译都必须重新设置。

     export PKCS11_INC="/路径/PKCS11_INC" 

     如果你不想每次重启都设置环境变量,可以在Ubuntu的~/.bashrc文件末尾部分加入:

     #Set PKCS11_INC environment variable for TrueCrypt
     PKCS11_INC=/路径/PKCS11_INC
     export PKCS11_INC

4. 下载nasm最新的稳定版本源代码,进行编译安装。(本人下载编译的是nasm-2.08.02.tar.bz2)

    ./configure

    make install      # 非root账户,加入sudo命令

5. 下载wxWidgets-2.8.10源代码,编译wxWidgets源代码来支持truecrypt编译,按以下步骤:

   a.  安装Gnome开发环境。

        sudo apt-get install gnome-core-devel

   b.  切换到truecrypt源代码目录,运行下面命令分别编译wxWidgets release和debug库文件 。                                         
        make WX_ROOT= wxWidgets源代码路径 wxbuild                                               # build wxwidgets release library
        make DEBUG=1 DEBUGGER=1 WX_ROOT=wxWidgets源代码路径 wxbuild            # build wxwidgets debug library

   c.  分别编译truecrypt release和debug可执行档。    

       make  WXSTATIC=1                                                                                       # build truecrypt release binary

       make  DEBUG=1 DEBUGGER=1  WX_ROOT=wxWidgets源代码路径 WXSTATIC=1  # build truecrypt debug  binary
       如果只需要编译控制台界面,在make命令后面加上NOGUI=1

6. 如果编译成功,在/Main目录下面会生成一个truecrypt可执行档。

 

备注:

1. AES算法运行性能的大幅提升,除了要利用硬件加解密每一个Block单元,更重要的是利用好硬件并行处理数据的能力,这与某些情况下的硬件加速有区别。

2. AMD下一代处理器不知道是否会支持AES指令;VIA PadLock很早就实现AES硬件加速功能;GPU也可以实现AES硬件加解密功能。

3. AES算法的硬件加速十分必要(比如云存储,云数据传输),那么在CPU和GPU实现AES算法硬件加速有何优缺点,应用领域或场合有何区别呢?

你可能感兴趣的:(struct)