Home
2020年
2019年
2018年

1月30日 UART受信回路の設計図公開

開発中の設計図で実機で4Mbps(正しくは4Mbaud)の速度で通信できたもの。 著作権とか主張しないかわりに、開発中のものなので、正しいことも保証しません。 公開理由は産業スパイが設計図を盗難している可能性があるので特許を取られないように。 XilinxのFPGAに特化しています。特許になるのかとかまでは、わからないです。

位相のずれやノイズに強いのが特長。通信速度の5倍の周波数で動作させます。 シリアル転送1bitの時間が5サイクルです。 XilinxのFPGAでは1LUTの大きさでLUT5が2個入るものがあって、それを有効に利用しています。 図の左側にフリップ・フロップが7個並んでいます。その下にLUT5 x2が3個ありますが、 ここで前後に1サイクル(1/5bitの転送時間)ずれても正しく取れるようになっています。 フリップ・フロップのうち1つがノイズによってビット反転してもLUT5 x2で補正されます。 ノイズが多くて正しいと思われないデータはエラー報告します。
64バイトのFIFOで半分の状態を示すxURHALF_P信号も特長があります。 xURHALF_P信号は厳密に半分である必要がないことに注目します。 この信号が1であれば32バイト連続にデータを取り出せるという意味であればいいのです。 リードとライトのアドレスを引き算する論理なしにxURHALF_P信号が作れます。 仕様を作成する人と、実装する人が別々だと、これに気づけないかもと。

追加  毎回、スタートビットの立下りを基準にしているので1バイト単位で位相が360度づれても動作します。

追加2  公開してから考えることになったのですがLUT5x2ではなくてF7MUXを使うともう少し面積を小さくできるかも

写真をマウスでクリックすると拡大されます



1月29日 開発が無駄に遅れています

数日、かなり回復した体調も、今日は頭痛、強制半睡眠、 頭が悪くなったせいでネット上の記事の日本語が読みにくく、目を開けているのが辛いという状況で 開発が停滞してしまいました。やっぱりなんとかしないと、なんとかならないようです。
ICF3-FはRSA暗号だけの技術ではなく、新しい公開鍵暗号の選択の幅を広げることにもなり、 インターネットの重要な技術のはずで、それが無駄に遅らされていることは考えるべきのような気がします。
コンピュータ分野における日本の低迷ぶりは説明の必要がなく、 世界からみて日本が価値のない国になっていくのは、いろいろ問題が起こる原因にならないものかと思っています。
暗号プロセッサ ICF3が役に立つように考えています。
1999年の暗号LSI ICF3は、一言でいうと僕の個人技で、できています。 そして18年が経過して、日立と交流することなく、ICF3の演算器の性能強化に成功。 最下位ビットからのブロッドキャストの遅延問題によって大きな鍵長の演算器は作れなかったのが作れるようになった。
今のところの見通しは、僕1人の作業でハード(FPGA)から、ソフトまで開発できる状況です。 ICF3-F開発の無駄な遅延を振り切るためには、このメリットを多くの人に考えてもらうことのように思います。

ここ数日の成果は下図のXとWの論理をverilogにしたこと。これからシミュレーションによって動作検証に入ります。


1月26日 大型の高基数の効率

モンゴメリ乗算の高基数型でRSAの鍵を長くしていくと効率が下がるかもしれない。 それはわからない。もし下がると低基数のほうが効率が良くなることはあるかもしれない。 急いだほうがいいと思っています。
頭の調子がまだ十分に回復していない。回復させないと回復しないらしい。 品質と作業スピードに関係するので、どうにかならないだろうか。


1月25日 ICF3-Fの作業再開

ここ数日、目と頭の不調に悩まされ作業が完全に停止していました。 頭の調子が戻っているのかは、わかりませんが、各部が回復してきたので作業再開します。 これまでと、あまり何もかわっていないようです。


1月24日 高効率な低基数だと思ったわけ

