Home
2018年
2019年

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も、面白いと思っているので、なんとかしたい。


12月31日 苦渋の決断

数日前、PGP署名のようなソフトをオープンソースとして公開しましたが公開停止しました。 ダウンロードしたファイルを不正アクセスから守るには年間数万円する コードサイニング証明書を購入する必要がありました。 このソフトは、ファイルを 不正アクセスから守ることができる証明書を無料で発行できます。 ちっぽけなソフトウェアにしては生み出す価値は、かなり大きかった。 このソフトにはコードサイニング証明書が使われていて利便性が高かったのですが、 あまり良くないと思う人がいて、使わない版をリリースすることにしました。 このソフトを雑誌のDVD-ROMで配布するか、ハッシュ値を掲載すれば、 コードサイニング証明書の代替が可能で、コードサイニング証明書がなくても価値を生み出す ことができるソフトウエアでした。
一般的な証明書を発行するためにはWindows Server OSが必要になることが多いのですが、 このソフトは普通のWindowsの標準関数だけで動作します。(Windows95時代からある関数) つまり、この価値あるソフトを僕の力だけでオープンソースとすれば、多くの人に 喜ばれるだろうと思っていたのです。(感謝するのは僕だけでいい)
このソフトが発行する無料証明書とコードサイニング証明書の差は、それなりにあるので コードサイニング証明書の売り上げへの影響は、あまりないようにも思っていましたが、 それを考えるのは、僕ではなく、悪く考える人には攻撃対象となるのです。
コードサイニング証明書を販売するところはSSL証明書も販売しています。 これから開発するICF3-FはSSLを高速化するもので、とても近く、苦渋の決断で オープンソースの公開停止としました。

暗号系のソフトウェアの技術を、どこかに依存していたことが問題で公開停止になったのでは と思う人があれば、そういうことは全くありません。 僕はICF3の暗号LSI開発後、日立の認証局に転勤となりました。 しかし、特に仕事はなく、転勤直後、何もわからないまま総務省に打合せに行くことになったり、 総務省に認証局が作成したドキュメントを運送するだけの仕事をしたり、でした。 日立の関連会社が開発するソフトウェアを買うような立場の側なので、 ソフトウェア開発部でいっしょに仕事することはできない。 かといって、ソフトウェア技術がわからなければ、適切な価格がわからず、 ソフトウェアを買う仕事ができない。 例えば、LDAPで証明書失効情報を取得するソフトを考えてみる。 LDAPのプロトコルの本を見ると、かなり大変そうなのだが、知っているとJavaで4行程度なのです。 知らないと1億円になりますと言われる。 そういうわけで、営業がいっぱいいる部屋で、1人、ソフトウェアを独学していました。 以後、今日まで、日立によるソフトウェア技術の支援はありません。 例外は2、3ありますが、それほど大きなものはなく、 システム開発研究所にWindows95のためのICカードソフトのユーザーモードドライバの作り方を教えてもらったことはあります。 (ユーザーモードなので、通常、試作にしか使えない)
僕はフリーソフトをいくつか公開していますが、ソフトウエア技術で日立に依存するものは全くありません。 日立に退職支援されると、後で困ると思っていたので、そういうことがないように退職しています。 ちなみにICF3を退職時に日立からもらっていますが高基数の新型に置き換わる予想のもと、 旧型となったICF3はタダみたいな評価額で、評価額を計算することもありませんでした。 当時は、サーバー用途しか見えていなかったので、それが売れるところもなかった。 無言で退職を迫られたときに、僕が開発した記念品として貰うことを、とっさに決めたのです。 ICF3を開発した事業部の人が来て、いいということを保証してくれました。


12月31日 5:00AM追記 : 僕のリストラの最大の問題点は会社に出られない程度に毒殺したこと。 そしてそれを10年以上隠蔽したこと。その力を否定しませんが、僕に向けたことが問題だと思っているのです。 まともな人間生活ができないほど残業をして、東大卒の多い部署に配属されたこともあって、 大きな仕事をまかされることになり、会社の利益に大きく貢献して、失敗もなく、反抗的な態度もとったことがない、 そういう人間でした。

