Advertisement
Guest User

Untitled

a guest
Feb 2nd, 2015
402
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. m/n暗号
  2.  
  3. ・中央サーバは存在しない
  4. ・自分一人だけで復号できては困る
  5. ・自分の知らないパスワードがなければならない
  6. ・友人パスワードは任意の個数発行できる。発行した後は変えられない。
  7. ・友人パスワードのうち、復号に必要な数は最初に設定する。
  8.  - 5人分パスワードを発行して、そのうち3人のパスワードが必要であるようにしたい
  9. ・復号化の時、友人は自分にパスワードを見せてくれるのではなく、自分が提示した(任意の?)文をそのパスワードでハッシュ化したものを返す。その任意の文と生成されたハッシュを用いて、鍵とする。
  10. ・友人は自分にパスワードを見せる必要がない。
  11.  
  12. )
  13. アルゴリズム作成に必要なもの: 自分のパスワード(p[-1])、パスワードを発行する人数(0≤n)、復号化に最低限必要な人数(0≤m≤n) -> n個のパスワードが生成される(p[0],...,p[n-1])、使い捨てシード(同じアルゴリズムを2つ生成しないようにするため)
  14. 暗号化に必要なもの: 自分のパスワード(p[-1])
  15. 復号化に必要なもの: 自分のパスワード(p[-1])、任意のm個の文(s[0],s[1],...,s[m-1])、n人のうち誰でもいいので最低m人のパスワード(p[i_0],...,p[i_m-1])を用いてそれらをハッシュ化した文(h(p[i_0], s[0]),...,h(p[i_m-1], s[m-1]))
  16.  
  17. 擬似的に、中央サーバを使って実現できる。
  18. サーバはまず、n,mをうけとる。また、全てのパスワードを保持しておく。
  19. 暗号化: p[-1]が正しければ平文を受け取り保存する。
  20. 復号化: p[-1]が正しいか確かめる。文とパスワードによるハッシュが正しいかどうか、全てのパスワードについて調べ、そのうち少なくともm個合致していれば平文を送信する。
  21.  
  22. 問題:
  23. 任意のn,mについて上を成立させるアルゴリズムを作れ。
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement