移転前 https://snakecube.idletime.tokyo/
移転後 https://openicf3.idletime.tokyo/snakecube/
SnakeCubeが儲かれば元のURLに戻すことがあります。
現行のカードのままICカードリーダーに個人の電子証明書を入れた高性能チップを追加すれば、
安上りかも。Multi-Prime RSAで中継ぎをした後、
ICチップにRSA/DSA 2048bit/15360bitのSnakeCubeを実装することが困難になってしまった場合の保険としても、
有効な案。僕をデジ庁の次期マイナカードのタスクフォースに呼んでください。
新しい公開鍵暗号も、安全性を評価していくうちに攻撃方法が見つかり、
結局、膨大な演算が必要になりICカードのICチップに搭載できなくなる未来が訪れるかもしれない。
そういった問題を、日本の次期マイナカードで実践し、世界に提案するという目的も達成できる。
カードリーダーに高性能チップを搭載するほうが、ICカードに搭載するより高性能なものが、
安価にできると思われます。さらに暗号プロセッサSnakeCubeは大演算器を分割しても性能が出る
特異で優れたアーキテクチャなのでチップレットも可能。
これは信頼のおける半導体製造メーカーが最先端のプロセスでなくても
次期マイナカード(リーダー)が作れるという利点がある。
そして最先端プロセスであれば3万ビット以上のRSAも現実可能な範囲となるでしょう。
国は最先端プロセスに多額の税金を投じている。
公開鍵暗号の安全性もRSA 3万ビットで、当面は一発解決してしまえる選択も可能だ。
欠点はリーダーのPC/SCドライバの開発が必要。既存の流用が可能だと思われるので、
それほど大きなコストにはならない。そもそもこのPC/SCドライバを海外に頼るべきところではない。
(過去にPC/SC以外のドライバが採用されたケースもあったかも)
注意すべき点は最先端ではSnakeCubeの大演算器を複数チップに分割した場合、
チップ間の遅延によって性能が頭打ちになる可能性がある。
大演算器の場所から、チップの送受信I/O近くの
フリップフロップまでは引き出せると思うので、
送信側チップのフリップ・フロップから受信側の
フリップ・フロップまでの遅延時間が性能を決める。
隣接するチップ間の転送になるのでクロック・スキューも計算に入れる必要がある。
この遅延時間(1サイクル)は2020年にFPGA実装したSnakeCubeの236MHzに相当する値。
236MHz ≒ 4.24[ns]
GIGAZINE記事(2022年3月3日)
「Intel・AMD・Microsoft・TSMC・Samsungなどがチップレットの新規格を策定する「UCIe」コンソーシアム設立を発表」
https://gigazine.net/news/20220303-universal-chiplet-interconnect-express/
GIGAZINE記事の図にLatency Tx+Rx < 2[ns]とある。この2nsがチップ間の遅延だと仮定。
この仮定があっているのか、わかりませんが大雑把な予測をすると
チップレットでもSnakeCubeは500MHz以上で動作。3万ビットのRSAでも数秒以内で署名演算が可能な予想。
頑張ればRSA 10万ビットもいけるか。
RISC-VのようなオープンソースのCPUを目指す16bit
WZeta。
WZetaに進捗は、ありませんがFPGAを使ったソフトプロセッサでは命令追加が
容易という利点があります。
どういった命令を追加すればアプリが高速化するのか。
アプリに近いところにいるFPGAエンジニアが考えると良い命令が作れる。
WZetaにはハードマクロ命令という機能があるので命令追加が容易。
この結果、WZetaが普及する。そういったことを考えています。
高速な専用ハードを呼び出す方法として命令を割当てる以外の方法もありますが、
命令を割当てると、専用ハードが無い場合や、将来、もっと高速な専用ハードを
追加しても、ソフトウェア側の変更が不要という利点があります。
余談ですが、話題のIntel POPCNT命令、FPGAのソフトプロセッサで、
この命令を追加するハード量は、非常に小さい。FPGAで試して、
販売数が出る場合にはASICにするということも考えられそう。
ただPOPCNT命令を追加してIntelが怒らないのかというのは、
僕のほうでは、わからないし、WZetaに拡張命令を追加した人たちの責任ということで。
余談その2 8bit時代のWZetaの命令と比較してインデックスレジスタの
インクリメント・デクリメント命令が増えて表現力が増加。
インデックスレジスタの増減にはメモリアクセスが無いので、
メモリ転送命令と連続して使えば、メモリバス8bitでも、
性能劣化が抑えられるWZetaが作れるかなぁと、、、究極の省資源CPU
産業スパイによる妨害で僕の出力が落ちています。妨害してくるのを止めてもらえると助かります。
僕にはRSAの延命が安全なのか、楕円曲線の延命が安全なのか、わかりません。
公開鍵暗号の安全を保証することはできないので確率的な話になってしまいますが、
国民にとってRSA延命のほうがメリットが多いと思っています。
量子コンピュータがわかる方にはRSA延命だと思っている方などあるかもしれない。
次期マイナカードでSnakeCubeを採用するには時間的に厳しくなっています。
もし時間的な問題でSnakeCubeの開発が難しいようなら
Multi-Prime RSAで中継ぎしてSnakeCubeを開発する方法もあるように思います。
Multi-Prime RSAとは何か?RSAと同じだと思っていいと思います。
通常のRSAでは公開鍵は2つの素数の積ですが、Multi-Prime RSAでは3っつ以上の
素数の積になるだけです。従来のICカードでRSA 7680bitを高速に演算できる半面、
場合によっては従来RSA 2048bitよりも脆弱になる可能性があります。
そこで現行のRSA 2048bitにRSA 7680bitを追加します。現行システムではRSA2048bitのみ。
新しいシステムではRSA 2048bitとRSA 7680bitの両方を使います。
従来カードにRSA 7680bitを追加するだけで当面を乗り切る覚悟をします。
Multi-Prime RSA特有の脆弱性の評価をすることなく
SnakeCubeを開発してRSAとDSA 2048bit/7680bit/15360bitのICカードを完成させます。
このときSnakeCubeの大型のモンゴメリ乗算器を活かした
耐量子暗号を将来追加できるように考えておきます。
SnakeCubeのICカードになっても、サーバー側のシステム更新が不要であることが、
Multi-Prime RSAによる中継ぎ案の大きなメリットになります。
家電/IoTでは暗号強度よりも安価であることが重要な場合も、多いと思われます。
次期マイナカードでSnakeCubeを開発できるような体制を作っていくことを!
2月3日の日記の結論と同じですが、
国民の皆様は、僕のSnakeCubeを導入するのが、良いと思います。
実績のある公開鍵暗号が、当面の間、楕円曲線1つになる問題の解決を
SnakeCubeは世界に提案できるのです。
2月9日 9:30AM追記(SNSに投稿したものを転載)
Multi-Prime RSAはOpenSSLにも実装されているので性能測定ができます。
ICカードでMulti-Primeが流行らないのはカードを落としてPINを盗まれていた場合、サイドチャネル攻撃で秘密鍵が漏洩する確率があるから。サーバーではマザーボードを落とすことが無い。
サイドチャネル攻撃について僕はRSA以外は詳しくないので専門家に聞いてください。
僕のRyzen5 5600GでMulti-Primeの性能をopensslのspeedコマンドで測定してみた( Red Hat Linuex 9.2 Openssl 3.0.7)
●RSA 7680bit 素数の数 4個
署名 94.9回/秒
検証 5900.6回/秒
●RSA 15360bit 素数の数 5個
署名 36.9回/秒
検証 1496.0回/秒
現在、社会インフラで最も良く使われている公開鍵暗号はRSAと楕円曲線(ECC)です。
RSAを延命したほうが家電/IoTが安くなる効果を得られそうですが、楕円曲線では無理です。
次期マイナンバーカードで楕円曲線を選択するのではなくRSAの鍵を長くする案を検討すべきという話です。
デジタル庁のタスクフォースでは楕円曲線(521bit)を延命する方向で進んでいるようです。
RSAと楕円曲線、どちらも量子コンピュータによる解読リスクがあります。
次期マイナンバーカードをRSAと楕円曲線のどちらを採用するのかについては、
今回の家電/IoT効果だけで判断するものではないのですが、
これまで発見されていなかった問題なので戦局を傾けRSA採択になればと思っています。
次期マイナンバーカードでRSAのSnakeCubeを開発して、家電/IoTでSnakeCubeを
安価に仕入れられるようにするのです。
楕円曲線はRSAと違って鍵長毎に安全性を評価しなければならないため、
楕円曲線(521bit)は保険なども含め、新規にコストが発生することが予想されます。
RSAは楕円曲線よりも計算量が非常に多いのですが計算式は単純なので
専用演算器にすればCPUやメモリを使わなくても計算できるものを作り易い。
そして高性能&高効率なSnakeCubeのモンゴメリ乗算器に多少、
追加をすることでCPUやメモリを使わずにRSAだけは高速に演算ができます。
CPUやメモリから秘密鍵が漏れることが絶対になく、脆弱性対策に、悩まされることがありません。
そろそろ脆弱性対策を続けていくよりはRSAで一発解決すべきのように思います。
SnakeCubeのモンゴメリ乗算器+αを家電/IoTで使えば経験の浅い開発者でも家電/IoTの開発が容易になります。
そして脆弱性の審査コストが無くていい、あるいは、低コストな審査でいい。
これが家電/IoTが安くなる効果です。
さらに量子コンピュータによる解読リスクは家電/IoTを安く販売してもいい理由になるメリットも
あるので問題になりません。
SnakeCubeのモンゴメリ乗算器は海外などの論文で多く使われているRNSを使用していません。
SnakeCubeは非常に輸入アルゴリズムが少ない。技術輸入されているのはモンゴメリ乗算くらいです。
またIBMや日立の技術が入っていません。恐らくICカードやマイコンではRNSよりもSnakeCubeが勝ちます。
乗算器の利用率からSnakeCubeを超えることは、理論的に非常に困難だと思っています。
家電/IoTといえども解読されないためには鍵長を大きくできる必要があるので、
他のRSA演算器ではなくて、SnakeCubeということになる。
数学関係の仕事が減るので、数学者の嘆く声も聞かれますが、SnakeCubeが採用されれば、
次のフェーズでSnakeCubeの大演算器を活かした同種写像の仕事を創造できます。
SnakeCubeのモンゴメリ乗算器一つでRSA/DSA/楕円などの従来暗号が演算できて、
量子コンピュータに強い同種写像ができる価値を作れます。
これはICカードのような限られた計算機資源の場合に有効です。
国民の皆様は、僕のSnakeCubeを導入するのが、良いと思います。
実績のある公開鍵暗号が、当面の間、楕円曲線1つになる問題の解決を
SnakeCubeは世界に提案できるのです。
既にSNSに投稿していますが日記に転載したほうがいいと思ったので。
社会インフラを支えているRSA暗号と楕円曲線暗号。
家電などの広範囲な用途においてRSAが低コストだと言える話。
1月28日 7:00AM
楕円曲線暗号はRSA暗号よりハードが軽量なのですが演算にはCPUの助けが
必要なので脆弱性の問題が絶えないのです。
完全に対策するためには暗号専用のハードを別に用意する必要がありますが
楕円曲線ではCPUとメモリが別途必要なるためRSAのほうが最終的に低コストになる可能性があります。
脆弱性の問題と戦い続けるよりRSAで一発解決をするほうがいい。
次期マイナカードでRSAを採用すればRSA搭載マイコンの価格が下がり安価な家電が
供給されるメリットが期待できるかもしれない。国民は再度、次期マイナカードでRSA案を検討すべきです。
国民のトータルの税負担を軽くすること。
1月28日 5:40PM
補足。RSAなら脆弱性が無いのかというと、そうではなくて、楕円曲線と同様に脆弱性があるものが、
ほとんどです。RSAならCPU、メモリから漏洩するような脆弱性の無いものを作ることが可能です。ということです。
そしてCPU、メモリから漏洩しないRSA演算器を作ることができても、
作り方が悪いと電力差分攻撃などのサイドチャネル攻撃によって秘密鍵が漏洩します。
電力差分攻撃などのサイドチャネル攻撃についてはSASEBOが有名みたいなので詳しくは検索してください。
僕は電力差分攻撃などのサイドチャネル攻撃に強くRSA演算器単体でRSAを演算できるSnakeCubeを既に開発して持っています。
専門的な話になりますがレジスタのためのSRAMすら不要。つまりチップ上の空いたところにRSA演算器を置けるメリットなど。
https://youtu.be/beaFg0x8Qj8
暗号プロセッサSnakeCubeの豆知識(TIPS)。
高効率なモンゴメリ乗算器を持つ暗号プロセッサSnakeCubeは家電の製造コストを下げられるかもしれない。
SnakeCubeの発明も使い方がわからないと使われないかもしれないと思ったので日記を書きます。
SnakeCubeは、大きな鍵長のRSA暗号が得意であることは知られているように思います。
小さい鍵長のRSA暗号は量子コンピュータによる解読リスクがありますが、
家電の機器認証などの用途では、安価なので利用できるケースはあると思います。
SnakeCubeはRSA以外にDSAも可能ですがモンゴメリ乗算器単体でもRSAは可能です。
ARMやRISC-VなどのCPUコアがなくてもRSAによる機器認証などができるということです。
暗号プロセッサSnakeCubeだと回路が大きくて製造コストが下げられない場合でも
モンゴメリ乗算器単体なら製造コストを下げられるのです。
SnakeCubeのモンゴメリ乗算器の発明は世界一、超高効率&高性能だと思われます。
汎用性のある楕円暗号の演算器としても利用できます。
楕円暗号はパラメータに特化した演算をすることができる場合もあってSnakeCubeが
必ずしも有利ということではありませんけれども。
産業スパイが勝手に僕の発明を使ってないか心配になっています。
この発明は僕1人でやったもので、産業スパイが勝手に侵入して持ち出す可能性があるのです。
補足: 暗号演算は秘密鍵を漏洩させないようにする必要があるのでCPUとは独立して
演算が可能な暗号プロセッサが便利なのです。RSAならモンゴメリ乗算器+αの回路で良くて便利です。
今後、機器認証に必要なRSA鍵長も大きくなるのでSnakeCubeのモンゴメリ乗算器は世界中の家電で活躍するかも。
参考URL
●YoTube動画「暗号プロセッサのRSA2048bitの性能実機確認」
https://youtu.be/beaFg0x8Qj8
暗号プロセッサSnakeCube最優先ですが16bitPCも作る方向です。
これまで説明してきた通り独自の制限つきのオープンソースのPCを考えています。
すぐには開始できないかもしれませんが、僕はAMD/XilinxのFPGAに慣れているので
AMD/XilinxのFPGAボードを使って作りますが、互換機は他社のFPGAボードでもいいことにして、
広く普及させることを望んでいます。雑誌や電子パーツショップなどで盛り上がってくれればなぁと。
参考までにWZetaは16bitになりましたが8bit時代にelchika AWARD 2020に応募、
予選を通過、審査をしていた秋葉原の通販ショップのすべてから商品をいただける結果となりました。
このことをキッカケにWZetaを本気で作り始めたのですが、
僕の予想を超えた次世代CPUとなりそうです。
トランジスタ数当たりの性能が非常に高く、新種のマルチコアを作れる。
地球環境問題に影響できるほど省資源であることから、この新技術の教育価値もある。
●16bit CPU WZeta公式サイト
https://wzeta.idletime.tokyo/
昨年末にデジタル庁により開催された
次期マイナカード会議(12月26日)の感想の(後編)です。
公開鍵暗号についてだけの感想ですが日本国、及び全世界に向けた話になります。
【要点】-----------------------------------------------------------
市役所にマイナカードの電子証明書更新システムと信頼できる人を配置するコストは大きい。
会議ではマイナカードの電子証明書更新のコストを省くため、さらに高い強度の公開鍵暗号が必要とされた。
説明は省きますが、僕の発明であるRSA暗号プロセッサが非常に有望になった。
ここで重要なのは最先端の半導体プロセスの開発コストが大きく下がることが期待できる
シナリオが現実可能になったこと。
生成AIが流行する大きな理由は、十分に安定しない最先端の半導体で儲けられることだが、
これをRSA暗号プロセッサに置き換えることで大きなメリットが生じる。
電力を大量に消費する生成AIがRSA暗号プロセッサになれば原発の数を減らせるかもしれないからだ。
RSAは検算が可能で、しかも検算の演算量が非常に少ない。
実運用させながら検算結果をフィードバックできる夢のようなアプリ。
このため最先端の半導体プロセスの開発コストを大きく削減できるのではないかという予想になっている。
昨年から国は莫大な税金を半導体に投下しはじめた。お金以外でも支援はできる。
フィードバックには国民の理解が必要。投資家は儲かればRSAでも良いはずだと思う。
国民の総力をあげて官僚を動かし、日本の未来を切り開くべき時です。
世界に楕円曲線が解読されたときのためのRSA対策を売り、最先端の半導体を使ったノートPCなどの価格が下がることを期待しましょう。
この成果は立地条件が良くて、次期マイナカード1億枚がある日本が有利なのです。
暗号プロセッサSnakeCubeの発明は僕1人の持ち物。
そして数学的なアルゴリズムみたいなものなので同時に全世界の最先端メーカーに展開が可能ですが僕に、
どのくらい入るかがポイントです。よろしくお願いします。
-----------------------------------------------------------------
技術的な説明を羅列していきます。昨年末からSNSに投稿した文章のリメイクが多いですが、
長い文章ではないので最後まで読んでください。
会議ではRSA暗号ではなく楕円曲線暗号 521bitを検討していますが、現行のマイナカードはRSA暗号なので
サーバー側は新旧のマイナカードに対応しなければならないコストを考える必要がある。
新カードに対応できないサービスを利用することができない問題が出てくる。
楕円はRSAと違って鍵長ごとに安全性を考える必要があるため521bitのための追加コストが大きい可能性がある。
保険屋が大変かもしれない。
楕円521bitの追加コストの話をした直後、デジ庁の最初の案の楕円384bit、証明書5年更新案に戻った人たちがいたようです。
この案の問題は楕円曲線で必要な乱数生成器のコスト。乱数生成の方法を漏洩させないことは不可能なので、
乱数生成の方法が明らかでも安全であることを言える必要がある。
マイナカードに実用化前の最先端半導体を導入するとなると誤動作が心配になると思いますが、
最先端の半導体だからといって、限界の細い線を、すべて回路に用いる必要は無い。
つまり安全性が重視される回路において、太い線を使えば、誤動作しない。
RSA演算回路だけ限界まで細い線を使えば、いいのではないか?と思っているのです。
僕は現場にいないので、このあたりは、確かな情報ではないけど、あっているような気がしています。
最先端の半導体プロセスを研究、実装している人たち向け。
昨年の10月5日の日記なので忘れた人もあるかと思いましたので再掲します。
この3値2進数は僕が考えたものですが半導体プロセスの技術がついてこれるのか、わからず、
僕にはできないので、全く責任を持ちませんが、面白い話。
3値2進数の回路を通常の2進数と接続するためには変換するオーバーヘッドがあるので、
一般的には3値2進数の回路で利益を上げることは難しいのですが
僕の暗号プロセッサSnakeCubeでは、うまく3値2進数の回路を使えるので利益が出せるかもしれない。
日記 2023年10月5日「3値3bitブース乗算器の半導体回路を考えてみた」
韓国は3進数の半導体を既に作っているようですが、この3値2進数は別モノです。
念のため、暗号プロセッサSnakeCubeは3値2進数の回路が無くても非常に高性能&高効率です。
暗号プロセッサSnakeCubeで256bitセキュリティの暗号強度を実現するためにはRSA 15360bitですが、
楕円曲線と同じ離散対数問題の困難性を安全の根拠とするDSA 15360bitも使えます。
DSAを実際に使うには追加コストが必要かもしれませんが、もしRSAが解読された場合、
DSAを使うしかないことを考えると、DSAの安全性の検証コストを削ることもできるような気がします。
参考まで暗号装置ICF3(1999年)はRSA/DSAの双方を実装しています。
僕を回避したいと思う人はあると思いますが回避することは困難だと思うので、
国民の皆様は僕を起動することに力をいれてください。
僕は代理を頼んでいないので、必ず僕に連絡をしてください。
よろしくお願いします。
昨年末にデジタル庁により開催された
次期マイナカード会議(12月26日)の感想。
メインパソコンのOS再インストールで日記を更新できなかったので大幅に感想が遅れました。
僕はマイナカードの公開鍵暗号と暗証番号についてだけをコメントします。
公開鍵暗号についてはSNSで、だいたいのことを述べてきました。
ですので、まず暗証番号についてコメントします。
(現行) 4桁の暗証番号×4個
(中間案) 4桁の暗証番号 + 6桁以上の暗証番号の2個
中間案の狙いは暗証番号の数を減らすことで利便性を向上させていると思われます。
署名用の暗証番号6桁以上と混同するので、暗証番号間違い多発で市役所の対応増にならないだろうか。
僕の経験だけどアプリに暗証番号を要求された時に、どの暗証番号を入力すればいいのか、
はっきりしなくて、非常に困ることがあった。
マイナカードをよく使う人、あまり使わない人があるのです。
このどちらにも対応できる必要があります。
マイナカードを良く使う人はマイナカードを悪用されないために用途別の暗証番号を必要とします。
(僕の案) 4桁~6桁の暗証番号×4個
利便性を優先させたい人は最初の2つに同じ4桁の暗証番号。後の2つに同じ6桁の暗証番号を設定するようにします。
RSA暗号のような公開鍵暗号ではパディングを使うことで1つの鍵で複数の暗証番号に
対応させることもできると思うので大きな秘密鍵によるICチップの容量の問題は回避できるような気がします。
僕の案は、デジ庁の中間案と同等の利便性で全領域で同等以上のセキュリティ。
そしてマイナカードを良く使う人には高いセキュリティを提供可能
PUK(PIN UNLOCK KEY)についての意見ですがセキュリティに問題がありそうであること。
結果、希望者が少ない。このためPUK開発コストが無駄。
PUKの機能が無い場合、運用コストが増加しますが、それでもPUK無しのほうがいいのではないだろうか。
マイナカードは暗証番号の間違いを繰り返すとロックする機能があります。
初回利用は10回までOKのような対応で運用コストを下げられないだろうか。
昨年の僕のツイートです。暗証番号の覚え方についてです。参考になると思います。
https://x.com/__canal/status/1708440580878201246
https://x.com/__canal/status/1713746299454095380
以下、ツイートの転載
-----2023年10月1日-----------------------------------------------------
デジ庁の人が、次期マイナカードのタスクフォースに呼んでくれないので、僕の方式を、ちょっと解説。
僕の方式を採用すれば、ほんの少しのセキュリティの差でマイナカードが成功するかもしれない。
現行のマイナカードは0~9までの数字4桁の暗証番号。
機能毎に4個が実装されています。
これを4桁~6桁に拡張します。そして暗証番号入力画面に機能毎に乱数を表示させます。現行と同じでいい人は4桁の暗証番号を、これまで通り運用する。セキュリティを気にする人は6桁の暗証番号にする。
覚えるのが面倒な人は、暗証番号入力画面の数字を使って、暗証番号を生成する。生成方法を1つ覚えればいい。
例えば下図では16進数ですがA~Fを0~5に変換。
最初の4桁を1234。
暗証番後の5桁目は2番目の乱数の左側の数字+2
暗証番後の6桁目は2番目の乱数の右側の数字だけ乱数番号をずらして右側の数字-1
図の場合、暗証番号は 123451
これ以外の方法でも良くて、むしろ、いろいろ考えてもらったほうがセキュリティは高くなると思います。
僕の方式では次の3通りの人に対応できる。
(1) 現行と同じセキュリティがいい人
(2) より高いセキュリティを希望する人
(3) 覚えるのが面倒な人
--------------------------------------------------------------------
-----2023年10月16日----------------------------------------------------
ここで例にあげた暗証番号の覚え方だと暗証番号の最初の4桁をベースにしていますが、
この4桁も、例えば、右から2番目、4番目、6番目、7番目の値にしても問題ないです。
まだ暗証番号を覚えるのが面倒な人でも、利便性はあります。
暗証番号入力画面で機能別固定乱数を表示できないケースがある暗証番号は、
設計段階で明確にしておくと利用者が助かるのかも。全てを明確にできなくても、多少、利便性が下がる程度と思われますが。
--------------------------------------------------------------------
|