これで僕の問題の全貌が、かなり、わかってもらえたのではないだろうか。 追記を書こうと思ったのは、追記の手前までで問題をどう解決しようか考える人があるかもと思ったためです。


12月30日 昔、マクロアセンブラの仕事をした話

昨日の日記のマクロアセンブラの仕事が、どんな仕事だったのか。 興味を持った人があるかもしれない。 大型コンピュータのCPUからログを取り出すプログラムだが、 恐らく大型コンピュータの基板に接続されたマイコン用のプログラム。 日立の子会社が請け負っていたプログラムで、僕の推論で当たっているか、わからないが、 大型コンピュータのCPUを日立のものからIBMに変更したため、 IBMのCPUのI/Fを子会社に十分に展開できなかったのかもしれない。 僕に渡されたマクロアセンブラのコードでは、ログの取得にかかる時間が、とんでもなく、遅かった。 上長には、高速化するための指針を説明されていたが、なんのアセンブラだかわからないまま、 高速化の方法を見つけて、コードを書いた。という仕事。


12月29日 僕だけ特別だったよ

12月23日の日記にある 「特別扱いのような状態で、切れ目なく、仕事を注ぎ込まれた。」が本当なのか、 疑う人はあるかもしれない。 僕は1994年入社だが、1996年から2000年くらいまで毎年大型コンピュータを製品出荷した部署にいた。 部署の人は、みな残業に次ぐ残業で、多忙を極めた。 ハード屋は出荷直前の徹夜は恒例行事となっていたし、ソフト屋(ファーム)も徹夜が多い。 ただ良く見ると、緩急があって、休めるタイミングがあって交代で休んでいた。 僕は徹夜することは、あまりなかった。 しかしハード屋が忙しくなれば、いっしょに忙しくして、ソフト屋が忙しくなれば、いっしょに忙しくする。 要するに、いつも、忙しいところに行って、忙しくしている。 無理に僕に仕事を投げている感じだった。 高専卒の先輩の指導のもと、基板実装のCADを1、2週間やってみたり、 いきなりマクロアセンブラで、なんのCPUのアセンブラだか、わからないまま、 大型コンピュータからログを取り出すプログラムを書く仕事したり。 どちらも、僕がやるより、他の人がやったほうがいい感じだった。 部署で偉くなると、いろいろな仕事を経験していたほうが、いいはずで、そのためかとも思っていた。 2000年あたりから部署全体が、暇になってくると、僕には研修が追加され、僕は忙しいままだった。 部署で、僕の次に忙しかったという人は、誰だろうか?(管理職を除く) 僕は、すぐに思い浮かばなかったが、どうも筑波大の女性ということらしいです。 女性なので、やはり徹夜は少なかったのだと思いますがソフト屋でコンスタントに忙しかったのは、そうではないかと思う。 当時は、日立だけでなく富士通とか、残業で過労死が出るほど残業が多い業界でした。 部署には日立全社で月1番の残業を記録した早稲田の先輩もいました。それでも僕だけ特別で1番、忙しかった。


12月28日 年末・年始営業のご案内

年末・年始も通常通り営業しております。お気軽にご連絡ください。この日記も通常通り。 通信回路をverilogにしてシミュレーションしてXilinxの8bit CPUのアセンブラ書いて、という予定です。 ICF3-F、実際に使う通信回路など、すべてを含めてFPGAに実装して、どのくらいの性能になるのかが目標になります。


12月27日 逆もまた真ということか

ブラウザでSNSに文章を投稿しているとき、なんか、 最悪のタイミングでブラウザがフリーズして文章が消える経験をしたことはないだろうか。 以前は、良くあった。最近は、あまりない。きっときっときっとブラウザの品質が向上したから大丈夫。 特定のウェブサイトをアクセスすると、微妙に、不具合が発生することも可能なのだろうか。 サーバー側に不良があるようにみせることなど、造作もない。 そして逆もまた真なのだと。


12月25日 失明って明かりが消えることではない

