Home
2018年
2019年
2020年

5月31日 Verilog版のSnakeCube開発(10)

作業報告です。それ以上ではありません。 暗号プロセッサのプログラムからモンゴメリ乗算器に投げるファンクションを起動して、 モンゴメリ乗算器のナノコードが動作するようになっています。 28日の日記に追加したファンクションを、もう一度、ハードウェアで 直接する方法に修正。よりよいコントローラになるようにバージョンアップをしています。


5月29日 ICF3(1999年)開発記の資料(マイクロコードの配線)

これ正確に本当の話です。 1024bit演算器を持った巨大なプロセッサのクロックを速くするための技術。 5月26日の日記では資料は公開しないと言ったのですが、 技術的なことは書いてしまっているので公開することに。
暗号プロセッサは、僕1人で設計、実装をしていたので、他人に実装資料を 見せる必要もなく、今回のような資料になっています。 なのでICF3を開発していた時は、この資料を会社に提出していませんでした。
2002年に日立の金融部門に転勤になって、しばらくして、慶應卒の上長に、 隠し扉の前に連れていかれ、金融のノウハウを伝授すると言われた。 本当は、ただの移動式本棚だったのだが、隠し扉を開けるような雰囲気で上長が話した。
その直後、大型コンピュータ事業部から電話が入って、 ICF3開発に関する資料を全て大型コンピュータ事業部に提出するようにと業務命令が来た。 このため久々に大型コンピュータ事業部に出頭して、手渡しをしました。
今回の資料も、そのときに手渡した中に入っています。
結論から言うと、会社がICF3開発に関する資料を僕から手に入れるため、 金融のノウハウを伝授することにしたのだと思うのですが、隠し扉を開けただけで、 具体的に何かあったということはありませんでした。
結局、退職時にICF3を持って行くことに成功したので、あまり問題はないのですが。


図をマウスでクリックすると拡大されます


5月28日 Verilog版のSnakeCube開発(9)

作業報告です。それ以上ではありません。 モンゴメリ乗算器に投げるファンクションを追加。ハードウェアで直接、 値を設定していた部分をナノコードに変更。


5月26日 e-mailの設定が改竄されメールが届かない状態でした

本日、発覚しましたが、いつごろ書き換えられていたのか、わからないため、 心当たりのある方は再送をお願いします。 (今回、消されたメールアドレス以外であっても再送していただいたほうがいいかもしれません) 設定が書き換えられたのは8bit CPUのオープンソースのサイトの この連絡先です。
このメールアカウントだけ消されていました。 最近はMAILER-DAEMONという仕組みのないメールシステムがあるようで、 上記、メールアドレスにメールをしても、MAILER-DAEMONが返ってくることはなく、 メールの送信者からしてみると、あたかもメールが到着しているように見えるのです。
MAILER-DAEMONの代替手段としてCATCH ALL機能があるので、それを有効にしました。 ただCATCH ALL機能の設定を改竄されてしまうと、厳しいという問題は残ります。
このためレンタルサーバー会社、3社に分散させ、できるかぎり安全を確保するように努めてきました。 レンタルサーバー会社ごとにFTPをするためだけのパソコンを用意しています。 つまり、サイバー攻撃をした悪人は、内部の人間による可能性もあり得るのかもしれません。
Webサイトを多数、作っていますが、重要性の低いサイトは、FTPクライアント以外の ソフトもインストールされたパソコンを使っています。しかし、FTPアカウントを、 しっかり分けているので、そこそこ安全は確保できているように思います。
またFTPクライアントもマスターパスワードを、しっかり設定しています。

26日 5:30PM追記 
レンタルサーバーのサーバのパスワードを変更しました。 しかしコンパネからパスワード変更をするとメールで変更後のパスワードが送信されてきたのには、 ちょっと困りました。サポートのFAQを調べても、解決できず、ライブチャットで聞いてみようかと思ったのですが、 抜け道は、必ず用意されていると思ったので、あれこれ考え、古いバージョンのコンパネから、 パスワード変更をすると、変更後のパスワードを漏洩することなく、パスワードの変更が出来ました。
僕には少しサーバ管理能力があって、僕のサイトにサイバー攻撃をすることは難しいと思ってもらえればと。


5月26日 Verilog版のSnakeCube開発(8)

プロセッサとモンゴメリ乗算器を、それぞれバラバラに作って、個々に動作検証をしました。 そして先日、プロセッサとモンゴメリ乗算器を接続してシミュレーションをしていることを日記に書きました。 プロセッサは巨大な面積を持ち、ゆっくりとした周波数で動作します。 一方、モンゴメリ乗算器のほうはパイプラインにより、かなり高い周波数で動作します。 プロセッサのプログラムの信号が広大な面積に散らばっている モンゴメリ乗算器に1サイクルで届かないといった問題が発生します。
プロセッサのコントローラを複製して分散配置しても、問題は解決しますが、 SnakeCubeの命令セットアーキテクチャは、制御信号そのものが命令セットになっているので、 プロセッサのコントローラを経由せず、直接、全体に広がるモンゴメリ乗算器に送信できます。
そういった対策を、現在しています。
この方法、1999年のICF3でも使っています。プロセッサは全部、自分の手の中で作っていたため、 他人に見せるための資料を作っていないのですが、自分用の資料が、残っています。 今回は、公開は控えますが。


5月25日 買い物をすれば浮かばれるのか?

まだ僕が大手メーカに努めていたときの話です。念のために言いますが本当にあった話です。 1999年のICF3が成功し、 僕は幹部候補生が集う東京の研修所に2週間に1度、通うことになったのです。 そろそろ結婚を考えての活動を開始していました。 休日、お見合いを1日、2人とか、やろうとしましたが、 1日2人は無理とか、お見合いシステムに言われたこともありました。 そうそう某大手デパートで60万円以上するROLEXの腕時計を買いました。 研修所に行った時、授業の休み時間だと思いますが、背の高い幹部候補生の一人がROLEXの 腕時計をしている腕をつかんで「3分の一、もらった」と小声で言ったのです。 そして、候補生たちと映画館に行くことになりました。 皆、映画館の最前列の真ん中で映画を見ました。最前列は、画面が大きすぎて見づらい席でした。 映画のタイトルは忘れましたが、森林の1件屋の中でオカルトをする内容で、 とんでもないくらい激安な映画の製作費だったことが、想像できるものでした。
ROLEXを買ったことを会社に聞こえるように漏らしましたが、 「実用品は不可」みたいな感じだったので、思い切って寮のごみ捨て場にROLEXを捨てました。 これで実用品とは言わせない。
しかし僕は凶悪な方法でリストラされました。 やるだけのことは、やったはずで、それでもこのあり様なのです。
インターネット上にも、悪い人はいっぱいいるように思っていて、 上記のような経験があるため、思うように買い物が行われないのだと思っています。 それは困るということなら、悪いことしてきた人達を、 どうにかしたほうがいいのかもしれません。

5月26日 3:20AM 追記  日記に書いてあることを信用してもらえるよう、この日記のすべてについて、 正確に情報を伝えるように心がけています。 「幹部候補生が集う東京の研修所」という表現ですが、 この日記にも卒業証書の写真を掲載したことがあるのですが、 幹部候補生研修という名目ではなく、有名大学の先生方による普通の勉強会です。 ただ幹部候補生たちが集まる研修みたいな話は、ちゃんとあったと思っています。
僕は中央研究所からの転入組ですが、大型コンピュータ事業部の同期は30人くらいで、 この研修に行くことになったのは、僕だけだったと思います。


5月25日 マストドン風のgabのアカウントを持っています

日本最大級のマストドン インスタンスが終了するかもしれないらしく、対策を考えています。 gabというマストドンに似たインスタンスがあって、そこにもアカウントを作っています。
zevios
gabにアカウントを作らなくてもマストドンのアカウントからもフォローできるようです。 もしフォローしてくださる方がいるのなら、良くgabを調べてからのほうが良さそうです。 gabに少しだけ寄付するためのビットコインを買ってあるのですが、最近gabを使っていないので。 活気が出てくるといいのですが。


5月25日 マストドン mstdn.jpが運営の引継ぎを募集

日本最大級マストドンのインスタンス mstdn.jpが2020年6月30日でサービスを終了するそうです。 運営をしている合同会社分散型ソーシャルネットワーク機構 が引継ぎを希望する会社があればEメールで連絡を受け付けています。
僕もアカウントを持っています。
spinlock
合同会社分散型ソーシャルネットワーク機構の方々、今までお疲れ様でした。


5月24日 Verilog版のSnakeCube開発(7)

昨日、プロセッサに接続したモンゴメリ乗算器をシミュレーションで動作させてみる。 モンゴメリ乗算器を制御するためのマイクロコード(ナノコードと呼んでる)が動き出すところまで。 今日は、遠隔脳操作で満腹中枢を異常に刺激され、多少、苦痛な眠気で苦しんでいました。


5月23日 Verilog版のSnakeCube開発(6)

やっとプロセッサとモンゴメリ乗算器を接続できました。 まだ接続しただけで、これからが長いかもしれない。
頭痛による痛みはなくなりましたが、頭や体が思うように動かず稼働率20%程度。 布団で寝ているか、動画を見ているという時間が長いという状況。 頭痛の問題を日記で訴えた結果、頭痛以外の遠隔脳操作によって、バレないように時間を奪い取る戦略に、 一時的に変更しているように思われます。ちなみに今も左目をつぶらないと日記を書けていない。


5月23日 VLSIシンポジウムでIntelが暗号プロセッサを(2)

昨日の日記の続き。SnakeCubeでは乗算器の利用率を基準として 効率が高いこと特長としていることを言いました。 Intelの暗号プロセッサ、恐らく基数2^52の公開鍵暗号用の専用命令を持つCPUなんだと予測しますが、 乗算器とプロセッサの面積比がIntelのようなCPU型の暗号プロセッサだと プロセッサが大きくなるはずで、つまり乗算器の利用率は高くても全体としては、 あまり効率は高くない可能性があることに注意すべきだと思います。
Intelの暗号プロセッサの詳細がないので、CPUに専用命令を追加したものかどうかは、 確定していませんが、EE Times Japanの記事を見る限りは、合っているような気がしています。


5月22日 VLSIシンポジウムでIntelが暗号プロセッサを

EE Times Japan記事 「VLSIシンポジウム2020は初のオンライン開催に」に注目論文として IntelのRSA暗号プロセッサが挙げられているようです。 サイドチャネルアタックに強いということが特長です。 僕のRSA暗号プロセッサでは単純な制御で演算できる回路ということで、 サイドチャネルアタックにも強いと言っているので、Intelと逆みたいな印象。
記事の文章からの適当なコメントをするのですが、
以前、どこかの論文でTLBの動きを観測することで鍵を盗めるみたいなものがあったような気がしますが、 僕のRSA暗号プロセッサ(SnakeCube)には、そもそもCPUのような構造ではなく、 データ依存する制御がない専用に作られたプロセッサだからなのかもと。


5月22日 Verilog版のSnakeCube開発(5)

まだ人工的な疲労感によって、あまり作業が進んでいませんが SnakeCubeのプロセッサの軽量化(トランジスタ数削減)を思いついてしまったので、これからやります。 SnakeCubeのプロセッサはICF3(1999年)のアーキテクチャとほぼ同じなのでZF(ゼロフラグ)を持っていますが、 一般のCPUのZF(ゼロフラフ)とは、かなり違うものでした。 ゼロフラグなので値が0なら分岐させることができる機能であることには違いはないのですが、 少し実装と機能に変更を入れます。 この改良により約200 LUT削減。20800 LUTのFPGAにSnakeCubeを入れようとしていますから、 これだけで1%の削減は大きいかも。


5月21日 SnakeCubeの動作周波数の予測値の正しさ

FPGA技術系の人向け。Verilogで書いた論理の動作周波数は論理合成しなければ、わからない。 これは一般論としては正しい。その一般論を使って敵対勢力は問題を起こしていく。 しかし論理設計で動作周波数のことを考えて設計している場合は、その予測の精度は高い。 厳密な言い方をすれば、予測の精度がどのくらいか、事前にわかる。
SnakeCubeはFPGAの部品をつないだだけで、論理合成をほぼ使っていないVerilogです。 SnakeCubeについて言えば、高い精度で予測できる。 その理由はFPGAが用意するDSPのパイプラインを、そのまま使うので、 既に適切なパイプライン化ができていて、その数字がデータシートに書かれているからです。 後はDSPの入出力の遅延を考えれば良い。 多くは論理段数が少なくて、考えるまでもない。 つまり高い精度で予測できると言えます。


5月21日 Arty S7で基数2^24

わかる人だけ。頑張ってArty S7で基数2^24にしてしまおうという話。 USBの通信性能の予測が十分でないので、いまのところはCmodかもしれない。


5月20日 Ultrascale+で効率を落とさずに性能1.5倍

Ultrascale+はXilinxのFPGAで、現在、僕がSSLアクセラレータとして 開発をしているXilinxのArtix-7よりも高性能なFPGAです。 Artix-7では3入力加算器でしたが、これが4入力加算になるため、 モンゴメリ乗算の基数を2^17から2^26にできるのではないか?
RSA暗号はトランジスタ数を増加させた分だけ演算性能が必ず上がるということはありません。 今回は、乗算器を1.5倍にして1.5倍の性能にできるかもしれない、 ということを見つけました、という話になります。
遠隔脳制御で僕の脳の劣化が進めば、この発見はなかったかもしれない。 僕の脳劣化が経済的損失となるので、遠隔脳制御を停止させられないだろうか。

