Home
2024年
2023年
2022年
2021年
2020年

2月25日 WZeta乗算命令追加の進捗

まだ動作検証環境の構築をしています。Red Hatクローン以外のLinuxのことも考えて、 Red Hat標準の仮想マシンqemuではなくて自分でコンパイルしたqemuを使うことに。 使っているHDDがかなり老朽化しているのでバックアップ用のHDDを2世代用意。 初回のバックアップ1回で半日かかるので2世代分では、丸一日が消えました。


2月22日 Windows派なのかLinux派なのか?

開発をする人は、大抵、両方を使っているのではないかと思いますが、 僕が両方を使うのは、好みの問題ではなくて、産業スパイによるサイバー攻撃を、 回避するため。嫌でも、僕は両方を使うことが決まっています。

雑談、昔、日立の認証局にいた日立の関連企業の若いエンジニアがWindowsしか 使えなかったことを思い出した。 若いエンジニアではLinuxを勉強する時間は、まだなくて、Windowsを勉強して、 アウトプットを出すことで、やっとだったのだろうと。


2月22日 電子帳簿保存法等で求められる時刻認証業務

スラド記事 「総務省、セイコーら3社に時刻認証業務を初認定」

電子帳簿保存法についてご存知ない方はネットで調べていただけるといいのですが、 この時刻認証業務で使われるタイムスタンプサーバーで暗号プロセッサ SnakeCube を開発することは日本にとって重要だと思います。

量子コンピュータによる暗号解読のリスクをなるべく回避するにはRSA暗号の 鍵を大きくすることですが、鍵を大きくするとCPUではタイムスタンプサーバーで 要求される性能を満たさなくなります。暗号プロセッサSnakeCubeの性能が必要です。 SnakeCubeは性能の見積が非常に精密に出せる特殊なアーキテクチャです。 詳しくは僕のブログ
暗号半導体チップにおける『ナオキの法則』
をご参照ください。

国防予算が増える世情ですので、自国で暗号プロセッサを開発できる技術力の 重要性は高まっていることと思われます。暗号プロセッサを開発しなくても、 安全だと思えるCPUでも良いと考える人はあるかもしれない。 SnakeCubeは、鍵が大きくなればなるほど、CPUより高速になるので、 CPUでは得られない高いセキュリティを得られます。

量子コンピュータに耐性のある新しい暗号の安全性が安定するまでの間、 より高い安全を確保するためにタイムスタンプサーバーで暗号プロセッサ SnakeCubeを開発することは重要です。

2007年~2012年ごろは、RSA 2010年問題や常時httpsの普及がありました。 このときRSA暗号の高速化の研究が盛んにされましたが、 2018年に僕が発明したSnakeCubeは、従来研究より3~10倍高速です。 鍵を無限に大きくしても効率を落とさずに性能を上げられる特長が優れています。 僕がいないとSnakeCubeは開発できません。

またタイムスタンプサーバーの開発の後、ICカードを開発すれば、 割安にICカードを開発できるような気がします。新しい暗号と大きな鍵の RSAの双方を高速に演算できるICカードは、最も高い安全性となるため、 世界のICカードの最終防衛ラインとして、世界に需要があることも考えられます。 他ではできない大きな鍵のRSAを演算できます。RSAを高速に演算するための大量の演算器を、 新しい公開鍵暗号で流用させるので、最も高い安全性となるだろうと予想しています。

僕は2005年に日立にリストラされ酷い目にあってきていますが、 僕の処遇を考えていただければと思います。

かつて僕をリストラした日立と総務省が、このタイムスタンプサーバーを 担当しているのではと思っています。国民の皆さまは、 そのことをご承知おきくださって、日本の未来を作れるように 考えてもらえればと思います。

恐らく僕の生れから考えることになると思います。いったい僕は、誰の子供なんだろう。 実験施設で東大医学部卒の精子から作られた説が、最も安直な予想かな。


2月19日 8bitパソコンWZ-660の開発進捗