再び、寝たり起きたりの状態。 外出時、度が強いほうの眼鏡でも、かなり物が2重に見える。 失明というと、目の前が真っ暗になるイメージしかなかった。 しかし明るさは変化しない。映っているものの認識ができなくなるのだ。 一日中、パソコンのディスプレイを見て文字を読んでいる状態が多いので、 すぐに失明してきていることがわかる。
発明すると失明する国。失明が、あまりひどくなることはないだろうけど、参考にしてほしい。


12月25日 8ビットのマイコンでは性能不足?(修正版)

ICF3-Fはサーバーに接続して使うものなので品質を気にしている。 品質でいうなら誤り訂正にはCRC-32だがマイコンでは重い。 ボード上のUSBシリアルコンバータチップとFPGAチップの間の短い転送なので 過度に気にすることもないと考えることもできるが、チップの品質が悪いことも考えられる。
そこで超軽量32bitマイコン ICF3-V。 加算器を使った乗算の回路を流用したCRC-32の計算のコスパがいい。 面白くなってきた。しかしながら、当面はICF3-Fの完成を急ぐことに。


12月24日 FPGAの通信回路のFIFO

UART転送の受信回路をFPGAに実装している。 Xilinxのサンプル回路では16バイトのFIFOだったが、自作することで32バイトのFIFOにすることができた。 サンプルは古くて1LUTの面積に16bitしか入らない。自作では1LUTの面積に32bit入る。 シミュレーションをはじめたのだが、1LUTの1ポート64bitの分散メモリなら、 1LUTの面積に64bit入ることに気づいた。 FIFOにするための制御回路の量が若干増えたが、64バイトのFIFOになる。 そこで、もう一度、受信回路を作り直した。 数日で受信回路を作ろうと思っていたが、もう少し時間がかかった。 Xilinxの8ビットプロセッサの演算性能が低いので、FIFOを増やせば、多少、計算量の多い誤り訂正のアルゴリズムが使える。 ただCRC-32までできるのか、まだわからない。


12月24日 あれ、修了証書の日付が

昨日の修了証書に書かれている研修期間が1999年6月~2000年12月になってる。 あれ、まだ僕はそのころICF3の開発で、そんな研修に行っている余裕はなかったはず。 1999年6月といえば、ICF3のLSIのファイルを完成させ製造メーカに発注したあたりだろうか。 だとすれば、ひと段落はしていたから、あり得ない話ではない。 しかしその後も、僕はICF3の製品用のマイクロコードの開発はしていた。 暗号プロセッサの責任はハードもマイクロコードも僕1人にかかっていた。 ハードは配置配線がしやすいように設計した。そしてVHDLファイルからEDIFファイル作成までは僕がやっている。 配置配線フェーズで、大型加算器のキャリーの遅延を改善するため、上層配線をするという連絡があった。 通常の配線層よりも高速だから、使いましたということだった。 マイクロコードの開発では、プログラムメモリが不足してきて、 COS命令(←三角関数ではない)の実装のときに、1命令に2つの処理を押し込むことに成功しメモリ不足にならず逃げ切り、 製品出荷の期限を守ることが、うまくいったことを覚えている。
退職後、警察の方が部屋に入ってきたことがある。そのとき10日以上、部屋に戻れなかった。 なので僕の持っている資料に改ざんがないことは保証されないせいで、ちょっと疑った。 都合の悪いものは処理されているかもしれない。 はっきり記憶にあるものにIBMのCPUと日立のLSIを接続する電子回路シミュレーションで、 一番、良くできて対外向けの資料となっていたであろうレポートがなくなっていた。


12月23日 日立にいたときの話

僕は1994年4月に日立製作所に入社したが、どんな人物だったのか。 数行の日記にすべてを書くことはできないが賞状を貰ったときの話でもしてみる。 毎年、大型コンピュータを出荷する時期に新人だったおかげで長時間残業が続いた。 東大卒が多い部署に、中央研究所から東大卒でない僕が入ってきた。 京大をはじめとする有名国立大学の卒業生は、 別の大型コンピュータ開発部に分離されているので、僕は部署で浮いた存在だった。 特別扱いのような状態で、切れ目なく、仕事を注ぎ込まれた。 そして部署で最も残業をして、最も開発成果をあげた。 しかし切れ目なく、仕事をさせられるので、仕事以外なにも、進まないという状況だった。 1999年12月にICF3が製品出荷され、周囲の人達は毎年製品出荷の激務から開放されたようだった。 ところが、特に出世したいと言っていなかったが僕は幹部候補生に選ばれたのか本社の研修に行くことになり2週間に一度、 東京に出張するようになった。一泊二日、1年半のコースだったと思いますが、会社の仕事をしながら、 勉強することになり、土日は研修の宿題をこなすことになり、とても忙しい日々が続いた。 有名大学の計算機関係の先生方の授業が多数ありました。 このときの研修で貰った修了証書です。

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


