2017/05/01

「ChaCha20 and Poly1305」は「ChaCha20-Poly1305」でよい気がしてきた

数学が専門ではないと逃げようとしたが、理論的な導出はわからないだろうし、導かれた結果が正しいかどうかは分からないかもしれないが、結果を利用するのは常套手段でなくてはならない。

前回、ChaCah20が出てくるRFCで、私が知りたかったのは「RFC-7539」、TLS/SSLに出てくるRFCは「RFC-7905」で、数字が違うのだから、きっと中身も違うはずだ、と何も考えずに結論してしまった。

 

しかし、そうなのだろうか?
RFCの番号が違うとか、RFC-7539の中に「7905」という数字が出てこないとか、そんな見た目だけのことで思考を止めてはいけないのではなかろうか、と考え始めた。

内容は分からないにしても、思考停止するのはよくないだろう。
せめて、自分なりに調べてみて、わからなければあきらめる、くらいのことをしてもよいはずだ。


RFC 7905 - ChaCha20-Poly1305 Cipher Suites for Transport Layer Security (TLS)

一番簡単なところから始める。
さっきは、RFC-7539の中に「7905がない」というだけで済ませてしまったが、その逆を考えてなかったのだ。

果たして、RFC-7905の中には、RFC-7539への参照が書かれていた。
無関係ではないのだ。
しかも、文中で4回も参照されている。

RFC-7905を眺めたが、ここにはアルゴリズムのことは書かれておらず、TLSの暗号suiteとしてのChaCha20 and Poly1305のことが書かれているだけのようだ。
TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256など、どの組み合わせを使うかということだけが書かれているのか。

では、方向性は間違ってなかったのかも。


AEAD_CHACHA20_POLY1305の要求がどうのこうの書かれているが、そういうのはここを読んでいくのがよさそうだ。

新しいTLSの暗号方式ChaCha20-Poly1305 - ぼちぼち日記

上の方しか読んでなかったけど、ちゃんとChaCha20の説明とPoly1305の説明が出ているじゃないか。。。

ChaCha20-Poly1305は「認証付き暗号」という種類で、認証付き暗号はAEADという略称らしい。
Poly1305は16byteのMAC値を生成するようで、計算したときも16byte増えていたから、暗号化した結果にMACを付けることを認証付き暗号と呼ぶのだろうか。

 

アルゴリズムは分かっていないが、なんとなく雰囲気は分かった気がするので、ChaCha20関連はこれで終わりにしよう。

0 件のコメント:

コメントを投稿

コメントありがとうございます。
スパムかもしれない、と私が思ったら、
申し訳ないですが勝手に削除することもあります。