connecting...
Google translation for articles :

Keccakの仕組み をもくもくする(2018-12-9)

nem0.00xem (0) 78 0 0

 

2018年のアドベントカレンダーをもくもくし、NEMについて学ぶと同時にカタパルトに関して予習をしていきます。
今回は、mincoshiさんのKeccakの仕組みもくもくします。

 

 

要約

 Keccakとはハッシュ関数の一種であり、SHA3に採用され、暗号通貨NEMのプロトコル内でも使用されています。Keccakでは、5×5×w (w は 1,2,3,8,16,32,64のいずれか) の立方体を扱い、その一つの要素が1bitを表現しています。
この立方体を使ってハッシュ値を計算します。この立方体のことをstateといい、Stateの中の各x座標におけるy-z平面をSheet、z軸の配列をLane、などと言います

ここで、Keccakを知るに当たって必要な用語を説明します。

absorb(吸収):Stateにメッセージを入れていく作業

  1. z軸方向に向かってxor(排他的論理和)をしていく
  2. 突き当りまで行くと一つx座標を進める
  3. 1,2を繰り返してx座標も突き当りまで行くと、次はy座標を一つ進める

 

squeeze(搾取):Stateからデータを取り出していく(この取り出したデータがハッシュ値となる)作業

 squeezeは吸収の時にデータを入れた順番をもって、データを読み込んでいくだけです。1ブロック読み込んだら、Permutationで撹拌させて、また同じ位置からデータを読み込みます。

必要なデータ長が集まったらそこで終了。集まったデータを繋げたものがハッシュ値となります。

 

Permutation(並び替え):吸収・搾取をする間に、Stateの状態を撹拌したりする作業

メッセージをStateに吸収させる時、またStateからデータを搾取するとき、必要なデータを一度に入れるわけではなく、bitrate (またはblock size) と呼ばれる単位にメッセージを切って吸収させます(またはbtrate単位でデータの搾取を行います)。

 

 

コメント

 ハッシュ関数はブロック同士を繋げるという所謂マイニング(NEMではバーベスとと呼ぶ)に使われます。これがNEMでも使われているそうです。なぜKeccakがNEMでハッシュ関数として使われているのかは、個人的にも知りたい所です。

 

 

Why don't you get crypt currency 'nem' by posting your blog article?

nemlog is blog posting service which has donation feature by crypt currency nem.
nemlog was launched to create environment which can be donated nem among NEMbers via blog articles.
Let's get nem by posting good blogs.

Nem prize event is being held frequently, Please join us on this opportunity!

nemlog registration from here
Register

NEMber who posted this article

NEMのユートピアを目指してるYUTOです!!
nemlogでは、イベント情報のまとめ記事や、記事の感想記事を中心に書いています。
nemlogがユートピアになるように、着々と計画中です!!
37327
0

Why don't you read following articles?