パスワードを忘れた? アカウント作成
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。

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

  • 1.4Gbits/sって聞くと早そうだけど、16bit単位で処理していれば、100MHz以下、256bitならば、
    5MHz程度。このくらいの速度ならカードでも処理できそう。

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

    それより関心あるのは、サイドチャネル脆弱性。そもそも共通鍵にはそういった脆
    • by Anonymous Coward on 2007年03月24日 20時24分 (#1131530)
      そのスループットの計算は、暗号化が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つとかだけではなく何百と持て、それぞの長さを
        処理に合わせて設計できるので、パイプライン処理もできるはずです。
        親コメント

UNIXはシンプルである。必要なのはそのシンプルさを理解する素質だけである -- Dennis Ritchie

処理中...