産業スパイに妨害され続けて進捗が無いので予定を書きます。 8bit CPU WZetaに8x8=16bitの乗算命令を、オプションで追加することを 一番最初にやろうと思っています。

MULCA命令(A × C → CA)

AMD/XilinxのVivadoで合成した結果も、日記に書くつもりですが、 Vivadoの最新版(2022.2)だと周波数の性能が落ちるみたいなので、 2022.1の結果になるかも。2023.1で改善されると良いのですけど。

これで、ますます8bit CPU WZetaを使いたいと思う人は、増えるように思っています。


2月15日 WZetaのオプションの乗算命令を考えてみた

Z80との比較でメインメモリの性能に対する性能がWZetaは低いということが見えてきました。 WZetaの勢いが落ちそうだったので、挽回させます。 暗号演算のことを考えていないことを除けば非常に良いオプション命令です。

WZetaに軽量な乗算器を搭載してオプションの乗算命令 MULCA(仮)を追加することを考えます。 軽量な乗算器なので追加してもZ80のトランジスタ数の 半分程度かなぁ?と思っていますが、確認はできていません。

1命令で8bitレジスタAとCを乗算して結果をレジスタCとAにストアします
A×C → CA

軽量であることを説明するために、乗算の仕組みを説明します。 わかりやすくするために以下の表記は正確ではないですが、 内部レジスタMを2ビットづつ右シフトさせがなら 最終的に16bitの結果を得ると思ってください。
WZetaの基本コア(SDogコア)は全命令が1命令4サイクルです。

第1サイクル A×C(bit1-0) → M
第2サイクル A×C(bit3-2) + (M>>2) → M
第3サイクル A×C(bit5-4) + (M>>2) → M
第4サイクル A×C(bit7-6) + (M>>2) → CA

このオプション命令をハード実装することは非常に簡単で、 しかも1命令で簡潔するので割込みの心配が無い。 オペランドが無い命令なのでオペコード0x01の命令群に追加できるため 貴重な空いているオペコードを消費しない。


2月14日 WZetaのDRAM補正(訂正版)

WZetaとZ80の比較でZ80のメモリアクセスがDRAMであることを忘れてました。 WZetaはSRAMを前提にした回路なのでリフレッシュ回路がついていません。

WZetaのリフレッシュ回路を考えると1命令4サイクルから5サイクルにすれば良いかも。 WZetaのサイクル数をZ80に換算するには2.5倍。

マイコンではSRAMが多いのでオリジナルのZ80をSRAM補正した場合を考えると、 オリジナルのZ80にあるM1のリフレッシュがSRAMになってもリフレッシュ以外の動作で 必要だとしたら、WZetaのサイクル数をZ80に換算するには2倍のままでも良いのかな。


2月14日 Z80 vs WZeta(ブロック転送編)

8bit CPU WZetaとオリジナルのZ80と比較するためにはWZetaのサイクル数を2倍にして Z80のT1サイクルとすれば良いことを昨日の日記に書きました。
ファミコン誕生物語 第4回にある Z80の4分の一の面積の6502をファミコンのCPUとして決断した話は有名だと思います。 WZetaも多分、Z80の半分以下の面積だと思われます。

次のURLにZ80と6502でブロック転送の比較をやっているようです。
https://www.wizforest.com/tech/Z80vs6502/blockcopy.html
WZetaで同じ課題をやってみます。

400H から 200H byte を、600H にブロック転送する

------------------------------------------------
  LD A,0x06
  LD B,0x00
  LD C,0x3F ; 0x3F(=64)回、ループ
block1:
  STABP [0x04:B]
  STABP [0x04:B]
  STABP [0x04:B]
  STAB [0x04:B]
  LOOPINC ^block1
  LD A,0x07
  LD C,0x3F ; 0x3F(=64)回、ループ
block2:
  STABP [0x05:B]
  STABP [0x05:B]
  STABP [0x05:B]
  STAB [0x05:B]
  LOOPINC ^block2
------------------------------------------------
645命令 = 2580サイクル

