- - PR -
元の値と元の値のハッシュ値を関係付ける方法
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2005-09-06 15:08
笑いました、この発想はなかった… でもハッシュが状況により一意にならないのは、たいていの用途において厳しいでしょうね。 | ||||
|
投稿日時: 2005-09-06 15:57
ハッシュはあくまで同じかどうかの比較であって、結果の大小には意味がないし…すっぱりあきらめるしか。
| ||||
|
投稿日時: 2005-09-06 16:05
何をしたいのかが、よくわからないんですけど
ハッシュテーブルとリストや木を使えば解決できないですか? 要素が多ければそれだけリソースが必要ですけど。 やりたいことが、どんな事例なのかがわかればアイディアの出しようも ありますけど、これだけの情報量ではサッパリ解かりませんね。 入力のパターンが何種類あるのかまったくそういうことに触れられていないので... 入力が無限空間であった場合に「無限空間->ハッシュ関数->有限空間」と変換して しまったら、またもとの無限空間の関係性を再現することは不可能ですよ。 | ||||
|
投稿日時: 2005-09-07 14:46
やりたいことは,ハッシュ値をとった状態で,Hash(M1),Hash(M2),Hash(M3)の関係を明らかにしたいのです.
つまり,Hash(M1)の優先順位が1,Hash(M2)の優先順位が2,Hash(M3)の優先順位が3 というように,優先順位の関係を明らかにしたいのです. まず,やりたいことの背景として, パラメータの値を隠蔽したいという点が挙げられます. この点については,値のハッシュ値をとるという事で解決しました. しかし,ハッシュ値をとる事により,パラメータ間の関係が わからなくなってしまいました. そこで,パラメータの値を隠蔽したまま, パラメータの値の優先順位の関係を明らかにする方法が必要となりました. なお,パラメータの数は,10個ぐらいを想定しております. | ||||
|
投稿日時: 2005-09-07 15:20
1.情報を隠蔽するためにハッシュ値を計算した。
2.ハッシュ値から元の情報を利用したい。 3.「2.」は、情報を隠蔽するという「1.」の目的に矛盾します。 こんなところでどうでしょう。 <今更追記> というか、何人もの方が、繰り返し同じことを指摘していますよね。 [ メッセージ編集済み 編集者: Edosson 編集日時 2005-09-07 15:22 ] | ||||
|
投稿日時: 2005-09-07 16:01
一郎様が提案されているように優先順位情報を付加するようにハッシュ関数をラップするような関数を作れば良いのじゃないでしょうか?
もしくは、あまり強度が必要でなければcryptを使ってみるとか.... ためしにサンプルを作ってみました、cryptはsaltと呼ばれる2バイトの値がそのまま文字列として残るのでこれを利用してみました。 [code] //test.c #include <unistd.h> #include <stdio.h> typedef struct _test_data_ { int priority; char *key; }TESTDATA, *PTESTDATA; int main() { TESTDATA testdata[] = { 1, "M1", 2, "M2", 3, "M3", -1, NULL}; PTESTDATA pp; char pbuff[3]; for (pp=testdata; pp->priority != -1; pp ++){ sprintf(pbuff, "%02d", pp->priority); printf("priority: %02d, org:%s, hash:%s\r\n", pp->priority, pp->key, crypt(pp->key, pbuff)); } return 0; } [code] コンパイルは cc -o test test.c -lcryptで出来ます。 実行結果 priority: 01, org:M1, hash:01sL7YSMt94x2 priority: 02, org:M2, hash:02/SEoMvaFtmQ priority: 03, org:M3, hash:03brCmrZemJiI いかがでしょう? | ||||
|
投稿日時: 2005-09-07 18:20
ハッシュのように短縮ではなく、ダミーbit挿入なら、ソート順を保って秘匿ッポクはなります。
1→ 1〜12のどれかの数を乱選択 2→ 13〜19のどれかの数を乱選択 3→ 20〜33のどれかの数を乱選択 以下同様に レンジの対応を秘密にできて、パラメータの数が十分に多ければ。 ソート順を保持する限り、選択平文攻撃に耐性は無いですが |