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




  

相关话题

  很好奇,为什么软件要直接运行在CPU上? 
  为什么一些人下载软件喜欢到官网? 
  太极助手搜了常用付费软件无结果,为何说它是盗版渠道? 
  数学对于编程有多重要? 
  如果黑客拥有一台算力无限的主机,他能做什么? 
  感觉读大学无用,上大学是错误的吗? 
  如何评价国产软件 TRUFFER(可替代 MATLAB)? 
  软件http请求 对网站本身有没有弊端? 能否通过这种模拟请求的方式做出一些自动刷回复的脚本软件,并出售? 
  你见过的 APP 流氓操作可以流氓到什么程度? 
  如何看待美国网络公司思科被发现使用华为开源代码,将华为的加密证书放入交换机? 

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





© 2024-11-21 - tinynew.org. All Rights Reserved.
© 2024-11-21 - tinynew.org. 保留所有权利