Home

リンクする際は、PDFやファイルへの直リンクでなく、このページにリンクをしていただけますよう、お願い致します。

概要

ICF3は日立製作所が1999年に製品出荷したメインフレームMP5600EXの内蔵暗号装置に搭載された暗号LSIです。 RSA演算器、SHA-1演算器、Multi2演算器、DES演算器を持っていました。 OpenICF3のリーダーの平山 直紀は、RSA演算器を担当し、アルゴリズムの解読から実装まで、ほぼ1人でしています。 RSA演算器、SHA-1演算器(原案)には日立の技術は入っていないので安心してオープンソースハードウェアとして利用できます。 当サイトはOpenICF3のリーダー、平山が全てを管理しています。 平山が日立製作所を退職するときに、正式な打ち合わせで、平山が担当したものを持ち出せる約束をしています。 打ち合わせで許可を出したのは汎用コンピュータ事業部、これに日立の人事および、それ以外の人も異論を唱えることはなく、 持ち出せないもののリストを作成しました。 (このとき転職できない状況に追い込まれることは想定しておらず、うかつでした)
RSA演算器とSHA-1(原案)は、平山が考えたもので持ち出しが可能です。 Multi2も、それなりに担当していましたが、複数の人間で開発しているためグレーゾーンです。 DESはICF1のときに担当していましたが、先輩が開発したものを、そのまま流用したため解説できません。


RSA演算器

1998年頃は、FastMapというLSIが、いろいろな製品に組み込まれていた。FastMapは剰余テーブルを用いたアルゴリズムでした。 ICF3はモンゴメリ乗算というアルゴリズムでしたがIBMのLSIのアルゴリズムは剰余テーブルでもモンゴメリでもないものでした。
『RSA暗号 三者三様の時代』だった。
また、同じモンゴメリ乗算といっても、かなり違う、いろいろな実装ができます。 ICF3が採用した方式は逆数の計算がいらない方式でした。 このため東芝が「逆元計算装置及び逆元計算方法」(特開平10-207689)の特許をとろうとしていたが問題なかった。 RSA演算の制御を簡単にするためモンゴメリ乗算器を2つ装備しA×A、A×Dの2種類の乗算が同時に実行できるようにした。 秘密鍵の値によらず一定時間でRSAの演算ができた。 これによってタイミングアタック(サイドチャネルの一種)の攻撃を受けない特長があります。

「世界一高速なRSA暗号ICF3初期検討」


「世界一高速なRSA暗号ICF3初期検討」追加資料
2018年5月13日公開


RSA演算器(暗号プロセッサ)で楕円暗号の試作実装

「ICF3で楕円暗号の実装検討をした社内資料」



SHA-1演算器

ICF3のSHA-1の演算器はIBMのメインフレームの5倍以上の性能が出ました。 原理と詳細な論理図があり、技術的にも汎用的に使えるものなので、みてみてください。

「IBMより5倍速かったSHA-1 論理図面 編」


Multi2演算器

Multi2は日立のブロック暗号、Multi2のアルゴリズムは日本の衛星放送で使われた実績があり、 あまり知られていないが、それなりに使われている。 高性能化の技術があり特許になっている。OpenICF3のリーダーも1つ特許を取得している。
特許第3795315号 2006/04/21
余談だが、多分、この特許のアイディアは他の事業所でも考えられていたのだと思う。 一応、僕が解いたものを戸高氏が、追加、特許作成をしている。 最初、僕は解ける問題だと思っていなかったが、上長に無理やり解くように言われた結果、解けたのである。


DES演算器

IBMと比較して3~4倍の性能でした。詳しく知りたい方は、日立製作所へ、お問合せください。 返事をもらえるかは不明です。


リンク集

OpenICF3に関係するサイトのリンク集のページ。
LINK


IBMのRSA暗号の仕様

ICF3はIBMの仕様を実装したものです。IBMの仕様が実装をかなり規定していたのではないか?という疑問があるかもしれない。 現実はIBMの仕様はRSA暗号より一般化されたべき乗剰余演算です。実装が規定されるどころか普通のRSA暗号よりも実装が難しいのです。 ICF3の採用するモンゴメリ乗算の売りは除算器(余算器)が不要であることですが、IBM仕様では除算器や偶数ケースの演算器が必要なのです。