Z80 T1サイクルでは
2580×2 = 5160サイクル

上記URL(魔法使いの森)ではZ80が6502に勝ちました。 そのZ80でも9953サイクルなのでWZetaはブロック転送で2倍近く高速。 (WZetaのDRAM補正をすると2倍までいかない)

ただし、この高速な転送ができるのは、 転送元と転送先のアドレス下位バイトが同じ場合のみ。 プログラマは、この高速な転送が使えるようなデータ配置を考えます。

トランジスタ数で圧倒的に劣るWZetaがZ80に勝利するために、 皆さまのプログラミングテクニックを駆使してください。 そしてその素晴らしいテクニックを公開して、 皆で評価して楽しめる世界ができればと思います。

WZetaのシミュレータは昨年8月から全然、更新していませんがZ80と 比較するためのデータを得ることには使えると思います。 説明があまり無いので、わかる人しか、わからないものですが、次のサイトで ダウンロードできます。まだお試し版ということで
8月22日 WZetaシミュレータ、お試し公開(13)


2月13日 8bit CPU WZetaとZ80の比較について

Z80にはマシンサイクルやT1サイクルの2種類のサイクル数が存在する。 このためWZetaのサイクル数と比較することが難しい。
メモリの性能を基準に考えるとわかりやすくなる。Z80のメモリタイミングは Yamamoto's Laboratory 8ビット CPU Z80タイミングのサイトにあるものを勝手に参考にしました。 (M1サイクルのタイミングから)

WZetaの1サイクルはZ80ではT1で2サイクルと、ほぼ同じと考えられます。
(ただしZ80はDRAMなのでリフレッシュで遅くなっている)

WZetaにとってメモリの性能を基準にすることは不利です。 Z80はメモリ性能と比較して高い性能を得るためアーキテクチャなのです。 メモリ性能に対してトランジスタ数の効率を追及したWZetaと単純に比較するとWZetaは厳しいかもしれない。 ただしWZetaの半導体プロセスがZ80より楽になると思います。

またZ80が有利になるのはZ80の豊富なレジスタによる演算が主体でメモリアクセスが少ないアプリです。 メモリアクセスが多いアプリではWZetaとの差はあまりなくなるでしょう。 WZetaの命令セットには1命令でメモリをリード、演算、ライトする命令があります。Z80にはありません。 これが役に立つ多倍長演算などではWZetaのほうが、少ないトランジスタ数で高速ということになります。
マイコンではプログラムとデータの2つのメモリを使うことが多いため WZetaは2コアにすれば2倍近い性能になることもあります。 同じメモリ性能のZ80よりも高速なアーキテクチャということもできる。 (ゼロ遅延なので2コアでシングルスレッドが可能) WZeta SDogコアのデータメモリが1サイクル置きであることによって起きた魔法。

WZetaで8bit乗算するプログラムのサイクル数
ツイッターのTL上に乗算器の無い8bitで高速に乗算をする方法があったのでWZetaのコードを作ってみました。

テーブルを使わない省メモリ版の乗算コード
%R2 %R1 = %R0 × A
------------------------------------------------
  ZERO %R1
  ZERO %R2
; 下記の5命令を8回繰り返す
  SHRC %R0
  JRC0 2
  ADD %R2,A
  SHRC %R2  ;分岐してきた場合のCFを流用
  SHRC %R1
------------------------------------------------
42命令(168サイクル)

512バイトのテーブルを使う高速版の乗算コード
原理 (x-y)^2 = x^2 -2xy + y^2
    xy = {x^2 -(x-y)^2 + y^2}÷2

%R2 %R1 = %R0 × A
------------------------------------------------
  LD B,%R0
  SUB %R0,A
  JRC1 4
  SWAP
  ST %R0,B
  SUB %R0,A

  ST %R3,A

  LD A,[&mulL:B]
  ST %R1,A
  LD A,[&mulH:B]
  ST %R2,A

  LD B,%R0
  LD A,[&mulL:B]
  SUB %R1,A
  LD A,[&mulH:B]
  SUBC %R2,A

  LD B,%R3
  LD A,[&mulL:B]
  ADD %R1,A
  LD A,[&mulH:B]
  ADDC %R2,A

  SHRC %R2
  SHRC %R1
