0


单陷门置换

陷门置换定义

  一个陷门置换族是一个PPT算法元组

  1. (
  2. G
  3. e
  4. n
  5. ,
  6. S
  7. a
  8. m
  9. p
  10. l
  11. e
  12. ,
  13. E
  14. v
  15. a
  16. l
  17. ,
  18. I
  19. n
  20. v
  21. e
  22. r
  23. t
  24. )
  25. (Gen,Sample,Eval,Invert)
  26. (Gen,Sample,Eval,Invert):
  1. PPT,运行步数是安全参数的多项式函数。
    1. G e n ( l K ) Gen(l^{\mathcal{K}}) Gen(lK)是一个概率性算法,输入为安全参数 l K l^{\mathcal{K}} lK,输出为 ( i , t d ) (i,td) (i,td),其中 i i i是定义域 D i D_i Di​上的一个置换 f i f_i fi​的标号(“公钥”), t d td td是允许求 f i f_i fi​逆的陷门信息(“私钥”)。
    1. S a m p l e ( l K , i ) Sample(l^{\mathcal{K}},i) Sample(lK,i)是一个概率性算法,输入 i i i G e n Gen Gen产生,输出为 x R D i x\leftarrow _{R}D_i xRDi​。
    1. E v a l ( l K , i , x ) Eval(l^{\mathcal{K}},i,x) Eval(lK,i,x)是一个确定性算法,输出为 y D i y \in D_i yDi​。即 E v a l ( l K , i , ) : D i D i Eval(l^{\mathcal{K}},i,\cdot):D_i \rightarrow D_i Eval(lK,i,⋅):Di​→Di​是 D i D_i Di​上的一个置换。
    1. I n v e r t ( l K , t d , y ) Invert(l^{\mathcal{K}},td,y) Invert(lK,td,y),输出为 x x x

  RSA加密算法就是一个典型的陷门置换:
6.

  1. G
  2. e
  3. n
  4. (
  5. k
  6. )
  7. Gen(\mathcal{k})
  8. Gen(k):随机选取两个
  9. K
  10. \mathcal{K}
  11. K比特素数
  12. p
  13. p
  14. p
  15. q
  16. q
  17. q。计算
  18. N
  19. =
  20. p
  21. q
  22. N=pq
  23. N=pq
  24. φ
  25. (
  26. N
  27. )
  28. =
  29. (
  30. p
  31. 1
  32. )
  33. (
  34. q
  35. 1
  36. )
  37. \varphi(N)=(p-1)(q-1)
  38. φ(N)=(p1)(q1)。选取与
  39. φ
  40. (
  41. N
  42. )
  43. \varphi(N)
  44. φ(N)互素的
  45. e
  46. e
  47. e,计算
  48. e
  49. d
  50. =
  51. 1
  52. m
  53. o
  54. d
  55. φ
  56. (
  57. N
  58. )
  59. ed=1 mod \ \varphi(N)
  60. ed=1mod φ(N),输出为
  61. (
  62. (
  63. N
  64. ,
  65. e
  66. )
  67. ,
  68. (
  69. N
  70. ,
  71. d
  72. )
  73. )
  74. ((N,e),(N,d))
  75. ((N,e),(N,d))。分别对应
  76. i
  77. i
  78. i
  79. t
  80. d
  81. td
  82. td。定义域
  83. D
  84. N
  85. ,
  86. e
  87. D_{N,e}
  88. DN,e​就是
  89. Z
  90. N
  91. Z_{N}
  92. ZN​。

7.

  1. S
  2. a
  3. m
  4. p
  5. l
  6. e
  7. (
  8. K
  9. ,
  10. (
  11. N
  12. ,
  13. e
  14. )
  15. )
  16. Sample(\mathcal{K},(N,e))
  17. Sample(K,(N,e)):从
  18. Z
  19. N
  20. Z_N
  21. ZN​中选取一个随机元素
  22. x
  23. x
  24. x

8.

  1. E
  2. v
  3. a
  4. l
  5. (
  6. K
  7. ,
  8. (
  9. N
  10. ,
  11. e
  12. )
  13. ,
  14. x
  15. )
  16. Eval(\mathcal{K},(N,e),x)
  17. Eval(K,(N,e),x):
  18. y
  19. =
  20. x
  21. e
  22. m
  23. o
  24. d
  25. N
  26. y=x^e mod \ N
  27. y=xemod N

