關於異或加密算法的小遊戲

電腦上的每個字符都有一個唯一編碼,通用的標準是ASCII (American Standard Code for Information Interchange 美國信息交換標準編碼)。例如大寫A = 65, 星號(*) = 42,小寫k = 107。

一種現代加密方法是用一個密鑰中的給定值,與一個文本文件中字符的ASCII值進行異或。使用異或方法的好處是對密文使用同樣的加密密鑰可以得到加密前的內容。例如,65 XOR 42 = 107, 然後 107 XOR 42 = 65。

對於不可攻破的加密,密鑰的長度與明文信息的長度是一樣的,而且密鑰是由隨機的字節組成的。用戶將加密信息和加密密鑰保存在不同地方,只有在兩部分都得到的情況下,信息才能被解密。

不幸的是,這種方法對於大部分用戶來說是不實用的。所以一種修改後的方案是使用一個密碼作爲密鑰。如果密碼比信息短,那麼就將其不斷循環直到明文的長度。平衡點在於密碼要足夠長來保證安全性,但是又要足夠短使用戶能夠記得。

題目

你的任務很簡單,因爲加密密鑰是由三個小寫字母組成的。文件 cipher1.txt包含了加密後的ASCII碼,並且已知明文是由常用英語單詞組成。使用該文件來解密信息,並最終獲取明文信息。

請完成題目, 把解密之後的明文, 密鑰和代碼地址(代碼請託管到github上)發送到下面指定的聯繫方式

加密舉例:

  • 明文:Hello World
  • 祕鑰:abc

加密過程:

用H的ASCII碼 xor a的ASCII碼 (以下省去”的ASCII碼”)

  • e xor b
  • l xor c
  • l xor a
  • o xor b
  • 空格 xor c





 cipher1.txt的內容如下:
