クリプト

【python】ALIS Puzzle Timeへの挑戦

がくし's icon'
  • がくし
  • 2018/07/08 04:46

【本稿の目的】

ALIS Puzzle Timeを解くためのpythonコードを公開し、

みんなで楽しくパズルに挑戦できれば良いなと思い、筆を取りました。



【ALIS Puzzle Timeとは】

先日JimVDさんが企画したパズルです。

ブロックチェーンを支える基礎技術である、

ハッシュ関数を用いた問題となっています。

詳しい内容は、こちらの記事でご確認できます。


【ハッシュ関数とは】

暗号技術です。こちらの記事が詳しいです。

ざっくり説明すると、

特定の文字列から固有のハッシュ値(暗号文)を決定する技術です。

今回のパズルは、提示された暗号文から、

元となっている文字列を探す問題となっています。


【コード】

食材一覧の全順列をハッシュ化して、暗号文と一致するか試しました。

一致した場合、printにて原文と暗号文を表示するようにしています。

Content image

[1]必要なライブラリをimportしています。

 外部ライブラリであるsha256は、

 事前にインストールしておく必要があります。


[2]答えのヒントとなる食材をリストにしています。

 問題の暗号文をhash_valuという変数に入れています。


[3]permutations(materials)で、

 全順列のイテレーションを作成しています。

 text = "".join(order)で、

 リストの文字列を全部ひとまとめにしています。

 sha256(text.encode()).hexdigest()で、

 候補となっている文字列のハッシュ値を取得しています。

 アルファベットが小文字だったため、

 upper()で大文字に変換しています。


結果的に、このコードでは答えは見つかりませんでした。


【追加のヒントとコードの修正】

今朝方、ヒントが追加されました。

それを踏まえた上で、コードを修正しました。



Content image

[4]materialsの各要素を、

 ハッシュ化したリストを作成しました。


[5]ハッシュ化した値を、

 更にハッシュ化できるよに、再帰関数を定義しました。

 念の為10回ハッシュ化を繰り返すようにしてます。


[6]修正前とほぼ同様ですが、

 ハッシュ値をhash_loop関数で取得します。


このコードでも答えは見つかりませんでした。


【ソースコード公開】

今回用いたコードは、こちらに公開しています。

正解は見つかりませんでしたが、

順列を総当たりでハッシュ化する解法は、

おそらくあってると思います。

腕に自信のある方は、挑戦してみては如何でしょうか。


【宣伝】

アリス非公式discordである、

ALIS Supportersのハッカー部にて活動しています。

この記事についての質問、感想があれば、

気軽にコメント頂けると嬉しいです。


公開日:2018/07/08
獲得ALIS:29.11
がくし's icon'
  • がくし
  • @gaxiiiiiiiiiiii
養蜂家。暇な時にプログラミングをして遊んでる。

投稿者の人気記事
コメントする
コメントする
こちらもおすすめ!
Eye catch
クリプト

Uniswap v3を完全に理解した

Like token Tip token
18.92 ALIS
Eye catch
クリプト

NFT解体新書・デジタルデータをNFTで販売するときのすべて【実証実験・共有レポート】

Like token Tip token
120.79 ALIS
Eye catch
クリプト

ブロックチェーンの51%攻撃ってなに

Like token Tip token
0.00 ALIS
Eye catch
クリプト

2021年1月以降バイナンスに上場した銘柄を140文字以内でざっくりレビュー(Twitter向け情報まとめ)

Like token Tip token
38.10 ALIS
Eye catch
クリプト

ジョークコインとして出発したDogecoin(ドージコイン)の誕生から現在まで。注目される非証券性🐶

Like token Tip token
38.31 ALIS
Eye catch
クリプト

【第8回】あの仮想通貨はいま「テレグラム-TON/Gram」

Like token Tip token
69.90 ALIS
Eye catch
クリプト

スーパーコンピュータ「京」でマイニングしたら

Like token Tip token
1.06k ALIS
Eye catch
クリプト

Polygon(Matic)で、よく使うサイト(DeFi,Dapps)をまとめてみた

Like token Tip token
235.30 ALIS
Eye catch
クリプト

【初心者向け】$MCHCの基本情報と獲得方法

Like token Tip token
31.32 ALIS
Eye catch
クリプト

【DeFi】複利でトークンを運用してくれるサイト

Like token Tip token
54.01 ALIS
Eye catch
クリプト

Eth2.0のステークによるDeFiへの影響を考える。

Like token Tip token
43.10 ALIS
Eye catch
クリプト

クリプトスペルズで入手したMCHCを引き出す方法

Like token Tip token
196.20 ALIS