昨年の8月にICF3-Fの低基数のモンゴメリ乗算器をシミュレーションして実装しています。 SSLアクセラレータとして製品化するため演算器を受けるプロセッサ、通信回路と、 設計をしてきて半年近く経過しています。 低基数な演算器が完成したとき、あまりにも効率よく、ハマったので、 高基数にも勝てないかと思いました。 説明しても、良く伝わらないかもしれないですが、DSPで乗算、累積加算させながら、 別系統の乗数のシフトを同時にします。これができたのは運がいいという感じです。
乱視が目立つままですが、目の調子は回復してきました。 まだ頭の調子は良くなくて、作業を開始できず、この日記を書いています。 常時httpsになったといっても、SSLアクセラレータが使えるサーバーの数は、パソコンと比較して、 かなり少ないですから、高基数に比べて設計、開発コストが安いことは、思っているよりもメリットがあるような気がしています。 Intel CPUの脆弱性によって暗号プロセッサを知る人は多くなっていると思います。 どうも、すぐには壊れない程度に、目や頭の調子を悪くし続ける方向のままで、 運が悪いと、本格的に壊れて、明確に問題が露呈してしまう可能性もあります。 当然、ICF3-Fは、ゆっくりとしか進まないということになって、あまり良くない状況だと思います。 ICF3-Fを強奪して上手くいく可能性はありません。 この事件、日本の計算機の歴史に刻まれることを考えるなら、僕がICF3-Fを推進できるようにするのが、いいと思います。 対策が必要です。


1月24日 GPUによる低基数

GPUで低基数を使ったRSAの演算はできます。 僕はGPUのプログラムを書くこともできるので自分でもできる範囲かなという話だけ。 ちなみに僕の作ったGPUプログラム。 sha1bench

まだ目と頭の調子が悪くて休んでいたのですが、目をつぶったまま考えることはできたから、 考えていると、GPUの話を思い出したということでした。 考え出すと、GPUでは、ひどい性能になる可能性があるので、話だけにとどめることにしました。 一刻も早く、ICF3-Fの作業を進めたいし、それをするためには、どうしたらいいのかなど、考えてました。


1月23日 このままいくとどうなるか

昨日も今日も目の調子が悪くて作業が全く進んでないです。 まだそういう状況が続いているということは、常時監視員を全面的に撤廃しないとICF3-Fはいつまでもできず、 日本の成果が無駄に減っていきます。 低基数でどこまで性能が出せるかなど日本の暗号プロセッサの成果としてあると思います。 ICF3-Fの低基数の回路が、思ったよりもかなり効率的なので、高基数と実際に比較できるのではと思っています。 僕の頭が壊れてICF3-Fを交代しても、交代した人が犯罪者の仲間のように見られたら、終わりです。 全員を味方にできない限り、突き刺されるでしょう。 常時監視員の異動を考えていただいて、日本の成果が無駄に減ってしまうのを避けてほしいのです。


ちなみに日本ではFPGAのRSAは広島大学で研究されているものが有名なようです。 小さな高基数をたくさん並べて最大性能を出すもののようです。


1月22日 低基数型と高基数型

RSAや楕円暗号を高速化するためのモンゴメリ乗算を使った演算器には低基数型のものと高基数型のものがあります。 演算器についてだけ言えば高基数型が高速ですが性能を引き出すための回路の面積が大きかったり、設計コストがかかります。 僕も1999年のICF3の前後に高基数型の検討をしています。 OpenICF3の公式サイトのトップページに 「幻のICF4」があります。 演算器だけでなく暗号演算全体での性能で評価しなければならないと思います。 また高基数型では周波数を高くする必要があるので省電力を含めた評価が必要です。 単純に大きな乗算器を実装すれば、周波数以外の問題でも消費電力が気になります。 開発費が大きいと量子コンピュータの解読リスクに耐えられないなど、必ずしも高基数型が有利ということにならないかもしれない。 ICF3-F(低基数型)では、鍵長が長くなっても、半導体のトランジスタの特性が違っても、再設計コストが小さいのが利点になります。 高基数型で、そういった問題が、どこまで解決されるかにかかるのでしょう。 設計コストをかけるより、半導体チップの面積を大きくしたほうがビジネスでは有利ということも。 面積を大きくできるならCPUでいいと思った人は、SSLアクセラレータはディスクリート(外付け)が可能なので、 CPUによる最大性能に追加して、サーバーの性能を向上できる点を考えてみてください。
ICF3-FのFPGAでの実装について、僕1人でできる見通しが立っているので低基数型のICF3-Fの開発が急速に進んでいます。 うまく安価なFPGAに入れられるか、どうかで、ビジネスでの勝敗に影響がでるかもと思っています。 1人で暗号、ハード、ソフトが一通りできるエンジニアは、あまりいないと思うので、かなり効率的だと思います。 1999年のICF3もそうでした、、、当時、暗号、ハードは初心者でしたが、才能のおかげでいきなりできました。 日立の入れ知恵の成果ではありません。