12月21日 超軽量マイコンICF3-V(追加)

仕様書にも書いてあるのですがモバイルの暗号プロセッサとしてICF3-Vを使うことは、 役立ちそうな用途のひとつです。理由は、マイコンほど実装が難しくなく、すぐに実装できそうな点。 モバイルで使う半導体プロセスは高性能なので、ICF3-Vでも、 それなりの性能になるため、面積が小さいことが有利。 ただモバイルの暗号プロセッサのための仕様を見ていないので、 新規参入しにくい仕様が盛り込まれていることは考えられます。


12月20日 超軽量マイコンICF3-V

FPGAによって簡単にCPUが作れるようになったので浮上している。 ICF3の汎用演算プロセッサを32bit化して通常よりも極端にゲート数を少なくすることを目標としたマイコン。 RISC-Vの命令セットが流行している。命令コードが人間にわかりやすい必要はない。 マイクロアーキテクチャが命令セットになればデコードハードが減り、組み合わせにより効率的な処理が可能になる。 命令コードが冗長になってしまうが32bitの一般的な命令コードには余裕がある。 実際、乗算器のないマイコンでの乗算や、GF(2^128)の乗算などでメリットを享受できそうである。 IoTを作りたいが、ネットワークに接続して暗号化できる性能を持つゲート面積の一番小さいマイコン(SoC)とか。 銀行の高い安全性を持った新型暗号トークン(ちょっと大きめのディスプレイがついているような)とか。 ICF3-Vが、あると使えるかもしれない。 ICF3の汎用演算プロセッサを継承しているのでオリジナルなコアであることはメリットだと思っているが、 一般的なCPUのパイプラインを持たないため、性能がどれくらいでるのかは、これから。 管理は僕になるけど、やってみたい人は連絡をください(日立関係不可)。 OpenICF3のサイトに名前とリンクされる以外の特典はないので、ご注意ください。 OpenICF3とルールを別なものにしたほうがいいように考えています。 実用を目指すので、思うようにならないかもしれませんが、もし良ければ。

追記
マイコンは税金含有率が実用性に影響するので、その点を配慮することを、ご了承ください。


12月20日 FPGAのSSLアクセラレータの力

ICF3をベースにFPGAに特化したSSLアクセラレータ、ICF3-Fの開発を進めています。 約半年前に発明した演算器の改良が、とても良くて、鍵長の長いRSA暗号の高速化のコスパが、世の中に 鍵長の長いRSA暗号の選択肢を与え、常時httpsなどのインターネットの社会インフラに影響する可能性があります。 製品にするには演算器だけでなく、通信部分のハード、サーバー上の通信ドライバ、httpsで使うためのミドルウェアなど、 必要なものが、いろいろあるのですが、一通り調べて、僕自身ですべて開発可能であると見ています。 市販されたFPGAボードに実装できれば、ソフトのようなダウンロード販売も可能性があります。 そして自力で設立した、自分の会社、 (株)iCanalがあるわけで、すべてが揃いつつある状況です。 実機で性能が測れる日が遅れると何が、起きるのか、です。


12月19日 激白、人生会計

