2010/10/15

擬似乱数生成器MUGIのJavaScriptによる実装

MUGIは日立製作所システム開発研究所により開発された疑似乱数生成器です。 MUGIは暗号技術評価プロジェクトCRYPTREC作成の「電子政府推奨暗号リスト」ISO/IEC 18033の標準暗号として採用されています。

MUGIをJavaScriptで実装しました。 このライブラリでMUGIの疑似乱数生成機能を利用できます。
しかし、仕様書に記載されているテストデータでしかテストしていないため、正確さは保証できません。

日立製作所システム開発研究所MUGIのページ
http://www.sdl.hitachi.co.jp/crypto/mugi/


Demonstration

Key in hex(128-bit):
InitialVector in hex(128-bit):
Size of output:
GeneratedRandom in hex:


Source: mugi.js

2012/11/6 追記
chk さんのご指摘により、擬似乱数を16進数で表記する処理のバグ修正を施しました。
chk さん、誠にありがとうございます!

2 件のコメント:

  1. はじめまして、こちらの素晴らしいスクリプト利用させて頂いております。
    さてこちらのスクリプトですが時折ユニットサイズを超える値が出てきますようで、拝見させて頂いたところunit2hexstrの繰り上がりのための処理が少し変になっているようです。
    「<=16」ではなく「<16」とすると綺麗に出ます。

    入力値としましては、
    KEY:0xF2BBFDC18FF369822240BDAC85F4FA4E
    IV:0x817DD8D5A669CCDD63D8AE4BEAF14A3E
    としますと最初の1出力目で再現します。

    返信削除
    返信
    1. はじめまして、ご覧いただきありがとうございます。
      ご指摘頂いたとおり、擬似乱数を表示する箇所にて、バグのため表示がおかしくなっていました。早速バグ修正させていただきました。
      バグ報告、および、修正内容のご提示、誠にありがとうございました!

      削除