今年の1月に騒いだやつです。
Yan 等の中国の研究者グループの論文
"Factoring integers with sublinear resources on a superconducting quantum processor"
(2022 年 12 月に発表)
日本語による優しい解説を富士通研究所の人がしているのを見つけたので読んでみました。
QAOA を用いた素因数分解法について (Part 1: 論文の概要)
SQIFの研究が進めば解読に必要な計算量が激減する可能性を否定しきれないと僕は思いました。
上記、論文を真摯に受け止めるならマイナンバーカードのようなICカードでは
RSA以外の公開鍵暗号も必須です。
暗号プロセッサSnakeCubeはRSAだけでなくDSAの演算が可能です。
DSAはICチップに作り込んでおいてRSAに問題が発生するまで使わないという
運用もあるのですが、RSAとDSAの併用がいいのかもしれません。
RSA 7680bitの電子証明書とDSA 7680bitの電子証明書のどちらでも使えるという運用。
本日、
富士通の人によるSQIFの解説がZOOMで行われていたので見てみました。
富士通の量子コンピュータ、デジタルアニーラで実際に解読した結果がありました。
結論は、富士通ではRSAの鍵長が大きくなると解読に必要な計算量が膨大になるため
当面は安全です。という内容でした。
僕のモンゴメリ乗算器のアルゴリズムの発明によって、
40nm~65nmの半導体でもRSA 7680bitのICチップが現実的になってきました。
早い話が日本の技術だけでRSA 7680bitのICカードが作れる(かも)。
例えば、海外に販売する場合にも、海外技術の制限を受けずに広範囲に販売が
可能になるなど。
現時点だと耐量子暗号をICカード化するのは難しいため、
ECDSA以外のRSA 7680bitのICカードの存在は、世界にとって重要です。
日本の高速道路の料金システムETCカードのような交通システムでは、
ECDSAが解読されたニュースが入れば、RSA 7680bitのICカードにスムーズに
交換できるような気がするので、交通規制による経済的なダメージを
回避することにも便利だと思われます。
産業スパイによる僕への攻撃が、以前より激化しています。
僕が破壊されてしまうのなら、
僕の発明は永遠に使わないで欲しい。
そして僕の発明を回避することは難しいです。
僕につきまとう産業スパイを僕から異動させてください。
SNS上で半導体製造技術によってもRSA 7680bitのICチップを作れることを
投稿している人たちを見かけます。半導体製造技術では、製造の消費電力が大きかったり、
不良品率が高かったりするため地球環境負荷が大きいです。
したがって、僕の破壊を防ぎ、
僕のモンゴメリ乗算器のアルゴリズムの発明を使いましょう。
おまけ。
僕の発明では巨大整数を演算できる巨大暗号プロセッサを
複数のチップに分割しても、あまり性能が落ちないアーキテクチャです。
RSA 32万ビットの署名では、ハイエンド・パソコンよりも高速に
演算できると思われます。量子コンピュータの量子ビットが100万ビットになっても、
ノイズなどの問題を考えるなら、当面、解読できないことに気づいた人は、いる?
本日、トイレで大量の下血をした。
産業スパイのサイバー攻撃によるものだとわかっていなければ病院に駆け込んでいただろう。
サイバー攻撃による被害で視力も、ままならない状況が続いている。
SNSのTL上に1983~88年のジャンプに掲載された「北斗の拳」に登場するジャギの銅像が
長野県佐久平駅構内に設置されたニュースが、いっぱい表示されたので、何が起きたのかと、
調べると「北斗の拳」新アニメシリーズの制作が決定したらしい。
「北斗の拳」の世界感は「暴力こそ全て」なのですが、身に染みる。
産業スパイがジャギのように思える。
連日、僕は産業スパイに秘孔をつかれ、大量出血などのイベントがいっぱい発生中で困り果てています。
困っているのは僕だけではないと思います。
社会問題である暴力支配への抵抗のあらわれのように思えます。
デジタル庁の
次期個人番号カードタスクフォース(第1回)(令和5年9月7日開催)の資料では、
ICチップの公開鍵暗号方式としてECDSA 384bitを検討しています。一つの暗号方式だけではセキュリティ的に問題なような気がします。
ルネサスのホームページを探すとマイコン向けの暗号演算器「Secure crypto engine 9」が見つかりました。
仕様を見る限り、RSAと楕円で共用の演算器のように思えます。
RSA 2048bit、ECDSA 512bit(事実上 384bitまでかも)に対応しています。
RSA 3072bit、4096bitは検証のみのサポート。
個人番号カードでは、RSA 2048bitとECDSA 384bitの2つでもセキュリティ的に問題です。
つまり、よりセキュリティの高い複数の暗号方式の暗号プロセッサを開発しなければ、ならないように思います。
ICチップ全体を0から開発するのは困難なので既存のICチップに開発した暗号プロセッサを接続することを考えます。
SnakeCubeでは特にICチップのCPUの力を借りずともRSAやDSAを演算できます。
RSA 7680bitのSnakeCube
はDSA 7680bitの演算も可能ですが、トランジスタ数が非常に多くなるためICチップの製造コストが高いことは間違いありません。
そこで暗号プロセッサSnakeCubeの積和演算DSPの周辺をフルカスタム設計してICチップの製造コストを抑えます。
RSA 7680bitのSnakeCubeではフルカスタム設計したDSPブロック(24×17乗算器含む)を320個、繰り返して使用するため、非常に効果が見込めます。
1円でも製造原価を削減すれば1億枚で1億円。
そして暗号プロセッサ全体もセミカスタム設計すれば、ICチップにバックドアが無いことをチェックするのにも都合がいいと思われます。
ただしSnakeCubeの設計に必要な時間が長くなるので、早期に設計が開始できるようにしないと厳しい。
近年、CPUなどのプロセッサは複雑化の一途をたどりフルカスタム設計は難しくなっているのですが、
暗号プロセッサSnakeCubeはフルカスタム設計が可能な範囲にあると思われます。
残念ながら僕はフルカスタム設計の経験はありませんが、
半導体工場にエンジニアがいれば、どうにかなるように思われます。
次期マイナカードの1億枚だけでなく、他にも販売することが期待されるため、フルカスタム設計がいいように思われます。
半導体の微細加工が進むとトランジスタの集積度は向上しますが、トランジスタ当たりのコストは上昇します。
詳しくは知りませんが先端半導体製造で使われる露光装置は電力消費が大きいとか。
数世代前のレガシーなプロセスでICチップを製造したほうが、恐らく低コスト。
ただしRSA 7680bitの演算で要求性能を満たせるかが問題。
RSA 7680bitが演算可能なSnakeCubeはDSP(24×17乗算器含む)を322個を並列に効率的に動作させることができるので40~65nmのプロセスでも要求性能を達成させられる可能性は高い。
逆に28nm以下では速すぎで性能が無駄になるため乗算器のサイズを小さく調整する必要がある。
デジ庁の方、次期個人番号カード タスクフォースの技術検討WGに
僕が呼ばれるように、お願いいたします。
フルカスタム設計のイメージ
左側のNANDゲート、3個がANDとORになることが、わからない人はド・モルガンの法則を調べてみてください。
次期個人番号カード タスクフォースの座長は手塚悟(慶應義塾大学教授)氏のようです。
手塚氏の経歴を見ると、日立製作所のシステム開発研究所が長いのですが僕と直接の面識はありません。
ただ僕が日立製作所のセキュリティソリューション本部に所属していた時代に、職場に何度か来て、
僕の席の後ろで僕の雑談をしていたことが何度かありました。
僕は日立は嫌いなのですけど。
たまたま手塚氏が2020年12月に日本記者クラブでマイナカードのプレゼンをしている
動画を見つけたので、見てみました。
動画の最後
で司会がマイナカードのシステムは日本企業が背負うのか、あるいは米国や中国の
参入があるのか?という質問をしていました。
手塚氏「ICチップについて国際調達も可能ですが、我が国としてバックドアが無いことをチェックすること」
そういうことならRSA 7680bitのICチップを国内で開発すべきなのかも。
対応できる国内の半導体製造工場があるのか、わかりませんけれども。
幸いにも、僕は1990年代の旧式の日立の開発環境を経験しているので、柔軟に対応が可能だと思います。
まずは次期個人番号カードタスクフォース 技術検討WGに僕が呼ばれて、
公開鍵暗号方式についての議論をすることかもしれない。
デジ庁の方、僕が呼ばれるように、お願いいたします。
令和5年9月7日(木)オンラインで
次期個人番号カードタスクフォース(第1回)が行われたようです。(会議資料、有り)
残念ながら僕は次期個人番号カードタスクフォースに呼ばれませんでした。
第1回の資料が公開されたみたいなのでICチップの公開鍵暗号の方式検討の感想を日記に書きます。
画像をマウスでクリックすると拡大されます
抜粋した資料の赤い線のところ
------------------------------------------------------------------------------
ICチップの処理能力を勘案し方式を、技術検討WGでの検討を踏まえ、選定する。
------------------------------------------------------------------------------
会議ではICチップの公開鍵暗号の方式はECDSA 384bit (セキュリティレベル 192bit)を検討している模様。
ECDSA 384bitよりRSA 7680bitのほうが安価で成果が大きいのではないだろうか?
第1回の資料にRSA 7680bitが候補に無いのは、ICカードにおいて従来技術では非実用的と評価されていたからだと思われます。
ところが2018年に従来より数倍、効率の高いモンゴメリ乗算器が発明されたため実用的と考えられるようになった。
一般的なCPUではクロック周波数の向上限界とともにシングル性能が上がらなくなります。
発明のモンゴメリ乗算器は鍵長(演算器のビット幅)に比例して無限に性能が上がります。恐らく。
RSA 7680bitが安価だと思っているのは僕が発明していることと、ICF3(1999年)
の開発経験が非常に良く活かせること。当時開発した旧日立系の人の協力は不要で、僕1人で多くのことを知っています。
僕が知らないのは、暗号プロセッサをICチップに搭載するノウハウです。
発明費を個人番号カードだけでなく、他からも得られる仕組みを考えることでRSA 7680bitのICカードが安価になると思われます。
まずは産業スパイによる破壊活動の停止が必要なのですけど。
参考までに言えばICF3の開発は、少ない人数で非常に短期間に製品化され、しかも1回のチップ製造で高い完成度の製品となった。
会議資料では次期ICカードで現行暗号のRSA 2048bitを動作させたい要望があるようです。
発明のRSA 7680bitの演算器を搭載したICカードはRSA 2048bit、3072bitなど7680bit以下に対応可能です。
既存のICカードの中にはRSA 2048bitとECDSA 384bitの両方に対応するものもありますが、
ECDSA専用よりもICチップのコストは高い。
個人番号カードをRSA 7680bitのICカードにする成果は大きい。
ECDSAではECDSAのアルゴリズムのコストを払うだけで成果が無い。
そして世界の多くがECDSAを選択することになると予想されるため、ECDSAが解読されると世界的に大きな問題になる。
日本がRSA 7680bitのICカードを開発していれば速やかに移行できるメリットがある。
RSA 7680bit/ DSA 7680bit両対応のICカードの開発は容易なので、困難性の異なる2つの公開鍵暗号に対応可能。
「RSA 3072bitでは、ダメなのか?」と思った人もあるかもしれない。
ECDSA 384bitのセキュリティレベルは192bitですがRSA 3072bitでは128bitです。
会議では個人番号カードの証明書の更新を5年から10年に延長することを検討しているようなので、
セキュリティレベルが192bitのRSA 7680bitが適切だと思われます。
その他、気づいたこと。全体的にICカードを安価にすることと利便性に偏っているように思われます。
現行の4っつの暗証番号をロングとショートの2つに減らすと個人番号カードによる認証の信頼性が下がる問題があります。
僕の住んでいる市の職員は「面倒な人はショート(4桁の数字)は全部同じで構いません」という案内をしていた。
個人番号カードを悪用されないことに気を使っている人は4っつの暗証番号を使い分ける。
そうでない人はショートの暗証番号を全部同じにすることでセキュリティと利便性を両立させることができるのではないだろうか?
会議資料に「ロングを入力の場合、ショートを入力不要とするか。」とあるのですが、
この運用は個人番号カードの信頼性を下げるので極力避けるべきと思います。
現行も同じだと思いますが、ロングが必要なところでショートを入力したら
メッセージでロングを入力するようにメッセージを出すようにする。
個人番号カードに健康保険証を統合する動きがありますが、ICカード2枚組の個人番号カードにして、
健康保険証を別のICカードにするといいように思います。
2枚組にしない場合、個人番号カードをインターネットで使っていたら、健康保健のデータベースにアクセスされて、
非常に重大なプライバシー情報を盗まれる危険があります。2枚組にすれば、かなり危険を回避できます。
個人番号カードは賛成だから、お金を払ってもいいから、健康保健証を別ICカードにしたいと思う人は多いと思います。
セキュリティを考えるならRSA 7680bitとDSA 7680bitに対応したICチップを開発することは必須だと思われます。
DSAはECDSAと同じ離散対数問題の困難性を安全性と根拠としているのですが、
DSAはICF3(1999年)のときに製品化していてマイクロコードの量が非常に小さい。
僕自身がICF3のDSAのマイクロコードを開発していました。
数学科以外ではECDSAの計算をするだけでも難しい時代があった。
ECDSAは数学コストが高いという予想。
ただし予想なので海外通の人から入手すれば安価かもしれない。
しかし後で「国際日本賞」(1億円)のような形で徴収されるリスクはある。
お金以外を徴収されることも。
僕はRSA 7680bit(DSA 7680bit)が解読されないことは保証できませんが、
RSA 7680bitを推進する人が、他にいなければ、高いかもしれないECDSAとなると思われます。
国民の皆様、ここで頑張らなければ、日本の未来は暗くなるかもしれない。
ECDSA 384bitとRSA 7680bitのコスパを真剣に考えるときです。僕の知る範囲だけでは、
正しい見積にならないかもしれない。しかし細かく考えなくてもRSA 7680bitを選択すべきではあります。
RSA 7680bit/DSA 7680bitを実現する暗号プロセッサSnakeCube
は、その歴史、学術的価値、将来(同種写像などの耐量子暗号)、ICチップの演算能力を向上させやすいアーキテクチャ、
高効率なモンゴメリ乗算器の発明など重要です。
高効率なモンゴメリ乗算器によってICチップの面積が大幅に減ることで製造コスト削減効果や、
地球環境問題対策費の低減など、地球規模では経済効果が大きい。
日本政府にICチップを製造して納品できる半導体工場の方、僕にご連絡ください。
ICチップのコストを見積もことができればと思います。
まずは僕につきまとう産業スパイを僕から剥がさないと、いけないのかもしれない。
ここ1週間の産業スパイの攻撃は、痛みが無いことを除けば、過去最悪の状況が続いている。
産業スパイと適合率の高い人はあるのかもしれないけど、
僕は産業スパイに勝手につきまとわれているから、適合率ゼロ。
契約の類があるわけではない。
産業スパイの犯罪が、どうどうと行われているのは、やはり問題ではないだろうか。
近視とか乱視ではなくて視神経が変調している。コンピュータの画面が、次の画像のように見えている。
冷凍食品の外装に書かれている文字も読めない。非常に困っています。
実際には左右バラバラで目の焦点を合わせるのが辛くて、左のほうが画像よりも酷くにじんでいる。
画像をマウスでクリックすると拡大されます
案Bの続き
次期マイナカードにSnakeCubeを搭載する案Cを説明します。
「CRYSTALS-Dilithiumが無いと次期マイナカードで採用されない」
「共通鍵のためのサーバーを準備するのはコストと別の面のセキュリティが問題」
といった要望のため。
NICT記事
凸版印刷とNICT、世界初、米国政府機関選定の耐量子計算機暗号をICカードシステムに実装する技術を確立
上記記事によれば既存のICカードにCRYSTALS-Dilithiumが実装できて、
認証スピードなどのパフォーマンスも良好とのこと。つまりCRYSTALS-Dilithium向けの
専用演算器が無い既存のICチップ程度の性能があればCRYSTALS-Dilithiumが実装可能。
要するに、ある程度、演算性能がある汎用CPUに案BのSnakeCubeを接続することで
RSA/DSA/楕円曲線/CRYSTALS-Dilithium/(同種写像)が実装できる。
当然、案BよりもICチップの開発、製造コストは高くなる。
案Aの続き
次期マイナカードにSnakeCubeを搭載する案Bを説明します。
案Bは、案5に楕円曲線(と同種写像)を追加した案です。
案3でも楕円曲線を追加していますがモンゴメリ乗算器のビット幅を1032bitに縮小したためRSA 7680bitやDSA 7680bitができませんでした。
案BではSnakeCubeに512bitレジスタ×256本1024bitレジスタ×128本を追加します。ただし7680bitレジスタ×16本と同じメモリを割り当てるのでトータルの容量では、少し増えるだけです。
楕円曲線のマイクロコードの開発を外注するなどICチップの開発コスト、期間ともに増加します。
このため早めに決めて着手する必要があります。
ここのところ産業スパイによる攻撃で視力を奪われ、自分の書いた日記を読むのにも苦労している。
近視や乱視という問題ではない。視神経の調子が、オカシイまま、数日が経過している。
ここ数日、SNSにアクセスする時間がかなり減っているのは、産業スパイの五右衛門が非常に酷くなっているから。
僕は周囲に目が見えなくなっていることを言っている。その対策だったのかは、わからないけど、
僕が階段から落ちるように階段に封書を置いたようだ。
眼鏡をかけた状態でも夕暮れでは足元が全く見えていないことに気づく。
普通、階段に封書が置かれたくらいで、階段から転げ落ちることは、まず無い。
3段くらいの高さから上半身が折れるように転げ落ちた。
高さはたいしたこと無いけど、一歩間違えれば、骨折していただろう。
幸いにも膝を擦りむいただけだった。
そして足元が全く見えていない問題に、早期に気づくことができた。一歩間違えれば、とは思うけど。
僕は日立で大活躍をした。そして失敗もしていない。
そういう人間をリストラすれば、リストラした人間には大金が入っただろう。
産業スパイは、その後始末をしている。
しかし、あまりにも凶悪なケースでは産業スパイを異動させることはできないだろうか。
日本の未来にも影響すると思うのです。
先日、産業スパイの電磁パルス攻撃によってチャージコントローラーを破壊された。
累計、何個破壊されたのか、わからない。6、7個くらいだろうか。
100Wのソーラーパネル1個のためにだ。
今日、MPPT方式の新しいチャージコントローラーに交換した。
写真(右)が今回、破壊されたチャージコントローラー。今年の1月に購入したもの。
写真(左)がその前に破壊されたチャージコントローラー。どちらもPWM方式の安物だけど。
今回は3倍くらいの値段だし、電磁パルス攻撃で破壊されないように。
画像をマウスでクリックすると拡大されます
8月21日から今日までの日記にSnakeCubeを
活かすための案1~8を考えてきました。これらの考察を踏まえ、
次期マイナカードにSnakeCubeを搭載する案Aを説明します。
案Aは、案5にAES(共通鍵)を追加した案です。
ただしAESはRSA、DSAが解読されない限り使わないものとします。
AESの準備はしておきます。ICF3(1999年)
でお馴染みの案5に、万が一のための応急処置を追加した安全な案です。
AESは共通鍵なので認証ができても署名はできないのですが、
マイナカードではデジタル庁が全国民のAESの鍵を一括管理することが可能なので、
メッセージをハッシュしてデジタル庁の鍵管理サーバーに送信することで検証結果を得られて
AESによる署名になるような気がします。
AESは不便ですが公開鍵のように解読されることは、あまり無いと考えられているので安全がほぼ保証されます。
(万が一のため、もう一つマイクロコードで計算できる共通鍵暗号を追加することは可能)
RSA、DSA対応のSnakeCubeのICチップの開発が短日程で、いいことが特長です。
RSA、DSAが解読されAESに切替わった場合でも対応可能なアプリの開発が必要です。
NISTの耐量子暗号は、まだ最初のドラフトが公開されたばかりなのでマイナンバーカードでは見送ります。
SnakeCubeに適した耐量子暗号は、ゆっくり研究ことになります。
AES(共通鍵)の鍵を管理するサーバーを受注するベンダーと支払い方法には工夫が必要になると思われます。
切替でベンターに支払いが生じる方法では、ベンダーが海外研究者を使ってRSA暗号解読をするため。
注意深く支払いの方法を考えなければならない。
この方法を国民は考えることはできないかもしれないけど監視を怠らないことだと思います。
CRYSTALS-Dilithiumなど、多数の公開鍵に対応しても反米、反日国家が開戦直前に経済的な
パニックを狙った暗号解読をするかもしれない。
そして案AのRSA 7680bit、DSA 7680bitは解読されるかもしれない。
つまりマイナンバーカードのAES(共通鍵)の対応は、必須のように思えます。
ICカードのRSA 7680bitは非実用的
と評価されています。SnakeCubeではRSA 7680bitは可能と思われます。
もしSnakeCubeが開発されない場合、ほとんどのICカードは楕円曲線になると思われます。
世界中の軍隊とハッカーの全てが楕円暗号の解読へ注力することになると思われます。
案Aは、発明の高効率なモンゴメリ乗算器によってICチップのトランジスタ数が小さくて済むこと。
現在、世界で運用されている公開鍵暗号が楕円曲線、一つになる問題の対策。
DSA署名のマイクロコードの開発は僕ができること。
楕円曲線に対応しないためスカラー倍演算のような高度なマイクロコードが不要になること。
他の案と比較して非常にICチップの開発工数が少ないというメリットがあり、かつ、AES(共通鍵)によって、
公開鍵が解読された場合にも、対応ができる。
デメリットはAES(共通鍵)への切替となる可能性が、それなりにあって、サーバー費がかかること。
全国民のマイナンバーカードのAES鍵を管理するサーバーを配備するビルは、
敵国の攻撃対象となるため防御システムが必要になるのですが、
万が一、AES(共通鍵)に切替える場合のみなので、重厚な防御システムである必要はないと思われます。
非常にお薦めな案です。
上から順番に、関係のある日記と案1~8の日記です。
7月21日 ICカードの偽造防止にはRSA暗号がいい
8月1日 モンゴメリ乗算器の実装のためのナオキのアルゴリズム
案1、案2の日記↓↓↓↓
8月21日 発明したモンゴメリ乗算器は2013年の中国人の論文より優れている
8月23日 SnakeCubeを成功させる別解(案3)
8月24日 SnakeCube(案3)の低速RSA 2048bitの性能
8月25日 SnakeCubeを成功させる案3の廉価版、案4
8月26日 発明したモンゴメリ乗算器は2011年のブラジルの論文より優れている
8月29日 SnakeCubeを成功させるDSA対応の案5、案6、案7
9月1日 マイナカードを共通鍵にする案を考えてみる
SNSのTL上に公開鍵のICカードは高いみたいだから、共通鍵のICカードは?みたいな投稿があったのです。
マイナカードを共通鍵にする案を考えてみますが、軍事関係のことは、あまり知らないので、
あまり真剣になる必要は、ないかもしれません。
共通鍵にすると全国民の鍵をサーバーで管理する必要があるため、サーバーの守りを強固にする必要があって、
共通鍵のICカードは非常に安価だけど、トータルでは、どうなるのだろう?という話。
まだ僕が日立製作所に勤めていた2002年ごろ、日立の認証局のビルに通っていたことがある。
ルート証明書の秘密鍵を守るためのビルで警察OBがモニター越しに監視している状況で働いていた。
僕は政府に電子申請が可能な電子証明書を発行できるシステムがある深層部の部屋に入ってPKIの勉強をしていた。
当然、普通よりガードの固いビルだけど中の仕組みを日記に書くわけにはいかない。
そして確かビルの壁は歩兵が携帯できる対戦車ロケットに耐えることを考えるとか。
ここからは全部、僕の空想です。
ビルに秘密工作員によって対戦車ロケットが打ち込まれた時点で、タンパーシステムが作動して
全国民のマイナカードの鍵が消える。
バックアップサーバーのビルと同時に対戦車ロケットが打ち込まれると、
一時的に日本のマイナカードシステムが完全に停止する。そして大部隊による侵攻が開始される。
あっと言う間に首都が制圧され、無事、日本陥落。
内部事情に詳しい人物の裏切りがあれば、そういうことも可能かもしれない。
公開鍵だとビルに対戦車ロケットが打ち込まれたら複数あるバックアップサーバーの、
どれかにスイッチすればいい。サーバー管理体制も、共通鍵ほどのコストはかからない。
共通鍵だとサーバーを構成する全ての部品にスパイチップが入っていなことを検証する必要がある。
ビルの中にある機器に潜む全てのスパイチップが外部への通信経路を見つけて鍵を漏洩するリスクを考える必要もあるかもしれない。
通信方法は電波だけではない。ファンの回転音を利用することもあるらしい。
ここ数日の日記に案1~案4を書いています。
案5、楕円曲線のスカラー倍算を断念してRSA 7680bit(2048bit)とDSA 7680bitの2つの公開鍵暗号に対応。
RSAの安全の根拠は素因数分解の困難性、DSAは離散対数問題の困難性を安全の根拠としています。
楕円曲線は楕円曲線上の離散対数問題の困難性を安全の根拠としています。
DSAも量子コンピュータによって解読が懸念される公開鍵暗号です。
案5のメリット 楕円曲線のスカラー倍算を断念することでICチップのマイクロコード量と
レジスタを大幅に削減して製造コスト削減。
楕円曲線を完全にスキップした数学コスト削減。
DSAはICF3(1999年)
でも対応した実績があるため開発コストが小さい。従来マイナンバーカードで使われているRSA 2048bitも可能。
案5のデメリット 新たに対応できる暗号アルゴリズムはべき乗剰余演算とモンゴメリ乗算を
使ったマイクロコードとレジスタの少ないアルゴリズムに限定される。
米国NISTのFIPS186-5でDSAが推奨からはずされました。
NISTからはずされた理由は、調べていませんが、EdDSAなどの新しい標準を追加したため保守コストの低減か?
日本のCRYPTRECではDSAを推奨している。
耐量子暗号が十分に安定するまでRSA 7680bit、DSA 7680bitのみで持ちこたえる判断ができれば、
RSA 7680bitに対応できるICカードの中では低コスト。
案6は、案5に米国NISTで新規に追加されたEdDSAをSnakeCubeの入出力担当のMCUで演算させる案。
EdDSAに詳しくないですが、非力なMCUでもEdDSAなら演算できるかも。
案7は、案5にCRYSTALS-Dilithiumのハードを後付け。CRYSTALS-Dilithiumが
動作するハードがあれば、楕円曲線を演算できる可能性はある。
ICチップのハードは最も高価なクラスになるが、安全を重視するなら、案7も可能性はるかもしれない。
僕が次期マイナンバーカードタスクフォースに呼ばれていないので、マイナンバーカードの要求仕様がわからないのですが、
ICカード内で鍵生成をする機能はコストが高いため避けられるなら、避けた方がいいかも。
事前に予備の鍵を1つ工場で入れて鍵生成しているフリが安価。
鍵が失効するトラブルが発生した場合、製造工場で新しい鍵を再度、入れる運用。
案5の開発はICチップの入れ物にハードを入れること以外、僕のわかる範囲内がほとんどですが、
案6、案7は他にわかる人が必要。
案5が選択できるなら開発期間も短くて、お薦め。
ただしRSA 7680bit、DSA 7680bitの双方が解読された場合の計画は必要。
RSA、DSAが解読されても僕は責任を持ちません。
RSAだけだと、RSAが解読されそうというニュースがある度に、辛くなるけど、DSAがあれば心配がなくなる。
日本のCRYPTRECのDSA保守のコストは、あるかもしれない。
参考までに言えば、ICF3(1999年)のDSAのマイクロコードはIBMの仕様(恐らくFIPS186-4と同じ)を元に僕が開発したもの。
僕が2018年に発明した高周波数動作のモンゴメリ乗算器は暗号プロセッサSnakeCubeとして
2020年に試作が完成しています。
これと競合するSPL(Southern Programmable Logic Conference)の論文(2011年)が発見されたので比較をしてみます。
Montgomery Modular Multiplication on Reconfigurable Hardware: Systolic versus Multiplexed Implementation
https://www.hindawi.com/journals/ijrc/2011/127147/
著者のGuilherme Perinさん、Daniel Gomes Mesquitaさん、Joao Baptista Martinsさんは、ブラジルの大学の所属のようです。
この論文のSystolic演算器をSPL2011、僕の発明をSnakeCube2020とします。
SPL2011もSnakeCube2020も同じXilinxのFPGAに実装されているため比較しやすい。
[SPL2011]
プロセス : 65nm (Virtex-5)
DSP48E最大周波数 : 450~550MHz
DSP48E : 130個
[SnakeCube2020]
プロセス : 28nm (Artix-7)
DSP48E1最大周波数 : 464MHz
DSP48E1 : 45個 ( 1032bitのモンゴメリ乗算1個分 )
DSP48Eの最大周波数から、同程度の能力を持つFPGAデバイスと推定します。詳しい人があれば、教えてください。
SPL2011はVirtex-4時代の設計のためDSP48Eの乗算器24x17を16x16として使っているため130個ですが換算すると87個。
DSP数の比較からSnakeCube2020はSPL2011の半分のトランジスタ数と推定。
[SPL2011]
RSA 1024bit(wo/CRT Decrypt) : 3.23ms
周波数 : 130MHz
モンゴメリ乗算1回のサイクル数 : 384 (Square and Multiply)
[SnakeCube2020]
RSA 1024bit(wo/CRT Decrypt) : 1.74ms
RSA 2048bit(w/CRT Decrypt) : 1.74ms(モンゴメリ乗算器2個なので)
周波数 : 236MHz
モンゴメリ乗算1回のサイクル数 : 339 (Square and Multiply)
3.23 ÷ 1.74 ≒ 1.86倍
結論
SnakeCube2020はSPL2011の半分のトランジスタ数で1.86倍の性能。
SnakeCube2020はSPL2011の3.7倍効率が高い。
FPGAによる比較なのでASICでは誤差があると思われます。
ここ数日の日記に案1~案3を書いています。
案4は、安くないとSnakeCubeが導入されない問題を対策するため。
対応する公開鍵暗号を楕円曲線とRSA 2048bit(低速 wo/CRT)に絞ります。
オプションでマルチ・プライム RSA 3072bit(w/CRT 3 prime)、RSA 4096bit(w/CRT 4 prime)、
RSA 8192bit(w/CRT 8 prime)も可能と思われます。
案3のSnakeCubeのモンゴメリ乗算器を2個から1個に減らして、モンゴメリ乗算器も基数を変更して軽量化をします。
過度な軽量化は効率を悪化させるので、あまり軽量化はできないかもしれません。
従来マイナンバーカードと互換性を保つためのRSA 2048bitは低速ですが実際に使えるレベルだと思います。
現行のマイナンバーカードのシステムで3秒以上待たされることもあります。
これが5秒になっても、それほど大きな問題にはならないでしょう。
案4のメリットは既存のICチップの中身を知らないので、確かなことは言えませんが、
発明のモンゴメリ乗算器の効率が高いため、既存の楕円曲線とRSAの双方に対応するICチップよりも
(物質的な)製造コストは安い可能性があります。
案4のSnakeCubeを開発しておけば、他ではできない高性能化が容易なアーキテクチャなのでRSA 7680bitや、
要求性能が高い新しい耐量子暗号に、すぐに対応できる。
将来、世界でSnakeCube以外に要求性能をクリアできるICカードが無いという場合に備えられる。
楕円曲線も、将来的には1024bitに近い鍵長になることに備え、今後のICカードは1024bitの演算器を装備すべきと思われます。
過去のRSA 1024bitのために既に多くのメーカーで1024bitの演算器は開発されています。
しかし1024bitの演算器ではRSA 2048bit(wo/CRT)は演算できません。
(高速な汎用CPUを搭載していれば、そちらで演算は可能ですけれども)
案4のSnakeCubeは低速ながらRSA 2048bit(wo/CRT)を演算できます。
案4のSnakeCubeを開発する価値はあるように思われます。
8月25日 7:25PM 追記
モンゴメリ乗算のビット幅が実行時にスケーラブルなモンゴメリ乗算器の論文はあるようです。
楕円暗号とRSA暗号の双方で使える演算器。ただスケーラブルな機構にもリソースが
必要なので演算効率は低下するはず。
昨日の日記「SnakeCubeを成功させる別解(案3)」の補足です。
CRTによる脆弱性の無い低速なRSA 2048bitが実際に使える性能になりそうか?と思った人はあると思います。
結論を先に言えば、少なくとも互換モードのために遅いという認識があれば使えると思います。
性能予測は難しいのですがICチップにした場合、RSA 2048bit 1回、0.5~1.5秒程度には、演算できる予想。
予想の根拠となるICF3(1999年)のマイクロコードを次のURLで公開しています。
モンゴメリ乗算器を使わないモンゴメリ乗算をするマイクロコード(RSA 4096bit)などがあります。
ウェブ上のICF3シミュレータで動作しますが、遺跡巡りをする感覚で見てください。
https://openicf3.idletime.tokyo/soft/impstatus.html
SnakeCube(2020年)はFPGAによる実装なのでASICの
ICF3(1999年)との違いを考える必要があります。
SnakeCube(2020年)のプロセッサと演算器のクロック周波数比は1:8ですがICF3(1999年)は1:2なのです。
同じ1024bit幅の演算器を持っていますけど。
ICF3(1999年)はビッグエンディアンですがSnakeCube(2020年)はリトルエンディアンなのでICF3のマイクロコードに慣れると、
SnakeCubeのマイクロコードで混乱するかも
8月21日の日記で案1、案2を説明しました。
案3も、案1と同じマイナンバーカードにSnakeCubeを導入する方法です。
案3は楕円曲線をメインとしてRSAと耐量子暗号(同種写像系)をバックアップにします。
メイン 楕円曲線
バックアップ1 RSA 2048bit(高速 w/CRT あるいは 低速 wo/CRT)
バックアップ2 RSA 8192bit(w/CRT、8 primes)
バックアップ3 耐量子暗号(同種写像系)
案3のメリットは楕円曲線を準備してきた人たちのために向いていること。
2020年の試作がほぼそのまま使えること。
1032bitのモンゴメリ乗算器2個を1つのプロセッサに接続するアーキテクチャなので、
ICチップに必要なトランジスタ数が少ない。
耐量子暗号(同種写像系)を1032bitのモンゴメリ乗算器、2個を使って独立した2つの演算を並列に計算可能。
案3のデメリットは従来マイナンバーカードと互換性を保つためのRSA 2048bitを演算できるものの、
演算方法にCRTを使う場合は脆弱性がある。ただ普通の人が利用する多くのサーバーが楕円曲線に移行していれば、
大きな問題にならない可能性が高い。性能が遅くても良い場合はCRT無しで演算することもできます。
その場しのぎの対策になりますがマルチ・プライムのRSA 8192bitも考えられます。
サーバーから見れば普通のRSA 8192bitと違いはありませんが素数の大きさがRSA 2048bitと同じ1024bitなので、
通常のRSA 8192bitと比較してかなり暗号強度は落ちます。
耐量子暗号のCRYSTALS-DilithiumをサポートしませんがICカード向けの耐量子暗号も
複数存在したほうがいいため日本のマイナンバーカードがその役目を果たすことになります。
同種写像系の耐量子暗号に要求される性能に合わせて開発します。
RSA 7680bitをサポートしませんが案2から案3に移行するケースでは、
案2でRSA 7680bitのICカードは製品化されることになります。
案2、案3と続けて開発をするため開発効率は良い。
案3のSnakeCubeは1024bitのべき乗剰余を2並列に実行することが最も得意なので、
それに適した耐量子暗号を考えると効果的。
これまで楕円曲線をスキップすることを言ってきましたが、案3ではスキップしないため、
全額分の楕円曲線コストがかかります。
しかし演算器のbit幅が7680bitから1032bit×2になるのでICチップの製造コストは下がる予想。
僕が2018年に発明した高周波数動作のモンゴメリ乗算器は暗号プロセッサSnakeCubeとして
2020年に試作が完成しています。
これと競合するIEEEの論文(2013年)が発見されたので購入(5,542円)して調べました。
A novel fast modular multiplier architecture for 8,192-bit RSA cryposystem
https://ieeexplore.ieee.org/abstract/document/6670320
著者のWei Wangさん、Xinming Huangさんは米国のウースター工科大学の人みたいですが中国人のようです。
この論文の説明は簡単で一言で説明できます。
モンゴメリ乗算の公式で基数を最大値にすると剰余算が乗算3回に変換され、変換された乗算をFFTで高速に演算する方法。
この方法をIntelに買収されたAlteraのFPGAに実装して評価したものが、この論文です。
僕は、上記の論文が正しいのかは、判断できませんが論文に記載されている数字を信用することにして
大雑把な比較をします。
SnakeCube 2020年のRSA 2048bitの試作からRSA 8192bitの性能とトランジスタ数を予想したものと比較。この予測は比較的、精密です。
僕のSnakeCubeの高周波数動作のモンゴメリ乗算器は低基数です。
そして最下位ビットからのブロッドキャストのクリティカルパスを短くすることに成功しました。
中国論文はモンゴメリ乗算の公式で乗算3回に変換しているので、そもそも最下位ビットからのブロッドキャストが存在しない。
ただし途中で2倍のビット幅に膨れるため恐らく配線実装に手間取ります。
SnakeCubeは演算中、ずっと等幅なので配線実装が容易です。
中国論文はRSA 8192bitを演算した場合、SnakeCubeと同程度か、それ以下かの性能です。トランジスタ数は3倍~5倍の予想。
感覚的な説明をするとICカードのICチップに実装した場合の製造コスト、SnakeCubeなら100円、中国論文だと300円以上。
この発明を使えばRSA暗号を延命できます。
そして社会インフラを支える現在運用されている公開鍵暗号が楕円曲線1つになる問題を対策できます。
この発明(SnakeCube)を、どのようにして成功させるか2つの案を考えてみました。
案1
次期マイナンバーカードに導入する。全世界では多くの国が楕円曲線、CRYSTALS-DilithiumのICカードを製造すると予想される中、
日本のマイナンバーカードはRSA 7680bit、同種写像暗号系などの耐量子暗号のICカードになるので、楕円曲線やCRYSTALS-Dilithiumが
解読された場合に世界に貢献できる。税負担も大きいけど成果も大きい。
案1は、お薦めではあるけどマイナンバーカード反対勢力が強いことが問題。
デジタル庁の大臣、河野太郎氏に無視されている問題が大きい。健康保険証をマイナンバーカードに統一することによる反対も大きいが、
マイナンバーカードを2枚組にして1つを健康保険証専用にすれば反対する人が減ると思われます。
案2
次期マイナンバーカードへの導入は反対が多いため、マイナンバーカード以外に導入することを考える。
まずETCカード。対応する暗号アルゴリズムをRSA 7680bitに限定することで開発費は極めて小さくなる。
これでも社会インフラを支える現在運用されている公開鍵暗号が楕円曲線1つになる問題を対策できる。
少ない税負担で日本の未来に残せるものは大きいことは重要。
ETCカードを利用する国土交通省は、コンピュータの進歩に伴なう暗号解読リスク向上のための費用を考えているはずで、
案2であればICF3(1999年)の暗号プロセッサ
を開発した実績のある僕がいれば、多くのことを知っているので、非常に小さいコストで開発が可能です。
ただしICチップへの実装につての知識は、あまり無いので、補える人が必要です。
高性能暗号技術なので国内の企業でも政府の規制対象になる場合があるため、
国土交通省と経済産業省に案2を推進するプロジェクトが出来ないかと考えています。
案2で進めながら、案1へ移行することもできるので税金が投下されそうな工場の方は、ご協力ください。
もちろん日本の未来を考える国民の方も。
昨日のニコニコ生放送、【河野太郎のLIVE配信】たろうとかたろう をもう一度、見ました。
僕のコメント「マイナカードの暗号アルゴリズムの話も」が削除されています。
昨日の画像と比較すると、コメントが削除されたことがわかります。
画像をマウスでクリックすると拡大されます
8月13日 21:00からデジタル相の河野太郎氏のLIVE配信がありました。
LIVE配信では事前質問を受け付けていたため、質問を送ってみました。
[質問] 次期マイナンバーカードではデジタル化の根幹をなす公開鍵暗号が揺らいでいる問題を考える必要があります。新技術の高周波数動作のモンゴメリ乗算器を採用すれば互換性を保ったまま従来より大きな鍵に対応することができて、しかも複数の公開鍵暗号に対応できます。ご存知でしょうか。
LIVE配信の時間内に多数の質問を答えなければならない都合を考えて、
ひとこと回答をすればいい質問にしていたのです。
事前質問はGoogleフォームを使っていました。Googleに不都合と判断され、質問が削除された可能性もありますが、
一応、デジタル庁のスタッフと大臣が回答をしなかったと考えます。
つまり日本国の大損が確定してることが判明したのです。
今、国民は大声でデジタル庁に次期マイナンバーカードではデジタル化の根幹をなす
公開鍵暗号が揺らいでいる問題を考えるように言うべきです。
僕がSNSで、このLIVE配信を宣伝したので、僕を知る人も何人か、いたようです。
相変わらず、暗号のようなコメントで、僕にしかわからないものばかりですが。
LIVE配信はYouTubeとニコニコ生放送の同時配信でしたが、僕は両方の配信を見ていました。
コメントもYouTube 2回、ニコニコ生放送 2回しています。
YoTube【河野太郎のLIVE配信】たろうとかたろう
ニコニコ【河野太郎のLIVE配信】たろうとかたろう
画像をマウスでクリックすると拡大されます
株式会社iCanal宛のメールが4月ごろから受信できていませんでした。
現在は、一応、復旧しています。
4月からのメールのほとんどは受信できているようですが、産業スパイに不都合なメールは削除されている可能性があります。
心当たりがある方は、再送または、別の方法でご連絡ください。
メールの受信設定でTLSの設定が何故か使えなくなりました。STARTTLSの設定なのでメール本文は暗号化されないので、
ご注意ください。なお僕の個人のメールアドレスはTLS設定です。
暗号プロセッサSnakeCube
の発明の名前があったほうがいいように思ったので命名します。
ナオキのアルゴリズム / naoki algorithm
ナオキを漢字にすると「直紀」
まずは普通の乗算について。
高速な乗算器は非常に多くのトランジスタ数が必要です。
ブースのアルゴリズム
はトランジスタ数を削減するなどの効果があるため、乗算器の実装では良く使われています。
ナオキのアルゴリズムはブースのモンゴメリ乗算バージョンです。
従来のモンゴメリ乗算の実装法よりも、高い周波数で動作して、演算器の幅を無限に大きくしても周波数が落ちない。
僕の2019年のブログに少し詳しく説明があります。
「わかりやすいICF3-Fのモンゴメリ乗算器の説明」
暗号プロセッサSnakeCubeは、最初はICF3-Fという名前で開発を進めていましたが、
オープンソースと間違われそうなので改名しました。上記ブログのICF3-FはSnakeCubeです。
参考まで、ブログの最後の「ICF3-Fの性能を2倍にする」に書かれてあることが2020年のSnakeCubeに実装されています。
ナオキのアルゴリズムはマイナンバーカードなどのICカードのICチップで効果的です。
ICチップの製造コストが1個 300円だったものが100円になれば、1億枚で200億円の削減になるのです。
将来、世界の大学の計算機工学(科学)の教科書にナオキのアルゴリズムが掲載されることになれば、
日本人として偉業を達成することになります。
参考ブログ
暗号半導体チップにおける『ナオキの法則』
|