それほど平穏に時が過ぎていない。遊ぶ時間が確実に減っているくらいには慌ただしい。 ご心配いただいた方もあって、こういうことを書くことに多少のためらいはあるのですが、イメージ的な会計話。 生涯賃金5億円の損を取り返すために500万円を使って5000万円を取り戻すとマイナス4億5500万円で何事もなかったことになる。 長時間残業でまともな人間生活ができずに強制的に頑張らされて、 発明をして成功するとマイナス5億円になる問題が続いて問題ない問題。 問題隠蔽に使用されるハイテク兵器。 ハイテク兵器は必要悪だと思っているが僕は東大卒がいっぱいいる部署で散々、コキ使われるも、 時の運含め奇跡的に成功し会社の儲けに大きく貢献した。 そういう僕に銃口を向け、わりと体や頭が不自由になってしまっている問題が大きいのです。 ハイテク兵器による問題をハイテク兵器によって解決し、 医者の信用を落としながら別の問題へと転嫁するのかもしれないですが、 これは銃口を向ける相手が間違いなのです。そうであれば今後、いい方向が考えられると思っています。 人々が持つ東大卒への不信感も減るでしょう。
少し脱線しますが僕は日本で大型計算機のLSIを開発して儲かった珍しいケースです。 CPU開発の撤退も売れた一因なのかもしれないですがIBMの暗号仕様のフルスペックを満たし 競合他社、富士通を抑え、日立の大型計算機が良く売れました。 僕は暗号LSI ICF3にある4演算器のうち2.5個を設計、暗号プロセッサの実装ファイルを1人で作成するなど大活躍してます。

目指すのは問題をクリアにして、僕の持つ暗号プロセッサのオープンソースが有効活用できなくなっていることを改善し、 日本の将来を考えていくこと。日本の凋落の必然を語る前に考えて欲しいのです。 一般の人には気づけないところもあると思うのですが暗号技術なので活かし方によっては影響力が大きいのです。


12月17日 UART転送論理をVerilogに

受信部のゲートレベルの設計図ができた。FPGAではゲートではなくてLUTの配線図になった。 LUTのVerilogデータはFORTH言語ライクな自作言語を作って作成する。便利。 Xilinxの8bitプロセッサと接続してシミュレーションできる環境は、できているので、これから LUTの配線図をVerilogにしてシミュレーション。 Xilinxの8bitプロセッサのアセンブル環境はXilinxが提供しているものはWindowsしかなく、 Linux/Windowsの混在環境の構築に苦労した。セキュリティを考えると結構、難しい。でも便利。 シミュレーションより先に送信部の開発が先か。 Pixivとか絵の開発環境を書く場所があるが、LUTの配線図は20年前に購入した、 普通のドロー系のソフト「クラリスインパクト」(Windows版)だったりする。ICF3と同じ。


12月16日 「日立、英原発計画凍結」のニュース

叔父が参議院議員だったころ国会で「もんじゅ廃炉」を叫んだことがあった。 僕が原発に詳しいのかといえば、全く無関係で、知らないと言える。 ただ叔父なので国会議事堂を見学をさせてもらったことはあります。 このニュースで何か、急変しそうなことがないか、考えてみるのですが、 僕が日立に入社してから、どんな環境で、どんな仕事をして、どんな成果を上げて、 失敗もしていないのに、どういう結果になっているのかを、 これを読む日立の人に考えてもらえればと思いました。 ちなみにOpenICF3のサイトで1999年のICF3 暗号プロセッサ ゲートレベルの全設計図を 公開していますが、公開した設計図から、VHDLのファイルを作成したのは僕1人だけです。 診断用のキャン論理も、ファイルの作成は僕がしています。 診断用の仕様は会社からもらいましたが。


注) 暗号プロセッサと言っているのはICF3が持つ4演算器のうちRSA1つのこと。

12月14日 UART転送の論理回路を作りはじめた

XilinxのサイトにもUART転送のサンプル回路はあるのだが、もっと高速な転送をしたくて自作することに。 なかなか良さそうなのもができてきた。完全オリジナル(参考文献もない)で協力者とか、いないです。 完璧に動作するころには当社が協力してましたとか、言い出されないように。 なぜ、こんな、つまらないことをいちいち書くのか?って、察してください。


12月13日 ネットワークのトラブルが2件続いた

2件とも、ネットワークケーブルの爪が微妙に曲がることで抜けやすくなっていることが問題で発生した。 1件は保護されたケーブルの爪が曲がっている。 職場を清掃するときに、ちょうどホウキで引っ掛けそうなケーブルの爪を、このように曲げておけば、 清掃員が知らずに引っ掛けた可能性になるのかもしれない。

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


