パスワードを忘れた? アカウント作成
14963 story

単位ゲートあたりの処理が世界最速の共通鍵ブロック暗号「CLEFIA」 20

ストーリー by kazekiri
ハードにはいいのか 部門より

jonykatz 曰く、

ソニーが、ハードウエア実装時に単位ゲートあたりの処理速度が世界最高の共通鍵ブロック暗号アルゴズム「CLEFIA」を開発したらしい。0.09μm CMOS標準セルライブラリを使い,6.1キロ・ゲートの実装で最大1.42Gbit/sのスループットを出せるとのこと。ブロック長128bit、鍵長128/192/256bitの暗号で、Feistel構造を採用。内部関数の構成法を工夫することで少ない計算量で済む ようになっており、大きなフット・プリントを使えない場合やCPUの処理能力が低い場合に威力を発揮するようだ。

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • by mk_miguel (33468) on 2007年03月23日 18時04分 (#1130781) ホームページ
    6.1キロ・ゲートの実装で最大1.42ギガビット/秒のスループットとあります.
    処理速度や実装面積も大事ですが,
    ・解析が困難であるか
    ・消費電力が小さいか
    あたりも気になるところです.

    参考になるかはわかりませんが,
    以前AESをVHDLで実装したところ,軽く数万ゲートになりました.(しかも,遅い)
    強度が同じぐらいであるとすれば,非常に魅力的な暗号だと思います.
  • by Anonymous Coward on 2007年03月23日 18時23分 (#1130791)
    似たようなもので、NTTのCamellia [srad.jp]がありますよね。こちらも組込み用途でCPUに優しく、ISO国際暗号標準で、かつプログラムソースも公開中。
    # でもテストプログラムではAESなどに比べてトロいんですよ・・・
    ソニーにはソニーの戦略があるのでしょうけど、非標準でクローズな技術でも勝機ありってことなんでしょうか。
  • by gm300 (14617) on 2007年03月23日 22時52分 (#1130951) ホームページ 日記
    1.4Gbits/sって聞くと早そうだけど、16bit単位で処理していれば、100MHz以下、256bitならば、
    5MHz程度。このくらいの速度ならカードでも処理できそう。

    係数テーブルないのかな?昔ハード化を検討したときに問題になったのは、係数のテーブル。
    並列度が高いとテーブルがあっちこっちから同時にアクセスされてしまう。けど普通のROMは
    同時アクセスができない。すると同じ内容のROMを複数置くか、全部ゲートに展開しないとい
    けない。特別な状況では係数テーブルを入れ換えたいと思うのだけどどうやるのか....

    それより関心あるのは、サイドチャネル脆弱性。そもそも共通鍵にはそういった脆弱性があるのか
    どうか知らないのですが。
    こっち [wikipedia.org]だと危険性の示唆
    こっち [cqpub.co.jp]だと実際の解析状況。

    • これはPower AnalysisやHyper Power Analysisのことだと思いますがAESなどだとGoogleでみると [google.co.jp]そこそこあります

      この回避はASICの実装次第でマスクできる場合もあるしそのものの脆弱性とはいえないかもしれないですね

      それより
      海外の複数の研究者による第三者評価を受け、安全性は確認したという。(IT Mediaの記事 [itmedia.co.jp])
      の文献が発見できません。。。
      親コメント
    • そのスループットの計算は、暗号化が1サイクルで
      完了する場合の話ですよね。

      DESをソフトウェアで実装したことがありますが、
      ビット単位の計算が多くて、サイクル数が
      やたら増えてしまった覚えがあります。
      • /.jpの元の記事にはbpsってかいてあります。90nmって言わないあたり素人っぽい記事で
        少し信用できないのですが....

        今回は専用ハードなんで、( A xor B ) >> 12 | ( not A xor B ) << 12 みたいな計算を
        1 clock で実行することもできます。計算が複雑になれば当然 clock cycle は長くなり
        ます。そうはいっても90nmプロセスならば、上の式は 500MHz くらいで処理できると思い
        ます。
        bitの順序を複雑に入れ換える処理は汎用CPUでは面倒ですが、専用ハードでは簡単
        です。ハード設計言語には{a[0],a[1],a[2]}={b[2],c[1],d[0]};みたいな記述方法があ
        るくらいです。256bit をbit単位で反転するような処理でも300MHz 1 cycle で実行
        できるでしょう。反転しかしないなら800MHzでも処理できるかも。

        またregister もAx, Bx, Cx, Dx の4つとかだけではなく何百と持て、それぞの長さを
        処理に合わせて設計できるので、パイプライン処理もできるはずです。
        親コメント
  • ブルーレイディスクなんかと工業製品と違って、暗号の世界では一企業の自己申告なんてあんまり意味が無い。
    なので、実際に(ソニー以外で)採用されるには様々な暗号学研究者による厳密な検証をパスしないとダメでしょう。

    よく知りませんが、来年あたりの暗号学カンファレンスとかでボロクソに叩かれて再起不能にならないかが心配です。
  • by Anonymous Coward on 2007年03月23日 16時59分 (#1130746)
    ソースはソニー
  • by Anonymous Coward on 2007年03月23日 17時49分 (#1130771)
    処理が軽いっていわれると総当りで開け易いのか~と思ってしまう素人の私。

    #アルゴズム?
    • by TarZ (28055) on 2007年03月23日 19時35分 (#1130833) 日記
      他の暗号の1/10のコストで復号できるとしても、(総当りで破ろうとするなら)鍵長にして
      数ビットの差でしかないでしょう。
      鍵長128/192/256bitを選べるのであれば、復号コストの軽さが暗号の破られやすさに
      直結するとは言えないと思います。(圧倒的に鍵長のほうで左右される)

      (もちろん、ブルートフォース以外で破れるような穴があるなら話は別でしょうが)
      親コメント
  • by Anonymous Coward on 2007年03月23日 17時54分 (#1130773)
    というわけですね。
    ハードで安く簡単にブルートフォース用ツールが出来たりするわけ、と。

    は、ネタとして

    たぶん前提として、ブルートフォース以外の効率的な
    解読法が存在しない、もしくは無いだろう、という暗号法である
    というのはあるんでしょうね。
    その上で、順方向処理の速度を上げれば鍵長でその強度を
    コントロールできる、と。
    • by Anonymous Coward on 2007年03月23日 19時22分 (#1130829)
      ブルートフォース以外に盗聴手段がない場合、暗号の強度(盗聴に要する時間)とスループットのどちらかを定めると鍵長が定まり、それに従ってもう片方も定まるわけで、「暗号強度の要請から必要になる鍵長において、正規の複号時間が短い」ものを「処理が軽い暗号」と呼ぶべきなんでしょうね。

      単位ゲートあたりの数字も技術的な意味は大きいのでしょうが、実用的には、強度とスループットがそろって初めて意味のある数字になるってことか。鍵長が長くなるに従って「総当たり時間/正規読解時間」が単純増加する場合でも、実用範囲での値がどうなっているかはまた別の問題と。
      #なんか当たり前のことを面倒くさく言っただけのような。
      親コメント
  • by Anonymous Coward on 2007年03月23日 20時22分 (#1130858)
    アルゴズム

    それだけなのでAC
typodupeerror

ハッカーとクラッカーの違い。大してないと思います -- あるアレゲ

読み込み中...