開発ではオープンソースのCPUが便利です。
SoCで1チップにする場合、クローズドのCPUでは知財関係が面倒です。
RISC-Vの場合を考えると、RISC-Vは命令セットアーキテクチャのレベルで並列性を
良くして性能を上げる設計思想のために一般的なCPUが持つフラグが無いのです。
このため32bit RISC-Vでは64bit演算が効率的ではありません。
つまり64bit単位で演算をするSHA-384/SHA-512など、これからいろいろなところで影響するわけです。
例えば64bit加算の場合 (a1a0 = a1a0 + a3a2)
一般の32bit CPU
add a0,a0,a2
addc a1,a1,a3
2命令
32bit RISC-V
mv a5,a0
add a0,a0,a2
sltu a5,a0,a5
add a1,a1,a3
add a1,a5,a1
5命令と追加の1レジスタ
上記のRISC-Vの命令列はDebian 12.9上で32bit RISC-V(RV32GC+ilp32d)を
ターゲットにしたgccコンパイラの出力結果(最適化オプション有)を参照しました。
コードを解説するとsltu命令の出力結果のa5はキャリーフラグの値と同じ。
致命的な問題ではありませんがICカードでは8bit単位の処理が多いこと考えるなら、
オープンソースのWZetaが良さそうな気がします。
次期個人番号カード(マイナンバーカード)でもSHA-384(SHA-512)が昨年の3月の最終案で採用されています。
2025年2月24日 追記
WZetaは論理合成する余地が、ほとんど無い紙の設計図を元にverilogにしているため出力結果を目視確認するのが容易。
規模も小さいので安全を確認できる。ICカードなどの用途では、安全を確認できることは非常に重要で、これができる
他のCPUは、あまり存在しないかもしれない。
2月5日に初リリースをしたアイドル認証アプリ。現行マイナカードでも動作するように改造した試作を作りました。
PCに挿入されているマイナカードを使って署名をするため電子証明書を選択する必要がなくて便利です。
使い方はアイドル認証アプリと同じなので
アイドル認証アプリで試してみることができます。
File In File Outを利用した軽い署名が可能なので汎用的な電子申請システムを
既存のシステムに作りこむことが簡単であるような気がします。
8桁表示の認証はサーバー側も秘密鍵が必要なので現行のマイナンバーカードではできません。
しかしwindows ローカルアカウント 秘密の質問のようなことには使えるかもしれません。
マイナンバーカードの電子証明書を更新すると使えなくなるので使えなくなった場合の手段は必要になると思いますが。
つまり事前にチャレンジ(乱数)に対するレスポンスを設定しておいて、認証が必要になったときに事前に設定した
チャレンジの答えを質問するというような使い方。
次期マイナンバーカードでは認証用の秘密鍵をサーバー側で暗号装置を使って管理する方法が使えます。
8桁表示が認証で使えるため便利です。将来、ほぼ完全な安全になる見通しであることが、他と比較して非常に優れています。
ご興味のある方は、是非ともご連絡ください。
以下は、SNSに投稿した内容の転載。
サーバー側に秘密鍵がある運用の安全性について疑問に思った人もいらしゃるかもしれません。
安全に運用できるハードウェア暗号装置 Stateless Super Secure HSM を開発すれば安全になります。
昨年、量子コンピュータの進歩により安全だと思える公開鍵暗号がなくなりました。対策された新しい公開鍵暗号も出されていますが、公開情報を使う限り、解読リスクはあるように思います。
そこで公開情報をなくしたInvisible RSAによって、ほぼ絶対安全、そして鍵長を長くすることで
未来永劫安全かもしれないものが考え出されました。これにはハードウェア暗号装置 Stateless Super Secure HSM の開発が必要なので、どのみち人類は開発しなければならないのです。
https://x.com/__canal/status/1880500233727275177
2月5日、ついにアイドル認証アプリを初リリースしました。
Windowsで動作するGoogle認証システムのようなアプリ。
たった152KBのexeファイル1個でWin95からWin11まで動作します。
アイドル認証アプリとは画面に表示された文字をブラウザに入力して本人確認や銀行振込をするOTPみたいなもの。
noteの記事として投稿しました
アイドル認証アプリ 無料ダウンロード
ARM版Windows用 アイドル認証アプリ
x64版 アイドル認証アプリの公開
アイドル認証アプリを便利にするフリーウェア
下記の画像は「ハードエラー検出」の機能です。
以下はSNSに投稿した内容と、ほぼ同じ内容です
この機能こそが世界を大きく揺るがすことになると思います。最先端半導体を超効率的に進めることができます。
現時点では既存のRSA暗号のシステムを流用しているのでソフトウェアで「ハードエラー」を検証していますが、
将来、Invisible RSAのICカードになればカード内で「ハードエラー」を検出します。
誤動作する可能性のある暗号プロセッサの自己チェックなので漏れる可能性はゼロではありませんがサーバー側で認証、
署名検証をするところで確実にチェックできます。
e-Taxの例えだと、e-Taxサーバーに送信後、「署名の壊れのため再送願い」のメールが利用者に届くことになるのです。
ほとんどそういうことは起きないと思いますけど。
ノートPCが誤動作する場合の最悪ケースの例は、エクセルデータが微妙に壊れて、気付いたときには、修復することができず、
データが消えることすらあるのです。「ハードエラー検出」によって、いかに最先端半導体のプロセス開発や、
ビジネスが、効率的になるかが、わかると思います。
Windows95のような30年前の、とてつもなく古いPCでも、安心して使えるのも「ハードエラー」の検出機能のおかげ。
暗号プロセッサSnakeCubeの理論限界に迫る効率の発明は、不揮発メモリ、乱数生成器、
SHAなどのハッシュ関数を使わずにICカードを製造可能とします。このため最先端の半導体を使っても低コストです。
水銀電池を使わない運用も可能になります。最近は環境問題からボタン型電池に置き換わったようですが、現在もなお、有害な水銀が微量に用いられている電池が存在するらしいです。
ボタン型電池であっても、銀などの貴重資源が含まれています。
これまでもサイバー攻撃で小規模な改ざんがあったのですが、
HDD上にバックアップしていた8年前のソースコードが大規模に落書きされました。
常駐の産業スパイによるものと思われます。
8年前、マイナンバーカードのAPIを試しているうちにWindowsの標準機能だけで
電子署名が可能であることを発見したのです。SHA-1では電子署名ができましたが、
SHA-256では電子署名できなかったので、そういう仕様だったのだと推定します。
そこでマイナンバーカードによる電子署名を根拠に電子証明書を発行する
MyNumSignというサービスを開発して、一時期、運用していました。
総務省自治行政局住民制度課内のマイナンバーカード民間事業者利活用相談担当に
連絡をして、そういったサービスを行っていいかと問い合わせたところ、
技術者が出てきてマイナンバーカードのルート証明書を使ったものでなければ、
良いという回答だったと思います。
このMyNumSignのソースコードに大量の落書きが入って壊滅的に破壊されました。
幸い小さいプログラムなので再度、最初から開発すれば良いので、
致命傷にはなっていませんが、国民の皆様にご報告をと思いまして日記に書きました。
国民の皆様、サイバー攻撃に備えましょう。
重要なデータはHDDではなくDVD-RやBD-Rなどの光学メディアにも
バックアップしておいたほうがよさそうです。
SNSでアイドル認証アプリのAuth機能について解説しました。そしてこのAuth機能が3値2進数の
乗算器がもたらす恩恵を劇的に低コストにするという説明もしました。
世界で最も注目を集める暗号技術の話を僕がしているからだと思うのですが、
産業スパイの一人が情報提供をしにきた。なぜ、その話を日記に書くのかといえば、
産業スパイから情報提供が僕の成果に含まれていることを後で言われるに決まっているから。
産業スパイのことだから100倍くらいに情報提供の成果を膨らませ僕の成果を極限以上に小さくするだろう。
適宜、日記に書き留めることで僕の成果の過小評価を避けることを考えました。
今回の情報提供はRSA暗号の鍵生成の話。最初に少し脱線します。
凶悪な記憶消去魔法で記憶が劣化して思うように経験を活かせないこともある。
ただ暗号そのものを専門としていないのでRSA暗号の鍵生成の安全性を完璧にということは僕には無理。
ICF3(1999年)の暗号装置のRSA暗号の鍵生成のプログラムを書いたのは僕だったのですが、
日立製作所を2005年に退職するときに、ICF3で使われた鍵生成のアルゴリズムが何であったのかを守秘する誓約書を書いています。
これは自己申告だったのですけど。
話を戻すと公開鍵を見えなくするInvisible RSAでは「小さい秘密鍵にして演算量を激減させる」変種の可能性をリークしにきた。
公開鍵と秘密鍵を入れ替える変種。Invisible RSAは従来RSAの公開鍵を見えなくするだけなので、
従来RSAの安全性を下回ることは絶対に無い。一方、小さい秘密鍵にした変種は安全性の評価が未評価。
そして公開鍵を完全に見えなくするエコシステムが整備されていないために、初期投資が大きくなる。
これを僕の暗号プロセッサSnakeCubeがいらなくなる話と思う人は多いかもしれないけど、
逆で、小さい秘密鍵を実現するためにはサーバー暗号装置で暗号プロセッサSnakeCubeが非常に貢献する。
小さい秘密鍵で安全性を確保するためにはRSA暗号の鍵を、どんどん大きくできる必要があるから。
クライアント側で小さい秘密鍵で認証するためにRSA暗号の特性が逆転したかたちになり、
サーバー側で非常に重い計算が必要になる。
いきなり小さい秘密鍵を社会実装するには、安全性の確認など、まだ準備ができていない。
暗号プロセッサSnakeCube搭載のICカードで準備を整えた後、
暗号プロセッサSnakeCubeの演算器の厚みを削づり、周波数を落として、ICカードの原価低減。
サーバー側の演算量が激増するけどInvisible RSAのおかげで可能な「状態が無い」暗号装置は
運用性が非常に高くICカードの原価低減効果を得られる。
暗号プロセッサSnakeCubeによって世界で最も安全だと思えるInvisible RSAを演算できるICカードの実現が可能となり、
その後、Invisible RSA(変種)によってICカードの原価低減がサーバー側の暗号SnakeCubeによって達成できるのである。
そして認証演算においてハッシュ関数をべき剰余演算で代替できることで暗号プロセッサSnakeCubeだけで実現する。
このことでもICカードのコスト削減につながる。
小さい秘密鍵のICカードでは検証演算が激増するのでヤマタノオロチ作戦で売りの一つとなっている
最先端半導体プロセス開発支援に影響は出ないのか?という問題。
ハードエラーを即時にチェックできる必要はなくてサーバー側で検証失敗というエラーが返された後でも、
それほど問題はない。即時にチェックできればサーバーに1度もエラー送信することがないので、
そのほうがいいのですけど、それほどエラーは出ない想定。もし出るようならICカードを回収すればいい。
最先端半導体プロセスの開発支援に影響が出ることも、あまりないと思われます。
産業スパイが暗号に詳しいことは確かだけど、情報の出どころは不明だし、
このInvisible RSA(変種)が最終的に世の中に出るのか、僕のほうでは把握していません。
認証演算においてハッシュ関数をべき剰余演算代替する方法は変種とは関係が無いため
SnakeCubeによるICカードのコスト削減は、できそうです。
こちらは産業スパイ情報ではなく、僕が思いついたものです。
もうすぐ公開予定のアイドル認証アプリに実装してリリースします。
国民の皆様、産業スパイの妨害活動を止めてください。よろしくお願いします。
参考URL:ヤマタノオロチ作戦の説明が最後のほうにあります。上から全部、読んでもそれほど長くないので、よろしければどうぞう。
「暗号プロセッサで使われる用語の整理」
|