RSA暗号の鍵長を大きくするとレイテンシ性能が、大きく不足してくるので、 この発見は、できるなら、将来、効果があるだろうと思います。


5月20日 XilinxのFPGA Ultrascale+

SSLアクセラレータを期待するFPGA関係の人向け?
遠隔脳制御が止まらない。 SSLアクセラレータの性能を決めるモンゴメリ乗算器のVerilog実装を開始しています。 もう一度、設計図を書きなおしてDSPの数を45個から44個に減らしました。 現在はArtix-7(正しくは7シリーズ)向けに開発しています。
SSLアクセラレータの製品化が終わる頃にFPGAの価格が高騰することを心配しています。 このためUltraScaleのボードに予定を変更可能なような方法を考えていました。 しかし、ここで時間を無駄にしたため経済全体がなかなか立ち上がらない問題に直面するのかもしれません。 価格の高騰に対する手段はSnakeCubeを僕以外のところから 販売されることがないような方針を取ることと考えています。
SnakeCubeはXilinxのFPGAに、かなり最適化されています。 海賊版を作られない限り、RSAのSSLアクセラレータはSnakeCubeが 圧勝するだろうと僕は考えています。 乗算器の利用率が高くSnakeCubeを超える効率を 別の方法でするのは困難だろうと思っているからです。
広島大の方法はSnakeCubeの利用率を超えますがDSP1個か2個なので、 これからはレイテンシ性能不足になるため、ここでは考えないことにします。

UltraScaleのDSPは7シリーズのDSPとは異なります。 7シリーズより機能が増えたのですが、増えた機能を有効に使えなければ、 面積的な効率は落ちるのかなと。増えた機能を使って、 モンゴメリ乗算器の基数を2^17から2^26にすることができるかもしれない、 というのを見つけて、少し、気分を良くしています。 実際に、やってみるとダメということは、あるかもしれないですが。
SnakeCubeはXilinxが得意な大型のFPGAを活かせる用途もあるように思います。 がしかし、価格の高騰に負けることは、あるのかもしれない。


5月19日 SSLアクセラレータで儲けよう

正しくは開発作業させて^^;  遠隔脳制御で眠らされていました。日記しか書けなかった。 SnakeCubeのSSLアクセラレータを開発していますが、これを開発できる企業は、 あまりありません。いろいろな理由がありますが、開発コストをかけて作っても、 なかなか利益が出ないということなんだと思います。 僕が、SnakeCubeの利権を持って、開発もできて、 (株)iCanalの代表取締役社長だから、 可能なことなのです。
SSLアクセラレータは、常時httpsの公開鍵暗号のなどの処理をCPUに代わって行う 暗号演算装置です。計算機サーバーを置く建物の容積は、決まっていますから、 容積を増やすことなく、事業を拡大する用途にも使えるので、場合によっては、 大きな価値を発生させます。つまり、海外の計算機センターに知り合いがいれば、 そういうところに売れるかもしれないということです。
また量子コンピュータの解読脅威から、 RSA暗号の鍵長を大きくする必要が出てくることに備えて、 SSLアクセラレータの取り付け準備を、早めにしておく用途にも使えるように 思っています。

遠隔脳制御で妨害されると、これが遅れてしまいます。 日本の将来を考えSSLアクセラレータで儲けを出せるなら、考えたほうが、 いいように思っています。


5月18日 僕の学生時代

知りたい人だけ。前回の日記で早稲田大学の話がでて、最近、 ほとんど僕の学生時代の話をしたことがなかったので少しだけ、してみる。 大阪の高校から理工学部の電気工学科に現役で合格。 両親には浪人しても良いと言われていたので勢い余って電磁気学を真剣に勉強した。 大学の講義では教室の一番前の真ん中に座ることが多かった。 隣は成績優秀者が多く、良く話していたように思います。 1年の夏休みの電磁気学の実力テストでは、学科で1番でした。 テストを返してくれたTAの人が、そのとき教えてくれました。TAの人感謝です。 1年の夏が終わるころにはサークル活動が忙しくなって勉強時間が減りましたが、 それでも1年の成績は成績優秀者に与えられる大隈奨学金をもらった人よりも成績が良かった。 学部事務所に、何故、僕のほうが成績いいのに大隈奨学金貰えないの?と問合せに行ったことも。 成績優秀だったんですよ。 サークル活動を激しくしていたので、ここから成績は下がりますが、それでも研究室に入るときの 研究室内の順位は1番でした。

話をサークルに移します。鳥人間コンテストのサークルに入りました。 サークル活動に明け暮れる日々を学生時代は送りました。 飲み会の多いサークルで、酒に飲まれることも多く、2次会、3次会に参加していたような。 週3回飲むとか、そういう先輩多かった。 飲み会で1つ上の先輩に捕まり、発足したばかりの人力飛行機のプロペラ班に入りました。
ちなみに、その1つ上の先輩は、早稲田の教授をされているようです。 本当に何もないところからのプロペラ制作でした。 全鳥人間コンテスト出場チーム中にアルミパイプを使ってプロペラを作ったチームは、 早稲田の鳥人間コンテストのチームだけではないでしょうか。 実際に使える強度ではなく、笑う人もあるかもしれないですが、 これは、ゼロからモノを作るための、いい経験になったと僕は思っています。
僕はプロペラの空力設計とプロペラの翼形を紙に印刷する仕事、実際の組み立てなど、 多くの仕事をしました。 完成したプロペラは、鳥人間コンテストの当日、悪天候で飛行することをあきらめ、 発進する台から、琵琶湖に沈めることになりました。 僕も台に乗って、沈める役をしています。
次の年、僕がプロペラ班の班長として、僕1人で、ほとんどプロペラを 作ってしまいました。これが鳥人間コンテストで早稲田大学の人力飛行機として、 初めて飛んだプロペラになりました。 記録こそ数百メートルでしたが、後輩がこの記録を抜くまで 5年か6年かかっているので、ちょっと鼻が高いのです。
大学4年のとき大学から徒歩5分くらいのところにある 東大卒の人が作ったソフトハウスで、ほんの少しだけ、バイトしていたという話は、 何度かしたような気がするので、今回は、ここまで。
ご清聴ありがとうございました。(笑)


5月18日 「C言語みたいな低レベルなことはしない」

早稲田大学の理系学生と関係者向け。 20年近く前に早稲田大学の研究室のOB会で、先輩に言われた言葉です。 言いたい結論は早稲田に入ると半導体ハードや論理設計の仕事を職業にすることは難しく、 大学が総力をあげて取り組まなければ、改善されないと思っています。 大学が総力を上げて早稲田の理系に半導体ハードの仕事をさせたいと思う理由は、 ほとんどないので理系はSEより上の仕事を考えたほうがいいと思う。 例えば、準同型暗号を活かしたシステムとか。 量子コンピュータの解読脅威のため先行き不透明なのですが、そこで一番を取れることに活路があるのかも。 準同型暗号を進めているわけではなく一番を取ることです。

上記、僕の経験に基づいて、僕は真実を伝えていると思っています。 しかしながら、僕の言葉に惑わされずチャレンジすることを否定はしません。

僕の最初の計画はSnakeCube (やOpenICF3)に関する全ての利権を 僕が掌握したまま、僕は修士卒なので大学時代の指導教官のところに行って、 自分の名前で論文を書いて、早稲田大学の名前を追加して、 早稲田SnakeCubeとして世界に普及させ儲けることを考えていました。 利権こそ早稲田に移動することはありませんが、 それでも早稲田にメリットがある話だと考えていました。 なんと、僕を指導していただいた教官は、現在、IEEEのCSの会長を経て 早稲田大学の副学長なのです。やれば、できるかもしれない。そういう状況です。
しかしながら、僕の人生のこれまでのことを考えてくれる人はいなくて、 SnakeCubeをクレクレとしか言っていただけない。 それを取られると僕の人生がどうなるのか、 考えている人は、これまでありませんでした。
SnakeCubeは極端に言えば、小さい論理の繰り返しパターンで作れるので、 新しい結晶構造みたいな感じで、半導体の製造方法のようにも見える。 仮に青色LED(ノーベル賞受賞)のような発明だとします。
そんな発明をしたにもかかわらず、袋叩きにされて、結婚もできず、 親のスネかじる日々というのは、明確に間違っていると思うのです。
ついでの話になりますが、一般的な半導体の製造方法の発明には、 研究に必要な機器にお金がかかりますが、SnakeCubeはXilinxのFPGA開発環境が 無料で入手可能なため、数万円の投資で発明できました。
取り急ぎ、何の話も決まっていないので、僕に味方してくれる人を中心に、 不特定多数への、情報提供を行っていきます。 このまま何の話も決まらないかもしれません。 決まっていない話を使わないようにお願いします。
現在、SnakeCubeの性能を検証しているところですが、予定通りの性能が出るなら、 ガソリンエンジンで例えると、燃焼効率40%だったのが50%以上になるような、 発明ではないかと僕は思っています。おおげさですが、わかりやすい説明のために50%以上。 その高性能、高効率が次世代ICカードに最適であり、ICカード以外でも、 多くの製品に採用される、そんな発明です。 要求仕様によっては、SnakeCube方式でなくても、他の方式で十分であることも多く、 ICカード以外では、売れば、売れるという感じなのかもしれないですが。
SnakeCube性能検証後、もう一度、考えてみるのかもと思っています。


5月18日 Verilog版のSnakeCube開発(4)

新型のモンゴメリ乗算器の改良をはじめました。 楕円暗号の性能を向上させるための修正。
長い時間、眠らされていたり、起きていてもなかなか作業できる状態ではなかったため 1、2時間くらいしか作業が進んでいません。 遠隔脳制御の妨害の問題が大きい。


5月17日 Verilog版のSnakeCube開発(3)

2年前、暗号プロセッサとモンゴメリ乗算器を別々に作って、 それぞれ正しく動作することを検証していました。 両者を接続できるように少し作り直して、シミュレーションをはじめました。 まだモンゴメリ乗算器を使った演算はできていませんが、べき乗剰余演算が 計算できるようになりました。 作り直しをしたモンゴメリ乗算器のマイクロコードの開発に着手。 それから、遠隔脳制御による頭痛で作業が進まなくなりました。 恐らく、僕の開発速度が上がったため妨害の量を増加させたのだと思います。
SnakeCube、僕の言っていることが本当なら、半導体の最先端技術の 開発をしている最中に、妨害が入っているという状況なのだと思います。


5月16日 Verilog版のSnakeCube開発(2)

普通の乗算をするマイクロコードがVerilog版SnakeCubeのシミュレーションで計算できました。 妨害されているため昨日1日で1時間くらいしか作業できていません。


5月15日 Verilog版のSnakeCube開発

まだ全部の配線が終わっていませんが演算器が48bit幅のSnakeCubeのシミュレーションが動き出しました。 遠隔脳制御による脳劣化で、日常生活では起きない苦痛が、開発作業では伴って苦しい。 遠隔脳制御による妨害は作業速度が低下するだけでSnakeCubeの利権が、他に移動できるようになるわけではないのです。 遠隔脳制御を止めることが一番と思います。


5月14日 打って出てみる

SnakeCube(昨日の日記を参考)の発明を人が見て、僕以外の人に発明を移動することを、 強力に考えている人は、多いと予想しています。 僕以外に発明を移動された場合の僕の損害が想定より莫大であるという計算が 入っていない人はあると思います。 経済封鎖など通常の戦略で僕が陥落することは、当面、あまりないように思っています。 陥落するような問題は、すべて塞げていると思います。
つまり、僕を中心に、この国が反映できるような方向に考えてもらえればと思っています。 傲慢な振る舞いですが、僕もやりたくてやるわけではないのです。 普通にはもっと自分の安全を考えるのだと思います。 僕は世界の銀行に納品された暗号装置を開発していますから、金融関係の方で、 僕をご存知の方はいらしゃると思います。僕の生涯賃金5億円をケチったために、この国が揺れています。 銀行のキャッシュカードとか、SnakeCube採用で僕に10億円発生すれば、これ一つで、 問題を解決することができるかもしれない。そして僕はSnakeCubeで200億円くらい稼いで(大)富豪になって、 僕の人生が映画化でもされて、さらに儲けるネタが発生するかもしれないですよ。 (金額は適当です)
僕がSnakeCubeの顔であり続ける。そういうことを想定してください。(論文を書くとかも含め)
このまま遠隔脳制御の問題を起こしていくと、損害が大きいと思われます。 現状も遠隔脳制御による妨害で作業があまり進んでいません。 遠隔脳制御されたままでは、ことあるごとに問題が起きるので、完全に止めることです。

蛇足 僕の映画化の話とか足しになるかも。 初めて話すことなんですが、毎年、大学時代の友人から年賀状が届くのですよ。 皆、自分の子供の写真だったりするのですが、皆、親によく似ていることに気づいたのです。 数年前、「あっ」っと思ったのは、僕が親に似ていないこと。驚きましたね。 僕は、親と子供は、どのくらい似るのか、この距離を自分の親との距離で定義していました。 だから50歳近くの年齢になっても、気づけなかった。

