今日の日記の数行を削除しました。暗号解読の脅威が世界中で心配されるようになりました。僕はGoogleは多くの人に指示されてるのではと思っています)暗号解読の脅威への準備が急務と考えています。ICF3-Fを急ぎたいのです。(一般の人はここまで)暗号解読の問題は鍵を長くすることで、ある程度、改善されるものと思われます。←これ僕以外できないと考えてください。優れていると思います。購入したハードを買い替える必要がなく、安心できます。鍵を長くすることを余儀なくされ、大型FPGAデバイスの大きな需要があるかもしれないし、ないかもしれない。やっていると商機を失うと考えているのです。体調を改善しないと作業進まないのです24時間脳内スピーカが鳴りっぱなしが続いている。音声主によって全身の筋肉に力が入らなくなったり、脳が痺れたり、満腹中枢を操作され、眠くなったり。数百以上の繊細な制御をされている状況は変わらず、このため作業がほとんど進まない状況は、変わっていません。ICF3-Fの暗号技術は、僕の言っていることが本当であれば、重要な技術のはず。国は、この状況、とっくに知っているはずだと思うのですが。僕が、連日耐え続け、頑張り続ける先に何があるのか。予想してみてください。このままいけば、損失が大きいと思います。いうことが起きたなら、誰か指摘してください。これで、このままいくという選択を軽く塞げたと思います。いい方向に向かっていければと。ThunderbirdのS/MIMEで使うことはできません。CSPやPKCS#11などの暗号ミドルウェアが必要です。2008年に自分用ICカードを1000枚作ったときに、自分用のCSPやPKCS#11を独力で開発しています。これらのコードにOSSライブラリは含まれていないので商用化が可能です。これらを新しい暗号プロセッサ向けにすることもできるでしょう。暗号プロセッサのビジネスが立ち上がれば、その後の展開に役に立つと思われます。僕の体では、ソフトウェアの体力勝負な世界では、全く稼げないので、これからもFPGAやハード開発をしているのだと思います。必要があればソフトウェア開発もやるのですが。フリーウェアとして広く使えるものにバージョンアップできると思います。NTFSやFAT32などのファイルシステムを使わない。パスワードで暗号化されているので安全。AWSのEC2へログインする用途なんかでは、便利かも。暇がなくてできませんが。できない方向を考えています。SoCの部品として便利に使える場合が多いように思っています。鍵長(演算器のビット幅)は無制限を考えています。ICF3(1999年)は鍵の長さとともに効率が緩やかに下がります。それでも1万ビットくらいなら、あまり問題にならないかもと。ICF3(1999年)のオープンソースをどうするかについては、多くの人が考える必要があると思っています。何かございましたら、勝手に考えずに下記の関連する日記も読んで、ご連絡ください。検証が、かなり重要なんだと考えて、急いでいます。←これ僕は他の人に頼んでいません。僕にとって、オモチャを組み立てるのと同じなのです。ICF3-Fの48bit版の試作しています(5)頭痛が酷くて、ほとんど進捗がありません。長時間続いているため、ネット上を彷徨うことに。ICF3-Fの暗号技術は、僕の言っていることが本当であれば、重要な技術のはず。世界の半導体の動向を知らない人は、ネットで調べて状況を確認したほうがいいです。FAQを書いたFAQ「ICF3の暗号プロセッサは1人でやったの?」を書きました。ICF3-Fの48bit版の試作しています(4)一昨日や昨日ほど酷い状態ではないが、遠隔操作が止まっているということはない。遠隔操作装置は、かなり違法なもののはずで善良な市民に向けてはいけないはずなのです。FPGAデバイスにLUT、FFなどの部品を貼り付けるPerlプログラムを書いています。並べてみたという感じで、最終版ではありません。次のデータをセットするためのもの。ICF3-Fの48bit版の試作しています(3)遠隔操作で頭が痺れさせられて作業が妨害されている感じ。(←日本の凋落を憂うならこれを対策してください)これまでもICF3-Fの作業が進む状態になると妨害動作が大きくなることが多い。頭が痺れると、考えることがあまりできなくなるので、作業が全く進まなくなる。なんとしてもICF3-Fを完成させようとしています。妨害の効果は傾国のリスクを高めるだけです。進捗を書きたかったのですが、前述のように、進捗がありません。FPGAに部品を載せる台の絵を作りました。ICF3-Fの48bit版の試作しています(2)遠隔操作で全身筋肉痛にされたような感じで作業があまり進んでいません。(←日本の凋落を憂うならこれを対策してください)いよいよ、LUTやFFをFPGA上に直接、貼り付けるところまで来ました。Perlで配置の位置を指定するXDCファイルを作成するプログラムの開発を開始。新型のモンゴメリ乗算器を取り付けられるように修正をして、48bitのVerilogファイルを作成中です。オープンソース版のVerilogファイルができます。FPGAに特化しているので、SoCに搭載するものは別途、専用に作り直したほうがいいのかも。いう疑問を持った人があったようです。競合が匿名で邪魔をしてくることがあるので、すべての反応に答えることは、ないと思います。256bit+α(αは数ビットという制限を課す)でもいいのかなとは考えています。256bitの演算器で256bitの楕円暗号の演算ができてしまうかもしれない。レイアウトや容量を考えないといけないのかなと思うのです。ICF3では、そういったことは必要ありません。最近の話は、知りませんが、現在でもあまり変わっていないように思ってます。ICF3(1999年)256bit版のオープンソースを考えてみる10月27日の反響があったようなので。オープンソース化が進まない理由は、法律的なトラブルを起こしているからではありません。このオープンソースの人気の秘密は、「僕に関する問題」の事実上の無効化作戦によるものが大きい。オープンソースとして十分なものにするのに僕が必要な物は「僕に関する問題」の解決。このためオープンソース化が進まない。無制限に大きなbit長のオープンソースにしようかと。緩やかに効率が下がります。それでも1万ビットとか、いけるのかも。基本的にSoCに搭載して便利に使えることのみを考えていて、改造についてはI/Fのみ。暗号プロセッサと演算器の周波数比や、プログラムメモリの容量などの改造は、できないと便利に使えないので有。「僕に関する問題」は大きいので。256bitまでというような最小限の解放で、様子を見るのが、いいのかもと思っているところなのです。小型のFPGAデバイスに実装して試せるようなHDL(Verilog)ファイルの雑誌による公開など。事実上、商用利用しにくく、僕の方での解放はしやすい。どのくらいのメリットがあるかの価値を考えることから。ICF3の性能特性は鍵長に比例します。256bitのように短い鍵長では性能が出ません。CPU型と比較して面積が小さい可能性はあります。余ったところに、予定外に入れてしまえるなどのメリットはあるかもしれません。製造に関するところは、僕も得意ではないので、なんとも言えませんが。Cube)に仮決めしておこうかと。急いで名前を考えることにしたのですが、半日かかってしまった。ICF3-Fは一列に並んだ演算ブロックを蛇のように蛇行させてCHIP上に配置させていることに由来します。巨大な整数の各桁は、一列に並んだ演算ブロックに一列に並べられて演算されます。時間が長くなってしまって、効率が悪化していきます。どんなに整数が大きくなっても、ほぼ効率を保つことをICF3-Fはやっています。桁あふれがないことを証明することが必要でした。僕のブログで証明しています。ICF3-Fの名前を考えようかとまた文字が読みにくくなって辛いのです。ICF3-FとICF3と区別がつかないのでICF3-Fの名前を考えようかと。GoogleのTitanは土星の衛星からきているのかと思い、土星の衛星で良さそうな名前を探してみた。Dione)にしようと、一度は、決めたが、商売する気がないのかと思われるのも良くないと考え直した。惑星や衛星の名前はギリシャ神話やローマ神話からきているものが多い。いうことで日本神話から奇稲田(Kusinada)あたりがいいかなぁ。専用のCPUを使ってハードウェアのファームなどの検証をするやつみたいです。以下は、僕が、この記事を読んだ感想です。「Ibex」を使うみたいです。小型のRISC-Vです。乗算命令は、高速版と低速版があり、高速版には17bitの乗算器を使うもののようです。OpenTitanが想定する用途で高速な公開鍵暗号が必要な場合、Ibexでは性能が不足する場合があるのかも。OpenICF3を考えることができるのかも。ICF3(1999年)でも、Ibexよりは、かなり高速に演算できると思います。OpenTitanに限らず、ICF3(1999年)をIbexのI/Fに接続するというような案はあるのかも。問題は、まだRTLのファイルを作成していないことと、ライセンスをどうするかということ。計画をもう一度考えると設計をOpenICF3に集約できるか。8bitで良ければICF3-ZのVerilogは作成されている。税金を使うとイジメられるので、やらない。税金を使うと僕が大損する状況があって、それを改善できると、かなり違う。ICF3-F進捗2スレッド版のモンゴメリ乗算器を暗号プロセッサに接着するための修正作業。実装できる可能性が出てきました。LUT数が不足して無理かも。相変わらず眠らされている時間が長く作業ペースが上がらない。サイドチャネル攻撃対策を論文より3年早く製品化していたRSA暗号は秘密鍵の値によって電流や演算時間が変動する。そこから秘密鍵が漏洩するため対策する必要があります。サイドチャネル攻撃対策と言います。ネット上で電気通信大学の崎山一男先生の解説記事(2008年)が見つかったので紹介します。アルゴリズムが書かれています。Gemalto)の文字列が筆者の中にあるようです。その対策が1999年のICF3でも、されていた。アルゴリズム的には違うのだと思います。このICF3のアルゴリズム。2日で考えてしまったものなのです。サイドチャネル攻撃対策を意識していたわけではなかったのですが、幸運でした。日記のタイトルは、やや釣りかもしれないですけど。ちなみに崎山先生も僕と同時期に日立にいたのですが、事業部が違ったので、全くお話したことはありません。DSPを制御するマイクロコードを開発中ICF3-Fのモンゴメリ乗算器のDSPのマイクロコードを開発中。Verilogシミュレーションで動作を確認しながら開発。XilinxのDSPはシミュレーション用の高速ライブライがあって、かなり高速に動作する。高速Verilogシミュレータ「Verilator」も興味はあるが、当面は使わないだろう。眠気を増大させられている感じ。平常の25%の作業スピードといったところ。SSLアクセラレータって何?ICF3-FはSSLアクセラレータです。ネット上の過去の記事で、SSLアクセラレータの、わかりやすい説明があったので紹介。1999年のICF3は1024bitのRSA暗号を1回、3.448[ms]の時間で演算できて世界一でした。2003年ごろ、自分のお金でアイルランドのSSLアクセラレータのAEP1000Lを13万円くらいで買いました。写真は数年前、デジカメで撮ったもの。RSA暗号ができることが書かれていました。一度に多数のRSAの演算をさせると1秒間に1000回近い性能がでましたが、1回だけ演算させると約20[ms]の結果でした。次の記事は、AEP1000LとかSSLアクセラレータについて、わかりやすく説明がされています。3.9で動作することを確認できました。保証できる話ではないですが、これが僕、個人で開発できる見通しなのです。仮に完成して、品質保証する必要がなければ、僕の作業のみでいいので、税金を引っ張り出す必要がない。僕が健康でありさえすればいいという話。いつ頃できるのか、僕の日記を読めば、予想できると思いますが、原価1万円くらいのFPGAにUSBでサーバーに接続できるような「SSLアクセラレータ」を作っています。小さいのであまり役に立たないかも。これができると、量子コンピュータの解読脅威によって、httpsなどの公開鍵暗号の鍵を、いきなり大きくしなければ、ならなくなった場合でも対応できる。量子コンピュータの解読脅威によって、公開鍵暗号のハードに投資できる人はあまりない状況で、昔からやっている僕くらいしか、できそうな人がいない。CPUでも演算できるので、CPUでもいいのですが。サバンチ大の超高速ハードもありますが、商業をいろいろ考えるなら、僕のICF3-Fがいいと思っています。SSLアクセラレータで公開鍵暗号のRSAを演算させて、バグで計算結果を間違うと、どうなるか?という話。実際のアプリケーションで、どうなるのかは、わからないけど、ほぼ技術的な予測による結論でいいように思ってます。RSA暗号は準同型暗号という性質をもっているため、必ず、ハッシュを含めて暗号化します。ハッシュを確認すれば、バグったかどうか、わかる。RSA署名は、httpsなんかだど、本物のサイトであるにも、かかわらず、ニセサイトとブラウザに表示されるのだと思うけど、動作検証していれば、例えバグがあっても、滅多に演算結果を間違うことはないし、ニセサイトと表示されるくらいなら、被害はゼロとか、あっても軽微なもの。業界ではSSLアクセラレータは、サーバー製品の中では、あまり品質が気にならない製品という認識と考えています。ICF3-FのDSP制御用プロセッサが動いたICF3-FをXilinxのFPGAに実装する作業をしています。モンゴメリ乗算器として使うDSPを制御するプロセッサがverilogシミュレーションで動き出した。昨年の試作のほうが、プログラムの内容を見て分散RAM(LUT-RAM)の容量を減らす仕組みを実装して高度な技術で作られていた。試作の結果、LUTの方が不足して、BRAMに余裕があることから、BRAMで作り直しました。設定によってアドレスがズレることに気づくのに半日かかったかも。頭痛攻撃は止んでいない。痛み自体は、あまり酷くはないが作業スピードはかなり落ちる。頭痛攻撃に悩まされながら開発を続けています。そのためブログの性能比較にさける時間が不足して計算間違いをしていました。思っていたからかもしれません。Nを演算するのに必要なDSP数は88個(44×2)ではなくて44個。この44個のDSPでリダクションもしています。4225個+リダクション用の巨大なLUTです。サバンチ大学の剰余乗算器は100倍以上、性能が良くなければ面積効率が悪いだろうと予測できます。サーバーCPUに接続するためには、ICF3-Fは暗号プロセッサが必須なので、それを考慮する必要があります。RSA暗号演算していることになる。CPUの脆弱性の問題を考えるなら、結局、暗号プロセッサが必要だと思われます。暗号プロセッサとしてARMやRISC-Vを使えば、ICF3-Fと同様に面積効率は悪くなる。プロセッサの面積についての評価は、簡単に見積もるのは難しいので、実際に実装してみるしかないように思っています。ICF3-Fの暗号プロセッサは、僕が利権を持っているので、僕が開発をすると完全にタダなのです。サバンチ大学の剰余乗算器でも、ARMつきのFPGAも、多く製品としてあるので、それらが使えるかも(全然、わからない)おまけ。上記は論文の128bit、256bit、512bitの結果からの予測。NなのでDSP数は半分近くで済む。Nを8cycで演算している。DSP数を4分の一くらいにしているのかもしれない。Nでも8cycにしてDSPを複数回利用することは可能。LUTのリダクションの効率は上がらないような気がしています。100倍未満の性能でも、サバンチ大学の剰余乗算器のほうが面積効率がいいということもあり得る。Nに使うのは、やはり配線数、遅延の考慮が足りてないとも考えます。ある暗号数学者とカードゲームのアルゴリズムで勝負これは僕が大学4年生のときの話です。