《赤痕:夜之仪式》
有把剑叫“加密的欢欣(Encrypted Orchid)”,道具描述是一串16进制码
6F20636B6E7077206772646C7A207A776B6A207075707365756C2078726B7674
直接转成文本是
o cknpw grdlz zwkj pupseul xrkvt

已经有玩家破译出来了,译文是
a light saber with immense power

(Steam社区讨论帖见出处;破译讨论帖在外站gamespot.com,我点不开看不了)


熟悉破译的P友帮帮忙解释一下加密和破译的过程呗……
出处 微博 微信 equationln 2019-06-19 12:20   25回复

评论
这把剑游戏初期就能拿 用8bit币换
shaojiaru 2019-06-19 12:21
看了下
16进制转字符串
输入6F20636B6E7077206772646C7A207A776B6A207075707365756C2078726B7674
输出o cknpw grdlz zwkj pupseul xrkvt

然后使用维吉尼亚密码,秘钥为Orchid
结果就是a light saber with immense power

至于为啥是维吉尼亚密码加密,以及为啥秘钥是Orchid..应该是通过名字来推断的吧
f0urxu 2019-06-19 12:34修改
所有 有什么特殊效果么?
xiebazhi110_zy 2019-06-19 12:49
这个光剑有意思
starkiseki77 2019-06-19 12:51
第一步很简单,是ascii码直接转成对应字符。第二步就要动点脑筋了,因为文本长度太短,基于英文字母概率统计的分析就行不通了,只能手算来猜,一般来讲可以先猜三类最常见的,也就是shift, affine和vigenere。shift可以直接暴力枚举26个key,应该是都行不通。affine是12*26个key,写个小程序也可以暴力枚举一下。vigenere是比较烦的,因为要首先猜key的长度,当然这里道具名字已经给提示了,如果没给提示的话最长是可以跟文本一样长的,在这个例子里真要暴力找的话就要尝试26+26^2+26^3+...+26^27种key了,不太现实了已经。不过如果密文长度长一些的话还是不难的。
zermanni 2019-06-19 13:12
中文叫加密兰花…很直
haxfenx 2019-06-19 13:38
我一开始以为是游戏翻译bug
real_outsider 2019-06-19 13:58
py3代码
def VigenereDecrypto(output , key):
ptLen = len(output)
keyLen = len(key)

quotient = ptLen // keyLen
remainder = ptLen % keyLen

inp = ''

for i in range (0 , quotient) :
for j in range (0 , keyLen) :
c = int((ord(output[i*keyLen+j]) - ord('a') - (ord(key[j]) - ord('a'))) % 26 + ord('a'))
inp += chr(c)

for i in range (0 , remainder) :
c = int((ord(output[quotient*keyLen+i]) - ord('a') -(ord(key) - ord('a'))) % 26 + ord('a'))
inp += chr(c)

return inp

if __name__ == '__main__':
cipherText = 'o cknpw grdlz zwkj pupseul xrkvt'.replace(' ', '')
key = 'orchid'
cipherTextToPlainText = VigenereDecrypto(cipherText , key)
print(u'明文:' + cipherTextToPlainText)
jlfsno1 2019-06-19 14:08
@jlfsno1 那俩循环可以改成for i in range(len(output)), 然后key用到的index j = i % len(key),就不用同一行代码写两遍了。这个是vigenere的decryption,不是cryptanalysis。
zermanni 2019-06-19 14:21
p9人均程序员
lenneth001 2019-06-19 14:49
@zermanni 网上抄来稍微改了点,没仔细看
jlfsno1 2019-06-19 14:52
p9遍地大佬,只有我什么都不会
oz-bezalius 2019-06-19 14:56
@lenneth001 密码学可是古老学科哦,现代计算机科学之父图灵还有信息论作者香农这些人当年也是二战中从事密码破译的,甚至现代计算机的原型图灵机也是以破译密码为契机而产生的想法。甚至可以说没有密码学,可能就没有现代计算机,也就没有程序员了
zermanni 2019-06-19 15:19
我还以为翻译过来会是fuxkkonami
antiauxin 2019-06-19 15:26
@zermanni 我估摸着理科生应该都懂一点密码学的东西,就算不懂原理,抄一个程序来用还不行么
wubs12345 2019-06-19 15:28
@wubs12345 与密码学有关的人群通常可以分为三类,设计密码系统的人,密码系统的使用者,破译密码系统的人。你可能指的是第二类人群。
zermanni 2019-06-19 15:46
然后呢,说了这么久还是不知道这剑什么效果
wzy520cs 2019-06-19 16:11
summer_1_breeze 2019-06-19 16:15
p9真的是人均大佬,感觉这里只有我一个啥也不懂的战5
ichosegodie 2019-06-19 23:45
一个巨大的光剑?
ppanda_0921 2019-06-20 09:14修改
赤痕?
fred_sanity 2019-06-20 10:20
@fred_sanity 赤痕 夜之仪式才是官方翻译(steam上的游戏简介里写的)不过无所谓反正知道是一个游戏就行了
qazswsxder 2019-06-20 13:19
一开始看也觉得是维吉尼亚加密,太复杂的加密玩家不好破
wenkeliang 2019-06-20 20:33
原力与你同在
loomj 2019-06-21 08:56
哈哈哈 这种解析贴过于有趣了
aidengk 2019-06-21 09:01
回复不能
T