代码奔腾 · 2015年10月6日 0

CSCrypt开源安全工具

之前也已经开了好几个有关加密的项目了,不过都不满意。现在重新开一个坑——CSCrypt,将其他项目含有的功能都集合在一起。以前的ASTSimpleEncryptionShare项目都将会合并到这个project中,另外还会增加几个待定功能。当然,安全性我不敢保证,但比起那些不认识的人做的加密软件我更放心自己做的……实在是被国内各种无节操的软件公司和程序员欺骗够了。

当然,现在的加密软件多如狗,其中开源的有很多,安全性比我做的高不知多少倍的也有很多。我自己也用过很多款,不知道为何总是觉得不爽。

有的加密位数太低;有的没有文件名加密;有的无便携、要安装;有的需要收费;有的没有中文不开心;有的操作繁琐不太好用;有的不是开源不放心;有的虽然是开源但也看不懂代码,没会的人进行代码审核也不大靠谱的样子。

此工具完全是业余开发,ChiaS本身也并不是程序员,C#是空余时间胡乱自学的,现在还很渣渣。现在也是利用手上的一些实例,一边做自己开的project(挖的坑),一边自学。(天外之音:就是因为这样ChiaS开发的程式是没有任何恶意代码的,因为不会……→_→)

软件名称CSCrypt
功能/属性隐私安全/开源(全部完成后会开源)
开发者ChiaS
开发环境SharpDevelop/Microsoft Visual Studio
.NET版本Microsoft .NET Framework 4.0
系统支持Windows7以上 32bit/64bit
引用算法AES-256、MD5、SHA-256、Base64
代码来源根据很多C#教程实例修改整合而成

CSCrypt20151006

已完成支持功能

  • 文件加密(支持文件夹式的批量文件加密)
  • 文件名加密(支持文件夹式的批量文件名加密)

加密方式

  1. 文件加密用到的加密算法:AES-256(ECB加密模式)
  2. 文件名加密用到的加密算法:AES-256(ECB加密模式)
  3. 另外还用到MD5、SHA-256和Base64算法作为辅助。
    tumblr_nvsdcu8bZY1u0cjwlo1_540
    tumblr_nvsdcu8bZY1u0cjwlo2_540

开发安排

文件分割功能是一定会加入的;另外会加入AST的文件夹隐藏功能,计划去掉安全选项设定;还有视频部分加密。图片种子可能也会搞进去,可能还会研究下图片指纹技术看看能做出点什么奇葩东西。

CSCrypt20151007

加密方式

加密模式由ECB模式改为安全性更好的CBC模式,填充模式选择了随机填充,所以同样的密码和文件会生成不同的加密档案。以下是我结合网上的一些资料的个人理解:

ECB模式优点:

  1. 简单(电子密码本——最简单的加密模式)
  2. 有利于并行计算(加密速度快)
  3. 误差不会被传送(文件损坏机率低,稳定性好)

ECB模式缺点:

  1. 不能隐藏明文的模式(不能隐藏数据模式,不能提供严格的数据保密性,并不推荐用于密码协议中)
  2. 可能对明文进行主动攻击(同样的密码和文件,生成的加密文件是完全相同的,有安全隐患。但同时对于网盘秒传有好处。)

CBC模式优点:

  1. 不容易主动攻击
  2. 安全性好于ECB
  3. 适合传输长度长的报文
  4. SSL、IPSec的标准

CBC模式缺点:

  1. 不利于并行计算(加密速度稍慢,可忽略)
  2. 误差传递(文件损坏机率比ECB大,但我没试过损坏)
  3. 需要初始化向量IV(虽然需要IV,但是IV的作用是加大文件的破解难度,提高安全性)

详情请参考维基百科:块密码的工作模式