0

我是一名新的 CS 学生,我的老师要求我们获取 2 个 txt 文件并比较它们的十六进制值。每个文件的内容分别是“abcde ... XYZ”和“accde ... XYZ”。我已经将每个字符出现的百分比值放入了 Excel 表中,现在我需要通过计算这两个文件之间的相关系数来了解他的意思。

如果您需要更多了解我的问题,请随时提问。

4

1 回答 1

1

直方图是分布的图形表示。
[离散]分布是对特定值的样本数量计数的有序序列,或者在概率分布的情况下,是概率值的计数:随机抽取的样本具有该特定值的概率。

首先,您需要通过对它们应用相同的密码加密链来生成这两个二进制文件,正如分配中所描述的那样。这本身似乎是对这些加密算法和各种块加密模式(ECB、CBC 等)的实践/复习。

然后,对于每个文件,需要计算每个单独的十六进制值的数量,给你一个从 0 到 255 的数组(或者说从 $00 到 $FF 的“十六进制”),其中包含文件中找到的每个相应二进制八位字节的计数。请注意,数组中的单元格数量(在直方图中也称为“ bins ”)正好是 256,如果在文件中找不到具有相应十六进制值的字节,则单元格的值为 0。
这些数组是在每个文件中找到的十六进制值的离散分布;习惯上标准化对于这些数组,一种典型的方法是生成另一个大小相同(此处为 256 个单元格)但包含实际值的数组,其中每个值是该单元格的样本数与样本总数的比率。因此,这样的数组包含*在文件中找到的十六进制值的概率分布*(尽管是选择的分布,我们经常将这些称为“分布”而不是“概率”分布)(另外......一些迂腐的类型可能会嘲笑这些被称为概率的东西,但我们现在不要混淆......)。

我建议您然后以典型的条形图/直方图格式绘制这些分布,仅此一项就可以直观地表明这两个分布的相似程度。我不愿破坏发现的乐趣,但我可能会暗示,如果这两张图确实完全不同,你不应该失望。)

最后一步是计算这两个分布的正式相关值,即“总结”这两个分布有多相似的单个值。这就是我没有为您提供作业的全部细节的地方,部分原因是我对建议特定的相关函数感到害羞;为此目的有几个;向您的导师或助教寻求建议。

奖励/为了好玩,您可以计算和绘制未加密文件的相同分布、直方图和相关因子(显然,在这里您希望它们非常相似)。

于 2012-10-27T04:05:15.157 回答