SHA-512/tのIV(初期化ベクトル)生成方法

元々は予定していなかったSHA関連ネタですが、折角なので残しておきます。

SHAの仕様が記述されているお馴染みのFIPS 180-4には、SHA-512/tというSHA-512をベースに、SHA-512の出力を任意のtビットに切り詰めるハッシュ関数についての記述があります。

その中にSHA-512/tのIV(初期化ベクトル、initialization vector)の生成方法も記述されていますが、いまいちピンとこなかったので調査を行いました。
その調査の結果を、備忘録代わりに残しておきます。

これを読んだあなたは、384を除く任意のtビット(t<512)のハッシュ関数が作れるようになるはずです(例えば、SHA-512/448とか)。

Continue reading →

SHAの仕様と実装比較(SHA-1編)

とあるソースコードを追っていたらsha_init()やsha_transform()をコールしている部分に遭遇し、飛んでみたら謎すぎた(実際は全く謎ではない)ので、SHA(Secure Hash Algorithm)について色々と調べてみました。

その調査の結果を、備忘録として残しておくための記事です。
長くなることを避けるため、あくまでSHAの仕様とその実装を見比べる程度にします。

今回はSHA-1編です。

Continue reading →

Dockerで一定数以上のコンテナ作成に失敗する(could not create session key: disk quota exceeded)場合の対処

弊社でも最近Dockerに触る機会が増えてきました。触り始めた当初は仮想化との違いに戸惑うことも多かったのですが、少しずつ慣れてきた気がします。今回はコンテナをスケールさせた時にハマったことを記事にしました。

発生事象

コンテナのスケール時、CPU等のリソースに余裕があるにもかかわらず、Dockerが以下のエラーを出力して一定数以上のコンテナを起動できない。

ERROR: for otest_app_21  b’rpc error: code = 2 desc = “oci runtime error: could not synchronise with container process: could not create session key: disk quota exceeded”‘

Continue reading →