僕が生れたときからある左手首の傷が何故あるのか、真実は僕も知りません。 ここ1年くらい考えてみて、案外、僕が大富豪の跡取りだったとか思ったり。 それ以外のケースで、生れて間もなく左手首に傷がつく理由が思いつかない。

図をマウスでクリックすると拡大されます


5月13日 SnakeCubeの今後の展開

SnakeCubeは巨大整数の四則演算プロセッサです。 1999年の暗号LSI ICF3の歴史を継承しつつ、2年前に発明された 新型モンゴメリ乗算器を搭載しています。 FPGAではメーカによってDSPのアーキテクチャが異なります。 ASICにおいても要求性能によって差異が生じるのですが、SnakeCubeはメーカやデバイスの違いを 吸収しつつ、デバイスの持つ性能を最大限に引き出すことを可能にします。 当たり前のように思えるかもしれませんが、巨大なプロセッサでは論理合成では高性能は期待できないので、 人手でデバイスごとに最適化した演算器を作り、デバイス非依存なプログラムを動作させることができるSnakeCubeは メリットがあります。
SnakeCubeは「暗号プロセッサIP」として完成しつつあります。
これで、低迷する日本の半導体産業において、活気ある企業 (iCanal Inc.)を作っていけたらと考えています。
まずは激安に開発できるという話の拡散を、 お願いしてきたSSLアクセラレータを開発します。 ここで鍵長を自由に変更できる開発環境を構築しているので、すぐに楕円(ECDSA)や 巨大な鍵を使ったRSA暗号のICカード(SmartCard)などのASICに転用できます。 僕がやるので劇的に安価な開発コストのはずで、その結果、日本はビジネスで有利な勝負が できるようになると考えています。
これを急がなければいけません。
連日の頭痛で作業が、あまり進んでいないという状況ですが、 遠隔脳制御を永遠に封印すれば、そういう未来が考えられるように思っています。

8bit CPU Zeviosは、 もしかすると自動車のマイコンとして活躍する可能性があるため、今後も、続けていこうかと思います。 自動車に搭載されるマイコンの数が増えていて、ハイパーバイザー上のVMを使って一つの マイコンに集約する方式が検討されているようですが、FPGAにアプリの数だけ ソフトプロセッサを作るという方式も考えられると思ったからです。 この方式はリアルタイム処理において、ハイパーバイザーと比較して超シンプル、 かつ、遅延無しなので、自動車のような信頼性が重視される製品では、 大事な問題を解決できるかもしれない。 この用途においてZeviosは他のCPUよりも強いだろうと考えています。


5月13日 LatticeのFPGAでシミュレーションが動いた

頭の痺れで作業の進みが遅いですがLatticeのFPGAの開発環境を立ち上げ シミュレーションが動作しました。I/Oピンの電圧レベルを設定したりクロックを ウィザードで作って回路に接続できるようになったとか、そう書いたほうがいいと思ったのですが、 回路が動いている様子がわかるほうがいいかなと思ったので、 シミュレーションが動いている画像を使ってみました。
あっさり、できたのは2年前のLattice講習会の通りやっただけだからです。

図をマウスでクリックすると拡大されます


5月12日 本日の作業報告

今、起きました。12時間近く寝ていました。 数日ぶりに頭の痺れを感じない程度に回復したようです。 でも、すぐに痺れか、他の問題を起こすのだろうと考えられます。
作業がなかなか進まないことで僕自身も、 イラダチをピークにしたのですが、今は落ち着きを取り戻して、 作業を進めていくことを考えています。


5月12日 コロナのために医療に寄付してみた

朝日デジタルにコロナの寄付サイトの 記事があったので寄付してみた。 それだけです。3,000円寄付すると領収書がもらえるとあったので、領収書をもらえるように寄付したのですが、 電子領収書ではなくて、紙の領収書だったようです。 10万ビットのRSA暗号で電子署名された領収書だったらよかったのに。(笑)
Tポイントでも寄付できるみたいで、全額(556ポイント)寄付しました。 こちらはTポイントの明細に、すぐに反映されてコロナの寄付だということが残ります。数年で消える記録だと思いますけど。


5月11日 XilinxのFPGA搭載のボードが期間限定特価みたい

Digilen Inc.のCmod A7-35Tが秋月電子通商で7,350円のようです。 これまで約1万円でしたから、かなり安いかもと。
2年前、このFPGAボードにSnakeCubeを搭載してSSLアクセラレータにすることを考えていました。 頭痛や確率異常なトラブルの連発で作業が進まなかったため、まだCmod A7(XC7A35T-1CPG236C) に実装できるのか、決まっていない状況です。 ワンランク下のCmod S7(XC7S25-1CSGA225C)にすることも考えているところ。 Cmod A7とCmod S7は、SSLアクセラレータとしては性能的には低すぎという感じですが、 何がいいかと言えば、これ評価ボードじゃないんですよ。 つまり、これこのままSSLアクセラレータとして製品出荷ができる。
Cmod A7はSRAM 512KB(8bit)がついているので8bit単位でプログラムにアクセスする 8bit CPUを自作するのには便利かも。くれぐれも袋叩きにあわないように赤字の出ない計画を先に。 Zeviosは8bit CPUですが命令コードは32bitなので、 4回アクセスして32bitにする必要がある。OSとか、大きなプログラムを入れる必要がなければ、SRAMがなくても、 BRAMで十分に足りるとは思います。 最近、忘れ去られているかもしれないですが、 同じく自作した8bit CPU WZetaは32bitの 命令コードでありながら8bit単位のアクセスが可能という特長を持った 「命令セットアーキテクチャ」なのでCmod A7が便利かもと。 WZetaが、すごいCPUということではないのですが。AES暗号256bitが動きます。 (WZetaが社会貢献になるならZeviosのようにApacheライセンスで公開ということもあるかも)


5月11日 もう一つ別の開発環境を立ち上げ

ゴール地点までの道が1つしかなければ、そこを塞がれると、立往生してしまう。 そんな考えからLatticeのFPGAの開発環境の構築を始めた。 2年前、講習会で一通りのことができるような説明を受けたので、なんとか、なると思う。 Latticeの5G向けFPGAでSnakeCubeが実装できないか考えてみる。 間違っているかもしれないですが、LatticeのDSPはIntelに似ています。 SnakeCubeを実装するにはIntelより都合がいいアーキテクチャになっていて、十分な性能が出るかもしれないと思えています。

塞ぐ人がいるおかげで、僕はネット上でいろいろ調べることになり、 安い店を見つけることになってしまったようだ。(だから塞ぐのやめましょう) Latticeは小型のFPGAが得意なのですが、日本で6000円のFPGAボード(2年前は3500円くらい)なのが、 世界のお店では9.14 USドル。僕のオープンソースの8bit CPU ZeviosをソフトCPUにしてFPGAつき マイコンとして使えるレベルになるのかと、考えたりもする。

蛇足(暇な人向け)
Zeviosは制限の緩いオープンソースなのでI/Oを定義して自分のマイコンを作れば 楽しいですよぉ。実際のアプリを考えて赤字を出さないことを前提にしないと 袋叩きにされると思うけど。
最近、ネットで見かけたのですがUnikernelというのが、あるらしい。 一般人向けに一言で説明するなら、1つのアプリを実行するためだけのライブラリみたいなOS。 単一のアドレス空間で動作して軽量というのが特長。 軽量だからハイパーバイザー上のVMに、いっぱいアプリを実行させて 自動車で使われるマイコンの数を減らせるみたいな記事が。 実際、どのくらいメリットがあるのか、僕にはよくわからなかったけど、 リアルタイムが必要なアプリだとハイパーバイザー上のVMという仕組みがうまくいくのか、気になったり。 できるのかもしれないけど、FPGAを知っていると、 アプリの数だけソフトCPUを作って、ソフトCPUによるVMでリアルタイムOKみたいな。
こういう話っていうのは、問題を解決するための手段が多数あって、どれがいいのか、わからないし、 自分の得意なスキルで、やれば、それでいいのだと思うので、ソフトCPU VMが いいと言っているわけではないです。 Zeviosは、他のソフトCPUと比較して軽量なのでVMをいっぱい作るには、便利。 XilinxのFPGAではBRAMがディユアルポートなので2つのソフトCPUで共用可能。


5月11日 本日の作業報告

頭痛を止めるには、どうしたらいいか、考えていたら1日過ぎてしまった。


5月10日 RSA暗号専用ハードウェアの性能値

SnakeCubeと競合する製品の性能をインターネットで調べています。 たまに数字を誤魔化しているものがあるようなので注意をしてください。 検証性能を署名性能のように表記することで実際の20倍以上の性能のように見せかけることができます。 RSA暗号の実装経験がなければ、ほぼ騙されるのでRSAの性能は経験のある人に聞いた方がいいと思います。
まだ頭痛で辛いです。


5月10日 本日の作業報告

頭の痺れで文字が読めなくなったり、ほとんど作業が進みませんでした。遠隔脳制御止まりません。
三菱電機のサイバー攻撃がネット上の話題になっている。 これは自分も不正アクセスに注意しないと、と思いました。 今年の2月下旬ごろから自宅内に監視サーバを立ち上げて、 ネットワークに異常がないか、24時間監視をしている。 自分の部屋の冷蔵庫の上に監視サーバのディスプレイがあるので、 ジュースを飲むたびに異常がないか監視することが容易。
今日は監視サーバのログを入念に調べました。


5月9日 SnakeCubeのフォークや上位互換は出現しそうか?

ネット上の反応を見て、これを書いています。 SnakeCubeはモンゴメリ乗算のアルゴリズムを採用した巨大整数の四則演算器です。 僕1人の技術で構成されていると言って良く、僕1人によって管理されています。 2年前の発明、 「 モンゴメリ乗算の累積加算における分割加算の証明」(Segmentation Adder) によって小さいプロセッサを並べたようなアーキテクチャになって、 パイプライン化、スレッド化が進み、乗算器の利用率を基準とした理論限界値に近い数字になった。 と言っても50%~80%の予想ですが。 そうは言っても50%を超える値ですから今後、SnakeCubeの2倍を超える発明は 困難ということは言えます。作りやすいという利点もあるSnakeCubeが最有力という予想。
2年前の発明があるため、24時間、僕の脳内で、しゃべりまくっている人達は、 強奪しか思いつけていません。 フォークや僕以外による上位互換の可能性は難しいでしょう。 遠隔脳制御による妨害の停止を考えるのがいいかと。

広島大学のIEEEの論文で理論限界に近い数字、90%以上の数字を出しているものがありますが、 乗算器の数だけスレッドがないと全く性能が出ません。 RSA暗号のICカードでは最大でも4スレッドなので43個の乗算器があっても、2~4個の乗算器しか使えません。 SnakeCubeでは43個の乗算器を使って50%~80%ですから、数十倍~数百倍高速なのです。 (厳密な表現をすると鍵長に比例した数の乗算器)


5月9日 本日の作業報告

5月に入ってからの作業時間ですが、眠らされている時間が長く、 10%~20%の稼働率という状況です。 今日も1時間くらいの短い睡眠を繰り返しながら、 作業ができる体調にならないか、じっとしています。
ICカードで使われるRSA暗号は鍵長が2倍になると理論的な計算量は8倍になるので、 SnakeCube の性能が必要になるような気がしているのです。 高性能なRSA暗号のICカードのほとんどがSnakeCubeになることがあるかもしれない。 遠隔脳制御による妨害活動が続けば、損失が発生することになるような気がします。
SnakeCubeは、極端にいうと、小さい8bit CPUを並べただけの構造なので、 作り方がわかれば、すぐに巨大暗号プロセッサができるのです。 妨害により数倍から10倍くらい時間がかかっています。

8bitではなくて24bitと思った人もあるかもしれないですがXilinxのArtix-7の DSPは24bit単位で使いますが、実際に設計図やVerilogは8bitで書かれています。


5月8日 ICF3(1999年)の楕円暗号のマイクロコードを作った話

2000年ごろの話です。 モンゴメリ乗算のアルゴリズムは日立の研究所からFAXで僕に届いたのですが、 楕円暗号については個人的にIEEE P1363のメーリングリストに入って ドラフトをダウンロードしました。これは会社の指示ではなく僕の独断でやりました。 その後、仕事で、そのドラフトを読むことになったのです。 このドラフトには楕円暗号の高速な実装方法が記載されていました。 まだアメリカ合衆国からの暗号の輸出規制が厳しかった時代でしたが 高性能暗号実装の仕様のネット上での公開は大丈夫だったようです。

IEEE P1363には楕円の2次元座標を3次元に変換して除算を不要にして高速にする アルゴリズムが書かれていました。

このアルゴリズムにモンゴメリ乗算を適用してICF3(1999年)のモンゴメリ乗算器 (A×D mod B , D×D mod Bの2つを並列に実行)向けに試作実装しました。
OpenICF3の公式サイトで公開しています。
RSA演算器(暗号プロセッサ)で楕円暗号の試作実装
当時は楕円暗号の資料は少なくて楕円暗号を理解しているだけで自慢ができる世の中でした。 ICF3シミュレータでコードは開発しました。シミュレータはOpenICF3のサイトで公開されています。 こちら


5月7日 SnakeCubeシミュレータの配布準備