12月12日 トラブル連続発生で停滞(3日目)

Zorinでも、一昨日、昨日と同じ現象を確認できた。 マシンを変更して現象を確かめる必要があると思いRaspberry Pi B+を使うことに。 Raspberry Piでは激安中華USB-RS232Cで最高速度の4Mbpsでの動作が確認された。 クロスケーブルを短くすると、かなり性能が改善されることがわかった。 しかし、それでも1200bpsのいつも決まったデータで、コンペアエラーになることもあり、かなり不安定。 1200bps以外でも、コンペアエラーは頻繁に起きるが8バイト転送で3バイト目と4バイト目が0になるのが特長。 不良品と判定したい。激安品だし、今後不良品ばかり送られるのも困るので今回は見逃します。
そして挙動がおかしい件の疑いは晴れたことになるが、この判定が正しいとは限らない。 理由は不良原因が、僕の動作に合わせて動く可能性も考慮したいから。


12月11日 トラブル連続発生で停滞(2日目)

Manjaro Linuxのインストール中、パソコンが数回フリーズしてインストールに失敗する。 ヤフオクのジャンクマザーだからなのか。ジャンクマザーは壊れても不思議ではない。 しかし、この前電源が入らなくなったとき、半日くらい調べたがATX電源の不調が原因だった。 ジャンクマザーのほうが返って安全なのか?そうも思える。 大抵の人はインストールを諦めるのだろう。 しかし何故か、インストールが完了する可能性があるように感じてしまうのだ。 Manjaro Linuxを何度かインストールしているうちに、ホントに、インストールが完了した。

激安USB-RS232Cコンバータのテストをすると、昨日と全く同じ現象が再現した。 テストをしているうちに何故か、性能が上がっていって57600bpsで止まる。 電源を入れ直すと、また最初から。 ELECOMのUSB-RS232Cコンバータを試すと、激安品よりは、もう少しいい感じ。感じと言ったのは、転送の方向で性能が随分違うのだ。

この激安USB-RS232Cコンバータの性能測定に、こだわる理由は、ICF3-FでFPGAと接続するのにUSB-RS232Cコンバータを使おうとしているから。 FPGAで使われるコンバータはFTDIのちゃんとしたやつだと思うから、もう少し安定するのではないかと思っているが、4Mbps以上の高速転送を計画しているし、 通信テストでFPGAを壊してしまう心配から、ELECOMや激安USB-RS232Cコンバータでの経験が活きると思ったから。

どうも、まだ結論が安定しない。また新しい環境でテストするべく、どのパソコンに、どのOSを入れればいいか、1時間以上考えた。風呂に入りながら考えた。 Tiny Core Linuxだと風呂で決めた。しかしUSB-RS232Cのドライバがなくて、テストできなかった。

マシンは限られているOSだけでも、他のOSにしよう。FreeBSDをやってみたが、動作するケースがあることは確認したが、今一つ。 LinuxのZorinを思いついた。ネットにあるLinuxの一覧にないから、安心?かもとか。
今まで、こんな状況を書いたことはなかったけど、某東大のCPU実験が数か月でできるのに、僕が1年以上かかっているのは、ここ数日のような苦労のため。


12月10日 トラブル連続発生で停滞

一言でいうとトラブル多すぎ。
IoTをやっているとUART通信(シリアル通信)を使うことがあるので中華激安通販で1.89ドルのUSB-RS232Cコンバータケーブルを2個購入。 昨日、自宅に届いた。Core2DuoのマシンとCorei3のマシンのオンボードCOMを1.5mのクロスケーブルで接続すると4Mbpsの性能が出る環境でテストした。 最初、4800bpsの性能だった。うーん、9600bpsくらい性能がでないと不良だよねと思って調査を進めた。 そう考えていると、何故か19200bpsの性能で安定するようになった。さらにテストを続けると、何も変更してないのに57600bpsの性能で安定した。 そしてさらにテストを続けると動かなくなった。なんか挙動がおかしい。 CentOSでテストしていたが、別のマシンの新種のLinuxでテストしようと考えた。 Manjaro Linuxがどうなのか良く知らないが、ダウンロードした。 ダウンロードしたファイルをPGPで検証するには、ネットワークから切り離されたマシンに持っていかなくてはいけない。 USBメモリに書き込んで検証マシンに刺すと反応しない。3っつ試したがNGだった。 しかたなくDVDを使うことにした。DVD-RWの消去をはじめると、数回やって全部エラー。パイオニアドライブと対応したライティングソフト、マクセルのDVD-RWでNGか。 別のマクセルのDVD-RWでやると、うまくいった。PGP検証もうまくいった。今日は、ここまで。

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

