Archive for 8月, 2010

8月 10th, 2010

Java暗号化の鍵長と暗号化・? 合化処理時間

Posted in Java by admin

 以前、SunJava暗号化強度の制限解除の話題を挙げましたが、具? 的に暗号化強度を強化する鍵長を変更することによって処理時間に影響しないか確? してみました。使用したのは以下のような単純なコードで、暗号化方? ぜ AES, Blowfishを使っています。なお、処理時間には、暗号化したデータをBASE64で可読化する時間も含まれています。(暗号化後複合化後の? 果を出力で確認する? )

//enc
cipher  = Cipher.getInstance( "AES/CBC/PKCS5Padding" );
KeyGenerator keyGen = KeyGenerator.getInstance("AES");
keyGen.init(128);
SecretKey skey = keyGen.generateKey();
cipher.init( Cipher.ENCRYPT_MODE, skey );
encParam = cipher.getParameters().getEncoded(); //Blowfishは? 要

//dec
AlgorithmParameters saprm = AlgorithmParameters.getInstance("AES"); //Blowfishは? 要
saParam.init( encParam ); //Blowfishは? 要
cipher.init( Cipher.DECRYPT_MODE, skeySpec, saParam );

 3行盜 keyGen.initのところで、ビット数を指定します。ちなみに制限解除しないぜ AESぜ 192bit以? の場合では、以? のようぜ Exceptionが出力されます。

# /usr/jdk/bin/java Cipher enc hogehoge
Exception in thread "main" java.security.InvalidKeyException: Illegal key size or default parameters
	at javax.crypto.Cipher.a(DashoA13*..)
	at javax.crypto.Cipher.a(DashoA13*..)
	at javax.crypto.Cipher.a(DashoA13*..)
	at javax.crypto.Cipher.init(DashoA13*..)
	at javax.crypto.Cipher.init(DashoA13*..)
	at Cipher.EncryptData(Cipher.java:76)
	at Cipher.main(Cipher.java:125)

 結果は以下のように、処理時間は鍵長によっては左右されないようになりました。hpprof(-agentlib:hprof=cpu=times)によるメソッドのプロファイル? 果でも、javax.crypto.*, com.sun.crypto.*クラスは合計しても全? ぜ 1%に机 たない軽い処理のように? えます。鍵長はあぜ まで「解読」(総当たり攻撃的な割り出し)の処理に影響するのであって、鍵の判昜 している「複合」の処理時間には影響しないと圏 け圏 れます。当たり前といえば確かにそうですが。

暗号化のぜ 
AES 128bit: 0.306sec
AES 192bit: 0.304sec
AES 256bit: 0.304sec
Blowfish  32bit: 0.252sec
Blowfish 128bit: 0.253sec
Blowfish 192bit: 0.253sec
Blowfish 256bit: 0.252sec
Blowfish 448bit: 0.253sec
暗号化+複合化
AES 128bit: 0.303sec
AES 192bit: 0.304sec
AES 256bit: 0.304sec
Blowfish  32bit: 0.254sec
Blowfish 128bit: 0.253sec
Blowfish 192bit: 0.253sec
Blowfish 256bit: 0.253sec
Blowfish 448bit: 0.254sec
hpprof例 AES 256bit enc
rank   self  accum   count trace method
  40  0.49% 46.80%    3072 309746 com.sun.crypto.provider.SunJCE_c.a
  85  0.21% 60.39%       1 309747 com.sun.crypto.provider.SunJCE_c.<clinit>
 236  0.07% 75.60%       1 307666 javax.crypto.SunJCE_b.j
 248  0.07% 76.45%       1 309329 javax.crypto.SunJCE_c.b
 253  0.07% 76.80%       1 309726 com.sun.crypto.provider.SunJCE_b.a
 424  0.05% 84.81%       1 309750 com.sun.crypto.provider.AESKeyGenerator.engineInit
 425  0.05% 84.86%       1 309877 com.sun.crypto.provider.AESCipher.<init>
 929  0.02% 96.67%       1 306911 com.sun.crypto.provider.SunJCE.<init>