楕円暗号など巨大整数の四則演算を使ったシステムを考える人向け? 配布準備だけなので、本当に配布するのかは、考えているところです。
Verilogでの実装や、FPGAでの実装で、デバッグを高速に行えることを目的として、 SnakeCubeのC言語シミュレータは 作られています。このためDSPの入出力までシミュレーションしています。 マイクロコードの開発ではDSPのシミュレーションは不要です。 DSPのシミュレーションを省いて高速化をしました。
DSPのシミュレーションを省いた結果、SnakeCubeシミュレータのWindowsバイナリを 配布しても、リバースエンジニアリングでSnakeCubeのモンゴメリ乗算器の構造が、 漏れることはなくなりました。
つまりSnakeCubeシミュレータのWindowsバイナリを配布しやすくなったので、 楕円暗号のアルゴリズムや、新しい暗号アルゴリズムの利権者、 サイドチャネル耐性のあるコードの利権者の方で、興味がある人があれば、 ご連絡いただければ、参考程度には使っていただけるかもしれません。
まともなドキュメントは期待しないでください。 まだFPGAによる性能の検証が済んでいない状態です。


5月7日 本日の作業報告

パソコンのファンが壊れたためファンの交換作業をしていました。 あとは眠らされていました。 頭痛を緩めて、眠気と疲労で動けなくする方針に変更したようです。


5月6日 Verilog版のSnakeCubeの開発(1)

作業報告です。それ以上ではありません。既に一度、作った設計図と 仮組したVerilogのコードがあります。暗号プロセッサとモンゴメリ乗算器の 接続部を追加してマイクロコードが動くものを作っていきます。
長い時間、眠らされていました。長い時間、眠った結果、頭は起きたみたいですが、 ときどき横隔膜が、イビキかくことが。完全に起きていてイビキをするなんて、 普通ではあり得ない。


5月5日 新命令追加で4.5%性能アップ

暗号実装の研究者向けの話。前回の日記の続き。 C言語のシミュレータで動作が確認されました。RSA 2048bitで4.5%の性能アップしました。 何がうれしいのかと言えば、この新命令、XilinxのFPGAでいうと、たったの1 LUT追加するだけ。 しかもディレイの緩いところだったから、どのデバイスに移植をしても楽々。


5月5日 比較減算のないモンゴメリ乗算専用命令

暗号実装の研究者向けの話。 現状のSnakeCube のアーキテクチャのまま比較減算のない改良型モンゴメリ乗算を実装するには、いろいろと厳しい。 このため昨日の日記で比較減算のない改良型モンゴメリ乗算の アルゴリズムをSnakeCubeでは採用しないと書いたのですが、 専用命令をオプションで追加する方法を考えました。
改良型モンゴメリ乗算のアルゴリズムを使うとRSA 2048bitで約4%性能が上がります。 ただ鍵長が大きくなるにしたがって性能改善率が下がっていきます。 実測してみないとわからない数字になりますがRSA 4096bitで2~3%です。 RSA 8192bitでは0.5~2%になってしまうので1%未満の性能改善のために 専用命令の追加は厳しいかもしれません。
ただし専用命令の追加は簡単なので当面のRSA 2048bit、4096bitのために 専用命令を追加することは、ありそうです。
専用命令無しで改良型モンゴメリ乗算のコードをシミュレーションして乱数テストしていますが、 数時間の実行では、正しい計算結果を出力しているようです。


5月4日 ICカード向けSnakeCubeの最適化

用途ごとに最適化をすれば機能、性能が改善されるのは当然です。 しかし最適化にかかるコストより改善によるメリットのほうが大きいのかは別問題。
今日、この日記で説明するICカード向けの最適化はメリットが大きいと考えられる人があるかもしれないと 思ったので話すことにしました。
ICカードでは中国人剰余定理(理論4倍の高速化)を使う場合、 きちんと脆弱性対策されたマイクロコードにする必要があり実質性能が2倍未満という研究がありました。
SnakeCubeで中国人剰余定理を使わないRSA暗号のみでいい場合、 データレジスタ1024bit×16本が不要になります。 つまり巨大な鍵のRSA暗号専用のICカードならSnakeCubeが割安になるだろうということです。 RSA暗号が解読される心配を考え楕円暗号も動作するようにするためにはデータレジスタは必要です。


5月4日 マイクロコード改善でRSAの性能が向上

4月22日の日記 でマイクロコードのサンプルを公開しました。 ICF3(1999年)やSnakeCubeの命令コードにはAとDのレジスタをスワップする機能があります。 ICF3(1999年)の製品出荷版では、このスワップ機能を使って性能を改善していたのですが、 先日公開したコードで使っていなくて性能がでていませんでした。 スワップ機能を使うと数%の性能が上がり、そしてRSA(CRT無し)演算中に、 一度もデータレジスタにアクセスすることがなくなります。 ICカードの実装では面積が小さくなる可能性があるような気がします。


5月4日 モンゴメリ乗算アルゴリズムの比較減算

暗号実装の研究者向けの話。ICF3(1999年)は1サイクルで比較減算ができるハードが売りでした。 モンゴメリ乗算のアルゴリズムの改良型が発明され2008年のDesignWave(CQ出版)で解説がされました。 SnakeCubeでも改良型のコードにすれば0%~数%の性能が向上するという予測を最近、日記に書いています。
ところがSnakeCubeでは全く性能が上がらないということがわかってきました。
SnakeCubeには1サイクルの遅延分岐あって、ディレイスロットにレジスタの切り替えと 比較減算の処理を同時にしています。つまり比較減算がなくなっても実行時間は変わらない。
これがCPUだと遅延分岐をしない方法を考えるのかもしれません。 SnakeCubeのような暗号プロセッサでは命令コードが全体にブロッドキャストされる アーキテクチャなので遅延分岐が実装上都合がいい。
デバイス(FPGA,ASIC)ごとに配線遅延対策をすれば、性能を向上させることは可能かもしれません。 しかし、数%の性能向上のために設計コスト増大、コードの互換性の問題が生じます。
SnakeCubeでは比較減算のない改良型のモンゴメリ乗算のアルゴリズムは、永遠に使われない可能性がある。


5月3日 Verilog版のSnakeCubeの開発開始

C言語版シミュレータで開発した動作検証環境を、そのまま使えるVerilog版のSnakeCubeの開発していきます。 さまざまなテストデータの動作検証が自動的に行われる仕組みを、最初から考えてVerilog版にしていきます。
自作の動作検証環境で、ちょっといいかもと思ったのは、 SSD(フラッシュメモリ)にインストールされたPerlのないWindows環境でも快適に動作することかも。 Verilogの入った自作1CD Linuxでも動作するので、任意のx86マシンで、オフラインのまま動作検証が可能。
新しい人は自作するよりXilinx Vitisとか使ったほうがいいのかもしれない。 僕はVitis一度も使ったことがないので、わかりませんけれども。


5月3日 SnakeCubeの動作検証が、うまくいっている

SnakeCubeのC言語版のシミュレータでRSA暗号を演算するコードが、任意のデータで、 正しい計算結果を出しました。つまり両極端な入力データや1が続いたり、 乱数になったり、0が続いたりなどの乱数のテストが何時間も動作しつづけている。
昨日、頭痛で数時間しか作業ができませんでしたが、頭痛がなければ数倍の速度で作業が進みます。
売り上げの見通しも立てずに開発が進められるのは、僕が作業をするだけで完成するからです。 頭痛のある現状では、例えば1年で完成するところが3年かかるということなのかと。

今日も頭痛で動けなくなっている時間が長い。左目をつぶらないと文字が読みにくい。

16:00 頭痛が良くならない。


5月2日 市内に有名ICカード企業が

本気で考えることもないですが、狙ってはみたい。
僕が社長の会社、(株)iCanalから徒歩20分(1.9km)に大日本印刷の狭山工場がある。 大日本印刷といえばICカードのメーカとして有名な企業。 これまで一度も行ったことがないですけど狭山工場でSnakeCube を搭載したICカードを製造すると地域経済活性化とか。そういう方向も考えられるのだろうか。
参考まで、僕がnoteに投稿したブログ
「クレジットカードのICチップの高速化」
ちなみに数キロ離れたところが東京オリンピック2020のゴルフ場なので 東京オリンピックのついでに僕の会社を見に来るとかできそう。


5月1日 大型コンピュータの回路シミュレーションの話

FPGAを搭載した基板を自作できそうか、考えていることもあり、FPGA業界の人の視線が厳しい? 1996年の話をします。僕は開発本部(事務所とも言う)から日立の技術開発部に派遣された。 技術開発部は大型コンピュータだけでなくスパコンなどの高性能基板も扱う部署だった。 派遣先の机に僕のためのパソコンがなくて、派遣先の東工大卒の先輩に秋葉原にいっしょに 行ってもらってMacを自費で買った。 派遣の目的はディレイ検証のためのデータを回路シミュレーションで得ることだった。
僕がプログラミングが得意だったことから技術開発部の課長(中央研究所出身)が 途中で仕事をノイズ評価に変更した。技術開発部は電気屋なのでプログラミングが あまり得意ではなく、高精度なノイズ評価を、短期間に行うことができたというのが、 僕の成果。
僕の席の近くではGTLや差動回路の実測実験や回路シミュレーションをしていたようです。 事業部長直属の年輩エンジニアの先生もいたのですが技術開発部と系統が違う様子。 両方から回路シミュレーションをいろいろやるように言われました。
回路のインピーダンスが違うものをつなげると波形が反射してノイズが発生するのですが、 それを抑えるためにクランプ・ダイオードを入れた回路シミュレーションをしてみようとか。 事業部長直属の年輩エンジニアに言われたり。系統が違うせいか、結局、やらなかったのですが。
僕も、少しはI/Oのアナログ的な話もわかる。ということなのですが、 僕に必要な基板設計では、計測I/Oは、全くなくてパソコンのUSBがつながればいいだけの 基板なので、自作できるか、探っているという状態。


5月1日 SnakeCube動作検証環境の構築

作業報告です。それ以上ではありません。 SnakeCubeのC言語版シミュレータが完成し、乱数のテストデータによって動作検証をしています。 単なる乱数ではなく、両端の値を重点的にテストできるようなプログラムを作りました。
Linux/FreeBSD/WindowsなどOSに依存せずにSnakeCubeの動作検証ができることが、いいところ。 サイバー攻撃がなければ、こんなに重いことをしなくてもいいのかも。
CentOS7に最新のCコンパイラを構築するのが、かなり大変だということに気づいて、 何か、いい方法がないか探索。FedoraがオフラインインストールのみでCが使えるのを見つけました。 makeコマンドだけソースからコンパイルすれば動作検証環境ができあがります。 WindowsではPerlがないため、Perlを代替するC言語プログラムを作りました。 大量シミュレーションでフラッシュのようなファイルシステムを傷めないような 仕組みをプログラムしています。
単純な除算・余算の乱数テストはパスするので、次はRSA暗号の演算。
SnakeCubeのシミュレータは標準ライブラリのみで作られていて、GNUのライブラリとか、 一切使っていないのでWindowsのバイナリ配布とか、その気になれば、できるという状況。


4月30日 暗号プロセッサの仕様で何が難しかったのか

そもそも暗号プロセッサは専用演算器(モンゴメリ乗算器)に最適化されて設計されるものだった。 つまり専用演算器を取りかえることができるような設計にはなっていなかった。 ICF3(1999年) の例でいえば暗号プロセッサは専用演算器にループ数を変更できるカウンタと、 シフトレジスタの機能を提供している。
ところがループカウンタとシフトレジスタを専用演算器側に移すと、 専用演算器(モンゴメリ乗算器)を、取り換えることが可能な部品とすることが、できるようになった。 逆数演算器についても、モンゴメリ乗算器の基数に応じた、ほんの少しの変更だけで対応が可能。
暗号プロセッサと専用演算器(モンゴメリ乗算器)は、密接につながりつつも、 暗号プロセッサの命令セットアーキテクチャに専用演算器(モンゴメリ乗算器)の アーキテクチャの違いが表れないような方向を考えることができるようになった。
デバイスごとに用意された、どのSnakeCubeでも、 完全に同じバイナリが動作することは、難しいと考えていますが、命令セットアーキテクチャのサブセットでは、 ソースレベル互換が可能だとか、少しの修正で別のSnakeCubeにコードを移せるなどの メリットは、あるように思っています。

これまで、FPGAに26×17の乗算器があっても16×16の乗算器としてしか使えず、 乗算器の性能を十分に引き出すことができていなかった。 しかし16×16の乗算器であれば移植性の高いIPを作ることができた。 SnakeCubeではデバイスの持つ乗算器を最大限に活かしつつ、IPの高い移植性も実現することができる。 ASICであっても、あらかじめ用意された最適な乗算器を使ったほうが、 コストと効率面で、いい場合はあるでしょう。 ASICでは要求性能に合わせて面積を小さくできることのほうが便利かもしれない。
SnakeCubeはデバイス(FPGA、ASIC)の持つ乗算器の性能を 最大限まで引き出すことができて、しかも、プログラムの移植性が高い。


4月30日 暗号プロセッサのIPビジネスが立ち上がるかも

