百科问答小站 logo
百科问答小站 font logo



如何评价加密软件VeraCrypt? 第1页

  

user avatar   bei-ji-85 网友的相关建议: 
      

我移植过trueCrypt到嵌入式平台上,还做过基于trueCrypt+国密(SM)的内核驱动。VeraCrypt是一个不错的加密软件,基于trueCrypt的后续版本。

VeraCrypt的最大特点是跨平台,Windows、Linux、MacOS都有对应的版本,甚至一些小众的系统,比如FreeBSD上,都有支持,并且衍生了一些非GPL的版本(tcplay),可以说商业上使用也很方便。目前很难看到一个能跨多个平台的加密软件。

其它回答里提到的VeraCrypt的一些“缺点”其实算不上缺点。

1. 太臃肿。这是因为VeraCrypt的功能多,它甚至可以加密启动盘,我估计很多人都没用过这个功能。VeraCrypt有很多简化的版本,比如Linux上的tcplay就是一个极简的,兼容VeraCrypt的加密工具。如果动手能力前,完全可以基于VeraCrypt修改一个简化版本。

2. 速度慢。这种说法是不太正确的,VeraCrypt家族的加密解密速度并不慢,翻代码就知道了,VeraCrypt会根据CPU的核心数来创建多线程的加密解密线程池,它的速度完全取决于选取的加密算法(通常是AES)。如果用内置的算法,可能会存在编译优化不够好的问题,但这些算法的代码是公开的。相比于闭源的汇编级别的加密算法优化,这种开源的实现相对安全。同样的,如果动手能力强,把AES算法库替换成优化过的,速度肯定很快。

3. 不够安全。VeraCrypt不缓存密钥,对于这个安全性的问题,建议去研究一下代码,VeraCrypt使用的是两级密钥,用户的密钥只用于解开第二级密钥,所以用户密码并不在内存中。内存在释放的时候也做过清理。下面就是VeraCrypt的擦除缓存的代码:

       #define burn(mem,size) do { volatile char *burnm = (volatile char *)(mem); int burnc = size; while (burnc--) *burnm++ = 0; } while (0)     void Buffer::Erase ()     {         if (DataSize > 0)             burn (DataPtr, DataSize);     }     

VeraCrypt的最大特点是可以创建隐藏的加密卷,理论上说,你可以把隐藏的加密卷放到磁盘的任意一个角落里,别人如果不知道密钥的话,甚至无法发现这个隐藏数据区,可能会当做垃圾数据处理。

当年trueCrypt突然放弃维护的时候,就有阴谋论说,是因为恐怖分子使用trueCrypt传递数据,CIA也没办法解开,最后给开发者施压停止了trueCrypt的开发。

所以,如果你的数据要跨平台加密访问,那么VeraCrypt是一个不错的选择。




  

相关话题

  如果把 AES、DES 等各种加密算法排列组合,然后对一明文进行逐一加密,这样的组合加密算法强度大吗? 
  为什么不少人抵制各个手机厂商的反诈系统? 
  在与 AlphaGo(包括 Master) 的对局中是否出现了一些人类历史上从未想到过的着法、技巧? 
  为什么一般认为Flash漏洞很严重,而HTML5(实现)远没有那么严重? 
  现行条件下是否真的无法完全抹除已在电子设备上删除的信息? 
  你手机最消遣时间的软件是什么? 
  固态硬盘是否只有三星和英特尔的能用? 
  软件工程界有其它与『操作系统内核』与『浏览器引擎』齐名的高难度项目吗? 
  请解释一下什么是选择明文攻击及选择密文攻击? 
  女生面试 Google 会不会容易些? 

前一个讨论
mmap 内存映射,是越过了操作系统,直接通过内存访问文件吗?
下一个讨论
为什么不将打印机设计成插入电脑后自动安装驱动呢?





© 2025-05-28 - tinynew.org. All Rights Reserved.
© 2025-05-28 - tinynew.org. 保留所有权利