1月21日 偏差値の出力調整

脳に偏差値マイナス30の出力調整を加えただけでは、恐らく成功が見込まれたのだろう。 一段と厳しくなってきた。偏差値マイナス50になると目が見えにくくなったり、もっと致命的な問題が自覚できる。 出力調整のひどい悪用は信用の低下による問題のほうが大きいと思う。 失敗するまで調整することが予想され、この国の多くの人にとって、あまりよくない方向だと思ってます。 低度な出力調整でも出力調整要員が存在するためにはお金が必要なのだから 出力調整の全撤廃をするよう見直しすべきかと。
ちなみに僕は脳を含めて手術は一度もしたことがない。 赤ちゃんのころにあったのかどうか、知らされていませんが。
日本のコンピュータはかなり低迷してしまいましたが、 暗号プロセッサは1999年にIBM互換品として世界に出荷されRSAで世界一となっている歴史もあり、 有利な分野です。そして暗号プロセッサ(=RSA演算器)の設計を1人でやってしまったのが僕で、 僕が調子悪いと、せっかく有利なのが活かせません。 僕の脳みそを破壊してICF3のリーダーであった東大卒に置き換えたとして、 部下の脳みそを破壊して成果を吸い上げることができる東大卒システムを宣伝することにならないでしょうか? 考えていただければと思います。


1月20日 Canonのプリンタを購入

15年前に購入したプリンタが故障した。 紙詰まりが起きてカートリッジを引っ張りだそうとしたら、トナー置き場のパーツとトナーのパーツが折れて壊れました。 あたかも普通に壊れたようにも思えるが、紙詰まりを起こしてトナーを引っ張り出すとパーツが折れるようにセットしてあったのかもしれない。話は変わるがUSBケーブルでmicroUSBのコネクタが少し小さめのケーブルがある。 ほぼちゃんと挿入されるが、接触不良を高い確率で起こす、そして見た目正常というやつだ。 電源ケーブルにもそういうものがあって、ほぼ正常な状況で接触不良起こせる巧妙にうまくできたケーブル。 故障しなければ、こういう話をすることはない。
さて、新しいプリンタを購入するべく検討を開始。 プリンタといえばCPUを利用する製品だ。EPSON LP-S180C0が14,154円、Canon LBP6230が12,800円。 同じぐらいの機能に見える。 EPSONのCPUは600MHz DualCoreで512MBのメモリ。 CanonのCPUは192MHz 64MBのメモリ。Canon Custom Processorと書いてある。 なんのCPUがベースになっているのか、全然、わからない。 でもCPU製造原価を削ってコストダウンだ!Canon LBP6230を買いました。


1月20日 サーバー施設の費用っていくらなんだろ?

あまり良くわからないですが、仮に5千万円、50台とする。 ICF3-Fによってサーバーの性能が5%上がれば250万円の価値が向上することになる。 このくらいの額だと世界へもいけそうな気がします。
今日の進捗は通信回路と暗号プロセッサ間の転送の論理を作り始めました。 8bit当たり1SLICEの増加の見積もりでしたが2SLICEになってしまいました。
今日は、頭の調子が良くなくて作業効率が上がりません。 効率が33%まで落ちると1年が3年になるわけで、何度も聞かされてうるさいと思う人も大勢いそうですが、日本の将来が削れるかもしれません。 ICF3-Fは低基数で乗算器の効率が良くありませんが、低コストに開発できるおかげで量子コンピュータの解読に脅かされる状況でも開発できそうなのです。 高基数型は鍵長が長くなると毎回設計コストがかかる感じですが、ICF3-Fは鍵長が長くなっても設計コストがあまりかかりません。 CPUの性能をコア数を増やして性能を向上させるような感覚だと思います。 設計コストをかけた高基数型のASICをどこかに開発されてしまうとICF3-Fは轟沈しますが、今のところ僕の手元で完成しそうなので問題はありません。 轟沈してもみなさんは困らないはずですし。 頭の調子が悪くなる根源を、まだどうにかしないといけないのだと思います。


1月19日 通信回路と暗号プロセッサ間の転送

ついでの説明。 性能を上げるためには暗号プロセッサを休ませることなく連続で動作させなければならない。 そのためには暗号プロセッサの演算中に次の演算のためのデータをレジスタに8bitづつ転送していくこと。 16本のレジスタを2セット持てば容易だったのですがFPGAの分散メモリでは 32本のレジスタ1セットになるため煩雑になるかと思っていたのです。 1セットでは暗号プロセッサがレジスタをリード、ライトしているタイミングに通信回路からデータを送受信することはできない。 暗号プロセッサがレジスタにアクセスしていないタイミングで送受信しなければいけないからです。 32本、2セットにしてもできますが暗号プロセッサのレジスタは1本、1032bitなのでかなり無駄が生じます。 目標のFPGA、XC7A35Tの全SLICE数(4LUT+8FFのブロック)は5200個ですが、 8bit当たり1SLICEの増加、全体で約130SLICEの増加で、どうにか実装できるかも、、、ということになったのです。


1月19日 ICF3-Fの開発が急速に

開発が進み始めたというより通信回路と暗号プロセッサ間の転送回路が 思ったよりも簡単にできそうだということが判明したということです。 開発の見通しは良好で、もしXilinxのFPGA XC7A35TにICF3-Fが入れば通販サイトで約1万円で販売されている Cmod A-35Tに 開発したSSLソフトウェアを書き込んで販売が可能になります。 まだどうするのか決めていませんがSSLソフトウェアだけをダウンロード販売することも可能になるでしょう。

現在、軽い吐き気や、軽く脳に障害(頭痛だけで済んでない)を起こすことが多いです。 日立(と半殺しを得意とする特殊部隊)は嫌いで許せません。 それでも普通に話せるのでお気軽にご連絡いただいていいのですが、設計するには困っていて、 どうにかならないかと思っています。
僕は1999年に世界の銀行や日本の外務省に収めた暗号装置を開発しています。 日立の設計の中では一番、セキュリティに関わっています。なので最新鋭の監視システムで監視されていただろうと思います。 現代の最先端の技術を持ったシステムで、どのくらいのことが可能なのか、とは思います。
RSAは鍵長が長くなると急激に性能が低下します。 ICF3-Fは鍵長の長いRSAが演算できる暗号プロセッサを低コストに設計できるメリットがあるので、 常時httpsなどインターネットのインフラに貢献する可能性があります。 技術的にも面白いものを持っていて 「モンゴメリ乗算の累積加算における分割加算の証明」 これは日立にはできません。 Intel CPUの脆弱性問題などでICF3の暗号プロセッサが脚光を浴びた今、多くの人が知ることとなっています。 今後の方向は、明らかであるような気がします。よろしくお願いします。


1月18日 シリアル通信の性能改善の先送り

インターネットを調べて4Mbpsを12Mbpsに性能改善できそうなことは確認しましたが、 XilinxのFPGA XC7A35TにICF3-Fが入ることを確認してからXC7A35Tの実機で性能改善することにしたため、 少しの間、先送りとなりました。


1月18日 ICF1、ICF2の通信回路

そういえば僕は1997年のICF1、1998年のICF2の通信回路の論理設計担当でした。 話せば長くなるので、ここで必要なことだけ。 大型計算機の高信頼通信回路の技術が漏洩していないか?と考えた人もいたかもしれないので、 説明すると、そういうことはありません。ICF1、ICF2の回路はシリアル通信ではなく平凡な論理回路です。


1月17日 再び目が悪くなった

度の強い眼鏡をかけても2重に見える。いや見えているだけいいのか。 父親にコードがちぎれそうなイヤホンを渡され「これ使えそうか?」と聞かれた。 イヤホンのコードを見て、一瞬で答えを返そうとした瞬間、「目が見えない」と答えた。 コードが切れているか、すぐに判定できる大きさなのは、わかっているのにだ。 明日には直ったりするのかもしれない。しかし、この状態が、どうして続いていいのか、わからない。


1月17日 ケースFANの故障

