|
6月30日 電通大演算器をスキップ最近、世の中、半導体の話題が多くなっています。この日記を読む新しい人も
増えたかもと思っています。半導体好きな人、嫌いな人、いろいろな人がいると思います。
この日記は、特定の人を対象としていないので、あまり読まずに反感を持ってしまう人
があると思っています。
6月27日 超軽量8bit CPU WZetaのハード検証ツール(2)ハード検証ツールをオープンソースでの公開はしない予定ですが、WZetaを、 広く普及させたいという考えからWindowsのバイナリで配布できるようにしたいと思います。 両端の値を含めた乱数を使ったRSA暗号の演算テストのハード検証ツールを作りました。 Xilinxのverilogシミュレータxsim用のツールでしたが、 Xilinx以外のデバイスにWZetaを実装したい人もあると思いましたので フリーのverilogシミュレータicarus版を作りました。 icarus版のWindowsのバイナリは完成したので既に配布可能な状態になっています。 まだ新型WZetaをgithubで公開していないので、ハード検証ツールだけ配布しても意味のない状況ですけども。 6月26日 超軽量8bit CPU WZetaのハード検証ツール前回の日記で、ハードウェア検証ツールを公開しない方針を言いました。 公開をしない大きな理由は、公開のために整備する時間が惜しいことなのです。 僕の検証ツールは、自作の多倍長演算ライブラリやC言語による開発なので、 技術自給率が高いものになっています。一方で出来の悪い自作ライブラリであったりもします。 自作ライブラリなので、検証ツールをWindowsのバイナリとして公開が可能です。 状況に応じて公開することはあると思います。 6月26日 超軽量8bit CPU WZeta開発状況WZetaのverilogファイルが、ほぼ完成しverilogシミュレータで動作検証をしています。
作業報告では動作検証ツールの話が出てきますが、ハードウェアの検証ツールについては
githubへ公開しない予定です。もし検証ツールに興味ある方は、
別途連絡をするという方針でいこうかと思います。
6月25日 超軽量8bit CPU WZeta作業報告verilogシミュレータで1024bitのべき乗剰余演算の乱数テストが動くようになりました。
6月24日 TPM2.0チップのビジネスマストドンのTL上に外付けTPM2.0 3000円というのがあった。
TPMはパソコンのマザーボードに付けてセキュリティを上げる半導体チップ。
それとWindows11でTPM2.0が必須になること。AMDのCPUは内蔵というようなツィートだった。
6月23日 従来研究との違いを一言で暗号プロセッサSnakeCube と従来研究との違いを一言でいうならパイプライン化の方向が違うのです。 従来研究は大きな数字の下の桁から上の桁向かう方向でパイプライン化をしています。 SnakeCubeは時間軸方向にパイプライン化しています。 これを可能にしたのは最下位の桁からのブロッドキャストを、 うまく中継する方法を発明したからなのです。 6月23日 TSMCは次世代ICチップに役立つか?クレジットカードなどに搭載されるICチップはRSA暗号が多いようです。
ETCなど、一部の用途では楕円暗号も使われています。
RSA暗号は安全性の根拠が大きい数の素因数分解問題が困難であることです。
一方、楕円暗号は楕円曲線上の離散対数問題の困難性を安全性の根拠としており、
曲線ごとに異なるという理解です。このためRSA暗号が好まれる場合が多いのかもしれません。
参考 6月22日 超軽量8bit CPU WZeta作業報告verilogシミュレータでRSA 2048bitの演算が正しい答えを出力しました。
厳密には1024bitのべき乗剰余演算ですがRSA 2048bitが計算できたと言っていいと思ってます。
8bit加算器1個で演算するため1回のべき乗剰余演算のシミュレーションにかかる時間が長いのです。
6月20日 台湾企業VIAのx86互換CPUVIAのCPUは独自の暗号ハードウエアを搭載している。
このハードウェアを使ってMicrosoftのCryptoAPIに準拠したミドルウェアを開発したことがあった。
VIA製のMicrosoft準拠のCryptoAPIミドルウェアも、あったのですが、完全互換ではなくて、
困ったので、自作したのです。独自のハードを使った自作ミドルウェアの配布について、
VIAに問い合わせたほうが、いいと思ったので、電話で問い合わせると日本語のできる
エンジニアの人が出てきたのです。
僕が「紙一枚書けばいいの?」と聞くと、そんな日本語でも、理解できたみたいで、
何もいらないから、配っていいという返事がきた。
6月20日 暗号プロセッサはTSMCの良いアプリです高性能CPUでも、できないRSA暗号10万bitのSSLサーバ証明書、実現の可能性が出てきます。
量子コンピュータによる解読の問題をRSA暗号の延命で凌ぐという選択が可能になります。
延命でいいことにすれば、世界各国の税金を抑えることができるような気がします。
産業スパイの責任で暗号プロセッサSnakeCube
の開発が遅れSSLアクセラレータとして販売できた期間が終わるころに完成予定になりそう。
この問題を産業スパイに向けて産業スパイを追い出せば、今後は、いろいろ改善されるかもしれない。
追加機能の名前が欲しいと言われたので、 プラナリア(英: Planarian Flatworm)からプラナリア機能(Planarian Function)にします。 6月20日 超軽量8bit CPU WZeta作業報告verilogシミュレータでハッシュ関数SHA-1の演算が正しい答えを出力しました。 ハードマクロ命令のverilog実装が動きました。 SHA-1の計算ではハードマクロ命令を使った32bit整数型、仮想コプロを使っています。 WZetaは8bit CPUなのですが、この仮想コプロを使えば、逆ポーランド電卓を操作する感覚で、 SHA-1などの演算が可能になります。従来CPUにはない、プログラミングが可能になります。 6月17日 ガロア体演算の乗算用RISC-V命令セットmsyksphinzさんのFPGA開発日記の
「CARRV 2021の発表論文概観 (1)」を読んでみました。
6月16日 超軽量8bit CPU WZeta作業報告verilogによるシミュレータで256bit AES暗号のプログラムが正しい計算結果を出力しました。 論理ゲートレベルのverilogファイルなので、実際にハードにするためのファイルです。 完成が近づいてきました。 6月14日 超軽量8bit CPU WZeta作業報告新型のWZetaで256bitのAES暗号のプログラムを作ってみました。 3月にelchikaの審査を通った時点での 旧型のWZetaと性能を比較します。C言語シミュレータによる比較なのでクロックが異なるはずなのですが、 おおよそは、同じになると思われるため、同じクロックという前提を起きます。まだ精度がありません。 暗号化の性能は65%に下がりました。 新型はノイマン型にしたため、メモリの性能が50%に落ちているためと思われます。 XilinxのFPGAに実装した場合、2KBのBRAM 2個だったのが1個に減りました。 6月8日 超軽量8bit CPU WZeta、近日中に公開予定YoTuber黒川さんの「つばさの党」で、比較的、
言論の自由がある日記システムが10日前に公開され、
日記に時間を取られていますが、超軽量8bit CPU WZetaは、公開まで行われる予定です。
WZetaは税金を使わないという方針に変更はありません。
6月7日 超軽量8bit CPU WZeta作業報告仮想マシンRed Comet(赤い彗星)は全体の仕組みと2、3の命令の実装をしました。 どのくらいの性能になるのか見当がついたので中断します。 WZetaのverilogを作成する作業を再会。 verilogのシミュレータicarusやXilinxのxsimで8bit加算をするプログラムが動作するようになりました。 RSA暗号やSHA-1のプログラムが動くことを確認できてからトランジスタ数が、 どのくらいなのか、調べてみます。 6月6日 SnakeCubeが日本最大のロジック半導体の設計技術デジタル庁、発足に向けて日本のデジタル産業が活発化しているようです。
ネット上のエンジニアも、その動向をウォッチしているみたいです。 6月5日 無料のICカードのエミュレーションソフトSNS上でWindowsのカーネルモードの署名方法が変更になった話があったようです。
USBメモリをICカードにエミュレーションするmyuToken
が心配になったので調べてみました。
市販の全てのUSBメモリに対応するカーネルモードのコード署名をすることは、調べてませんが、
不可能だと思っているので、かなり前に、カーネルモードの署名をあきらめて署名無のドライバを
インストールする手順を追加する方式に変更していました。
USBメモリではなくてファイルをICカードにする
カーネルモードドライバもあります。
こちらはカーネルモードのコード署名がついているのでインストールが簡単で、
ICカードアプリの開発に便利でした。
6月4日 組込み開発は低スペックなCPUで要求を満たすこと言い換えると、超軽量8bit CPUで要求を満たせるか?から開発がスタートすることになるように思います。
WZetaに期待してもらえそうな気がします。
6月3日 8bit CPU WZeta命令セットβ版更新大きな変更はありません。いくつかの命令を追加、削除しています。
興味のある人に最新情報を、と思っただけです。Bレジスタを使った相対分岐命令が便利になったかも。
6月3日 国家試験の仮想マシンCOMET-IIの実装WZetaのハードマクロ命令を使ったCOMET-IIの実装、RED COMET(赤い彗星)ですが2命令語のLD、STの実装が完了しました。
どちらもWZetaの命令数で25命令でした。(オプションのGRx有りケースでは34命令)
ハードマクロ命令を使わずに普通にCOMET-IIをエミュレーションしたほうが省メモリで高速かもしれない。
しかしハードマクロ命令による実装のほうがメモリの大きいCOMET-IIを作れます。
厳密なことを言えばハーバード型になってしまうのですが、試験に伝説のテクニック自己書き換えは出ないという予想です。
COMET-IIの仕様ではメモリは128KB(65536語)ですが、
ハードマクロを使わないエミュレーションでは48KB程度になると思われます。
ハードマクロを使った場合、プログラム96KB、データ48KB、合計 144KB。
仕様の128KBに近く、この容量でOSやコンパイラを考えていた場合、
ハードマクロによる仮想マシン機能は役立つということかも。
6月2日 国家試験の仮想マシンCOMET-II8bit CPU WZetaのハードマクロ命令を使って仮想マシンは作れます。
このときハードマクロ命令を前提とした仮想マシンとすれば効率のいい仮想マシンになる。
既存の仮想マシンを実装しようとしても、基本的に実装できない。
基本情報技術者試験の仮想マシンCOMET-IIは、実装はできるものの、あまり効率は期待できない。
そこで実際にCOMET-IIの仮想マシンを作って効率を上げてみることに。
6月1日 8bit CPU、WZetaをCOMET完全互換なCPUにする2021年6月1日 5:00PM、IPAのサイトでCOMET-IIの仕様が見つかったので全面改訂 |