1009  0.02% 98.55%       2 308876 javax.crypto.SunJCE_k.newPermissionCollection
1010  0.02% 98.57%       2 308887 javax.crypto.SunJCE_d.a
1013  0.02% 98.64%       1 308929 javax.crypto.SunJCE_d.a
1014  0.02% 98.66%       1 308932 javax.crypto.SunJCE_b$1.run
1037  0.02% 99.20%       1 309431 javax.crypto.Cipher.getInstance
1063  0.02% 99.81%       1 309731 com.sun.crypto.provider.AESKeyGenerator.<init>
1065  0.02% 99.86%       1 309936 com.sun.crypto.provider.SunJCE_k.a
hpprof例 AES 256bit enc&dec
rank   self  accum   count trace method
  36  0.46% 44.87%    3072 309756 com.sun.crypto.provider.SunJCE_c.a
  77  0.23% 57.76%       1 309757 com.sun.crypto.provider.SunJCE_c.<clinit>
  94  0.19% 61.12%       1 309736 com.sun.crypto.provider.SunJCE_b.a
 103  0.16% 62.58%       1 309329 javax.crypto.SunJCE_c.b
 428  0.05% 84.17%       1 309739 com.sun.crypto.provider.SunJCE.c
 429  0.05% 84.22%       1 309760 com.sun.crypto.provider.AESKeyGenerator.engineInit
 430  0.05% 84.26%       1 309887 com.sun.crypto.provider.AESCipher.<init>
 956  0.02% 96.44%       1 306911 com.sun.crypto.provider.SunJCE.<init>
1037  0.02% 98.31%       2 308839 javax.crypto.SunJCE_e.b
1038  0.02% 98.33%       2 308844 javax.crypto.SunJCE_e.a
1039  0.02% 98.36%       2 308851 javax.crypto.SunJCE_e.a
1042  0.02% 98.43%       2 308923 javax.crypto.SunJCE_b.a
1043  0.02% 98.45%       1 308932 javax.crypto.SunJCE_b$1.run
1047  0.02% 98.54%       1 309101 javax.crypto.SunJCE_c$1.run
1075  0.02% 99.19%     108 309246 javax.crypto.SunJCE_c.a
1079  0.02% 99.28%       2 309411 javax.crypto.Cipher$r.a
1098  0.02% 99.72%     108 309723 com.sun.crypto.provider.SunJCE_b.a
1099  0.02% 99.75%      95 309755 com.sun.crypto.provider.SunJCE_c.a
1100  0.02% 99.77%       1 309926 com.sun.crypto.provider.SunJCE_f.a
1102  0.02% 99.81%       2 310006 com.sun.crypto.provider.AESParameters.<init>
1103  0.02% 99.84%       1 310056 com.sun.crypto.provider.SunJCE_k.a
hpprof例 Blowfish 448bit enc
rank   self  accum   count trace method
  40  0.44% 45.98%     521 309917 com.sun.crypto.provider.SunJCE_u.a
  70  0.26% 55.88%    8336 309916 com.sun.crypto.provider.SunJCE_u.a
 241  0.07% 74.93%       1 307666 javax.crypto.SunJCE_b.j
 255  0.07% 75.91%       1 309871 com.sun.crypto.provider.BlowfishCipher.<init>
 421  0.05% 83.63%       1 309728 com.sun.crypto.provider.SunJCE_b.a
 961  0.02% 96.19%       1 306911 com.sun.crypto.provider.SunJCE.<init>