------------------------------------------------
平均21.5命令(86サイクル)
先頭でx<yだとxとyを入れ替えて必ずx-y≧0となるようにしている。
必ず x^2 ≧ (x-y)^2なので引き算でマイナスにならない。
Z80のT1サイクルにすると172サイクル。メモリ性能を基準にした性能では Z80と同程度かな^^;
オリジナルのZ80よりも軽量なZ80互換CPUと比較するのがいいように思えてきた。

●参考URL
Z80版の乗算コード
https://piclabo.blog.ss-blog.jp/Z80Multiplication
このZ80版にはRET命令(10サイクル)がありますがWZetaではハードマクロ命令を使うことで0サイクルでリターンできます。


2月11日 帳簿などの文書への電子署名にSnakeCube

2022年1月1日より、改正電子帳簿保存法が施行され、国税関係の帳簿・ 書類のデータ保存について抜本的な見直しが行われたようです。

タイムスタンプサーバーや民間などでもRSA暗号による電子署名で 大きな鍵を使いたいという需要はあると思います。

暗号プロセッサSnakeCubeが必要なのではないかと思うのですが、 いかがでしょうか。経済産業省の方や、電子署名を利用する民間企業の方とか。 お誘い合わせの上、僕に問い合わせてもらえると、検討できそうなのですけど。

大きな鍵が演算できるSnakeCubeはチップ面積が巨大になるのですが、 SnakeCubeのアーキテクチャは小さいチップを一列に並べても高速に 動作させることができます。

次のYouTube動画、AMDが小さいチップを組み合わせて歩留まりを 20%から50%に向上させて利益を上げたという話を聞いて少し感動しました。

「ムーアの法則は存続するのか?!超重要…後工程の材料最強企業登場!!」
https://youtu.be/-mxAWgm8r6A

つまり、かなり適当ですが暗号プロセッサSnakeCubeは非常に小さいチップに 分割しても高性能が出せるので非常に歩留まりが高いものが作れるのかなと。

SnakeCubeに耐量子暗号を追加するにしても、まずは1度、RSA/ECDSAのみで作って、 物理的な感覚を得て、耐量子暗号をどれにするのかを含めて、次世代SnakeCubeを 作っていくのだろうと。

他国の量子コンピュータによって領収書を改竄され脱税することもできるわけですし。 検討できるのか、わからないですが、とりあえず僕に連絡をいただけても、いいです。


2月10日 8bit CPU AVRのRSAの性能について

僕の8bit CPU WZetaは他の8bit CPUの5倍高速みたいな感じだと 言ったからだと思う。同じ8bit CPU AVRのほうが高速と言いたい人が あったので説明します。

AVRのRSA暗号の性能の分析結果のPDFがネット上に落ちていた。 素性がわからないので信憑性は不明だけどAVRが本当に高速に 演算できるということは理解できた。本当なのかは、わからない。
まずAVRは乗算器を持っているので比較対象外だと思っています。 AVRが高速なのはRSA暗号の演算に向いた乗算器であることと、 過剰なループアンローリングによるもの。 一般的には乗算器の回路規模は大きいので性能も向上しますが、 重量もそれなりに増加します。

問題は過剰なループアンローリングで、かなりコードが 大きくなっている。マイコンではコードのメモリ容量は 大きく取れるから、それほど大きな問題ではないけど。

同じくネットに落ちていた不信なPDFにIntel 8051の性能もあった。 8051は乗算器を持っているけどWZetaのほうが数倍高速みたいだった。 これが本当ならWZetaを使いたいと思う人が多いはず。


2月9日 楕円暗号ECDSAを最初期に日本に輸入したのは僕

