百科问答小站 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是一个不错的选择。




  

相关话题

  为什么说 exFAT 会丢数据呢? 
  微信、支付宝等 43 个 APP 将进行适老化及无障碍改造,如何评价这一举动?具有什么样的社会意义? 
  如何看待 Steam 最近爆出的 0day 漏洞? 
  如何制作高质量的(破译用)字典? 
  有哪些练习英语听力的软件? 
  微软这些年有哪些大的败笔? 
  官方将户籍在乡村,从事信息软件相关人群定义为新生代农民工,这样定义有哪些依据? 
  有哪些让你目瞪口呆的 Bug ? 
  OpenSSL 的 Heartbleed 漏洞的影响到底有多大? 
  黑客为什么不攻击支付宝? 

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





© 2024-12-22 - tinynew.org. All Rights Reserved.
© 2024-12-22 - tinynew.org. 保留所有权利