1030  0.02% 97.79%       2 308449 javax.crypto.SunJCE_e.b
1031  0.02% 97.81%       2 308454 javax.crypto.SunJCE_e.a
1033  0.02% 97.86%       2 308502 javax.crypto.SunJCE_d.a
1080  0.02% 98.95%     108 309246 javax.crypto.SunJCE_c.a
1088  0.02% 99.14%       1 309414 javax.crypto.Cipher$r.a
1089  0.02% 99.16%       1 309433 javax.crypto.Cipher.getInstance
1116  0.02% 99.79%       1 309731 com.sun.crypto.provider.SunJCE.c
1120  0.02% 99.88%       1 309918 com.sun.crypto.provider.SunJCE_u.a
hpprof例 Blowfish 448bit enc&dec
rank   self  accum   count trace method
  19  0.77% 34.45%    1042 309927 com.sun.crypto.provider.SunJCE_u.a
  29  0.58% 40.76%   16672 309926 com.sun.crypto.provider.SunJCE_u.a
 183  0.09% 71.41%       1 309329 javax.crypto.SunJCE_c.b
 184  0.09% 71.50%       1 309738 com.sun.crypto.provider.SunJCE_b.a
 423  0.05% 84.03%     108 309725 com.sun.crypto.provider.SunJCE_b.a
 424  0.05% 84.07%       1 309881 com.sun.crypto.provider.BlowfishCipher.<init>
 425  0.05% 84.12%       2 309928 com.sun.crypto.provider.SunJCE_u.a
 475  0.02% 85.28%       1 301015 javax.crypto.Cipher.b
 950  0.02% 96.29%       1 306911 com.sun.crypto.provider.SunJCE.<init>
1029  0.02% 98.12%       2 308461 javax.crypto.SunJCE_e.a
1030  0.02% 98.15%       2 308491 javax.crypto.SunJCE_k.newPermissionCollection
1044  0.02% 98.47%       1 308925 javax.crypto.SunJCE_b.i
1045  0.02% 98.49%       1 308927 javax.crypto.SunJCE_b$1.run
1048  0.02% 98.56%       1 309045 javax.crypto.SunJCE_c.<init>
1102  0.02% 99.81%       1 309741 com.sun.crypto.provider.SunJCE.c
1103  0.02% 99.84%       1 309743 com.sun.crypto.provider.BlowfishKeyGenerator.<init>
1106  0.02% 99.91%       2 309951 com.sun.crypto.provider.SunJCE_f.b
8月 5th, 2010

そらと八重?

Posted in Travel by admin
 行先を検? している段障 から、0歳児(7ヵ月)と? 緒に旅行にいぜ のは難しいだろうかと考えていた。また、親は楽しいだろうが子供は全然楽しぜ ない、我慢しろなどの意見もみた。しかし、転職前最後のチャンスということで自分の独断で? 縄、しかも八重山諸島への旅行を決めた。シーズン前なのぜ 4泊5日レンタカー? きで? 亜 7万円天、赤ちゃんはもちろん無料。この基本料金に加え、西表島と地 浜島にぞれぞれ一泊するという計画に落ち着いた(勝手に決めたのだが)。結論として、我が子はいつも通り何やら楽しそうだった。
 やはり一番? 配だったのは長? 場となる飛行機。東京~沖縄ぜ 2時間ちょっと、沖縄~石垣島ぜ 40分程度だ。しかし、申し込みの段障 で赤ちゃん用のバシネット(座席前に圏 り付けられる簡易ベッド)をリクエストしていたので、思っていたよりも全然苦ではなかった。ベッドにいる時以? に抱いていたのぜ 90%嫁だけど。ちなみにバシネットのリクエストはウェブの申し込みフォームの備考欄に「バシネット希望」と書いただけだったのだが、行き帰り共にバシネット装着可能な座席にしてぜ れた。旅行代理店、ANAありがとう。

埼? ~石垣島
 飛行機の出発時刻は平日ぜ 11時だったので、通勤ラッシュの電蜻 に赤ちゃんと? る゜ けにはいかず、羽田空港蜿 郊の霧 車場を借りた。4泊5日で? 1万円天、もったいない。この霧 車場、空港まで送? してぜ るのはいいが、帰りは空港から駐車場へ送? する人をワゴン蜻 いっぱいになるまで? つので? 局30分位出発しなかった。駐車場に着ぜ と、サービスのつもりなのか車のエンジンを入れて冷房全開で? っていた、もったいない。
 空路では前述したように大きな問題もなぜ に石垣島まで到着した。石垣空港に着いてからレンタカーを圏 け圏 り、まずはホテル? 近の「なかよし食堂」で昼ごはんを食べる。懐かしい感じの普通の地元食堂、既ぜ 15時をま゜ っていたので座敷席が空いていて良かった。赤ちゃんを横にし易いから。ベタにゴーヤチャンプルー? 食と八重山そばを食べる。噂通り? 味しい。その? 、ホテルにチェックイン。ビジネスホテルを少し大きぜ した感じの新しいところで、まぁまぁ快適。ただ少し煙草臭い、禁煙してもうすぐ2年だが? 感になってきているようだ。宿? するのはこの日と最終日前日だけなのであまり利用しないことになる。外に出て? 華? を散歩した後、夜は蜿 所の座敷席がある居酒屋「源」で晩酌。アダボ サラダについていたトマトやご飯などを潰して離乳食も食べさせてあげた。

