首页 > 试题广场 >

有一张图灵奖得主的肖像照片,被一个学生用简单的异或加密方法,

[问答题]
有一张图灵奖得主的肖像照片,被一个学生用简单的异或加密方法,编码成了如下这样的字符串:
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

已知肖像照片是64x64像素的0~255级灰度图片,内存中用raw bitmap方式,每个像素用一个字节存储。对肖像照片的原始数据,学生使用的加密代码片段如下(Python3代码,代码中的key值是未知的加密密钥):
_KEY_LEN = 2
bitmap = PIL.Image.open(image_path).tobytes()
encrypted = []
for index, byte in enumerate(bitmap):
   
encrypted.append(byte ^ key[index % _KEY_LEN])
return
base64.standard_b64encode(bytes(encrypted))

(1)请问:这张被加密的照片,是以下哪位图灵奖得主的肖像?()

(A) Marvin Minsky

(B) John L. Hennessy

(C) Donald E. Knuth

(D) Raj Reddy

(E) John McCarthy

(F) Edsger W. Dijkstra

(G) John Hopcroft

(H) Alan Kay

(2)请写出本题解题的主要思路,以及解题时使用的主要代码片段。





 (F) Edsger W. Dijkstra   https://en.wikipedia.org/wiki/Edsger_W._Dijkstra
不管key是啥直接画,勉强可以看出来,,
import base64 import PIL res = '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' encrypted = base64.standard_b64decode(res) print(len(encrypted)) img = PIL.Image.frombytes('L', (64, 64), encrypted) img.show() 


发表于 2019-04-14 15:22:04 回复(0)
就想吐槽一下....画出来了....key也找了个大差不差,....但就没认对人....
发表于 2019-04-16 10:38:21 回复(0)
import base64
import PIL
res = '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'
encrypted = base64.standard_b64decode(res)
print(len(encrypted))
img = PIL.Image.frombytes('L', (64, 64), encrypted)
img.show()
发表于 2019-04-26 14:56:24 回复(0)
^表示异或操作
发表于 2022-02-10 12:29:54 回复(0)
from PIL import Image
import base64
import numpy as np
_KEY_LEN = 2

origin = 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
key = [254, 161]
new = base64.standard_b64decode(original)
print(new)
print(new[0], new[1])
img_show = np.zeros((64, 64))
for i in range(64):
    for j in range(64):
        img_show[i][j] = new[i*64+j]^key[(i*64+j)%_KEY_LEN]
img = Image.fromarray(img_show)
img.show()

发表于 2019-05-27 11:35:03 回复(0)
(1)(F) Edsger W. Dijkstra
(2)
import base64
import PIL
res = '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'
encrypted = base64.standard_b64decode(res)
print(len(encrypted))
img = PIL.Image.frombytes('L', (64, 64), encrypted)
img.show(
发表于 2019-04-27 11:56:57 回复(0)
对像素值的亦或操作一般不会改变可识别度,_KEY_LEN值为2,所以图片会出现2条竖着的条纹。
发表于 2019-04-15 21:26:51 回复(0)