時は2000年、暗号プロセッサICF3(1999年) を製品出荷した後、僕はICF3に楕円曲線(ECDSAのドラフト)が実装できないかを検討した。 IEEE P1363のプロジェクトがインターネットで公開していた ECDSAのドラフトを個人的にダウンロードした。

先月、システムをRSAからECDSAに移行検討するように 「電子政府推奨暗号リスト」を掲げてアナウンスされた。 マイナンバーカードが絡むため日本中で大騒動になった。 世界でも実績のある公開鍵暗号が1つになることに問題を感じた人は少なくないはず。

そのECDSAですが、実は僕が2000年に個人で輸入していた。何故、個人だったのかといえば、 会社に僕ができることをアピールして、次の仕事を得るためだった。 この試みは、ある程度、成功した。 会社で1カ月くらいECDSAをICF3に実装する時間を得られた。 そして日立の研究所に事業部の僕がECDSAの実装を売りにいった。 もっとも僕は日立の中央研究所から事業部に転勤になっているから、 珍しいというほどでもない。 このときの楕円のパラメータと、テストベクタは日立のシステム開発研究所から入手したもの。

余談ですが、このときのパラメータがビットコインで使われているものと同じで、 このあたりにビットコインの発明は日本人ではないかという噂がたった原因なのかもしれない。 僕は全然関係無いですけど。

2000年ごろは、IEEE P1363のメーリングリストに登録するとドラフトが誰でもダウンロードできる 時代だった。このとき使ったメールアドレスは富士通が運営しているNIFTY SERVEの メールアドレスだったけど富士通とは無関係です。

IEEE P1363にある楕円暗号の演算方法は、非常に高速で面白いです。日本の楕円暗号の 研究者の人が、今でも出し惜しみをしているほど。 参考までにSnakeCubeはモンゴメリ乗算の演算が非常に高速な発明。 IEEE P1363の楕円暗号の演算方法と併用できます。

僕は、楕円暗号の演算方法(IEEE P1363)を日本に輸入することに成功。 NTTなどの社外にも知られることになった。 日立の研究所に売りに行った資料は、既に公開されているものですが、次のURLです。

RSA演算器(暗号プロセッサ)で楕円暗号の試作実装
https://openicf3.idletime.tokyo/summary.html#ICF3EC

上記資料にありますがICF3はA*B mod PとA*A mod Pを並列に演算可能です。 SnakeCubeも同じです。暗号プロセッサ向けのソフトウェアを開発する上で、 参考になればと思います。

この資料を持って(同志社大卒の)上長といっしょに戸塚にある日立の事業部に行って 防衛省に売れないか、検討をしたが不調に終わった。 偉い人は楕円のスカラ倍が、あまりイメージできなかったようだという記憶が残っている。 実際、楕円暗号は一般的に難しいと言われるのは、このあたりの実装が、 その簡潔な表記からは、想像できないからだと思う。

日本にモンゴメリ乗算を最初に輸入した元東芝の川村信一氏がIEEEのFellowに選定されたようです。
『コスト効率が良く安全な暗号への貢献』
https://www.cpsec.aist.go.jp/achievements/award/IEEE_fellow2023/

2018年のSnakeCubeの発明日立も東芝も無関係です。僕1人による発明。IEEEは、それを認識しているのだろうか。

元早稲田の副総長の笠原先生はIEEEソサイエティの議長を数年前、日本人としては、 珍しくやっていたはずなのに、冷たいと言わざるを得ない。
これでは、なんとなくまた東大卒が僕の成果を泥棒したような状態です。 この状態が続けば国が荒れるのではないでしょうか。 RSA移行の話とか実際に大問題が起きている。正常な状態に戻すようにお願いします。
再確認しますが、僕は生れを調べると推測になるけど、日本の権力コアが、 数学の才能を持つ子供(僕)を、日大卒の僕の親にあづけて、 馬鹿っぽく見せていたということです。


2月9日 8bit CPU WZetaを32bit化したCPUは無い

SNSのTL上でモバイル向けのCPUを作ったほうが市場が大きいと言ってくる人があった。 モバイル向けのCPUの市場は大きいから言っていることは合っている。