僕は2年前に高性能、高効率なモンゴメリ乗算器を発明しました。 これに20年前に僕が発明している暗号プロセッサを接続して、 暗号プロセッサのプログラムが書けるように仕様を決めて、 その実装(SnakeCube)をIPとして販売する会社ができるかも。という話。
この話ができるようになったのは、FPGAのような各社が独自仕様のDSPを出している状況でも デバイス非依存な暗号プロセッサというものが、作れる見込みが見えてきたからです。
SnakeCubeのアーキテクチャは実装し易く、 またモンゴメリ乗算器の基数によって面積と性能を制御できる。 IPとしては、CPUと比べて扱いがいいのではと思います。
日本の半導体シェアが50%から7%になっていることがニュースになっている現在、 暗号プロセッサIPのファブレス企業を、日本に爆誕させて経済を回せるようになることを 目標にできるようになった。そう考えています。


4月29日 全身筋肉痛で寝ていました

脳直結回線により脳を破壊することも可能なようだが、まずは脳を痺れさせて、 外傷を最小限にとどめることをやられている。 痺れ率、20%とか、かなり細かい制御が可能。僕の行動が痺れで雑になるのと、 記憶が揮発していく。全体的な揮発と、酒の飲んだ次の日、前日の記憶がないとか、そんな感じの揮発。
外傷はなくても、文章を読む、速度が著しく低下している。 半導体関連の記事を読んでいるときは、ゆっくり読めば、読める。 しかし、文学作品とか、とくにカタカナが10文字以上の単語が、読めない。 1文字に1秒以上かけて、ゆっくり読む必要がある。
相変わらず左目をつぶらないと作業ができないことも多い。 脳直結回線を、いじるような奴を、どうにかして、痺れ率0%、すべて0%にしないといけないのですが。
すべて0%になったときの脳の損傷率が気になる。


4月28日 昨年、UART回路を自作していた話

SNSをしていると論理回路の話が目に入ってくるので、この日記を書いているという状態。 UART、昨年、いろいろ研究をしていました。そのときの日記にも書いてあるのですが、 もう1年以上の前のことで、日記を1年以上遡って読む人は、あまりないだろうと思ったので、 少しだけ話してみます。
送信回路のクロックと受信回路のクロックが微妙に違っていて、徐々にズレることは あるような気がしたのでズレを補正する回路を作りました。この日記で回路図を公開しています。 XilinxのFPGAでしか動作しない回路図ですけど。
ちなみに僕はICF1(1997年)、ICF2(1998年)で通信回路の担当でした。UARTではないですけど。 既存の回路を修正するだけだったのですが、ICF1、ICF2、いずれも僕が不良を作ってもう一度、 LSIを作り直すということをしています。不良でLSIを作り直すと、お金がかかるので、 どうして不良になったのか原因を詳しく説明できる記憶は残っています。 ただ長くなるので、ここでは辞めます。 ICF2の話をちょっとすると「怪しいから確認して」と言われながら不良になっています。 つまり、わかっていても難しいところだった。


4月27日 SnakeCube動作検証環境の整備

verilogでハードを作る予定でしたが、まだSnakeCubeの動作検証環境のための プログラミングとなっています。単純な乱数テストでは検証精度があまりないので、 コーナーをつく乱数テストができるような乱数生成とテストプログラムの作成。
長時間乱数テストによってテンポラリファイルが無尽蔵に作成され、削除され、 フラッシュのファイルシステムが痛むので、データの受け渡しに 標準入出力を利用するように変更。 いちいちRAMディスクを作成する手間がなくて便利。 パイプが使えるOSならMS-DOSなどの古いOSも使えるようになるはず。 MS-DOSの32bit C言語環境を作る暇はないのでMS-DOSはしないと思いますが。 一つのOSに依存する脆弱性を攻撃されないように。です。


4月26日 頭痛が止まらない

僕の脳の半壊は、あまりいい状況にならないと思っています。

2:00AM 頭痛、痛い。何もできない。

2:30AM 頭痛、痛い、痛い、痛い

3:00AM 頭痛、痛い、痛い、痛い

11:00AM おはようございます。 頭痛は朝方まで続いていましたが、眠ってもいました。ようやく、ほぼ平常に戻りました。

3:30PM 痛みはなくなったが、まだ頭が痺れていて ネット上の記事が常人の10%くらいの速度でしか読めない。

21:30AM まだ頭は少し痺れていて調子は良くないが作業開始。


4月26日 ICチップの物量は制御できる

SnakeCube をICチップにすることを考えると要求性能に対して速すぎることはあるかもしれない。 性能を落してチップの面積を小さくしたい場合もあると思います。 そういう設計が、とてもやりやすいかもしれない。 モンゴメリ乗算器の基数2^17を増減させるだけでできます。 暗号プロセッサのマイクロコードのほうは、設定した基数に応じて ループ数と初期設定値を変更すればいいのです。 数日前のこの日記「 SnakeCubeのRSA暗号のコード公開(4月22日)」 のPDFが役に立つかも。


4月25日 今日も頭痛で作業が進んでいません

目を開けているのが辛い。遠隔から脳を制御して、 さまざまな妨害をしてくる奴が活動を停止していないのです。 僕が知っている、こういった事例では、日立の中央研究所に同期で入った 東北大の修士卒の人がいます。会社に入ってすぐにある新人の工場実習、 茨城県茂原市で大型テレビの生産ラインに入ったのですが、その同期がリタイアしました。 寮から毛布にくるまれて出ていく姿を見た記憶が。僕の、そばにいた同期の文系が、 「壁から声が聞こえる」といいながら怯えていたと解説してくれました。
国立大学だから安全というわけではないのかも。


4月24日 特殊電子回路(株)がPCIeカードを作るみたい

特殊電子回路(株)の社長「なひたふ」さんがPCIeカード作るよ、 というツイートがあって、やっぱり見てみないと、いけないんだろうなと思って、 「なひたふ」さんのサイトを拝見させていただいています。
Artix-7のPCI Express基板を作りたい
技術以外の問題を、どうにか考えないと、という話になるのかと。
「なひたふ」さんはFPGA業界では、とても有名な方なんだと思います。 経歴を簡単に説明すると東工大から東大の大学院に入って日立の関連企業(日立電子サービス)に入って 日立を退職。この関連企業、僕のいた大型コンピュータの事業部とつながりが強い企業なのです。 当時の日立のルールで各事業部は、関連企業を2つまで持てるというものがありました。 その2つのうちの一つが日立電子サービスです。
つまり僕の日立時代の上をたどってたどりつくところと、 「なひたふ」さんの日立時代の上をたどってたどりつくところが、同じみたいな。
この意味するところを払拭できる、お話ができばいいなとは、思っています。
ちなみに僕が1996年?にアメリカのサンノゼのAMDの本社前のホテルに3か月滞在したとき、 僕の身の回りの世話をしていただいたのは日立電子サービスの方。
技術的な話をすると、僕が考えている基板はDIGILENT Cmod A7-35TかCmod S7-25Tです。 仮決めなので、これから、どうなるかは、わかりません。 通販でCmod A7が約1万円、Cmod S7が約9000円という価格のようです。 どちらもPCIeではなくUSBです。サーバで使われるPCに刺せるPCIeの数は、少ないと 思っていて、まずUSBかなと考えています。SSLアクセラレータが完成するなら、 欲しいというところがあれば、ご意見いただけると、助かります。

「なひたふ」さんのPCIeカード、最初はArtix-7の一番、 安いXC7A15Tを搭載する予定だったみたいで、これに僕の8bit CPUのオープンソース Zeviosを搭載して コストパフォーマンスの高い装置を開発するということも考えられるかと思いました。 数千以上の量産品を考えないとコストパフォーマンスは得られないとは思いますが。
Cmod A7、S7でもZeviosで、遊ぶことはできると思いますけど。 将来、ASICにするマイコンのプロトタイプを、作るとか。 Zeviosは将来、産業に影響を与える可能性があると僕は思っているので、 暇なときに、コンピュータ・サークル関係の人が、自作して楽しみながら、 公開して、有名人になってほしいなぁと。
とても言うのは、心苦しいのですが、税金が投入されたCPUとか、 頭が高い人達が大勢で作ったCPUを、一般の人が使いたいと思うのだろうか。 長期的なことを考えると厳しいと思います。 この8bit CPUは、これまでのCPUとは違うと思います。 そのことを一般の人にも知ってほしいと思っています。


4月24日 僕の基板設計の経験

最近、ソフトウェアの話が多かったので、知っている人は 大勢いると思ったのですが、基板設計の話をしてみます。 僕には大型コンピュータの基板設計の実務経験が数年あります。 成果物は大型コンピュータとしては中型で、その中型の中では 最上位機種の基板の配線長を設計しています。 これには電子回路シミュレーションによるノイズ評価が必要で、 電子回路シミュレーションと、そこから得られたデータを使って 数百本の配線長を計算するプログラムを作っています。
基板設計の後も、事業部長直属の年輩のアナログエンジニアの方に、 配線の(電磁気学的な)表皮効果のための電子回路シミュレーションなど、 教えていただいています。 毎週水曜日は定時退勤日で、工場に勤務しているほとんどの人が 定時に帰る中、熱心に個人授業していただいたような気がします。
1997年のICF1は、僕がリーダーだったのですが、LSIが事業部に 届いて電源まわりの波形が、ちょっと変だという連絡を受け、 水曜日、みんなが定時退勤していくなか、 LSIの電源部にプローブを当てるだけの手伝いをしたりしてました。
その後、すぐに潰れてしまったプロジェクトですが、 IBMのPCI暗号カード4758の互換カードを作ろうというプロジェクトに 入って、PCIexpressの英文の仕様を読むだけ、読んでいました。
僕は、言ってみれば東大卒、御用達のエンジニアとして、 開発したものが製品出荷される立場にありました。
日立の技術開発部にある技術が僕に無制限に流入する ということはなく開発に必要な最小限の技術が入るという仕組み。 暗号LSI ICF3の論理設計では、Carry Save Adder (1ビット全加算器のうまい使い方みたいな)が、入っています。 そして、RSA暗号の演算器を設計する前に設計していたMulti2暗号 の設計を開始するときに、入ったものでした。少なくとも、 RSA演算器設計中に、タイミング良く、Carry Save Adderを会社が 注入したということではない。それ以外は、入っていない。
少し脱線しましたが、基板設計の経験があるという話でした。

蛇足 僕は大学では文化際(早稲田祭)でプラネタリウムの ステッピングモーターの制御基板を設計、はんだづけをしてます。 先輩からは「とにかくステッピングモーターはトルクが小さい。」 「ユニポーラ駆動で作った」「秋葉原の秋月電子のキットがいい」 という情報をもとに、秋月電子の店の前に並んでいた、 恐らくジャンクのステッピングモーターをバイポーラ駆動させる プラネタの制御基板を作り、文化祭初日から動かした、 ということもやっていたなぁと。 (制御基板とNECのパソコンPC-98を接続する8255ボードは借り物。 誰が貸してくれたのか、よく知りません。多分、大学だったんですよね。)

Carry Save Adderは、現在開発している SnakeCubeでは僕の発明した Segmentation Adderに 置き換わっているので設計に日立に由来するものはありません。


4月24日 電子書籍を3万円分買ってしまった

昨日は、頭痛でほとんどなにもできない状態でした。 作業できないので電子書籍を30,513円分(48冊)購入してました。 ONE OUTS 6冊(15巻~最終巻)を購入して、あとはR18の過去作です^^;


4月23日 高速化の秘密はパイプラインなの?

本日、Facebookに投稿した内容の転載
4月5日に投稿した僕のブログ 「巨大整数用四則演算プロセッサSnakeCubeが高速である秘密」 ですが、高速である秘密はパイプラインと思う人も多かったかも。 そしてパイプラインというキーワードから思い浮かべるのは、今では、 いい教科書があって誰でも簡単みたいな状況なんだろうと思います。
暗号プロセッサではCPUアーキテクチャとは、 ちょっと状況が違うという説明をしようかと。

暗号系の演算で多いのは演算した結果を次の演算に使う、 そしてそれを繰り返すというものが多く、CPUアーキテクチャの パイプラインでは、Interlockしまくります。
そこで演算した結果をフリップ・フロップを入れずに、 次の演算開始のフリップ・フロップに入るようにするのです。 フリップ・フロップを入れてパイプライン化をしても、高速化されないので、 パイプライン化せずにフリップ・フロップを入れなければ、 フリップ・フロップを通過する遅延時間が、削減され高速化されます。 これが一般的な技術。(あまり問題になることはないと思ったのですが、 ここに他人の設計の種明しが入っていたので削除しました)

僕の暗号プロセッサSnakeCubeは、僕の発明したSegmentation Adderで超並列的に加算、 そして、強引にパイプライン化をしています。 FPGA(ASIC)の多数の全乗算器が持つ理論限界の50~80%まで出せているのではなかと考えます。 場合によっては理論限界の100%に近い数字が出せるものも、 作れるようには考えますが、それは全乗算器を100%にすることしか考えない アーキテクチャなので、暗号プロセッサの製品としては、いいものではないのかも。 具体的な話をするとGPUのようなスレッド化をすれば、理論限界に近づくかもしれないですが、 スレッド数の多いプロセッサは、スレッド数を満たすジョブがないと、やっぱり効率が下がるので、 乗算器だけ理論限界にしても、意味がないということになるのです。

まとめ。自分でいうのもなんですが、SnakeCubeは、とても良くできた 暗号プロセッサのアーキテクチャということでした。


4月23日 SnakeCubeのシミュレータが完成