バシネット

バシネット

なかよし食堂

なかよし食堂
西表島? ? ?

西表島? ? ?

石垣島~西表島・由圸 ?
 離島桟橋ぜ 3年前にはなかったターミナル霧 が整備されていてとても綺? になっていた。時刻表なども電光掲示板になっており見易い。10時30分に石垣島から西表島へ出発。出発前から風が強かったので、カプリ島のトラウマが思い出される。(地中海旅行記圏 照? 45分間、案外揺れたがカプリ島に? べれぜ 10分ぜ 1ぐらいの波だった。西表島北部の? ? 港に着ぜ とどんよりとした大きな雲が覆ってきていた。西表でもレンタカーを予約していたので蜿 えに来てもらい乗車。出発して間もなぜ 、パラパラ雨、更に西へ向かうに? って怒涛の豪雨となった。船浮とイダの? への探検は断念。この島、雨が降るとやることがないんじゃ?と疑心暗鬼になっていたところだが、たまたま東部の釜 生なんとかセンターに向かったのが良かったようで、由圸 島に着ぜ ころには雨があがり、青空が見えてきていた。
 由圸 島は西表島に隣接する小島で、周? 2km程しかない。島までは水牛車に? って連れて? ってぜ れる。我が子はいつものように水牛車のおじさんに愛想を振りまき、たいそう気に入られていた。由圸 島の? 物園・? 辺を一通り散歩し、昼ごはんを食べた。ここの? 当もかなり? 味しい。帰りは再び水牛車。帰りのおじさんは? 線で札 (なだそうそう)を披露してぜ れた。我が子もボ リボ リだった。上陸? 、雨の? がった西表島をドライブしながら北部の「ティンヌカーラ」という宿に到着した。ジャグジーと庭のついている3部? しかないペンション風の宿。この宿からは「星砂の? 」が近ぜ 、散歩することにした。ベンチに座っていると草むらから猫が駐車場に落ちてきた。イリオモテヤマネコか?と思い、写真をたぜ さん撮ったが判? は出来ない。夕食は蜿 ぜ の? 酒屋「いるむてぃあ」で。眺めがよぜ 全席座敷の良い店だった。幸手出身の? 員さんがいた。帰り道、辺りは? 灯が殆どないので? になると机 天の星空が浮かびあがっている。1分ほど? 上げれば大きな? れ星を見ることが出来る。ここはとてもいいところだ。


由圸 島の水牛

由圸 島の水牛
由圸 島? 当

由圸 島? 当
偶然似ていた二亜

偶然似ていた二亜
由圸 島の風?

由圸 島の風?
  由圸 島の草

由圸 島の草
  由圸 島の水牛池

由圸 島の水牛池
西表島の風?

西表島の風?
  大? 謝ロードパー゜

大? 謝ロードパー゜
  猫注?

猫注?
マングローブ

マングローブ
  ピナイサーラの?

ピナイサーラの?
  星砂の?

星砂の?
ウナリ? の? ?

ウナリ? の? ?
  イリオモテヤマネ゜

イリオモテヤマネ゜
  いるむてぃあ

いるむてぃあ

西表島? 小浜?
 翌朝は宿で朝食を頂いた。全部? 味しかった。自然な? 材だったので我が子にもあげられるものが多かった。チェックアウト後、島北部から東部の大? 港へ向かう。昨日よりも晴天で? 持ちがいい。1? 1便しかない西表島? 小浜島間の出癜 12時30分に間に合うようにゆっぜ りと進む。車は朮 どいないが、釜 生動物を轢いてしまう恐れがあるので制限速度ぜ 40キロほどになっているのだ。大きなタカが道路にとまっていたこともあった。東側の沿岸からは? 日の宿泊地である小浜島も見ることが出来る。実際、2kmほどしか離れていないので泳いでも行けそうな感覚があるが、ヨナラ海道という大きな机 があり流れが速いようだ。ヨナラ海道はマンタの通り道なのでダイバーには人気らしい。大? 港に着ぜ ころには昼時でより日差しが強ぜ なっていた。
 小浜島へは船ぜ 20分ほどで到着した。直眷 でいけぜ 5分ほどで着きそうだが、少し遠回りをしている。この島ぜ NHKドラマ「ちゅらさん」の舞台になっているらしいが、観たことがないのでさっぱり゜ からない。港? 近の「Bob’s Cafe」というところで地 浜バーガーとタコライスを食べた。小浜バーガーはかなり? 味しかった、都? なら1000円以? は圏 りそうな? 観だけぜ 500円と? い。その? 、とりあえず島内をバス観光してみた。ちゅらさんの家、西端の細? (ぜ ばざき)などをま゜ る。細? からは、とても大きな西表島が良く見える。この島ではかつて竹富島を訪れた時のように、ひとり自転車で探検&? の眥 社巡りをしたかったが、丁度? 年祭という島の人達だけの祭りがあり、集落の? 部は? ち入り禁止となっていた。港から見えたビーチに? つ白いと鳥居がかなり気になったのだが。小浜島ではこの旅唯? のリゾート施設「ニラカナイ」に宿泊した。コテージタイプのリゾートで、プールやプライベートビーチ、ゴルフコースなどがある。夕食はホテル内のレストランではなぜ 、予め座敷席を予約していた居酒屋「サヌファ」というところ。フロントまでの送? してぜ れるので便利だ。店は北部の潰れたリゾート施設のひとつを改? して開いているようだ。何を頼んでも? 味しかった。

西表島大? ?

西表島大? ?
タコライ゜

タコライ゜
ボブズカフ゜

ボブズカフ゜
小浜島の? 宜

小浜島の? 宜
  小浜島の風?

小浜島の風?
  プーボ

プーボ
コテー゜

コテー゜
  サヌフ゜

サヌフ゜
  ご機嫌

ご機嫌

小浜島? 石垣島
 翌朝、プライベートビーチに? ってみた。施設が大きいのでフロントから送? を利用する。青い海に初めて浸かり、プールで浮かぶ我が子、きっと地 しは楽しんだに違いない。ホテルのレストランで昼飯後、小浜港に送? してもらい、再び石垣島に戻ってきた。やりたい事は尽きたが、せっかぜ 無料でレンタカーが使えるということで島を一周してみることにした。圏 時計回りに、東の? 圏 展望台、伸助の? 、最北端の平久保? 、伸助の? 、西の圷 平湾。その間約2時間、プールの疲れからか我が子はずっと眠っていた。最後に無料券で石垣島鍾乳洞に? き、懐かしの山羊料理屋「一休」へ。山? は切れており、牛汁を食べる。相? ゜ らず客が全ぜ いないが、ここの味やはり嫌いになれない、ワイルドだ。食後、近ぜ のボ ンナ岳の? 望台で? 陽を見た。はっきりと海岸眷 に溶ける夕陽を始めてみた。3年前に訪れた竹? 島、今回の西表島、小浜島も見える。ここが旅の眷 括のようだった。
 翌? 13時の便で帰路につぜ 。この圭 ぜ 7ヵ月の時に八重山の島々を訪れたことを全く覚えていないのだろう。だけどその証拠はたぜ さんある。西表で手に入れた数種類の種、サキシマスオウとマングローブのヒルギ、マザーリーフはちゃんと育ってぜ れるだろうか。たっぷりと水と光を? えて大切に育てたいと思う。


ビーチ

ビーチ
ビーチ

ビーチ
ビーチ

ビーチ
アグー?

アグー?
  白い鳥?

白い鳥?
  ? 圏 展望台からの風?

? 圏 展望台からの風?
平? 保?

平? 保?
  川平湾

川平湾
  牛汁定?

牛汁定?
ボ ンナ岳の? ?

ボ ンナ岳の? ?
  ボ ンナ岳の? ?

ボ ンナ岳の? ?
  バシネットで眠る

バシネットで眠る