暗号機、Monappyに出品される
1 :izuna五段:2016/05/30 18:27:27 (8年前) 0MONA/0人
今日、GIGAZINEに第2次世界大戦でヒトラーが使った暗号機がeBayに出品されたことが、ニュースになった。
そこで、僕が2003年に購入した暗号機をMonappyに出品してみた。
https://monappy.jp/checkout/izuna-GJRilWQ
暗号機はAEP1000LというPCIカード。1秒間に1000回のRSA暗号を演算可能。
おお、これは僕のICF3の記録を抜いたのかと思い、思わず性能を確認するために購入したもの。
AEP1000Lは推定32個の演算器を持っているので1個の性能は20msのようだ。
ICF3の3.448msより遅いことを確認して、倉庫にしまった。
暗号LSIの話について、なんか、聞いてみたいこととか、あれば答えるよ。
2 :izuna五段:2016/05/30 18:34:01 (8年前) 0MONA/0人
ICF3の性能について
http://icanal.idletime.tokyo/ESD.html
初期検討資料
http://www.canal.mokuren.ne.jp/memo/icf3.html
ICF3に搭載されるSHA-1の論理図面
http://www.canal.mokuren.ne.jp/memo/sha1ronri.html
ICF3での楕円暗号の実装検討
http://www.canal.mokuren.ne.jp/memo/icf3ec.html
3 :izuna五段:2016/05/30 18:44:40 (8年前) 0MONA/0人
GIGAZINEに第2次世界大戦でヒトラーが使った暗号機がeBayに出品された
というニュースのURL
http://gigazine.net/news/20160530-secret-ww2-code-machine-ebay/
4 :izuna五段:2016/05/30 19:38:18 (8年前) 0MONA/0人
(Monappyの宣伝スレにあった質問ですが、こちらで返答します)
> 調べるとAthlon 64が出てきた頃ですね
> 当時と比べると今のPCははるかに性能が良くなりましたね
> 同じ消費電力でこれだけの差ですな、SSLもCPUで処理しても落ちないようになったのだろうか
> http://cpuboss.com/cpus/Intel-Core-i7-4770K-vs-AMD-Athlon-64-3000
半導体プロセスの進歩についても、おっしゃる通り、かなり進歩していますが、RSA暗号のアルゴリズムの進歩の影響が大きい。
RSA暗号を高速化するためのアルゴリズム、モンゴメリ乗算はCPUで実装するのに非常に効率がいいアルゴリズムなのです。
5 :izuna五段:2016/05/31 01:26:13 (8年前) 0MONA/0人
ICF3もモンゴメリ乗算を使った暗号LSIだ。
RSA暗号はCPUでは実装するには効率が悪く、専用演算器が非常に有効であるという、ことをセールストークにしようとした、話があった。
どういうことか?
モンゴメリ乗算は、解釈によって、さまざまな実装方法があるのだ。
ICF3の解釈は、CPUの持つ演算器では効率が悪く専用演算器が有効な解釈をしていた。
日立が、本当に、そんなセールストークをしたか、どうかは営業でない僕には、知る方法がない。
一般にソフトウェアのライブラリに実装されている解釈は、CPUの持つ乗算器で効率的に実装できる解釈になっている。
ハードウェアで実装する場合のゲート効率なんかを考えた人は、当時、あまりいなかったので、この時点では、あんまりわかっていなかったのだ。
6 :izuna五段:2016/05/31 01:42:16 (8年前) 0MONA/0人
>>5 つづき
ICF3のモンゴメリ乗算の解釈は、どうやって決まったのか?
一番、実装が容易だったから。
なのだが、東芝の逆数特許を回避できたのは、大きかったかもしれない。
もちろん、初期検討段階では、東芝の逆数特許の存在は、知らなかった。
ハードウェア論理実装が、得意ではないところだと、汎用のCPUコアを利用した別の解釈を選択したかもしれない。
まぁ、僕がハードウェア論理実装が得意であったかは、わからないけど。なぜなら、はじめて論理実装だったから。(データを左から右へと渡すだけの論理を改造することぐらいしかやったことがなかった。)
7 :izuna五段:2016/05/31 01:50:24 (8年前) 0MONA/0人
>>6 つづき
はじめての論理実装だったから、作るので、精一杯だった。
そのおかげで消費電力対策が、できていない。
しかし、これが電流解析不能という、セールスポイントを生み出した。
RSAは、秘密鍵の値によって、計算したり、しなくて良い場合があったりして、電流や電波を解析すると、秘密鍵が特定できる、あるいは、秘密鍵の範囲を狭めることができるのだ。
ラッキーだった。演算器を使ってない場合、電流と止めて、消費電力対策してしまうと、解析情報を与えてしまうことになるところだった。
8 :izuna五段:2016/05/31 01:57:20 (8年前) 0MONA/0人
>>6
> ハードウェア論理実装が、得意ではないところだと、汎用のCPUコアを利用した別の解釈を選択したかもしれない。
最近の東大には3年のときに「CPU実験」という授業があるらしい。
ミッションは「半年かけてできるだけ速いコンピュータを作れ」
FPGAで本当にCPUを作ってしまうのだそうだ。
そういう経験があれば、将来必要になったときでも、対応可能だろうと思った。
9 :izuna五段:2016/05/31 02:24:51 (8年前) 0MONA/0人
>>5 でICF3は、専用演算器みたいなことを書いたが、1024bitのレジスタ4本とモンゴメリ乗算器を持つCPUみたいなものだった。
モンゴメリ乗算によって、割算(余算)を乗算でできるようになるが、割算(余算)の計算が不要になるわけではないし、このモンゴメリ乗算では奇数しか計算できない。偶数は計算できない。←SSLだけなら偶数は計算できないていい。
このため結局、モンゴメリ乗算を使わない普通の方法でも、RSA暗号できる必要があった。
ICF3が製品出荷されるまで世界一だったFastMapや、IBMがモンゴメリ乗算を使っていなかったのは、このあたりが難しかった?からなのかも。
10 :izuna五段:2016/05/31 02:43:31 (8年前) 0MONA/0人
ICF3で僕に与えられたミッションは
論理合成は使わず、6千ゲートのNAND/NORのブロックを6種類くらいで
RSAやDSSなどのIBM仕様を実装することだった。
多分、東大のCPU実験とは、イメージが違うと思う。
6千ゲートって、わりと少ない。
最終的には、10種類以上のブロックを使ったものになった。
ミッションはRSAやDSSだけだったが、CPUが柔軟にできていたため、IBMのフルスペックの仕様を実装することができてしまった。
11 :名無し六段教士:2016/05/31 12:20:10 (8年前) 0MONA/0人
このスレを友人の東工大の院生に見せたら笑われてしまった
一体どうしてだろう…
12 :izuna五段:2016/05/31 13:21:25 (8年前) 2MONA/1人
>>11
理由をこのスレに書いてくれ、許可する。
13 :izuna五段:2016/05/31 13:33:54 (8年前) 0MONA/0人
モンゴメリ乗算がCPUで効率的に実装できるという根拠は、割算を乗算に変換して、通常の乗算器で計算できるからというだけではない。
乗算器は、ブースの乗算アルゴリズムによって、ゲート効率が良くなっている点。
14 :izuna五段:2016/05/31 13:44:09 (8年前) 0MONA/0人
ところでブースの乗算アルゴリズムをウィキペディアで調べると
「彼の時代のマシンではシフトは加算よりも高速であり、ある種の数値では彼のアルゴリズムは高速であった。」
なんか、間違ってない? 今のIntelの最新のCPUのデバイスでもシフトは加算よりも高速だと思う。確かにCPU命令レベルではシフトも加算も1クロックかもしれないが、ゲートレベルのディレイの話では、シフトは加算よりも高速だと思う。
ブースの乗算アルゴリズムは数値に依存するアルゴリズムではなかったと思うけど。
過去の計算機屋を老害扱いにしたい、政治的な、匂いがするよ。
15 :izuna五段:2016/05/31 14:24:14 (8年前) 0MONA/0人
モンゴメリ乗算のアルゴリズムはCPUで効率的に実装できるから、今後、RSA専用LSIを開発することはできないのか?
社会に需要を見つけるのが先だが、CPUより有利なアイディアはある。
アイディアというレベルで、実際に実装して検証されたものではないが、僕の実装経験から、考えたものではある。
モンゴメリ乗算を使ったRSAでは2048bitなどの大きな数の乗算を多数、計算する。2048bit×2048bitの乗算器をゲートで作るには、膨大なゲート数が必要になり、ゲート面積が大きくなると配線ディレイの問題から、実装できても不利になる。64bit×64bitの乗算器を繰り返し実行して2048bit×2048bitの乗算結果を求める。RSAの乗算には、自乗が多数含まれる。自乗計算では理論的には(64bit)乗算の回数を半分にして2倍にしてやればいいため計算量が減る。2bitの世界では2倍はシフト演算でいいため、計算量が減る。
というアイディア。
16 :izuna五段:2016/05/31 17:24:07 (8年前) 0MONA/0人
>>9 (補足)
ICF3のモンゴメリ乗算の解釈では、偶数は計算できないと、書いたのだが
RSA暗号について、いえば、2つの大きな素数の積は、必ず「奇数」だから
偶数は計算できる必要はない。
偶数の計算が必要なアプリは、当時、あまり見つかっていないが、
IBMの仕様では、偶数が計算できる必要があったため、偶数の場合も
計算できるように実装した。
17 :izuna五段:2016/05/31 18:43:34 (8年前) 0MONA/0人
>>14 (訂正)
> なんか、間違ってない? 今のIntelの最新のCPUのデバイスでもシフトは加算よりも高速だと思う。
シフトの機能に依存するから、間違いではないのかもしれない。
しかし、少なくとも1bitシフトの機能だけでいいなら、加算よりも、シフトは高速。
18 :名無し六段教士:2016/05/31 18:51:54 (8年前) 0MONA/0人
>>11
許可されてもねぇ…
別にこと細かく話す義務なんてないし
それでは暇させてもらいますね
19 :izuna五段:2016/05/31 19:17:20 (8年前) 0MONA/0人
>>18
「このスレを友人の東工大の院生に見せたら笑われてしまった
一体どうしてだろう…」
このスレが、馬鹿にされるような、愚かな内容だったと、解釈できる
わけで、黙っている、わけには、いかないのです。
ぜひ、理由を説明してください。
20 :名無し六段教士:2016/05/31 19:22:21 (8年前) 0MONA/0人
>>19
正直に言いますと
詳しい理由は聞いてないです…
飲み会の席で久しぶりに会う機会がありまして
スマホで見せたら苦笑いされてほかの話題に移っていったので
理由を教えてもらえる機会がありませんでした…
21 :ポン菓子六段:2016/05/31 19:28:43 (8年前) 0MONA/0人
きっと飲み会で上機嫌だったからでしょう。他の話題に移ったのは、さして興味がなかったからでしょう。
FA
22 :名無し六段教士:2016/05/31 19:37:44 (8年前) 0MONA/0人
>>21
私もそうだと思います
誤解されるような言い方して申し訳ありませんでした
23 :izuna五段:2016/05/31 19:43:54 (8年前) 0MONA/0人
Wikiの「ブースの乗算アルゴリズム」、もう少し読んでから書けばよかった。この説明では、発明当時(1950年)では、役に立ったアルゴリズムで、もうあまり役に立たないものというように読めてしまう。
動作原理の説明で使われているマシンが1960年~1980年くらいのマシンだから役に立たないものとなったのでは、ないだろうか?
現在の時代、使えるゲート数が飛躍的に増えて、ブースの乗算アルゴリズムは、ほとんどのマイクロプロセッサの乗算器に採用される、非常に役に立つアルゴリズムとなった。(少なくとも10年くらい前までは)
インターネットから得られる情報、うわさ、評価が、真実とは違う場合があるという教訓になったような気がする。
24 :izuna五段:2016/05/31 20:27:37 (8年前) 0MONA/0人
苦言を呈そう
まずは、>>23 を読もう
先輩「ブースのアルゴリズムはゲート効率向上に役立つんだぜぃ、後輩」
後輩「先輩、ブースなんてアルゴリズムは、今となっては、過去の遺物なんですよ。最新の情報を摂取している、われわれに、かなうと思うな」
先輩「いったいいつの最新の情報なのだ。摂取した情報を理解できないようでは、まだまだだな」
後輩「・・・」
本気にしないように。
25 :izuna五段:2016/06/01 02:26:35 (8年前) 0MONA/0人
ICF3の話じゃなくて、Monappyに出品した暗号LSIの話
このスレのタグに、高いとかついているので、少し値下げしてみる。
AEP1000Lは、たった1回性能を測定して、買ったときの箱にいれて
眠らせていたのだけど、なぜか、表面にサビができている。
写真をよくみて、検討してね。
26 :izuna五段:2016/06/02 18:09:51 (8年前) 0MONA/0人
さらに値下げしてみる。
16771.49 MONA (¥80000 / 1MONA = 4.77JPY)
27 :名無し六段教士:2016/06/02 18:18:37 (8年前) 0MONA/0人
http://online.plathome.co.jp/item/detail/12400541/AEP/SSLアクセラレータ・ボード/AEP1000L
28 :izuna五段:2016/09/03 08:42:43 (8年前) 0MONA/0人
USB 無線LAN RTL8188 802.11n/b/g
Windows10ではドライバのインストールをせずに、そのまま使えました。
https://monappy.jp/checkout/izuna-WJIlmBA
29 :izuna五段:2016/09/03 08:43:29 (8年前) 0MONA/0人
ミス
30 :みそにこみ十段錬士:2016/09/03 11:47:28 (8年前) 0MONA/0人
そういえば、買い手はついたの?
パソコンでいえば、今となってはドン亀になったPentiumが載っているマザーボードでしょ。
31 :izuna五段:2016/09/03 13:36:07 (8年前) 0MONA/0人
>>30
> そういえば、買い手はついたの?
まぁ、あまり売れると思っていないので。
> パソコンでいえば、今となってはドン亀になったPentiumが載っているマザーボードでしょ。
本当に動作させることは、想定していないのだけど、PCIe x1をPCIに変換するボードがあるから、最新のパソコンでも動作する可能性はある。
でもジャンク扱いだから。
32 :みそにこみ十段錬士:2016/09/04 20:45:07 (8年前) 0MONA/0人
やっぱり、売れてないわけですね。
izunaさんが、世間とズレまくっていますね。
お気に入り
新規登録してMONAをもらえた
本サイトはAsk Mona 3.0に移行しましたが、登録すると昔のAsk Monaで遊ぶことができます。