FPGAに実装するための期待値を作るには十分なシミュレータが完成したということで、 これからverilogでXilinx FPGAに実装していきます。 一度、全てのパートを見て部品を作って、シミュレータで期待値をしっかり作れる準備をして、 これから本番の組み立てに入るという状況です。最近ICチップの話をしていますが、 SSLアクセラレータで論理を十分に検証することが先だと思っています。
でも今日、一日、頭はフラフラするし、目の焦点が合わないし、お腹はなんか痙攣するし、 どこも致命的ではないけど、そういうことやっている人の気が知れない。あまり作業、進んでいません。


4月23日 日立ICチップの論文をわかりやすく説明

この論文は数学でRSA暗号を4倍高速にする 中国人剰余定理をICチップで使うと脆弱になるから数学で対策するとルネサスの 実際のチップで1.69倍になる方法が示されています。(←メモリの物量は増えている)

SnakeCubeの発明によってハードの性能は少なくともICF3(1999年)と比較して4倍以上は 高速化されている。ハードの物量が増えているのでSnakeCubeの数学だけで、 どのくらいかわからないですが、数倍は数学だとするとSnakeCubeが優れる。 そしてハード高速化の方法によっては物量が増えて実装できなくなる場合があるが、 物量が増えても実装できるアーキテクチャがSnakeCubeの特長。

実は、この論文とSnakeCubeは併用できるものなのですが、 米国の評判を考えるならSnakeCubeになるのではないだろうか。


4月23日 追記しました

日記、「日立中央研究所のICチップの論文」に追記しました。 (中国人剰余定理を使わない僕のSnakeCubeのほうが米国では、評判がいいかも)


4月23日 日立中央研究所のICチップの論文

言いたいことは1999年に世界一高速だったRSA暗号LSI ICF3が闇に葬られていたということ。
1994年、僕が日立製作所の中央研究所に入ることになって、大学の先生に 電子情報通信学会に入っておいたほうがいい言われたので日立を辞めるまで会員(会員番号9402020)でした。
ツイッターのタイムラインに電子情報通信学会が論文を無償で公開しているという ツイートがありました。釣られて電子情報通信学会の論文の検索を始めました。 次の論文が見つかり、これは有料だったので、論文のPDFを1,650円で購入しました。
「中国人剰余定理を用いた耐タンパー RSA 暗号処理方式」(電子情報通信学会論文誌 2004/4 Vol. J87-A No. 4)
2日前にも徳島大で論文データ不正というニュースがありました。 ですので学会の論文を鵜呑みにしないことを決めています。
この論文の取り上げている、海外の研究者のサイドチャネル攻撃の方法については、 重要かなと思いました。それはサーバ向けの高性能暗号ハードの研究を続けている僕ですが、 先日、クレジットカードのICチップにも、良さそうだということを言い始めたからです。
有料の論文なので詳しいことは書きませんが、この論文で提案している方法が、 実際にどのくらい有効なのか、ちょっと詳細に検証してみないと、わからない。 論文にある実測値と測定環境から役に立つレベルにあるようですが、 提案方によって、プログラムやメモリの消費量も増大しているので、 それが現代の環境でやってみると、もう少し増大してしまうと、 僕のSnakeCubeで大きな鍵を計算できるようにしてしまったほうが、いいのかもという状況です。
ICチップの安全性を高めるため耐TA性を向上させるには、入力値や秘密鍵によらず、 べき乗剰余演算全体の処理時間を一定化することと書かれてあって、その例として 海外の論文(2002年)しか挙げられていなかった。
僕の1999年のICF3のほうが、先に製品化され、世界の銀行に納品されているのに。 ICF3が闇に葬られている。と思いました。 ICF3の開発は、僕の他に中央研究所を経由して大型コンピュータ事業部に転勤した 2人が関与しています。1人は設計リーダで、まとめ役とIBM CPUとのI/F論理設計。 もう1人は、シミュレーションによる検証チームのリーダ。 演算器関係の実際の設計は、DES暗号を除いて、ほとんど僕がやっています。
あまり関係ない話ですが、論文を書いた人のうち、一人は僕と同じ大学の2年上の先輩で、 僕と同じ電気工学科(←昨日、会費振り込みました)。中央研究所で直接、会ったことがあるかも。

4月23日 7:10AM 追記
この文章を読み返すと論文に、僕のSnakeCubeをぶっ潰す方法が書かれていると 期待する人があるかもと思いました。 そうではなくてICチップみたいなデバイスでは、中国人剰余定理を使うと、 ICチップ内のプログラムで、あれこれ対策しないといけないと書かれてある。 その対策案が書かれています。
僕のSnakeCubeは、中国人剰余定理を使わなくても、僕が考えたハードウェアが 高速なので問題ないということ。
高性能サーバ向けの暗号装置では、ふたを開けると、秘密鍵が消えるとか、 十分なタンパー対策がされているので、この論文にあるような数学で 対策することもなく、数学で対策するとリソースの消費量が多くなったり、 計算時間が2倍以上になったりとデメリットも多いのです。 つまりICチップみたいなところで、デバイスによっては、役に立つことがあるかもということなのかと。
ICチップで中国人剰余定理を使うことによる脆弱性を数学によって対策するのか、 僕のSnakeCube、高速に演算できるハードウェアのアルゴリズム(数学)の発明によって問題を解決するのか。 (中国人剰余定理を使わない僕のSnakeCubeのほうが米国では、評判がいいかも)


4月22日 SnakeCubeのRSA暗号のコード公開(4月22日)

SnakeCubeのシミュレータは、まだ動き出したばかりで、その雰囲気がわかる程度ですが、 マイクロコードのサンプル(1024bit べき乗剰余演算、つまりRSA2048)をPDFで公開します。
この目的は5Gで使われることになるXilinxのFPGAに、大きな公開鍵暗号や、 新しい暗号アルゴリズムを、スムーズに採用できるように、やるだけ、やってみること。
べき乗剰余演算マイクロコード(4月22日)
4月19日に初公開、そのときの日記に少し解説があります。
差分は、XilinxのArix-7用のコードの他、Xilinx UltraScale用、Xilinx VERSAL用、 INTEL可変精度DSP用を追加しました。 Artix-7用のシミュレータで、UltraScale、VERSAL、INTELをエミュレーションしているというのが 正しい表現かもしれません。 UltraScale、VERSAL、INTELの順にエミュレーションの精度が下がります。 しかしUltraScaleは、サンプルでは同一コードになりました。 ほとんどのUltraScaleコードがArtix-7と同一になるのではないかと、今頃、気づきました。
シミュレータ(Windowsバイナリ)に興味がある方は、ご連絡ください。 特許があるような楕円暗号のコードとか、新しいアルゴリズムで利権を持っているような人とか限定です。


4月21日 シミュレータにVERSALモードを追加

5GにXilinxのVERSALが採用されたというニュースがあったのでXilinxのArtix-7用に開発していた SnakeCubeのシミュレータにVERSALモードを追加。 VERSALモードで開発されたコードが、修正することなくVERSALで動作することは期待できませんが、 かなり精度あるシミュレーションが可能だと思われます。
VERSALモードを追加して、気づいたのですが、デバイス(FPGA,ASIC)によって大きく違うのは新型モンゴメリ乗算器です。 暗号プロセッサと新型モンゴメリ乗算器を分離して、なるべくデバイスに依存しない暗号プロセッサのISAが、できそう。 つまりSnakeCubeがISAのブランドになるみたいな。 実際には、CPUと比べるとデバイスに依存する部分が、多く存在してしまうと思われますが、 デバイス非依存なコードのISAを、個々のデバイスのISAの上に、乗せることも考えられるかも。
新型モンゴメリ乗算器はArtix7だと基数2^17、VERSALでは基数2^23になるのですが、暗号プロセッサのコードから 演算器に基数に応じたループ数を入力するだけで、いいことに気づいたのでした。 初期値でRを乗算して余算するところも、数字を変更する必要がありますけど。
XilinxのUltraScaleモードも追加してしまいました。次はINTELモード。
さいさきがいい。


4月21日 Qiitaに投稿した記事を1つ削除しました

削除した記事はCrieitにも投稿しているので、興味ある方は、そちらに

Crieit記事「8bit CPU ATmega328の除算性能を測定してみた」


4月20日 SnakeCubeがIntel FPGAに実装できるか

Intel FPGAには多くのシリーズがあります。MAX10シリーズを除いて Intelは9x9、18x18、27x27のように、アプリケーションに応じて精度を変更できる 可変精度DSPを採用しているようです。SnakeCubeはDSPに積和演算の機能があれば、 効率的に実装できます。Intelの可変精度DSPは18bit×18bit+36bitがあるので効率的 に実装できます。ただしSnakeCubeで使っているモンゴメリ乗算は 乗算器のサイズに合わせてアルゴリズムを変形できるのでIntelの「可変精度」 は負担でしかなく、固定精度のXilinxが効率面で有利という状況です。


4月19日 SnakeCubeのRSA暗号のコード公開

SnakeCubeのシミュレータは、まだ動き出したばかりで、その雰囲気がわかる程度ですが、 マイクロコードのサンプル(1024bit べき乗剰余演算、つまりRSA2048)をPDFで公開します。
この目的は5Gで使われることになるXilinxのFPGAに、大きな公開鍵暗号や、 新しい暗号アルゴリズムを、スムーズに採用できるように、やるだけ、やってみること。
べき乗剰余演算マイクロコード
まだ5Gで使われることが予想されるVERSALではなくArtix-7を想定したもの。 このためモンゴメリ乗算の基数が2^17です。VERSALは2^23です。 プロセッサの周波数と乗算器の周波数の比は実装によって大きく違う値です。 このシミュレータでは8としています。 A×BとA×Aを同時にするタイプです。秘密鍵を1bitづつ演算しますが、 0と1で時間差が出ません。1サイクルもずれることなく同じ時間で演算します。
少しだけ解説すると、モンゴメリ乗算のアルゴリズムが発明された1985年以後、 モンゴメリ乗算のアルゴリズムの中にある比較減算が課題として考えられてきました。 1999年のICF3は、加算器を駆使して、ほとんどトランジスタ数を増加させることなく この比較減算と除算、余算ができました。SnakeCubeも、これと同じアーキテクチャとなっています。
モンゴメリ乗算のアルゴリズムの比較減算を削除した改良型も発明され日本の雑誌、 DesignWave(CQ出版)で解説された記事もあるようです。
1サイクルで比較減算ができるICF3アーキテクチャでは、この改良型は微妙で、 Rを少し大きくする必要があり、1ループ多く演算すると1サイクル多くなってしまって、 あまり効果がない場合もあります。しかし数パーセントか、それ未満か、 高速化されると思われます。 PDFのコードは普通のモンゴメリ乗算ですが、改良型も実装可能です。
XilinxのFPGAに実装して性能を測定することが最優先ですが、シミュレータ(Windowsバイナリ)に興味がある方は、 ご連絡ください。特許があるような楕円暗号のコードとか、新しいアルゴリズムで利権を持っているような人とか限定です。
MicrosoftやGoogleが提供するような開発環境とは、全然、違うものとお考えください。 現在公開中のICF3のシミュレータ で、コードを開発するような感じです。

SnakeCubeシミュレータは3年前オフラインでコンパイルできる環境を作っています。 オフラインのまま3年が経過している状況で、 つまり開発環境からシミュレータのコードが漏洩することはないと思われます。


4月19日 SnakeCubeのWindows版のバイナリをビルド中

雑談です。 昨日の日記のクローズドβテストに興味がある人があるかもしれないと思って SnakeCubeシミュレータのWindows版のバイナリをビルド中。 勢いあまってFreeDOSでも動かないか、ネットで検索してしまいました。 Windows95/NT4までは、ソースコードを、少し修正すれば、動くかもしれないというところまでで中断しました。
2004年ごろ1997年発売のMicrosoft Visual C++5.0 Professionalが欲しくなってヤフオクで購入したのですが、 最初1万円くらいだったのが、僕が落札するころには定価(約4万円)と同じくらいまで上がっていました。 7年前のCコンパイラの価値は、なくなっていて、安い値段で競り落とせると考えていたからです。 ちょっと熱くなって定価で落札したことを覚えているのですが、 7年前のCコンパイラの価値が、何なのか脳内漏洩していると、こうなるのかなと。
結局、7年前のCコンパイラを使ったことは、一度もないのですが、どうして買ったのかと言えば、 Windows98のデバイスドライバのビルドにMicrosoftのサイトでVisual C++5.0を使っていたことです。 Visual C++6.0でもデバイスドライバをビルドできるのですが、万が一のことを考えて、 Visual C++5.0を買っておこうと思ったのです。
あ、、、今日も、午前中、眠らされていました。


4月18日 SnakeCubeのクローズドβテスト(やるとは言ってない)

5GでFPGAが導入されるようで、商売を考えている僕としては、 SnakeCubeのクローズドβテストとか、考えたほうがいいのだろうか。みたいな。
EE Times Japanの記事
サムスン、ザイリンクス製「Versal ACAP」を採用
記事を読むと、「運用開始後に開発されたアルゴリズムや新規格への対応も柔軟に行う必要がある」
一昨日、日記に書いたSnakeCubeのシミュレータを関心があるところに提供すると、 スムーズに5Gとかで使われるとか、ないだろうか、考えました。
シミュレータをWindowsのバイナリで配れば、いいのかな。 マイクロコードの仕様がわかるとSnakeCubeのアーキテクチャが透けて見える。 ただ透けて見えるところは1999年のICF3のオープンソースで見えてしまっている。 新型モンゴメリ乗算器の機能、性能は見えても、中身は見えないです。

