
FSAngo解読コンテストに多数のご参加頂きありがとうございました。FSAngo解読コンテストの暗号解読結果を発表致します。
● | 出題 | |||||||
下記に示す暗号文 (ciphertext) に対応する以下の項目を解答して下さい。
|
● | 解読 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
平分
なお、上記平文には改行コードは含まれません。
初期値 x0(16進数)
なお、上記平文には改行コードは含まれません。
アファイン鍵(16進数)
|
● | 解説 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ここで使用する数値は全て正の整数とし、アファイン鍵の添え字 i, j を除き全て16進数で表示します。
の通りです。ここで演算子 (and)、(mod) はビット毎の論理積演算、剰余演算を、(shr) は右シフト演算を表します。
上記により算出された擬似乱数列 { Xk } より以下の式により、FSRansu の出力乱数列 { Rk }を生成します。 Rk = Xk (and) FF, (k = 1, 2, ... ) なお、今回使用したアファイン鍵数、各アファイン鍵の寿命及び鍵の使用回数の初期値は以下の通りです。
FSAngoによる暗号化/復号化方法 {ck} = {mk} (xor) {Rk}となります。ここで{ck}にさらに{Rk}と排他的論理和を取るとその結果{m'k}は {m'k} = {ck} (xor) {Rk} = {mk} (xor) {Rk} (xor) {Rk} = {mk} (xor) ({Rk} (xor) {Rk}) = {mk} となり元の平文を得ることが出来ます。したがって問題文(暗号文){ck} を復号するには FSRansuで求めた擬似乱数列と問題文の排他的論理和を取ることで復号化出来ます。
【注意】 本仕様は「FSAngo」解読コンテストで使用しているアルゴリズムとは異なります
|
1年間にわたり、FSAngo解読コンテストにご支援を頂きありがとうございました。また、問題文のダウンロード時のアンケートにご協力頂きありがとうございました。
コンテスト期間中は約1万6千件もの問題文のダウンロードを頂きました。そのうち海外からは321件のダウンロードを頂いています。解答は2件ありましたがいずれも不正解でした。
問題文のダウンロード状況を以下に示します。
日本 | 15,405件 |
外国 | 321件 |
合計 | 15,726件 |
![]() | ![]() |
---|