79 59 12 2 79 35 8 28 20 2 3 68 8 9 68 45 0 12 9 67 68 4 7 5 23 27 1 21 79 85 78 79 85 71 38 10 71 27 12 2 79 6 2 8 13 9 1 13 9 8 68 19 7 1 71 56 11 21 11 68 6 3 22 2 14 0 30 79 1 31 6 23 19 10 0 73 79 44 2 79 19 6 28 68 16 6 16 15 79 35 8 11 72 71 14 10 3 79 12 2 79 19 6 28 68 32 0 0 73 79 86 71 39 1 71 24 5 20 79 13 9 79 16 15 10 68 5 10 3 14 1 10 14 1 3 71 24 13 19 7 68 32 0 0 73 79 87 71 39 1 71 12 22 2 14 16 2 11 68 2 25 1 21 22 16 15 6 10 0 79 16 15 10 22 2 79 13 20 65 68 41 0 16 15 6 10 0 79 1 31 6 23 19 28 68 19 7 5 19 79 12 2 79 0 14 11 10 64 27 68 10 14 15 2 65 68 83 79 40 14 9 1 71 6 16 20 10 8 1 79 19 6 28 68 14 1 68 15 6 9 75 79 5 9 11 68 19 7 13 20 79 8 14 9 1 71 8 13 17 10 23 71 3 13 0 7 16 71 27 11 71 10 18 2 29 29 8 1 1 73 79 81 71 59 12 2 79 8 14 8 12 19 79 23 15 6 10 2 28 68 19 7 22 8 26 3 15 79 16 15 10 68 3 14 22 12 1 1 20 28 72 71 14 10 3 79 16 15 10 68 3 14 22 12 1 1 20 28 68 4 14 10 71 1 1 17 10 22 71 10 28 19 6 10 0 26 13 20 7 68 14 27 74 71 89 68 32 0 0 71 28 1 9 27 68 45 0 12 9 79 16 15 10 68 37 14 20 19 6 23 19 79 83 71 27 11 71 27 1 11 3 68 2 25 1 21 22 11 9 10 68 6 13 11 18 27 68 19 7 1 71 3 13 0 7 16 71 28 11 71 27 12 6 27 68 2 25 1 21 22 11 9 10 68 10 6 3 15 27 68 5 10 8 14 10 18 2 79 6 2 12 5 18 28 1 71 0 2 71 7 13 20 79 16 2 28 16 14 2 11 9 22 74 71 87 68 45 0 12 9 79 12 14 2 23 2 3 2 71 24 5 20 79 10 8 27 68 19 7 1 71 3 13 0 7 16 92 79 12 2 79 19 6 28 68 8 1 8 30 79 5 71 24 13 19 1 1 20 28 68 19 0 68 19 7 1 71 3 13 0 7 16 73 79 93 71 59 12 2 79 11 9 10 68 16 7 11 71 6 23 71 27 12 2 79 16 21 26 1 71 3 13 0 7 16 75 79 19 15 0 68 0 6 18 2 28 68 11 6 3 15 27 68 19 0 68 2 25 1 21 22 11 9 10 72 71 24 5 20 79 3 8 6 10 0 79 16 8 79 7 8 2 1 71 6 10 19 0 68 19 7 1 71 24 11 21 3 0 73 79 85 87 79 38 18 27 68 6 3 16 15 0 17 0 7 68 19 7 1 71 24 11 21 3 0 71 24 5 20 79 9 6 11 1 71 27 12 21 0 17 0 7 68 15 6 9 75 79 16 15 10 68 16 0 22 11 11 68 3 6 0 9 72 16 71 29 1 4 0 3 9 6 30 2 79 12 14 2 68 16 7 1 9 79 12 2 79 7 6 2 1 73 79 85 86 79 33 17 10 10 71 6 10 71 7 13 20 79 11 16 1 68 11 14 10 3 79 5 9 11 68 6 2 11 9 8 68 15 6 23 71 0 19 9 79 20 2 0 20 11 10 72 71 7 1 71 24 5 20 79 10 8 27 68 6 12 7 2 31 16 2 11 74 71 94 86 71 45 17 19 79 16 8 79 5 11 3 68 16 7 11 71 13 1 11 6 1 17 10 0 71 7 13 10 79 5 9 11 68 6 12 7 2 31 16 2 11 68 15 6 9 75 79 12 2 79 3 6 25 1 71 27 12 2 79 22 14 8 12 19 79 16 8 79 6 2 12 11 10 10 68 4 7 13 11 11 22 2 1 68 8 9 68 32 0 0 73 79 85 84 79 48 15 10 29 71 14 22 2 79 22 2 13 11 21 1 69 71 59 12 14 28 68 14 28 68 9 0 16 71 14 68 23 7 29 20 6 7 6 3 68 5 6 22 19 7 68 21 10 23 18 3 16 14 1 3 71 9 22 8 2 68 15 26 9 6 1 68 23 14 23 20 6 11 9 79 11 21 79 20 11 14 10 75 79 16 15 6 23 71 29 1 5 6 22 19 7 68 4 0 9 2 28 68 1 29 11 10 79 35 8 11 74 86 91 68 52 0 68 19 7 1 71 56 11 21 11 68 5 10 7 6 2 1 71 7 17 10 14 10 71 14 10 3 79 8 14 25 1 3 79 12 2 29 1 71 0 10 71 10 5 21 27 12 71 14 9 8 1 3 71 26 23 73 79 44 2 79 19 6 28 68 1 26 8 11 79 11 1 79 17 9 9 5 14 3 13 9 8 68 11 0 18 2 79 5 9 11 68 1 14 13 19 7 2 18 3 10 2 28 23 73 79 37 9 11 68 16 10 68 15 14 18 2 79 23 2 10 10 71 7 13 20 79 3 11 0 22 30 67 68 19 7 1 71 8 8 8 29 29 71 0 2 71 27 12 2 79 11 9 3 29 71 60 11 9 79 11 1 79 16 15 10 68 33 14 16 15 10 22 73
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章