Home
2018年
2019年

2月20日 4種類のFPGAボードを作れる準備

日記が書けるくらいまで頭(目)が回復したが今日、1日、作業は完全に停止していました。 この遅れをどうにか損失試算することで頭痛になる問題を回避したい。 しかし損失試算で回避することより、普通に開発を進めたほうが、僕にとって有利だと考えて欲しい。 昨日の作業になるのですが4種類のFPGAボードに実装するための手順を確立していました。 Arty初期版、Cmod A7、Arty-S7-50、Cmod S7の4種類。 それぞれLEDの数が違うのでVerilogのコンパイル指定子によって差分を吸収できるようにしました。 後はI/Oピンの配置が、どのボードも全く違うので、 ボード毎に異なるXDCファイル(I/Oピンのファイル)を1つのVivadoプロジェクトでできるようにしました。 要するにXilinxの開発環境Vivadoの使い方を調べて勉強しました。


2月19日 脳内でLチカ

ああ、止めないと止まらないみたい。 「Lチカ」というのは電子工作の初心者が最初に試すことが多いLEDを点滅させるだけの簡単な電子工作。 LEDは電気のエネルギーが光になって目の網膜に届くのだが、 目の網膜を直接、光らせる脳内Lチカというものがあることを30分前に目が覚めた瞬間知った。 目をつぶると目に映る画像全体がチカチカ光る。 今まで、そういう経験はない。 こういうヤバい技術を明らかにしないほうが、いいと思う。 世の中には、いろいろな人がいる。反社会的勢力とか。ヤバい技術の使いどころはあるでしょう。 僕についていえばIBM互換の暗号LSIを圧倒的に安く開発したおかげで競合他社に差をつけることができて、 日立の大型コンピュータが売れたという功績があるのです。 儲かったのは東大卒が多い部署でした。 その僕の貢献に対するリターンをヤバい技術でどうにかすることは問題だと思います。
現在、その部署の東大卒の方が日立で偉くなったようです。 2002年頃だったと思いますが、その偉くなった東大卒の方と、 僕に隣の部署の暗号装置の起動デバイスを開発するように密命を出した東大卒の方と3人で 飲みに連れていってもらったことがあります。 (ちなみに起動デバイスは、自分の部署で開発したものを、少し変更するだけでできるので、ほとんど作業量としてはない) 飲み会の席で僕に言いたかったことは、東大卒が偉くならないのは、おかしいという主張でした。 ヤバい技術に手を出すことになった動機のように感じられています。
僕の父親はかつて日本道路公団に務めていて北陸自動車道で成功して局長になって偉くなったと自負しているようです。 自分で偉くなったと言っています。 事件のすべてが東大卒に結びついているようではないと思ってはいますが、大きいと思っているのです。

追記(午前7:40) 頭の痛みが酷くなってきたので、何もできず、しばらく寝てしまいそうです。


2月18日 ICF3-Vもあるよ

今日のGIGAZINEの記事にRISC-Vがインドの国家CPU命令セットに認定、みたいな記事があって、 CPU命令セットが話題になっているようです。 僕のCPU命令セットICF3-Vがどうなっているのかというと、あります。 失敗だといけないので自分で検証します。
今日の午前中は体がだるくて寝込んでいました。 今は頭に痛みが走っていますが、食事をしたり、風呂に入ったりする生活にほとんど影響しません。
そういえばツイッターやFacebookなどのSNSに投稿する生活も長くなっていて、気づいている点がある。 文章を書くときに片目をつぶって書いていることが多い。 そしてどんな文章を書いているときに、そうなることが多いのかも、わかってきた。 書かれると不都合な文章を書いていると、目が離れてきて、両目を開くことができなくなっている。 参考になる人もいると思います。僕は世界の銀行や外務省に収めた暗号装置を開発していますから、 それなりの人たちに知っていただいている人ですから。


2月17日 ついでにICF3-Fの進捗

ここ3、4日の話になるのですが夜8時か9時に頭の痺れが厳しくなって、 眠くないのに寝ると早朝、4時くらいに目が覚める。痺れはとれている。
さて進捗ですが、LEDの表示仕様や、リセットの仕様を整理していました。 LEDは開発中のデバッグ情報を詳細に表示させようとしていましたが、 最終的には不要になるためLEDの表示仕様を簡素なものに変更しました。 目標はCmod A7に入れることですが、 現在、動作のテストに使っているのは同じFPGAを搭載するArty A7でCmod A7よりもLEDの数が多く、それを使えばCPUにLED制御させる必要がないことに気づいた。


2月16日 明日は日記を書かなくていいようにならないか

