我正在为计算机科学的一篇文章做一个实验,我的主题是加密。我想比较使用AES Crypt和Blowfish加密的文件的文件大小。我需要计算这两个作为我的论文要求的BigO。我不确定如何做到这一点,如果有人能帮助我,我将非常感激。
我也想就这个主题的理由提出一些看法,我正在研究哪种算法产生最小的文件大小并查看结果是否是线性的。我有一些理由,比如企业可能希望减少内存和资源的使用,谈论传输速度越快,文件越小,下载速度越快。谢谢。
答案 0 :(得分:1)
AES和Blowfish等加密算法本身为每个输入字节生成一个输出字节,因此AES和Blowfish产生相同的输出大小。
除外:两者都是基于块的算法,并且根据加密模式,输入大小可能需要填充到块大小的倍数,因此输出要大得多。对于AES,块大小为16字节,对于Blowfish,块大小为8字节,因此输出可能比输入大一个块大小。
尝试一些加密,有Online encrypt tool等在线工具支持多种加密算法。注意:AES本质上是Rijndael-128。
意见:这个主题没有任何理由,很好理解和记录,基本上没有加密大小的理由来选择一个而不是另一个。但是,Blowfish不像AES那样安全,因此应该选择AES,即使是Blowfish的作者也说他使用了AES。
注意:许多CPU都有AES的优化指令,因此AES通常是最佳选择。