パソコンの電源を入れると大きな騒音がする。 最初は古いHDDが振動しているのかと思ったが、 ケースFANが始動時にうまく回りはじめないと騒音がでる状態になっていた。 電磁石の銅線が惜しいと思いながら廃棄。


写真をマウスでクリックすると拡大されます



1月17日 サンプル回路の信頼性

昨日の日記、「通信回路の面積比較」、SNSでブーストされたり、多少反応があったみたいです。 ちょっとうれしい。自作回路は僕が1から設計しているのですがXilinxのサンプル回路をベースに 再構成されたものだと思った人もあったようでXilinxのサンプル回路を見てみることにしました。 LUTをディスアセンブル?するツールを作らないと、いけないと思ったのですが仕事を進めることが優先で、 あまり詳しく見ていません。ただXilinxのサンプル回路ではノイズ対策は全くしていないようです。 もし僕の勘違いなようでしたら、ご連絡ください。 僕の自作回路が、そんなに凄いのかと言われると良くわからない。 信頼性のある回路はXilinx製orサードパーティ製の有料IPを使うことが前提になっているのかもしれません。 自作回路のノイズ対策ですがUARTのパリティビットを使うと転送レートが下がったりデメリット多いので 使わずに対策する方法を考えました。フルデジタルで移植性の高い方法だと思います。 実際にノイズ発信源を用意して確かめているわけではないので、もし見つけても参考にしないほうがいいかもですが。

追記 送信側と受信側で位相がずれてきて信号が切り替わるタイミングでFFが 受信して0,1が安定しない場合でも正しく動作するようになっています。


1月16日 通信回路の面積比較

XilinxのFPGAに演算させるためのデータを送受信する通信回路を自作しています。 自作しない場合と面積や性能がどのくらい違うのか比較してみました。
通信回路として使われるCPUは、どれもXilinxのもので32bitはMicroBlazeのMCS(面積最小タイプ)。 8bitはPicoBlazeです。 自作することで面積を増やすことなしに通信性能とFIFOのバイト数を改善できました。 ただし通信速度は固定。 暗号プロセッサとは非同期転送で接続するので通信回路と 暗号プロセッサの周波数の比率を気にする必要がない。(予定)

最大速度
Mbps
LUT数FF数BRAM数FIFO
バイト数
32bitCPU+
内蔵UART
0.92167003321-
8bitCPU+
サンプルUART
3171188116
8bitCPU+
自作 UART
4(12)178165164

自作通信回路の転送性能は12Mbpsになるように作業中。 Xilinxのサンプル回路がどうなっているのかverilogを読んでないのでわからないのですが、 自作ではフルデジタルですがノイズに対して強くなるように1から設計しています。 数十パーセントのジッタや、データのFFが1つぐらいビット反転しても、正しく受信できるように工夫しました (パリティとかではなくて)。 転送レートよりも高い周波数でデータを取得して複数ポイントで0,1を判定、有効なデータをチェックして、データを取り込みます。 他の人の回路とか、読んでないので、これがどのくらいの回路なのか、自分でもわからないが、安全にできていると思う。


1月15日 人生の楽しみが削れても死ぬほどではない

インターネットの記事を速読していると、全然、目が追いつかなくなることがある。 1文字読むのに0.5秒くらいの速度まで落ちる。当然、違和感は感じる。失神しやすくなっていることに気づく。 体力は常人の5%くらいしかない。登山とか過度なことをしない限り30%あれば、生活で困ることはないが、 困るレベルである。旅行は10年前、立命館大学に行ったきり行っていない。 同じ時期に名古屋に行ったが、頭の痛みで途中で帰った。 オンラインゲームをやるには目も頭も辛い(楽しめない)。 アニメを見ても、話しを理解できないことが起きて、面白くない。そもそも面白くない。 車酔いをしている状態でアニメを見て面白いかというのに似ている。 それでも死ぬほどではない。孫悟空の頭の輪をはずすことができるなら、はずしたい。 200億円の儲けが8億になっても、腐っているかもしれないのに、マイナス5億+上記苦労はおかしい。


1月15日 自作通信回路が実機で動作