黒いやつは、昔買ったELECOMのUSB-RS232Cコンバータ


12月10日 サイバー攻撃を過去に経験した話

2017年3月4日に実際に僕がサイバー攻撃にあった話をします。 自宅のWebサーバーが不正アクセスによって破壊されました。 Webサーバーはapache2で起動してもセグメンテーションフォールトですぐに落ちる状態になった。 ChromeのHTML5のゲームを配信するゲームサーバーで自宅のグローバルIPのポート80をIoTのWebサーバーに転送して運用していました。 apache2の脆弱性をついて外部から侵入していると思うと、間違いで、敢てWebサーバを破壊して、Webサーバから侵入したようにカモフラージュしていたのです。 ルーターのログを調査した結果、外部のインターネットからのアクセスではなく、内部のネットワークの無線LANから複数の侵入があったことが判明した。 侵入者は用意周到で、たまに使っている母親のiPadのMACアドレスを使って、侵入してきた。 このため、しばらく、騙されました。無線LANに接続するとMACアドレスとマシン名が表示されるのだが、 母親のiPadで無線LAN接続するとマシン名に母親のニックネームが表示されるのだが、不正アクセスでは Unknownと表示された。これが致命的な証拠となった。昨日の中継コネクタも、敢て証拠を残して、電磁パルスをカモフラージュしたかったのかもしれない。



12月9日 USB中継コネクタの故障で停滞

USBメモリを刺しても反応しなくなった。このため数時間、仕事が停滞した。 原因はなんだろう?
(1) USBメモリの故障
(2) Windows10にウィルスがついてニセのドライバが起動された。
(3) ウィルスにBIOSの隠しコマンドをいじられて電圧を下げられた。
(4) USBケーブルの断線
(5) 電磁パルス攻撃で破壊された
とにかく原因は、僕の動作によって、移動していくことを想定する。 原因はUSB中継コネクタの断線だった。

写真の青色のコネクタが断線。あと1個、断線しているコネクタを発見した。 接触不良っぽい感じのものが1個、もう1個は完全に断線。接触部の金属をみても、全くわからない。

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



12月3日 GF(2^128)の先行研究

明日には、次のような説明ができる予定なのです。
GF(2^128)も先行研究が、いろいろあるのですが、それらをあまり調べる必要がないと 思っているのはハードウェア的には1999年の暗号プロセッサのアーキテクチャと同じで、 ただ加算器をXORとして動作させるモードを追加しただけだから。 組み合わせでキャリーレス乗算になるのだが、その組み合わせをISA(命令セットアーキテクチャ)として決めると、 今回の件はGF(2^128)を実装するソフトウェアのコードができたという話でもある。 加算器で1サイクルづつ乗算をするので基本的に遅い。 一般のCPUのソフトウェア実装のようにテーブルがなくても演算できて、少ないゲートのわりには速いということ。 まとめると、ICF3-Vの最大の特長であるゲート面積が小さいことが、より一層強化されました。


12月2日 作業再開

ICF3-FとICF3-Vの同時作業という状況で再開した。どちらも急ぎたい。 ICF3-Vマイコンのほうはガロア体GF(2^128)の乗算が軽量に実装できそう。 32bit加算をXORで動作させる僅かな論理ゲートの追加で、比較的に高速に動作しそうだ。 忙しい、忙しい。僕は、止まってはいけない。


12月1日 惰眠中

惰眠で開発停滞。頭がだるくて寝ていることが多かったが、時折、 地球の重力がこんなに厳しいわけないと思うほど、 布団に体が貼り付けられた状態になった。


暗号プロセッサ OpenICF3