問題はモバイル向けCPUを作ろうとすると妨害しようとする力が大きくなる。 力が一定、以上になると、僕の人生が潰れることが完成する。 自分がやっていることは小さいつもりかもしれない。 僕が何故、怒っているのか、わからないのなら、前述の理由。

8bitのWZetaを16bit化したTZetaを開発したいと思っていることは日記に書いています。 32bit化もあるのかと思う人は、あったかもしれない。16bit化が、うまくいくのは、 16bit固定長の命令セットに空きがあったから。 命令セットを拡張して32bit化しても、良いCPUにはならない。 新しい32bit CPUが必要ならWZetaを拡張するより1から作ったほうがいい。

RISC-Vが日本で流行り始めたころにICF3(1999年)を32bit化したICF3-Vの設計をしていた。 結局、圧力に負けて8bitのICF3-Zになっている。 周囲の後押しによってICF3-Vを復活させる可能性を否定はできないが、 ICF3-Vはアーキテクチャ的にモバイル向けの性能は出ないと考えている。

将来、1990年頃の16bitパソコン(NEC PC98)くらいは出来ないか、とは考えています。 世界中で戦争が起きれば民間で使える半導体が激減するかもしれない。 そういうところで活躍できればと思うことはあります。 この16bitパソコン向けのGPUの開発を計画すれば、既存のGPUメーカーが 黙っていないでしょう。
なのでゼロ遅延マルチコアを活かしてCPUでグラフィックを処理するのが良いと 思っています。


2月7日 軽量版Win11、Tiny11でWZ-660のエミュレータが動いた

メモリ2GBしかないマシンでも動作するWindows11、Tiny11が公開されたので早速、 WZ-660のエミュレータを動かしてみました。(メモリ4GB搭載のPCで)普通に軽快に動作しました。

GIGAZINE記事「たった2GBのメモリで動く軽量版Windows 11の「Tiny11」登場」
https://gigazine.net/news/20230206-tiny11-windows-11/


Windows11のアクティベートが必要らしいですが、 完全オフライン・インストールでもWZ-660は普通に動作しました。

WZ-660のエミュレータはWindowsXPでも動作するので、アクティベートが必要だとするなら、 Tiny11で動作しても、あまり意味がなかったかもしれない。

Windowsのライセンスのない中古PCはWineか、SDL2でWZ-660のLinux版を開発するか、、、時間は無いか。

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


2月7日 トヨタの新社長、佐藤恒治氏に

インターネット閲覧中に偶然発見。(YouTube)
いや驚きました。大企業トヨタの社長に僕の大学の同期がなるなんて!
全然面識はありませんが僕と同じ早稲田大学理工学部だから学生時代、 同じ教室で授業を受けていた可能性はあるかも。 昨年末の同窓会に参加していれば良かったかな。
佐藤恒治氏は機械科で僕は電気工学科だから同じ教室で授業を受けていた確率は低いと思いますが。

僕の勝手な予想ですが、この抜擢で考えられるのは、自動車で使われるマイコンを マルチプロセッサに置き換えて電磁波ノイズ対策をしてトヨタの高信頼イメージアップ。 マルチプロセッサのコンパイラは、元早稲田の副総長、笠原先生のOSCARコンパイラ技術利用。

マルチプロセッサは、どこのメーカーでも良いのかもしれないですが、 僕のゼロ遅延マルチコアは非常に優れてます。ゼロ遅延マルチコアを活かした 専用コンパイラの開発が、トヨタなら可能かもしれない。

CPUの製品化には一般的には非常にコストがかかるのですがWZetaのハードは 非常にシンプルなので、一般的なCPUのイメージとは、かなり違う認識を持ってもらえるといいです。

あのイーロンマスク氏も関心がありそうな話。 ツイッターでイジメられたら、どうしようとか。WZetaはオープンソースだから大丈夫か。

