コンビニ受け取り リンクを取得 Facebook × Pinterest メール 他のアプリ 投稿者: おこめ - 3月 05, 2011 Amazonが元ペリカンを使っていた影響か、郵便を配達に使うようになっていた。そのせいかコンビニ受けとれるようになっていたのでちょこちょこ使ってみたり。でも郵便局と昔から提携しているローソンだけである。Loppyにメールに書いてある番号を打ち込んで出てきたレシート的なものをレジで渡すと店員が奥の方から荷物を出してきてくれる。サインだけで本人証明的なものが要らないけどどうなん? 受け取りの番号で本人確認になっているのか。内容: Amazon.co.jp: 通販 - ファッション、家電から食品まで【無料配送】 (Google サイドウィキで表示) リンクを取得 Facebook × Pinterest メール 他のアプリ コメント
AES-GCM 暗号が作れた 投稿者: おこめ - 9月 10, 2024 AESとGCMどちらも実装をしてみていたが、GCMの仕様が読みにくかったので進んでいなかった。 AESは前回からあまり変わらず適度に速いので、GCMの速度をどれくらいまで上げられるか、の前にGCMを実装できるのか? というところから。 GCMはほぼCTR Mode とハッシュ計算で認証コードの計算をするだけの組み合わせなので、CTRを若干修正したものとIVなどの初期化ができればやや完成、となる。 やや難解な初期化 CTRモード 認証タグの計算いろいろ AADの計算 ガロアさんの計算をビット反転で テストパターンをみつけてやる気を出して、なんとか完了。速度的には低下なし。本体のCTRっぽい計算のあと、認証タグの計算を別スレッドに分けてみた。2スレッドに分けることでAES-NIは使ってないのに1.5Gbpsくらいは出ていてJava標準のより速い。という結果が出てしまった。 GCM は CTRの拡張っぽい構造でストリーム暗号。本体の GCTR? とハッシュ値計算のGHASH に分けて作ったりすると楽か。スレッド分けは、本体データをハッシュ計算用にメモリに蓄積しながら本文の暗号を行う。ハッシュ計算用のスレッドが終わっていれば再始動する、くらいのものでうまく動く。スレッド間に挟むのはいつもの自作Packetなので読み書き別々にしても全読みしなければ多分問題なさそう。 基本的な高速化手法はAESもGCMも内部をlong型で64bit x 2 にすること。8bit x 16でやるよりXORが全然はやい。 GCTRとCTRの違いはIVのカウンタ部分が32bit固定になることぐらいでいいのかも。 IVの初期化は96bit 入力を使う、それ以外はGHASH で混ぜる、だがTLSでは96bit限定かもしれない。96bitの場合カウンタは乱数が入らないところからはじまる。計算された値はJ0っぽい値になる。 IVは最初の値をGHASH用に、次からGCTR用に使うのでCTRの初期値もひとつかふたつずれる。 GHASHの入力は内部で持つHから計算する、 ハッシュ計算用にAAD とかいう感じの暗号化しないヘッダ的なものを追加可能で本体は暗号化後の値で計算する。GHASHは2つを載せる前提の構造になっている。Paddingは単純な128bitまで0詰め。最後にAADと本体Cの2つのビット長... 続きを読む
RazpberryPi Zero WでJavaを使おう 投稿者: おこめ - 8月 07, 2019 というわけでRaspberryPiどころか家でPCにも触ってなかったのですが最近Ryzen 5 2600XなPCを組んでからプログラミングやらいろいろ再開中で、RaspberryPiでWebサーバでもと思ったら2Bが行方不明なのでZero Wを買って挑戦してみることに。 いろいろ罠にはまります。 RaspberryPi Zero WとWHをスイッチサイエンスで1つずつ購入 microSDXCカード 128GBを2枚購入していた(危険 class 10、UHS-Ⅰ Speed Class 1、A1対応) microSDHC 8~32GBが推奨 USBキーボードがなかった(Logiのワイヤレスドングルので可。SANWAのキーボードもあった) てきとーなmicroUSBで繋がる電源 PuTTYとWinSCPでリモート接続 本体の選択 まずは本体の選択、初心者はできれば3B+かな。Zeroは2台目以降でもいいのかもしれない。 フルサイズUSB端子がある、有線LANがある、無線LANもある、HDMIがフルサイズ、などの理由です。変換ケーブル類も高いので予備がないなら3B+です。 Zero Wは、シングルコアARMv6、microUSB OTGがある、有線LANがない、無線LANがある、HDMIがminiサイズ、といろいろと不便です。Zeroになると無線LANまでないので別途用意しないといけません。 Javaを動かしたいならARMv7以降のCPUのものを選ぼう。NOOBSにはARMv7対応のJava11くらいが入っていた。Zero WはARMv6です。あとで対応したJavaを探します。 メモリーカード、OSの選択 メモリーカードの設定から入ります。microSDHC、microSDXCが使えますが、推奨は8GB以上のようです。microSDXCはフォーマットがFAT32ではないという理由で初心者にはおすすめしません。というわけで、初心者向けの容量は8GBから32GBの間で選びます。挑戦したい人はmicroSDXCも今は512GBくらいまであるので選び放題です。 速度など容量以外の選択基準では、class10、UHS不要、A1かA2対応のスマホ用に最適化されているようなものや、書き換えに高耐久なもの、がおすすめです。PCで最初に書き込むのが速... 続きを読む
PostgreSQLでIPv6、リンクローカルアドレスにはまる 投稿者: おこめ - 11月 06, 2019 IPv6、使いたくないという声の方がよく聞きますが、いまさらなので使っていきましょう。 今回はリンクローカルアドレスを使おうとしてはまる。 とある停電でDHCPのIPv4アドレスが振り直されてしまったのでRaspberryPiのIPv6使っておくかというふうに考えてみました。 ということで、RaspberryPiのPostgreSQLにもIPv6使ってみてもいいんじゃない? IPv6のアドレス IPv6に限らずですが、使われているアドレスの使われ方は いくつかあります。ローカルかつブロードキャストなど除くと127.0.0.1/8と、192.168.0.0/16 や172.168.0.0/16、10.0.0.0/8、それ以外に知られていないかもしれない169.254.0.0/16、などなどローカルなものもいろいろと。 IPv6でローカル的なアドレスを使おうとすると、ループバックアドレス(::1)、リンクローカルアドレス(fe80::/?)とユニークローカルアドレス(fd00::/8)などなどがあり、IPv4のプライベートIPアドレスのようなものです。 リンクローカルアドレスはルータ越えができず、ユニークローカルアドレスはルータ越えも可能です。 日本でネットに繋いでいればグローバルなIPv6アドレスも振られていると思いますが、外からも見えるので違うアドレスを使おうという今回の計画。 リンクローカルアドレス 今回は同一ネットワーク上にある機器を繋ぐということではじめから振られているリンクローカルアドレスを使ってみようと思ったのですが、PostgreSQLで。 変更箇所は、postgresql.conf の listen_addressesと pg_hba.conf にIPv6アドレスの接続許可を加えることです。 まずはIPアドレスを確認します。 # ifconfig でざっくりアドレスなどが出てくるのでinet6でlinkなアドレスを調べます。fe80::ではじまっているはずです。 IPv4の192.0.2.77, IPv6の2001:db8:: は例示用アドレスなので気にしない。 wlan0: flags=xxxxxxx inet: 192.0.2.... 続きを読む
コメント
コメントを投稿