在Block Cipher Modes的维基百科文章中,他们有一个简洁的小图 未加密的图像,使用ECB模式加密的相同图像和使用其他方法加密的同一图像的另一版本。
在大学时我已经开发了自己的DES实现(you can find it here),我们必须在演示中演示我们的实现。
我想使用我们的实现显示如上所示的类似示例。但是,大多数图像文件都有与之关联的标题块,在使用我们的实现加密文件时,也会加密。因此,当您在图像查看器中打开它们时,它们会被假定为已损坏且无法查看。
我想知道是否有新的简单的无标题图像格式,我们可以使用它来显示这些?或者,如果有人对上面图像的原始创作者如何达到上述结果有任何想法?
任何帮助将不胜感激,
由于
注意:我意识到滚动你自己的加密库是愚蠢的,DES被认为是破坏的,而且ECB模式对于任何有用的加密都是非常有缺陷的,这纯粹是学校的学术练习。所以,请不要讲课,我知道演习。
答案 0 :(得分:3)
如果您使用的是高级语言,如Java,python等,您可以做的一件事就是加载图像并将像素数据读入内存中的数组。然后对这些原始字节执行加密,然后在完成后保存图像。让所有标题数据都由您使用的任何语言的库处理。换句话说,不要将文件视为原始字节序列。希望有所帮助。
答案 1 :(得分:3)
在加密之前切断标题(将它们保存在某处)。然后只加密其余的。然后在结果前面添加标题。
使用Netpbm格式时这一点特别容易,因为您只需知道要切断多少行。数据存储为十进制数,因此您在加密时应该考虑到这一点(首先将它们转换为二进制数)。