我是一名新的CS学生,我的老师要求我们提取2个txt文件并比较它们的十六进制值。每个文件的内容分别是“abcde ... XYZ”和“accde ... XYZ”。我已经将每个字符出现的百分比值都记录到excel表中,现在我需要通过计算这两个文件之间的相关系数来了解它的含义。
如果您需要更多了解我的问题,请随时提出。
答案 0 :(得分:1)
histogram是分布的图形表示 [离散] 分布 是特定值的样本数量的有序序列,或者在概率分布的情况下,是概率值的概率:概率随机抽取的样本将具有此特定值。
首先,您需要生成两个二进制文件,方法是将相同的加密加密链应用到它们上, 精确 ,如分配中所述。这本身似乎是对这些加密算法和各种块加密模式(ECB,CBC等)的实践/复习。
然后,对于每个文件需要计算每个invidudual十六进制值的数量,给你一个0到255之间的数组(或者从$ 00到$ FF说“Hex”),包含计数对于文件中找到的每个对应的二进制八位字节。请注意,数组中的单元格数(在直方图术语中也称为“ bins ”)精确为256,如果文件中找不到任何字节,则单元格的值为0相应的十六进制值 这些数组是每个文件中找到的十六进制值的离散分布;习惯于规范化这些数组,一种典型的方法是生成另一个相同大小的数组(此处为256个单元格)但包含实际值,其中每个值是该单元格的样本数量的比率和样本总数。因此,这样的数组包含文件中找到的十六进制值的 * 概率 分布 *(虽然是选择的分布,我们经常谈论这些作为“分布”而不是“概率”分布)(另外......一些迂腐的类型可能会嘲笑这些被认为是概率但是现在不要混淆事情......)。
我建议你然后以典型的条形图/直方图格式绘制这些分布图,仅此一项就可以直观地显示这两种分布的相似程度。我犹豫是否破坏了发现的乐趣,但我可能暗示如果这两个图表确实完全不同,你应该不感到失望。)
最后一步是计算这两个分布的正式相关值,即单个值“总结”这两个分布的相似程度。这就是我没有给你完全详细的部分,因为我很害羞建议一个特定的相关函数;有a few for that purpose;请咨询您的教练或助教。
奖金 /为了好玩,您可以为未加密的文件计算和绘制相同的分布,直方图和相关因子(显然,在这里,您希望它们非常相似)。 / p>