Xilinxの8bit CPUのPicoBlazeのサンプル回路では3Mbpsの通信速度しか出せなかったが、 通信回路を自作して4Mbpsの通信速度を実機で確認できた。 Linuxにも依存するが定義される最大の通信速度は4Mbpsです。 XilinxのFPGAを搭載したArtyはハード的には12Mbpsまでいけるみたいなので、これからやっていきます。


1月11日 ICF3-FによるRSAの延命

ICF3-Fは長い鍵長のRSA暗号の計算コストを下げるのに役に立ちます。(予定) 僕はRSA暗号の解読の専門家ではないですが、インターネットで調べる程度のことはしています。
RSA延命のメリットについては僕の希望的観測になりますが説明します。
「RSA-2048暗号は4100qubit、BitcoinのECCは2330qubitあれば解読できる」(Microsoft Matthias Troyer氏@SC18)らしいです。 現状では量子コンピュータはqubitの数が増えるにしたがって開発が難しくなることから、 RSAの鍵長を長くすれば延命できるのかもと思うのです。 RSA延命の準備をしておけば、ある確率でヒットして、ゆっくりと新しい公開鍵暗号に移行していける。 これは常時https(常時SSL)など多くの人に影響します。
ICF3-Fには昨年、4月に僕が発明した 「モンゴメリ乗算の累積加算における分割加算の証明」 があるので僕を闇に葬った日立や、他では無理なのです。 まさかイジメてリストラした元社員が退職後、10年以上経過して発明したものを強奪する恥ずかしいことはできないだろうと。 (アメリカの有名大学でも、やってるみたいな、感じの話を探しているだろうと予測しますが、ねつ造だと日本の成果が減ります)  僕が急がないといけないのですが闇に葬ったはずの僕が表に出るのを日立は見逃しません。
ちょうど1年前、元国会議員だった叔父のお見舞いに渋谷の病院に行きました。 現職、内閣官房参与の荒井広幸氏も来ていたようです。 叔父は反原発運動をしていて国会で「もんじゅ」廃炉を発言しています。 ただ僕は、全く政治的なことに関与していません。晩年、1度だけ大麻合法化の話を電話で聞いたことがある程度です。 大麻についても全く関与していません。 叔父は、日本語を話すことができましたが、目を開けたまま、大きなイビキをしていました。 僕が誰なのか、わかったのか、確認できていません。その1か月後、亡くなりました。
現在、僕はICF3-F用に設計した通信論理回路をシミュレーションで検証しているところですが、 明らかに頭が悪くなっています。そして目を開けたまま、小さいですがイビキをかいているという状況です。 サボるなと言うなら、そういった問題をなんとかして欲しいのです。 この国に革命が必要なんじゃないかということにならないことを期待するばかりです。


写真をマウスでクリックすると拡大されます



1月10日 Intel 論理回路を垂直に積み重ねる技術を開発!?

昨日のニュースに少し焦りました。 論理回路を垂直に重ねることができれば大演算器の配線遅延が改善され変革がもたらされるからだ。 が、読んでみるとIntel Foveros技術のことで複数のチップを重ねてパッケージすることみたいです。 それだと配線遅延は改善されない。


1月9日 通信回路のシミュレーション

ICF3-Fの進捗報告。
20年前のビジネス向けドロー系グラフィックソフト「クラリスインパクト3.0」で論理回路を描いて、 FORTHライクな自作言語でFPGAのLUTのverilogを生成する方法でシリアル(UART)通信回路を作成した。 そしてverilogシミュレーションで動作確認を開始。Yの8bit CPUから文字を送信してXの8bit CPUで受信、 そのまま送信して、Yの受信回路まで到達することが確認できた。 8bit CPUのアセンブラがXilinxから入手可能だったのはWindowsだけだったのでCentOS上でWindowsを 動作させsambaで共有させるという環境の構築に昨年、1週間かかったが苦労が実った。


1月1日 今年の予定

FPGAに特化したSSLアクセラレータ ICF3-Fの開発を進めて性能を実測すること。 シミュレーションの成果を軽視する傾向があるようだ。 なぜなのか、わからなかったが、設計方法が違うことが、原因なのかもと思った。 ゲートレベルの設計はRTL設計と違い、最初からディレイを考慮して設計するため、 シミュレーションで動作すれば、かなり実装が進んでいることになる。
マイコンのICF3-Vも、面白いと思っているので、なんとかしたい。


暗号プロセッサ OpenICF3