投稿

4月, 2020の投稿を表示しています

HMACと暗号の実装

ハッシュを作ったので次はHMACなど作ってみた。 HMACはハッシュを使ってパスワード認証的なものもつけているので改変されていないかなどで有利なのかどうなのか。JavaではMacという分類のあれこれ。 ハッシュごとのハッシュ長は取得できてもブロック長やら何やらを取得するのがJavaの標準APIにはなさそうなので自作ハッシュではそのあたりも拡張しておく。 HMACに適当なハッシュを載せられるので、MD2とか対応してなさそうなのをあわせてみてもいいし、SHA-3ではべつのアルゴリズムKMACを使うようだけどもHMACでも問題なく対応しているし、仕様にもあるはず。 JDKにはまだHMAC-SHA3とかなかったかも。 HMAC-MD5とか、HMAC-SHA-256とかいろいろできるので広がる。 ただ、暗号という位置づけなのか、何もしないとHMACなどMac系のアルゴリズムはJavaに登録できない感じだったので、署名などつけないといけないのかもしれず、暗号だけのライブラリには分けてみたけど署名を試すのはまた次回。 登録しなくても、自作すればどうにでも使えるので動作は問題ない。 他にもMac系のものがあるようなので、KMacとか作ってみる予定は未定。SHA-3と別の資料なのでまた読むのが大変。 暗号 作る予定ではなかったかもしれないけど、ハッシュをいろいろ作ってみた勢いで暗号にも手を出してしまった。 詳細ではなくどんなのがあるかくらいのメモでいいかな? ブロック暗号、ストリーム暗号 暗号の基本、大まかにはブロック単位の暗号と、バイト単位でデータと(疑似)乱数をXORで暗号を作るストリーム暗号とがある。他のもあるが、大量のデータを暗号化するにはこのふたつかな。よく使われるのはブロック暗号なのかどうか。ブロック暗号も組み合わせ方によってはストリーム暗号として使うこともできる。逆にストリーム暗号の長さを固定してブロック暗号として使えるのか、というと使える、がビット反転では弱くないのか謎。暗号強度に差が出る場合があるのでそれぞれのアルゴリズムで判断した方がいいかもしれない。 ブロック暗号もストリーム暗号もJavaのストリームとして使えるようにしておくと便利なのかもしれないので基本の部分は共通の設計にしておこう。 ストリーム暗号ではXORするだけなので

Logicool UnifyingレシーバとUSB3電波干渉

Logicoolのワイヤレスマウスやキーボードは、USBのUnifyingとかいうコンパクトワイヤレスアダプタでPCと繋がっていい感じなのだが、USB3.xとは相性が悪く、隣の端子に(M.2型の)SSDを繋いだところ、ログイン後キーボードマウスが動かなくなってしまう現象に遭遇してしまった。 対処方法は、USB端子を離すこと、Bluetoothを使うこと。 最近のキーボード、マウスはBluetooth LEにも対応しているのでBluetoothにしてみるのがひとつの解決策。 Bluetoothにするとマザーボードの設定ができなくなったりするので可能ならUSB3とUnifyingのレシーバを離して繋ぐのがいいのかも。

4Kディスプレイのススメ

4K UHD Blu-rayなどを見るためにディスプレイを探していたのだけど、HDR対応で探してみるとあまり明るそうなものがなく、と数カ月様子見していたかもしれない。 24型くらいのJAPANNEXTの4Kディスプレイは購入してみたことはあったがHDR対応でもなく、小さすぎるので4Kっぽくもなく。 ディスプレイでHDRというとDisplayHDRという規格があるのでその中から候補を出してみた。 31.5インチ、DisplayHDR 600、というとわりと高級機で10万、30万という値段のものまであるようなないような。 以前50インチのPHILIPSのDisplayHDR1000のディスプレイを見たときは、ドットが崩れすぎてPCでは使えないなと感じてたのでPHILIPSも除外。 ASUSもDisplayHDR1400とかいう変態機を出していたが高すぎるだろうということでよくあるディスプレイの300nit(cd/㎡)越えはほしいのでDisplayHDR 600あたりを漂っていると、Acerの型番が難しそうな機種(ET322QKCbmiipzx)が5万円という破格で出てきた。1年前の機種ということなのでそれほど古くもなく、4KでHDRでDisplayHDR 600もある。ただし標準の輝度は400cd/㎡。 DisplayHDR 600の規格の方をよく見てみると、わりとプロ向け仕様になっていて色域も広い、10bit対応などとあり。 古い機種なのか人気なのか、在庫のある店があまりないのでポイントがつきそうなところで予約。au Payとかは使わなかったけど。1週間から2週間ぐらいで届いたように思う。 型番は類似品があるのでシリーズはET2、DisplayHDR600対応とET322QKC という頭の型番の最後にCがつくのを確認しよう。 開封設置 だいたい32型。今までのより大きい。ディスプレイとして使うなら4Kでは最適な最小サイズかもしれない。Windowsのテキストが100%でも読める。テレビだともう少し大きい方がいい。 足は細いので、物の上など平らな場所にちょっと置くことはできず、それなりのスペースを取る。謎の5cmぐらいの棒が1つついてきたがケーブルでも垂らすものなのか謎。 DisplayPort 1.2 1つとHDMI 2.0が2つ、音声出力

ASUS RT-AX3000買ってメッシュWi-Fiの入り口へ

定評のないASUSルータ、その原因はセキュリティアプリにありそうなのだが、というわけでAmazon専売らしいASUS RT-AX3000購入してみたので、いろいろお試し期間。 今回の組み合わせ (Wi-Fi 6 802.11ax) Intel AX200NGW ASUS RT-AX3000 他ルータ (Wi-Fi 5 802.11ac) BUFFALO WSR-2533DHP2 IODATA WN-AC1600DGR2か3か Wi-Fi 6は802.11ax の高速なWi-Fi規格。デスクトップPCにIntelの拡張カードAX200NGWを載せてみているので、ルータ側を変えるタイミングを窺っていたら1年ぐらい経過していた。ASUSからWi-Fi 6対応で安価なRT-AX92Uよりさらに安いRT-AX3000が出たので購入。5GHz帯が2ストリーム(4804+800)から1ストリーム(2402)に減っている、アンテナ2本なので2402Mbpsという差がある。有線LAN/WANも1Gpbsに落ちる。 CPUなどの性能は同じくらいのようだ。とりあえず1Gbps以上の性能はまだ必要ないと思うところなので、必要になればAiMeshのサブ機にするくらいの買いやすさで購入。 RT-AX92Uから強化されている点はWPA3対応か。AiMeshでは全ルータが対応しているっぽいWPA2しか使えないが。 メッシュWi-Fiとローミングの違い Wi-Fi 6に加え、今流行りのメッシュWi-Fiに対応している、という点が今回の要点。今回安定していれば次は強めのルータを買って2台でメッシュ、というお試しができるかもしれないのがよさそうなところ。 用語 ルータ 外部とも有線と無線とも繋がる機器 AP (Wi-Fi AP) Wi-Fiと有線LANと繋ぐ機能だけ使っている状態 中継器 Wi-FiをWi-Fiに繋ぐ中継をするもの  どれもAPの機能は持っている感じの括り。 子機が途切れずAPをまたいで繋がるのがローミング、それに加えてルータ/AP/中継器間を自動で中継してくれるのがメッシュWi-Fi、 という違いがあるのでどちらを使いたいのか把握しよう。ローミングだけのはあんまりないけども。 ローミングにも対応していない場合は電波がぎりぎりまで