PKCS#5パディングでAES暗号化/復号
2011-01-25-2 / カテゴリ: [暗号][Java][Android] / [permlink]

初のAndroidネタ。というかJavaネタも初だった^^;

Androidは初学者だからもっと初学者ネタ(環境構築とか?)でもと思ったけど、入門系情報はたくさんあるので、うちらしく戯術っぽく小ネタで(ぇ
続きを読む

PKCS#5パディングでAES暗号化/復号
2011-01-25-1 / カテゴリ: [暗号][perl] / [permlink]

メモってたつもりが書いてなかったので今更シリーズ

続きを読む
Referrer (Inside): [2011-01-25-2]

tar + gz + gpg で暗号化バックアップ
2006-09-28-1 / カテゴリ: [暗号][shell][command] / [permlink]

共用ファイルサーバへのファイルバックアップ、とか。
PASS=パスフレーズ
SRC=バックアップ元
DST=バックアップ先
% echo ${PASS} | { tar zcvf - ${SRC} | gpg --batch -o {DST} --passphrase-fd 3 -c; } 3>&0

--batch で対話モードのオフ
-o FILENAME で出力ファイル名の指定
--passphrase-fd N でパスフレーズの入力ディスクリプタ指定

1年以上シェルスクリプトでコード書いてないから書式が…(汗)

参考:Symmetric key encryption by GnuPG

DESで暗号化
2006-07-25-2 / カテゴリ: [programming][暗号][perl] / [permlink]

Crypt::DES で。超概略。

暗号化
use Crypt::DES;

my $data = ...;
my $key = ...;

my $cipher = Crypt::DES->new($key);
my $encdata = $cipher->encrypt($data);

復号
my $encdata = ...;
my $key = ...;

my $data = $cipher->decrypt($encdata);
平文($data)と鍵($key)は8バイトであること。

DES(Data Encryption Standard)ノート
2006-07-25-1 / カテゴリ: [programming][暗号] / [permlink]

3DESでなくDES。今更と言うべからず。仕事で(SDKにないから)作るハメになったのでメモ。

1. FIPS 46-2 (DES), Data Encryption Standard
2. DESの解説
3. DESアルゴリズムチェッカー
4. DES暗号プログラム

2はわかりやすくてgood。デバッグは3で^^;
完成品(C/C++)は4で。

HMAC-MD5 ってナニ?
2005-07-17-3 / カテゴリ: [暗号] / [permlink]

ぺるりめもダイジェスト2 cram-md5認証 (module)Digest-HMAC_MD5であまり良くわからず書いていたが、ちょっと確認。
HMAC メッセージ認証のための鍵付ハッシング(RFC2104 日本語訳) かな。

とりあえず…
以下のように 2 つの異なる固定文字列 ipad と opad を定義する (その 'i' と 'o' は、inner と outer を連想させるように付けてある):

ipad = バイト値 0x36 を 64 回繰り返した文字列
opad = バイト値 0x5C を 64 回繰り返した文字列
は、固定で用意ぽいな。ちなみに 0x36 は "6" で、0x5C は "\" だ。

でもって、
データ `text' に対して HMAC を計算するためには、以下のようにする。

H(K XOR opad, H(K XOR ipad, text))

すなわち、

   1. B バイトの文字列を作るように K の終わりまでゼロを追加する
   2. (例えば、K が 20 バイトの長さで B=64 であるならば、K に 44 個のゼロのバイト値 0x00 が追加される) ステップ (1) で計算された B バイトの文字列と ipad との XOR(ビット毎の排他的論理和)を計算する。
   3. ステップ (2) の結果生じた B バイトの文字列に、データ `text' のストリームを追加する。
   4. ステップ (3) で生成されたストリームに H を適用する。
   5. ステップ (1) で計算された B バイトの文字列と opad との XOR(ビット毎の排他的論理和)を計算する。
   6. ステップ (5) の結果生じた B バイトの文字列に、ステップ (4) の H の結果を追加する。
   7. ステップ (6) で生成されたストリームに H を適用し、その結果を出力する。

自分の言葉で極簡単にまとめると、
1. パスと 0x36 の XOR にデータをくっつけたものの MD5 ハッシュを取得。
2. パスと 0x5C の XOR に↑をくっつけたものの MD5 ハッシュを取得。
3. ↑が結果
ということか。な?

JavaScript で MD5 やら DES やら
2005-06-03-2 / カテゴリ: [JavaScript][暗号] / [permlink]

高度な JavaScript 技集

作る人は作るんだね。すばらしい。

gpgでファイル暗号化
2005-03-28-2 / カテゴリ: [linux][暗号] / [permlink]

text.log を共通鍵暗号化する
$ gpg -c text.log
パスフレーズ:
パスフレーズ(再入力):
$ ls
text.log    text.log.gpg
復号
$ gpg text.log.gpg
パスフレーズ:
-d を付加するとSTDOUTへ吐き出す

openssl でファイルの暗号化(共通鍵暗号方式)
2004-06-28-1 / カテゴリ: [linux][command][SSL][暗号] / [permlink]

暗号化
$ openssl des3 -e -in file.txt [-out encrypt.txt]
復号
$ openssl des3 -d -in encrypt.txt [-out file.txt]

-in/-out がなければ、入出力は stdin/stdout になる。
カテゴリ: 暗号

最終更新時間: 2013-05-02 16:12