でも社会インフラで使われる公開鍵暗号をRSAと楕円曲線の2つ維持することは重要。 暗号プロセッサSnakeCubeが優先で 8bit CPU WZetaも平行して開発していくのかも。 暗号民主化を考えた国内のSSLアクセラレータなら僕だけでもいいのですけど、 世界の人もRSAが必要だと考える人もあると思うから経済産業省の方の返事を待つのか。 経済産業省のウェブサイトに意見を投げ込んだけど、未だ返信は無いです。
日本国民はSnakeCubeを国内ではなくて全世界に発信できることに力を入れるべきだと、 僕は思います。
7:45AM 追記
次世代SnakeCubeでは量子コンピュータの解読に強い耐量子暗号をSnakeCubeに 実装していきます。従来暗号も新暗号も演算可能となるようにしていきます。 汎用的なSIMDプロセッサをRSA暗号に対応させたものでは十分に効率がでません。 SnakeCubeを耐量子暗号に対応させたほうが効率的だと思われます。
次世代SnakeCubeは世界最強となるかもしれない。


2月5日 NATO事務総長、(弊社の隣にある)入間基地を視察

先週の1月31日にNATOのストルテンベルグ事務総長が僕の自宅から徒歩15分くらいの 入間基地に視察をしに来たらしい。

半分冗談で書きます。半分は本気だということ。

隠していても、わかる人にはわかると思ったので日記に書くことにしました。 世界最高性能の激安暗号鍵交換装置の設計図の発明者である僕に何の 連絡も無かった。戦争に巻き込まれたく無いから、それはそれで 良かったのかもしれないけど。 発明者の僕に断りもなく設計図を売られてないか心配になったのです。

NATO事務総長の関係者が僕のニセモノと交渉していたら大変。

公開鍵暗号はCPUでも高速に演算できます。下手な専用演算器を作っても ハイエンドCPUに勝てない。しかしながら僕の暗号プロセッサSnakeCubeは、 非常に大きな鍵の場合、CPUよりずっと高速に演算できます。

僕は軍事には全く素人ですが、多数の国で構成される軍隊では、 世界最高性能の激安暗号鍵交換装置が便利ではないだろうかと思ったのです。

もっともRSA暗号を使いたいと思うのかは不明ですけど。

そういうわけで暗号プロセッサSnakeCube の軍事利用には注意をしているのですけど、RSAの署名専用なら、世界の民間企業の間で 使えてビジネスになることは、あったかもしれないと。

まだ遅くはないかもしれません。経済産業省の人とか、どうでしょうか。


2月2日 SnakeCubeはICF3(1999年)から直接、進化した

この日記を最後まで読めば、僕だけがSnakeCubeの発明をできた理由が、わかるかも。
前回の日記「RSA演算器コンテストが2008年に日本で開催されていた」 のSNS反応について。ツイッターで恐ろしく誤解している反応のツイートを見た。
ICF3(1999年)ではモンゴメリ乗算を 使った世界初の暗号チップを僕が作った。(各国で試作があったのかは不明) その後、僕が開発から、はずされ追い出されたため僕以外の人が、 モンゴメリ乗算を使った暗号チップを作ってみたけど、僕に及ぶものを作れた人はいなかった。
僕が続けていやっていればICF3(1999年)からSnakeCubeへと直接、自力で進化した。
これができたのは僕の数学の才能のおかげだと思う。数学を勉強せずに数学がわかるから。 50年以上前の日本の支配者層の誰かが、数学の才能のある人を製造して、自分の配下とするため、 僕を密造していたのかもと、思うこともある。僕には真実を知らされていないけど。 今、真実を聞いても作り話しか聞けないと思っているから。 去年あたりは金持ちが後妻を取るために本妻の子供を抹殺。 抹殺された子供を医者が蘇生して僕になったとか想像をしていたりもするけど。