XilinxのFPGAに実装して性能を測定することが最優先ですが、興味がある方は、ご連絡ください。 特許があるような楕円暗号のコードとか、新しいアルゴリズムで利権を持っているような人とか限定です。


4月17日 午後、頭痛で寝てました

結局、丸1日、何もできなかった。今もまだ、脳内が痺れている、、、


4月17日 マイクロコード改善

昨晩から午前中、脳内の痺れが辛い。正しくは仕事をするには辛い。そのため仕事を諦めている時間が長い。 僕は手術を受けたことはないので脳を遠隔操作するための端子が埋め込まれている可能性はない。 これから僕と同じように、知らないうちに脳操作、脳破壊をされる人は出てくるでしょう。 頭痛が止まるのなら、こんな話はしないと、いつも言っているのです。 今も左目をつぶって、この日記を書いています。
僕の自覚では、脳内の配線がズタズタに引き裂かれている感じ。 さすがに左手を動かそうとして右手が動くことはないが、左手を右手と呼んでしまうことはある。 このため、左手か右手かを発音する前に、どちらの手なのかを判断することを確実にすることを決めている。
コンピュータで言えば、今までサブCPUで処理していた動作をメインのCPUで処理するような状態。
僕を監視していると思われる人物が、僕の花粉症が治ったことに気づいたようです。 30年以上前に花粉症になって以来、一度も状況が改善したことはなかったのに、いきなり花粉症が治る。 この古くからある未来科学があれば、医療の役に立つのかとか。 あるいは、人工的な花粉症だったのか、あれこれと思うのです。 コロナの緊急事態を考えて、人工花粉症が漏洩することを承知で、やったのかなど。
とても長い前置きになりましたが、SnakeCubeの昨日のマイクロコードを改善して約2パーセント、性能が上がりました。 というより、頭を悪くされたせいで、最初、性能の悪いコードを書いてしまったのかも。
2パーセントくらいなら大きな問題にはなりませんが、200パーセント、 300パーセント違ってくることはあると思うのです。
脳破壊で仕事をできなくして、僕からSnakeCubeの仕事を外部に出すことを、考えているのなら、 僕は仕事を出すことではなく、SnakeCubeが停滞することになるだけだと考えています。
脳破壊を止めさせる方向になればなと。


4月17日 XilinxのVERSALでSnakeCubeが動くか

VERSALはXilinxの高性能FPGAで5Gに採用されるようです。 5Gで大きな公開鍵暗号が使われ、性能が必要になればSnakeCubeを考える人があるかも。
SnakeCubeは低基数のモンゴメリ乗算器ですが、従来の研究では 周波数を上げるためCarry Save Adderを使っていました。 これは累積加算をするために鍵長のレジスタが2本、必要になります。 これでパイプライン段数を増やすとトランジスタ数が増大してしまいます。
僕の発明、分割加算(Segmentation Adder) では、累積加算のためのレジスタが1本で実現できます。
このため累積加算のレジスタがFPGAのDSP内にあるレジスタに収まってしまうため、 FPGAでも効率的に演算できます。
累積加算のレジスタが1本になると演算データ系のクリティカルパスが Carry Save Adder 1個分、短くなる効果があり、周波数を上げるのに効果があることもあるでしょう。 別の部分がクリティカルパスになる場合が多い予想ですが。
従来の研究にRNS(Redundant Number Systems/Residue Number System)があります。 SnakeCubeはRNSとは異なります。RNSではDSPの乗算器24×17を16×16の 乗算器として使う必要があるため効率が悪くなります。 僕のSnakeCubeは24×17として使うことが可能です。

前置きが長くなりましたがXilinxのVERSALのDSPの乗算器は26×23ですが、 SnakeCubeに26×23の乗算器として使えます。 VERSALのDSPは「DSP58」ですが、これまでの「DSP48E1」をベースに AI向けの拡張がされているようで、つまり同じようにSnakeCubeを効率的に実装できます。
僕以外のSnakeCube代理店みたいなのは、存在しないので、 Xilinxに行ってみたほうが、いいのかなと思ったり。


4月16日 暗号プロセッサのシミュレータが動いた!

暗号プロセッサSnakeCubeの C言語によるシミュレータが動き出して1人で歓喜を上げています。 RSA暗号の署名(CRT無し)のマイクロコードがシミュレーションで正しい演算結果を出力しました。 SnakeCubeが思ったより早くできそうだということです。
当初、C言語のシミュレータはverilogによるSnakeCubeシミュレータのための期待値を 作成できればいいと考えていました。 プロセッサの周波数とモンゴメリ乗算器の周波数が異なるためC言語によるシミュレータは、 完全なものが作れないと思っていたからです。
ところがほぼ完全なシミュレータとなりました。 そして演算器のビット幅を可変にできるので、SSL用SnakeCube、楕円専用SnakeCube、 巨大公開鍵暗号用SnakeCubeなどのシミュレーションが、できます。
C言語版シミュレータをWindows10の実行可能バイナリにして配布して、 新しい公開鍵暗号のマイクロコード開発をすることも可能になると思います。 SnakeCubeはクローズドなので当面予定はありませんが。^^;
ちなみに1999年のICF3はOpenICF3のサイト でC言語シミュレータのソースコードを公開しています。 1999年のICF3はモンゴメリ乗算器がシンプルなのでC言語のシミュレータで、ほぼ完全なシミュレーションが可能です。


4月16日 パソコンに搭載されているTPMチップ

TCGは、どうなの?という人があったので。 2004年頃、日立のパソコンFLORAが、まだあった。 TPMチップはOSをセキュアにブートさせる機能などがある暗号チップ。 1個、1ドルか2ドルくらいのチップが日立のパソコンには搭載されていなくて 日立のパソコンが撤退に追い込まれた。
僕はまだ日立にいて、僕のいた部署はTPMチップが搭載されたHPのパソコンを 導入推進する側でした。それでTPMチップについて、ちょっと勉強していました。
ノートパソコンに搭載されるTPMチップでVPNの認証をするとか。
さて、量子コンピュータによって大きな公開鍵暗号の需要がでてきました。 企業向けのパソコンでは、大きな公開鍵暗号が演算できるTPMチップが売れるかもしれない。
僕のSnakeCubeと、 僕の32bit CPU ICF3-V(設計中断)でTPMチップを作れば、 公開鍵暗号以外の性能を追求しなければ演算系の論理設計の知財は、ほとんど僕の知財で作れると思う。
パソコンに搭載するTPMは1ドル2ドルで価格が安いけど、 それでもなんとかなるTPMチップが開発できるかもしれない。
ICF3-Vは、1999年のICF3(暗号プロセッサ)をベースに作られている。 8bit CPU ICF3-Zは、 制限の緩いオープンソースとして公開されているが、それを32bitにしたようなもの。 従来CPUとはアーキテクチャが異なり、高性能ではないが高効率。 アーキテクチャが足かせとなり、高速化に向かない、しかし、これは棲み分けには都合がいい。
とりあえずTPM用にクローズドでICF3-Vというのは、あるかもしれない。 ICF3-Vが設計中断になっているのはARMと競合するため。


4月15日 頭の調子が悪い

昨晩も頭の調子が悪くて早く寝たが、今日の午前中の今も、頭の調子が悪い。 人間の脳を遠隔操作できる技術を使った暴力で頭の調子が悪い。


4月14日 SnakeCube開発 アセンブラ作成中(20)

作業報告です。それ以上ではありません。 シミュレータで使うC言語版のモンゴメリ乗算器を開発中。 2年近く前に、自作C++版の多倍長整数ライブラリを使って1024bit固定のモンゴメリ乗算器を作っていました。 それを自作C版の多倍長整数ライブラリにして可変長のモンゴメリ乗算器にしています。
乱数による数時間のテストが通りました。 これから、このC言語のモンゴメリ乗算器をシミュレータに組込みます。 C言語によるSnakeCubeの試作と言えるほど精度の高いシミュレータになりそう。 可変長にするのに手間がかかっていますが、鍵長の大きなRSA暗号を計算できるSnakeCubeを量産できるということ。 プロセッサの周波数とモンゴメリ乗算器の周波数は違いますが、プロセッサのシミュレータから見て、 モンゴメリ乗算器にデータをセットして、数サイクル待って、結果を取り出すという動作なので、周波数の違いによって シミュレータが煩雑になるという問題がなくて調子いい。


4月14日 近視か乱視が進んだ

人による操作で近視や乱視を悪化させることができる。やっていいことではないと思う。


4月13日 ICF3はリトルエンディアンなのか

メインフレームの世界はビッグエンディアンなので1999年のICF3はビッグエンディアンで設計開発しました。 世の中、リトルエンディアンが多くなったので、これから作るものはリトルエンディアンという方針。
SnakeCubeや8bit CPU、ICF3-Zで、忙しくて1999年のICF3のオープンソース版の verilogとか完全に停滞していますが、オープンソース版はリトルエンディアンかなと考えています。 当面、進捗なさそうですが。


4月12日 コロナについて考えてみる

少しでも感染確率を下げる行動をとること。と思いました。


4月11日 SnakeCube開発 アセンブラ作成中(19)

作業報告です。それ以上ではありません。RSA暗号の鍵生成プログラムが、ほぼ完成。 CコンパイラがClangの場合だけ演算を間違う問題が発生していました。
Clang 8.0.1(FreeBSD)とClang 9.0.1(OpenMandriva)
の環境で最適化をO2以上にすると演算を間違います。
最適化を失敗していると思われるのは20行程度の関数。 配列データの真ん中のアドレスを使って次の関数を呼び出すということを続けてする部分で、 依存解析を間違って最適化しすぎているような感じなのです。 調べてないので、当たっている保証はありません。
20行だけ最適化を無効にする#pragmaを使って、先を急ぐことにします。


4月11日 頭痛が止まらない

頭痛制御装置を操作する人員を転職させないと、永遠に頭痛が続く


4月11日 AIによる分類機能を備える論文投稿サイトがオープン

スラド記事「筑波大発のベンチャー、 AIによる分類機能を備える論文投稿サイトを開始へ」
僕が発明した巨大整数用四則演算プロセッサSnakeCube を論文にしたいと思っていたので、この論文投稿サイトに興味を持ちました。
僕が日記やブログで書いてあることが、本当か、どうか再現性を気にしている人は、いるように思っています。 SnakeCubeは、SSLアクセラレータとして製品化を考えています。 そして既製品のFPGAボードでも、製品になるように考えているため、多分、僕1人が頑張ればできます。 つまり製品として販売できる物を作るところまでは、できると考えています。
再現性は、それで確認できると思っています。
論文投稿サイトも、とても気になりますが、SnakeCubeの開発を、急ごうと思っています。


4月10日 noteに投稿

クレジットカードのICチップの高速化
これが多くの人にとって、いいものだと思えるなら、考えたほうがいいかと。 他人任せでは、損をすると思う。


4月10日 リモートワークで電子署名の需要

リモートワークで今後、必要になってくる電子契約なんかで、 電子署名の需要が増加しているらしい。 一度、電子署名に慣れると、リモートワークが不要になっても、続くのか、続かないのか。
量子コンピュータの解読の脅威を考えるならRSA 10万ビットで署名したくなることは、ないだろうか。 パソコンのCPUで10万ビットの電子署名に1時間くらいかかるとしたら、10分くらいで署名できる ハンコマシンとか、売れないだろか。そういうところにも SnakeCubeが活躍するようになればなと。
そういえば日立がハンコマシンを開発したようです。 自作派のためのコンピュータ技術情報誌I/Oの2020年2月号に掲載されてました。 こちらは実際にハンコを押すための専用マシンですが(笑)

図をマウスでクリックすると拡大されます

僕の作ったフリーウェア  ICカードエミュレータは、 USBメモリに電子証明書が入るので、まず試してみるのには、使えるかも。 64bitOSでは、ちょっとインストールが厳しいかもしれないですが。


4月10日 Cコンパイラをコンパイル

C言語コンパイラのClangをソースからビルドしています。 どうして、そんなことをしているのか、不思議に思った人向けの話。
SnakeCube の動作検証のためRSAの鍵生成をプログラムを開発しています。 20年前に自作したものを使えば、比較的簡単に開発できる予定でした。 20年前はRSA 1024bitのみで良かったので、1024bit固定のコードだったのを、 可変長にして、いろいろなOSで動作するようなプログラムを開発しました。
RSAの鍵生成の動作検証はCentOS、WindowsXP、Windows10、 TinyCoreLinuxで正常動作が確認されました。 Ubuntu、FreeBSDでは確認ができていません。
CentOSは7.7のEverything isoを使ったオフラインインストールで不正アクセスができない仕様。 TinyCoreLinuxはリマスターして1CD Linuxになっているので、オフラインで動作させれば、不正アクセスによる改ざんができない仕様。 しかしながら、Ubuntu、FreeBSDでは、不正アクセス対策ができていないため、不正アクセスによる改ざんが懸念されている状態。
FreeBSDはCコンパイラはgccではなくClangなので、Clangに関係があるのかを疑ったため Clangをソースからビルドすることに。Clangの最新バージョン10を、1世代前のCentOSにインストールするには、 cmakeやz3やgcc5.1以上をソースコードからインストールするはめになって、手間取っています。
蛇足
ちなみに30年前、大学の計算機センターでSunワークステーションのgccのバージョンを、 いち早く1から2にしたのは、僕の仕業。
僕より上の計算機センターの人に、必要な新しい機能がなければ、無闇にバージョンアップすると、 非情報系の研究室で古くからあるC言語のコードが動作しなくなることがあるから、考えて欲しいと言われながら、 やりました。結局、gcc1でも2でもコンパイルできる環境を作り、それを広報した記憶があります。
当時、C++のtemplateが役に立つと考えていた。多分、それは正しかった。 研究室で自分だけgccのバージョンを最新版にしていたのでした。
蛇足2
当時、僕のいた研究室でもC++の導入は見送られていた。僕1人でC++の普及活動をしていた。 数年前、C++の生みの親、Bjarne Stroustrupが、僕のいた研究室に訪れたらしい。 Bjarne Stroustrupが訪問したとき、そんな話ができなかったことが、残念。


