Home

RSSフィード作りました。よろしければRSSリーダーに、ご登録ください。
オープンソースの16bit CPU WZeta(停滞中)や 暗号プロセッサSnakeCubeの 情報や開発状況などを発信していこうと思います。
https://note.idletime.be/diary/note.xml

2023年5月9日、日記多数削除。読みやすくなりました。


平山直紀の開発日記

2018年11月1日にスタートした雑記帳を開発日記としてリニューアル。 これまでの日記を別サイトに移転させて一から再スタートすることにしました。 僕が開発しているプロジェクトの状況を、わかりやすく、実況していくことで、 世界への展開を速くすることを主な目的としています。このため 「税金見える化」のページを作りました。 オープンソースのCPU ICF3-Z は税金を使わないことを方針としています。 暗号プロセッサSnakeCube は世界最高であり社会インフラで重要な役割を果たすと僕は考えています。 既に一般的になっている脆弱性は対策されていますが、新規に発見される脆弱性の対策や、 RSAを除く公開鍵暗号の高速なソフトウェアの実装などが不足して社会インフラで用いることができないということは 国民にとって不利益になるため、税金を使うことはあるかもしれません。 僕がSnakeCubeの発明者でありSnakeCubeを管理していますが税金の使用量を 国民にわかるようにしておかないと、逆風が起こりやすく 商用で成功させることができず、負のスパイラルに落ちると考えたため「税金の見える化」をはじめました。 せっかく見える化をしても税金使用量が多ければ、やはり失速してしまうので、最小限に抑える方針です。 今のところ、放置されれば、税金を使うようなことにはならないだろうと考えています。 ただ僕の見えないところで勝手に使用することがないようにしなければ、なりません。
もう一つの目的は何故か故障する開発機器が故障しないようにとか、 何故か壊れていく頭と体が壊れないようにすること。
1999年、世界一RSA暗号が高速だったLSIICF3は、 実はほとんど僕1人で設計したものなのです。 プロジェクトは僕以外では成功できる方法はなく、頑張りどころかと思っています。

2020年12月19日



文系でもわかる暗号プロセッサSnakeCubeの説明

僕が発明した高性能な暗号プロセッサです。 CPUではARMが有名ですがSnakeCubeも、 そうなっていけばと思っています。ファブレスでIPを販売することを考えます。 高性能なCPUではverilogファイルがあっても実際のデバイスに 実装するにはフロアプランで手間がかかります。SnakeCubeでは、 簡単に言えば1列に並べるだけなのでIPとして非常に有利であるという特長を持っています。 SnakeCubeはRSA暗号が得意ですが、それ以外の大きな整数を使った公開鍵暗号も演算可能です。 以下の文章ではSnakeCubeは、どうして僕しかできないのかを説明します。
RSA暗号や楕円暗号の高速化は暗号向けの数学のアルゴリズムも大きな要因になっています。 数学と論理設計の両方が同時にできることが必要になります。 RSA暗号や楕円暗号の計算で必要な巨大整数の四則演算は、桁上がりなどが発生するので、 多数の演算器を使っても、一番下の桁から、一番上の桁まで順番に計算しなければ、 正しい結果にならないのです。このため整数が大きくなると、効率が落ちる問題があります。 また除算をハードウェアで高速化することは難しく除算(余算)を乗算で代替する 魔法のような変換アルゴリズムを使うこともあります。 僕の知る世界最速のアルゴリズムでは、変換アルゴリズム(モンゴメリ乗算)ではなく、 大きなメモリを使った方法のようです。 RSA暗号は1977年に発明されてからさまざまな高速化の研究がされています。 RSA暗号の高速化の方法は、他と比べても、いろいろな方法があるように思います。 1999年のICF3 を僕が開発したころは、高速な除算器を使ったもの、大きなメモリを使ったもの、 モンゴメリ乗算を使ったものが共存していました。 またモンゴメリ乗算であっても、いろいろな方法が研究されています。 2018年に、僕が、たまたまFPGAでCPUを作っているときに発明したものがSnakeCubeです。 RSA暗号の発明からSnakeCubeに至るまで40年かかっています。 ガソリンエンジンの熱効率は約40%が限界というのと同じように、 乗算器の理論最大性能から考えたSnakeCubeの性能は高いため、今後、 SnakeCubeを超える発明は、難しいのではと思っています。 性能にはレイテンシ性能とスループット性能があって、実際の用途では、 どちらか一方でいいということはなく、両方を高いレベルで両立させることが必要なのです。
SnakeCubeの例で言うと、従来では、大きな数の加算を高速化するために多くの研究は、 Carry Save Adderを使っていました。数学的な証明が不要で、そこそこ高速化できたため、 長年使われたのだと思います。SnakeCubeでは、さらなる効率化のため数学的な証明が必要な、 「分割加算」の発明をしています。 数学科でなくても、数学を特に勉強しなくても、論理設計で必要な証明を即時にできる才能が便利だと感じています。


量子コンピュータで解読されないのか

解読の可能性については詳しくありませんが、 鍵を大きくすることで解読されにくくできるという情報はあるようです。 SnakeCubeは 大きな鍵を計算することが得意な暗号プロセッサ です。SnakeCubeはRSA暗号の延命のためだけに有効なのかと言えば、そうではありません。 量子コンピュータの解読に対する耐性を強化した公開鍵暗号の研究も進んでいます。 SnakeCubeが発明される前は、大きな整数を使った困難性を避ける方向でしたが、 今後は、大きな整数を使うという選択が可能になるということもSnakeCubeの 大きなメリットになると思います。 社会インフラを支える公開鍵暗号が同時に複数解読されれば、 大きな問題になるはずで、SnakeCubeが重要な役割を果たすと考えています。


暗号プロセッサ OpenICF3