体が壊れていくのに耐えるのが辛い。壊れなければ、それほど頻繁に日記を書く必要はない。 僕から見て状況は、あまり変化していない。 重要なのはICF3-Fの性能が正確に出るあたりまでは僕が壊れると問題が多い。 それまで作業を速やかに進められないだろうか。 その後、僕はどう考えているか。僕はICF3-Fは従来の研究、製品と比較して優れた性能(コスパ)になると思っています。 そうなれば道は開けるだろうと思っている。 ICF3-FのSSLアクセラレータを導入すれば、システム性能が上がり、単純に得になることを目指しています。


2月15日 ICF3-FのBRAM3重化による高信頼化

まだ頭が痺れて動けなくなって寝ていたが、今日の午後からは、わりと動けたのでICF3-Fの作業をした。 余談になるのですが学生の頃、コンピュータサークルの友人がいて、良く話していたのですが、 僕が日立に入ることを決めたことを言うと「頭にチップを埋め込まれて改造人間にされる」と何度も言われた。 会社に不都合な発言をしようとした瞬間、チップが作動して「ピーーー」となるのだそうだ。有名な話みたいだった。 会社に入ったあと大学の友人たちに会いにいくと「どうした、下級戦闘員のチップ埋め込まれて、頭にきているのか?」 と冷やかされたものだ。今日の、今ほど、いい友達(後輩)を持ったと思ったことはない。
さて、ICF3-Fに障害が発生した場合、LEDを点灯させるのだが、LEDの制御に使うゲート面積をなるべく小さくしたいと考えた。 約1秒間隔でLEDの表示を切り替える制御をするためには60MHzのクロックで26bitのカウンタが必要になる。 DSPは余っていないのでファブリックで実装すると、それだけで面積を消費してしまう。 通信制御用のマイコンにLED制御をさせることにした。受信バッファをオーバーしないようにLED制御をしなければならず、 なかなか楽しいプログラミングになりそう。受信バッファを64バイトに拡張したのが、役に立ちそうだ。
マイコンにはXilinxのPicoBlazeを使っている。8bit CPUだが命令コードは18bitでパリティがない。 PicoBlazeのマニュアルには信頼性を上げるためCRCスキャンとか、ECCをする方法が書かれていた。 ECCはエラー訂正ができて信頼性が高いが、性能を33%落さないといけないみたいで無理。 そこで思いついたのはプログラムを格納するBRAMの3重化、実装するのが簡単なうえに、ECCよりも高い信頼性になる。 BRAMが余っていて、クロックが60MHz程度の速さでいい場合は、BRAMの3重化を選択できそうだ。
RSAをFPGAに実装する場合、演算器にBRAMを多用して、BRAMが余っていないこともあるが、 ICF3-Fは、BRAMをほとんど使わずにRSAを演算できるのでBRAMがわりと余っている。 信頼性の高いものが、できそうで、うれしい。


2月14日 CRC32演算器の面積を調べました

CRC32演算器をXilinxのFPGA Artix-7にインプリメントして面積を調べてみました。 面積は演算器2個分のものを調べています。 普通のCRC32、Intel版のCRC32、垂直パリティの3種類の演算ができます。 1個のBRAMを共有していますが独立に動作します。 入力は1バイトのデータとスタート信号、1バイト転送コマンド信号で、出力は1バイトのデータです。 内部では32bitで演算していますが、計算結果は、1バイト毎に出力します。
62 LUT、72 FF、BRAM 1
LUTやFFでは正確な面積にならないような気がしたのでスライス数も調べました。
18 SLICE
スライス数は下図で確認できます。 演算結果を1バイト毎に転送する回路が22 LUT、6 FFで全体の約20%を占めています。 ちなみにPicoBlaze(Xilinxの8bit CPU)に接続したシミュレーションで演算結果を確認しているので、大丈夫と思います。

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



2月13日 2つのCRC32の回路を1つに