4月7日 アカデミック版のCコンパイラを使うな

僕は、すっかり忘れていたのですがVisual Studio 2008のCコンパイラは アカデミック版を購入していたのでした。 「Visual Studio 2008はアカデミック版だから商用で使っていいと思うな」 と脳内直結回線で苦情が来た。 あんたは日立社員(元日立の僕)に、ちゃんと払っているのかと思いましたが。
こういう状況なので数日前に設立された産学連携FPGA検証環境の無償提供団体「ACRi」は、 気になりますが、しならく様子見なのかも。
2013年にMicrosoft Visual Studio 2013 Professional(62,788円)を amazonで購入しているので、それに置き換えてください。
僕がアカデミック版のVisual Studio 2008を購入できたのは、2005年に日立を退職したあと、 経歴に穴が開くといけないからと、早稲田大学の笠原先生(現 副総長)に 早稲田の所属を少しの間、いただいていたからです。
アカデミック版といっても2万円くらいだったような。
20:20PM追加  所属していたと言っても、実際には、いなかったのと同じです。


4月7日 SnakeCube開発 アセンブラ作成中(18)

作業報告です。それ以上ではありません。 自作したC言語の多倍長整数ライブラリがGNUのCコンパイラ(gcc)では期待する結果になったが、 Clangでは最適化をすると期待する結果にならなかった。 符号付き整数と符号なし整数が混在すると厳密には未定義だから 妙な最適化がされるとネットに書いてあった。 そこでVisual Studio 2008でコンパイルしてWindowsXP上で動作させた。すると期待する結果になった。
インターネットに接続しているLinux/FreeBSDではClangにバグが、 いつのまにか混入する可能性も否定できないので、Clangの問題ではないかもしれないのですが。


4月7日 SnakeCubeが高速である秘密

2日前に書いたブログ 「巨大整数用四則演算プロセッサSnakeCubeが高速である秘密」


4月6日 リモートワークで必要な本人認証

僕の作ったフリーウェア  ICカードエミュレータ が便利に使えないか。という話です。USBメモリに電子証明書を入れることができます。Windowsで使えます。 64bit OSでは、ちょっとインストールが大変ですが、僕は、現在でも使っています。
ただし本物のICカードではないので、セキュリティはあまりないので、 追加認証という使い方しかできないかもしれません。
例えばWebサーバでパスワード認証するページにSSLクライアント認証を追加すれば、本人認証を強化できると思います。
ICカードエミュレータmyuTokenのインストールが、一般ユーザには、ちょっと難しいので、 電子証明書認証が、どういうものか、試し見てみる目的には、非常にいいと思います。
調子が良ければ、電子証明書が入るICカードなどのハードウェアを購入してみてもいいのかもと。


4月5日 軽度が頭痛が続いている

右目の視力が落ちたと騒ぐと、左目は良くなっているだろと返ってくる。 左目の具合を確認すると確かに改善している。軽度とはいっても徐々に壊れていくこともある。 監視員の転職が必要なんだと思う。


4月4日 頭痛が酷くなったので寝ます

普通の頭痛ではなく、脳が、いろいろ壊れてきている。例えば、 ABCDという文字列がBDACとかCADBのように読めてしまう。 頭痛は人が遠隔で操作している。
1999年に暗号LSI ICF3を開発後、僕は日立の金融システム部門に異動になり、 暗号LSIの開発から、はずされてしまったが、日立を退職して10年後の2016年に1人で再び暗号LSIをはじめて、 2018年に『分割加算』を発明しました。 僕が、はずされていた間に、サバンチ大学の論文が発明されたようですが、半導体の微細加工も限界に近づき、 大きな鍵を演算できるものが、作れなくなるという状況。
つまり僕が、はずされた期間に、いろいろな人が研究したが、僕に劣るものしかできなかったと言いたい。
僕の脳を破壊して、他の優秀な人に移せばいいと思っているのかもしれないが、過去の実績から、 移しても、僕が継続してやるよりも劣るかもしれない。
日本の半導体産業が50%から7%に落ち込んでいる状況で、やることではないと思うのです。


4月4日 製品開発部の管理職の目線

大学発の産業活性化組織が。単刀直入に言うと税金で育てた産業妨害組織にもなりかねないという話。
20年前、某大企業で大活躍していた僕は、偉くなると思った人があったのか、取り立てが厳しかった。 『闇取引』でモンゴメリ乗算のアルゴリズム代として30万円の眼鏡を買わされたりする。
絵画を1枚、80万円だったか88万円で買わされたこともある。今でも自宅の倉庫にある。 あれは何の代金に消えたのだろう。会社に吸い上げられただけかもしれない。 絵画を買ったときの、やり取り
僕「絵は買いません。」
販売員「絵を買ってください。」
僕「絵は買いません。」
販売員「絵を買ってください。」
僕「絵は買いません。」
販売員「絵を買ってください。」
でした。
新卒で入った人材が大学で学んだものを使うと、どうなるか。
(開発した製品価値)-(原価)
これが生涯賃金にならないと、いけないのに、原価だけ先に膨れ上がると、 活性化なんじゃなくて、妨害になってしまうのです。
言わないと気ずかないこともあるかと思って書いただけなので、 気を悪くした人があったかもしれないですが、気にすることはありません。


4月3日 米国の学会であるACMの論文とICF3-Z

やっぱり気になって、僕の8bit CPU ICF3-Zと比較できるような論文を、探しています。 まだ左目をつぶらないとディプレイの文字が読めないこともあるのですが、 英文を斜め読みする速度が少し回復したので、オンラインで論文のアブストラクトを見ています。
適当な検索語が見つからず、十分な検索にはならないかもですが、最初に見つかったのが IDEAというソフトプロセッサ。XilinxのDSPのアーキテクチャを活かしたプロセッサのようです。
ICF3-Zは、FPGAベンダに依存しないアーキテクチャです。 ICF3-Zは、Xilinxの実機で動作検証しているので比較できるのかも。
ICF3-Zの参考
「オープンソースのCPUの除算性能 RISC-V vs ICF3-Z」

0:20PM 追加 
「8bit」「CPU」で検索すると145件がヒット。ただ、あまり関係ないものが多かった。 8bit CPUで論文になるネタがありそうかと、考えれば、なさそうなので、これでいいのかも。 僕が日立製作所にいた時代より前に、僕と同じ事業部にいらしゃった清水先生の8080(2003年)についての論文が見つかりました。 清水先生は大昔に日立を退職されていますが、僕からは、その状態がわからないため準日立と決めています。 そのため連絡はとっていません。


4月2日 SnakeCube開発 アセンブラ作成中(17)

作業報告です。それ以上ではありません。SnakeCubeの開発を進めます。 RSA暗号の鍵生成をするライブラリを作成中。あと少しで完成。


4月2日 頭痛は人によるもの

頭痛が酷くなってきた。痛みというより脳破壊が怖い。この頭痛、 人による遠隔操作によって起きている。非人道的なやり方。
論文のダウンロードを21本しました。 概要を読めば半分以下で良かったのではという、意見がありました。 僕の状態がわかっていないから、そう言うのだと思う。 頭痛攻撃を長期間にわたり受けているため、日本語を読むのも辛いのです。
頭のいい人とか、そういう人だと偏差値40くらいに下げる攻撃をしても、バレないし、儲かるというビジネス。 早稲田の理系は、かなり狙われるはずなので、僕の経験から得た予防策を教えると。 暗記能力が著しく低下するので、暗記テストを日ごろからして低下していないことをチェックする。 目をつぶって蛍光灯を見ると、網膜に模様が出るので、確認する。 この遠隔操作は、寝ているときに、主にやっている。理由は、起きているときにやると、すぐにバレルから。 まだら模様が反時計回りに10度ピッチに動くこととかあったが、これは最初のころの数回。 最近は、赤い斑点が、いっぱい映る。
遠隔操作のための機材とか、周囲に全くない。気付かれることなく遠隔操作ができるため、結構、流行っている。 僕は、手術を受けたことがないですから、誰でも、チャンスがあるということです。


4月2日 米国の学会であるACMの論文とSnakeCube

SnakeCube は巨大整数用四則演算プロセッサでRSA暗号など鍵長の長いものが高効率、高性能に演算できることが特長。
SnakeCubeがACMの論文にあるものより優れていると僕は思ったという話。
スラド記事「ACM Digital Library、コロナ感染拡大を受けて6月30日までオープンアクセスに」
コンピュータサイエンスに関する米国の学会ACM(Association for Computing Machinery)が、 同学会の論文ライブラリであるACM Digital Libraryで6月30日までの無償解放されたようです。
早速、SnakeCubeより優れているものがあるか、調査しました。AbstractをRSAで検索すると4000件以上ヒットします。 この中には高速化以外のものが多数含まれています。最近の論文はサイドチャネルに関する研究が多いようです。 そこで検索語をRSAかつFPGAにしました。 FPGAのキーワードがあれば、実際に実装してアルゴリズムが検証されている場合が高いと思われたからです。 22件ヒットしました。1件はnot foundで21件の論文をダウンロード、高速化に関係するものは、半分以下という感じでした。
最も目立つ論文は、僕と同時期に日立製作所にいらしゃった崎山先生の論文。 ベルギーのルーヴェン・カトリック大学との共同研究なのでしょうか?
「Efficient Pipelining for Modular Multiplication Architectures in Prime Fields」
GLSVLSI’07, March 11-13, 2007, Stresa-Lago Maggiore, Italy. Copyright 2007 ACM 978-1-59593-605-9/07/0003
僕と電通大の崎山先生との関係ですが、日立製作所時代は事業部が違うため、全く関係ありませんでした。 僕が2005年に日立製作所を退職してから、インターネットで調べて崎山先生のことを知りました。 連絡が通じたことはありません。
この論文に限らない共通な話ですが、巨大整数の加算の高速化には 『Carry Save Adder』を使っているものがほとんどです。 1999年の暗号LSI ICF3も、そうです。
僕は巨大整数の加算を高速化するため2018年4月に『分割加算』を発明しました。 2018年9月に、その証明をブログに書いています。 「モンゴメリ乗算の累積加算における分割加算の証明」
この『Carry Save Adder』から『分割加算(Segmentation adder)』への飛躍が発明なのです。 分割加算によって乗算の裏側で部分全加算ができて累積加算用レジスタが小さくなり、次回の加算コストが下がるメリットが生れます。 具体的には既存のDSPに、モンゴメリ乗算器のほとんどの部分が入ってしまうくらい、小さいものとなる。
崎山先生の論文は、SnakeCubeに似ているところもありますが、 SnakeCubeのほうが高速で高効率で実装しやすく鍵長をスケーラブルに大きくできます。
崎山先生の論文は1999年のICF3の基数2を、基数2^16にして面積を小さくするために乗算を4回に分けています。 無限に鍵を大きくしていった場合でも4回を保てるかといえば、最下位ビットからのブロッドキャストが間に合わなくなる。 アルゴリズムを実際に実装すると苦労するということが見えて事業部的には、うれしいですが。
SnakeCubeの圧勝だと思います。僕の脳破壊は、世界的な損失か(爆笑)
現在もなお、連日続いています。どうして止まらないのだろう。売国奴として捕まえられないのだろうか。 今まで隠蔽されてきたことが、ようやく解放されつつあるのかと。


4月1日 SnakeCube開発 アセンブラ作成中(16)

作業報告です。それ以上ではありません。RSA暗号の鍵生成をするライブラリを作成中。 「べき乗剰余演算」のコードを5年以上前にmyuTokenで自作していたC言語コードに変更。 性能を測定すると、べき乗剰余演算、単体で10倍の性能になった。
新旧のコードを使って乱数データを入力して結果を比較。 AMD Ryzen 6コア12スレッドが、気持ちよく役に立った。
すぐにはGPUを使うアプリケーションはないが、10年以上前のIntel Core i7に nVIDIAのGPUを搭載したマシンを作ることに。


4月1日 軽度な頭痛が続いている

軽度とは言っても、通常、決して忘れることのない記憶が消えることもある。 ネット上の記事が読みにくくなっている。どんな損傷をすれば、そうなるのだろうか。 左目をつぶってディプレイに向かっている時間も多くなっている。 連日耐えている。


暗号プロセッサ OpenICF3