9.

  1. I
  2. n
  3. v
  4. e
  5. r
  6. t
  7. (
  8. K
  9. ,
  10. (
  11. N
  12. ,
  13. d
  14. )
  15. ,
  16. y
  17. )
  18. Invert(\mathcal{K},(N,d),y)
  19. Invert(K,(N,d),y),输出为
  20. x
  21. =
  22. y
  23. d
  24. m
  25. o
  26. d
  27. N
  28. x=y^dmod \ N
  29. x=ydmod N

单陷门置换定义

  在陷门置换中没有考虑任何“困难性”和安全性的概念(可以为线性置换以及求逆),这在密码学上是没有意义的。所以一般认为密码学中的陷门置换是单陷门置换。单陷门置换是指当陷门信息

  1. t
  2. d
  3. td
  4. td未知时,一个随机陷门置换的求逆是困难的。具体定义如下:

  一个陷门置换簇

  1. (
  2. G
  3. e
  4. n
  5. ,
  6. S
  7. a
  8. m
  9. p
  10. l
  11. e
  12. ,
  13. E
  14. v
  15. a
  16. l
  17. ,
  18. I
  19. n
  20. v
  21. e
  22. r
  23. t
  24. )
  25. (Gen,Sample,Eval,Invert)
  26. (Gen,Sample,Eval,Invert)是单向的,如果对于任意的PPT敌手
  27. A
  28. \mathcal{A}
  29. A,存在一个可忽略的函数
  30. ϵ
  31. (
  32. K
  33. )
  34. \epsilon{(\mathcal{K})}
  35. ϵ(K),使得
  36. A
  37. \mathcal{A}
  38. A在下面的对抗中,其优势
  39. A
  40. d
  41. v
  42. A
  43. (
  44. K
  45. )
  46. ϵ
  47. (
  48. K
  49. )
  50. {Adv}_{\mathcal{A}}(\mathcal{K}) \leq \epsilon{(\mathcal{K})}
  51. AdvA​(K)≤ϵ(K):
  52. F
  53. u
  54. n
  55. c
  56. t
  57. i
  58. o
  59. n
  60. A
  61. (
  62. K
  63. )
  64. :
  65. {Function}_{\mathcal{A}}(\mathcal{K}):
  66. FunctionA​(K):
  67. (
  68. i
  69. ,
  70. t
  71. d
  72. )
  73. G
  74. e
  75. n
  76. (
  77. K
  78. )
  79. (i,td)\leftarrow Gen(\mathcal{K})
  80. (i,td)←Gen(K);
  81. y
  82. S
  83. a
  84. m
  85. p
  86. l
  87. e
  88. (
  89. K
  90. ,
  91. i
  92. )
  93. y \leftarrow Sample(\mathcal{K},i)
  94. ySample(K,i);
  95. x
  96. A
  97. (
  98. K
  99. ,
  100. i
  101. ,
  102. y
  103. )
  104. x \leftarrow \mathcal{A}(\mathcal{K},i,y)
  105. xA(K,i,y)

  如果

  1. E
  2. v
  3. a
  4. l
  5. (
  6. K
  7. ,
  8. i
  9. ,
  10. x
  11. )
  12. =
  13. y
  14. Eval(\mathcal{K},i,x)=y
  15. Eval(K,i,x)=y,返回1;否则返回0
  16. A
  17. \mathcal{A}
  18. A的优势
  19. A
  20. d
  21. v
  22. A
  23. (
  24. K
  25. )
  26. {Adv}_{\mathcal{A}}(\mathcal{K})
  27. AdvA​(K)定义为
  28. A
  29. d
  30. v
  31. A
  32. (
  33. K
  34. )
  35. =
  36. P
  37. r
  38. [
  39. F
  40. u
  41. n
  42. c
  43. t
  44. i
  45. o
  46. n
  47. A
  48. (
  49. K
  50. )
  51. =
  52. 1
  53. ]
  54. {Adv}_{\mathcal{A}}(\mathcal{K})=Pr[{Function}_{\mathcal{A}}(\mathcal{K})=1]
  55. AdvA​(K)=Pr[FunctionA​(K)=1],其中
  56. P
  57. r
  58. Pr
  59. Pr表示概率。

  为了方便理解可以将

  1. i
  2. i
  3. i表示为置换
  4. f
  5. f
  6. f
  7. t
  8. d
  9. td
  10. td表示为逆置换
  11. f
  12. 1
  13. f^{-1}
  14. f1

本文转载自: https://blog.csdn.net/u012421101/article/details/128038062
版权归原作者 l齐天 所有, 如有侵权,请联系我们删除。

“单陷门置换”的评论:

还没有评论