まだ目まいがして作業が、あまり進んでいません。日記を書くことにしますが進捗がない。 今、2つあるCRC32の回路を1つにしている。1つのBRAMを2つのCRC32の回路で共用できるはず。 そうすると普通のCRC32、Intel版 CRC32、垂直パリティの3っつが同時に入る。 普通のCRC32はサーバーのCPUで演算するには重い処理、IntelのCPUでSSE4.2(SIMD命令)を 持っている場合はIntel版CRC32を使うと高速に演算できる。 それ以外のCPUで性能を重視する場合は垂直パリティ、 信頼性を重視する場合は普通のCRC32ということになる。
ICF3-Fは重要な技術で開発が遅れるのは問題と思います。
できればあまり闇な話はしたくないのですが、説明しないと、どうにもならない状況になったように思います。 はっきり言うなら2000年頃の話になりますが世界の銀行や外務省に収めた暗号装置の暗号プロセッサだけでなく、 暗号装置起動デバイスも僕が開発しています。起動デバイス(イネーブルエフデーのこと)を作ったのは僕1人です。 機密レベルが高いので当然。東大卒(年上のLSI設計者)の方の密命を受け、隣の部屋の大型コンピュータの分まで、 僕が作っていたことがあります。このため恐らく、この国が持つ最高技術の監視システムが僕には使われていたと思われます。 (表に出ている技術が全てとは限らない) 僕の能力と機密レベルから、僕をリストラした会社は異常であり、なんらかあてがあったのだろうと容易に予測できます。 そのあてが何だったのか、察してください。会社が僕にしゃべられてこまるのは仕事の機密ではなく僕の処遇のことです。 ちなみに僕は赤ん坊のころは記憶がなくてわからないですが、手術を受けたことは、一度もない。


2月12日 大型コンピュータの事業部の同期の話

また頭が痛くなって作業ができなくなったので1995年頃、入社2年目のときの同期の話。 僕は、すべてが特別扱いだったので、最初のころに同期会に1、2度呼んで いただいたことがある程度で交流はない。 ただし同期(94年入社)の東大卒2人の結婚式の2次会に参加はしている。 あるとき開発部で旅行に行ったとき同期(多分、名工大卒)が話しかけてきて僕の瞬間的な記憶力をテストしようとした。 僕は断ったのだが、真剣な顔をして「お前のためにやっている。」と言ったのだ。 当時、この意味が少しは理解できたが、、今なら良くわかる。 頭が悪くなってないかのテスト、、、


2月10日 通信ハードの設計図がほぼできた?

2月4日の通信シミュレーションでプロセッサの性能不足が確認され、 性能対策をした設計図が「ほぼ」できました。まだverilogのコードにしていないので、ホントに動作するのか、 確認できていませんが、性能は劇的に改善されています。 送受信回路-BRAM間を直接転送できるようにしてプロセッサは、それを制御する方式にしました。 双方向にCRC32を演算する専用ハードを入れています。 CRC32の専用演算ハードの単体シミュレーションは動作が確認できています。 普通のCRC32、Intel版のCRC32、垂直パリティの3種類から2つを選んで演算できるハードです。 2つはサーバーの環境によって選択可能です。


2月8日 頭痛が直りました

以前と変わった様子はありませんが作業再開。 8bit CPUの性能不足はUART回路からBRAMに直接書き込むようなハードを追加して解決できるか検討中


2月7日 この状況について親は僕にどう言っているのか

「社会が悪い」自分には責任がないということを一貫して言っています。


2月7日 どうして頭痛が起きるのか?

なんか、できないのを頭痛のせいにして、逃げ出したように思う人もあったのかと。 むしろ逆で頭痛を起こさなければ、できてしまうからだと思う。
まだ頭痛で作業再開できていません。 頭痛作戦で僕が落ちて目標を達成できる可能性は低く、無駄な迷惑しか発生しない、冷静になって、 もう詰んでいることを理解し撤退の方向を促していただけると。(頭痛で婉曲した表現ができない)


2月7日 頭痛が続いている

2月4日に通信シミュレーションができるようになり、 Yが全力で送信すると受信しきれないことがわかった。Wが遅いのかと思われていたがXが遅いようです。 通信プロトコルを処理しやすいものにして、これから実装というところで頭痛で倒れました。 まだ頭痛が続いています。寝ている時間が多いが、たまに起きてインターネット上の記事を読むと、 ある程度自分の状態がわかる。
目に映った映像の文字の意味を引っ張ってくる処理で、かなり時間がかかるとか、安定した時間でできない。 非常にゆっくりとした速度で文章を読もうとすると、文章の終わりのところまでくると文章の先頭にあったものを忘れている。 超短期記憶をやられているのかもしれない。 一時的に障害を起こしてパニックを狙っていることも経験的にわかっていることだが、全部は回復しないかもしれない。

追記 2月4日の通信シミュレーションはハード検証用のもので実際よりも重たい処理。 最初、最大通信速度が出ないという表現を使ったのが良くなかったのかもしれない。 ハードの転送速度は4Mbaudで動作しています。 8bit CPUは通信速度に比例するクロックを使っているので、より実際に近いシミュレーションをして、 うまくいくと、ハードで12Mbaudで動作するとソフトも12Mbaudで動作するということなのです。


2月6日 よくスパコンについて聞かれる

世界一高速なLSIを開発しましたと言っているのでスパコンについて良く聞かれます。 有名なメディアにも聞かれたこととかあります(実は友人)。 僕は会社に入ってからスパコンの開発には一度も関係したことがないので良く知らないのです。
まだ頭痛が酷くて日記を書いています。


2月6日 ICF3-Fの開発が遅れると問題

頭痛が酷くなって寝込むことが増えてICF3-Fの開発が遅れています。 この遅延が目に見えて問題になることは、あるように思います。 頭痛を起こすことを、止めないと、止まらない。 ICF3-Fは性能を加速する機能だけとはいえ暗号技術なので 政府関係の方の視野にも入っていると思われます。 それでもなお頭痛を起こせる。そこに問題があるような気がします。


2月5日 UART送信回路の設計図公開

開発中の設計図で実機で4Mbps(正しくは4Mbaud)の速度で通信できたもの。 著作権とか主張しないかわりに、開発中のものなので、正しいことも保証しません。 先月、UART受信回路の設計図を公開しましたが送信回路は?という意見もあり公開してみました。 特に目立つところはなく受信回路と同じhalf信号の作り方です。 UARTで必要なFIFOバッファはリード・ライトが同時に可能な汎用的なFIFOである必要がないことを使って 1ポートメモリで実装したため2倍の64バイトのFIFOになっています。 大容量になったおかげで緊急レスポンスを即時に入れることが楽になったように思います (プログラム中なので結果はまだ)。 頭痛に耐えながら設計しているので僕の全力は出ていませんが残る力で頑張っています。

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



2月5日 中央研究所の新人工場実習の話

頭が痛くて作業ができなくなったので日記を書いています。 僕が日立の中央研究所に配属されたのは1994年4月。 その後、工場実習で千葉県の茂原工場に3か月くらい行きました。 大型テレビが売れていた頃でブラウン管の製造ラインに入って ブラウン管の前面のガラスを露光する仕事でした。 大型テレビなので前面部分のガラスだけでも、かなり重たく重労働でした。 中央研究所の同期で東北大卒の人が途中でリタイアしたので 同期のみんなで見送りをしたのですが、とても脅えた表情をしていたのを覚えています。 同期には東北大卒の博士が2名いましたがリタイアしたのは修士の方です。 僕は話をしたことはありませんが。 重労働が辛くてリタイアしてのではなく「壁から声が聞こえる」という発音をしていたようです。 脳に届くのが声だけならともかくコマンドが送信されて心臓とか止まったら終わりだったかもと。 僕は呼吸が止まったことがあって、人生で一番あせった瞬間でした。 呼吸が止まって数十秒が経過し、あと少しであの世に行くのかと思ったのですが、 水中と違って呼吸が止まっても1分くらいは平気なようです。 実際、どのくらいの時間だったのか、あせっていた僕にはわからないですが。 しばらくして呼吸が回復し、普通の状態に戻りました。


2月4日 通信ハードのシミュレーション開通

Y→X→BRAM→W→BRAM→X→Zの経路でデータ転送が正しく通るようになりました。 10通り以上の周波数でテストしても正しく動作することを確認。 X、Wでは送受信を1つのプロセッサで行っています。 どちらか一方で待ちが入っても、もう一方を滞りなく動作させるようなプログラムにしました。 しかし、かなり遅いものとなり、Yが全力送信するとXの受信バッファ(64バイト)が溢れることが発生。 Yの送信スピードを落として動作確認ということになりました。 モンゴメリ乗算の性能をテストするだけなら、このままでも、いいように思うのですが、もう少し考えることに。
目が多少つらい状況が続いて、体も十分とは言えない状況(; ;)


2月2日 RSAの需要予想

RSAを高速に演算するICF3-Fを開発しているのでRSAの需要予想は、いろいろ考えています。 説明は省きますが、あまり小さくない確率でRSAの大きな需要があるように思っています。 ICF3-F以外にも方法はありますがICF3-Fが最もいいように考えています。
現在、FPGAの8bit CPUのアセンブラで通信制御のプログラムを試作しています。 明確に頭が悪くなっているのが自覚できます。
頭が悪い状態が続けば、仕事が外に出るのかと言えば、そういうことはなく開発期間が延びていくだけなのです。 ICF3-Fは社会で注目を集めている技術です。 大きな成果でなくても、多くの人に震源地が予測できる状況では信用喪失の方が大きいと思います。 開発遅延をデメリットに感じる人が多い中、脳劣化作戦の成功確率は少なく、 仮に脳劣化に成功しても長期的なことを考えると、デメリットのほうが大きいという選択なのです。 ですから恐らく方向変更を促すことができるのではと思います。


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