ICF3(1999年)のときもモンゴメリ乗算は東芝の研究者が先に日本に輸入していた。 僕は日立の研究所から英語の原文をもらってICF3を作っている。東芝が役に立ったということは無い。
次のURLは僕がICF3を開発していたころを2016年にブログにしたもの。 僕が新人の頃の出来事だから、あまりカッコいい話ではないけど、事実を正確に残したものとして。
自分のブログ「世界一のRSA暗号LSI ICF3のアルゴリズム」
https://icf.hatenablog.com/entry/2016/09/04/204806


暗号演算は前回の演算結果を使って演算する逐次演算が非常に多い。 高速化の定石はパイプラインだけど逐次演算ではパイプラインは逆効果。 暗号演算では設計者はFFを挿入することなく演算ゲートを連続させる演算器を作る。

ところがFPGAではパイプライン化された乗算器が作りこまれていて、 逆効果なパイプラインを強要される。

モンゴメリ乗算では、1サイクルで高速に動作する乗算ループにFFを挿入すると 前ループの演算結果が必要となるタイミングが後半サイクルになる。 ここにSnakeCubeの無限に鍵長を長くしても効率が落ちない秘密が作れる。

そうは言っても巨大整数の演算なので加算した結果は下位から上位へ伝搬する。 そしてモンゴメリ乗算の公式には右シフトがあって上位から下位への伝搬。 整数の真ん中の演算ブロックの開始タイミングを遅らせて、 正しい答えを維持できるのか?数学的な証明が必要なる。 ここに数学を勉強せずに数学ができる数学の才能が必要だと思う。
次のURLは僕が証明してみせたブログ
自分のブログ「モンゴメリ乗算の累積加算における分割加算の証明」
https://icf.hatenablog.com/entry/2018/09/26/122020


2月2日 RSA演算器コンテストが2008年に日本で開催されていた

2008年にRSA演算器コンテストを開催していたのはCQ出版の「Design Wave Magazine」 という組み込みシステム技術者向けの雑誌です。
当時の僕はコンテスト開催のお知らせをネット上で見つけていた。 しかし賞金が沖縄旅行だったのでアマチュアのコンテストだと思ったので見送りました。 沖縄旅行では生活できないのです。

コンテストの結果は見た記憶があって国立高専のモンゴメリ・パイプラインが学術的には良かったと 思いましたが性能はあまり良く無さそうに僕には見えました。 その他にも性能の良さそうなものは、見当たりませんでした。

2018年に僕が発明したSnakeCube と同じXilinxのFPGAチップを使って再現すれば、性能を比較できると思いますが、 僕の感覚ではSnakeCubeのほうが100倍高速ではないかと思っています。 SnakeCubeも同じモンゴメリ乗算を使っていますが。

SnakeCubeではアルゴリズムによって計算量が減っているのではなくて、 FPGAチップの搭載される多数の乗算器に有効なデータを高周波数で入力させることに 成功しているから。

この大発明を日本国が採用しマイナンバーカードなどで使われているRSAのシステムを 延命させれば、国家予算クラスの利益が生成されたはずだった。

この大発明を不採用にして、日本の科学推進を拒み、国民に無駄な税金を払わせることに なったことを国民のみなさまは、おおいに考えて、急速にRSA 7680bitのICカード開発する 展開へと、動いたほうが良いような気がします。

時間がありません。前回の投票で僕が1票を入れた赤松健議員とか ICF3(1999年)の文化保存の名目で調査、 RSA 7680bit ICカード開発にならないだろうか。赤松健議員のツイッターをみていると最近、 量子コンピュータの視察しているみたいだし、結構、関心があったりしないだろうか。

経済産業省の方へ。 僕は国家資格、情報処理技術者試験第1種に合格しているので直接、ご連絡いただいても 大丈夫のような気がしています。

ご存知の方も多いと思いますが、僕は政府認証基盤GPKIの件で、九段下にある合同庁舎に 何度か、総務省の打合せに参加したこともある。

参考になる日記
1月20日~1月30日の日記に、いろいろ書いています。是非。
1月20日の日記  RSAは終わらない - RSA 7680bit ICカードの実現可能性




暗号プロセッサ OpenICF3