patterns.go 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141
  1. package noise
  2. var HandshakeNN = HandshakePattern{
  3. Name: "NN",
  4. Messages: [][]MessagePattern{
  5. {MessagePatternE},
  6. {MessagePatternE, MessagePatternDHEE},
  7. },
  8. }
  9. var HandshakeKN = HandshakePattern{
  10. Name: "KN",
  11. InitiatorPreMessages: []MessagePattern{MessagePatternS},
  12. Messages: [][]MessagePattern{
  13. {MessagePatternE},
  14. {MessagePatternE, MessagePatternDHEE, MessagePatternDHSE},
  15. },
  16. }
  17. var HandshakeNK = HandshakePattern{
  18. Name: "NK",
  19. ResponderPreMessages: []MessagePattern{MessagePatternS},
  20. Messages: [][]MessagePattern{
  21. {MessagePatternE, MessagePatternDHES},
  22. {MessagePatternE, MessagePatternDHEE},
  23. },
  24. }
  25. var HandshakeKK = HandshakePattern{
  26. Name: "KK",
  27. InitiatorPreMessages: []MessagePattern{MessagePatternS},
  28. ResponderPreMessages: []MessagePattern{MessagePatternS},
  29. Messages: [][]MessagePattern{
  30. {MessagePatternE, MessagePatternDHES, MessagePatternDHSS},
  31. {MessagePatternE, MessagePatternDHEE, MessagePatternDHSE},
  32. },
  33. }
  34. var HandshakeNX = HandshakePattern{
  35. Name: "NX",
  36. Messages: [][]MessagePattern{
  37. {MessagePatternE},
  38. {MessagePatternE, MessagePatternDHEE, MessagePatternS, MessagePatternDHES},
  39. },
  40. }
  41. var HandshakeKX = HandshakePattern{
  42. Name: "KX",
  43. InitiatorPreMessages: []MessagePattern{MessagePatternS},
  44. Messages: [][]MessagePattern{
  45. {MessagePatternE},
  46. {MessagePatternE, MessagePatternDHEE, MessagePatternDHSE, MessagePatternS, MessagePatternDHES},
  47. },
  48. }
  49. var HandshakeXN = HandshakePattern{
  50. Name: "XN",
  51. Messages: [][]MessagePattern{
  52. {MessagePatternE},
  53. {MessagePatternE, MessagePatternDHEE},
  54. {MessagePatternS, MessagePatternDHSE},
  55. },
  56. }
  57. var HandshakeIN = HandshakePattern{
  58. Name: "IN",
  59. Messages: [][]MessagePattern{
  60. {MessagePatternE, MessagePatternS},
  61. {MessagePatternE, MessagePatternDHEE, MessagePatternDHSE},
  62. },
  63. }
  64. var HandshakeXK = HandshakePattern{
  65. Name: "XK",
  66. ResponderPreMessages: []MessagePattern{MessagePatternS},
  67. Messages: [][]MessagePattern{
  68. {MessagePatternE, MessagePatternDHES},
  69. {MessagePatternE, MessagePatternDHEE},
  70. {MessagePatternS, MessagePatternDHSE},
  71. },
  72. }
  73. var HandshakeIK = HandshakePattern{
  74. Name: "IK",
  75. ResponderPreMessages: []MessagePattern{MessagePatternS},
  76. Messages: [][]MessagePattern{
  77. {MessagePatternE, MessagePatternDHES, MessagePatternS, MessagePatternDHSS},
  78. {MessagePatternE, MessagePatternDHEE, MessagePatternDHSE},
  79. },
  80. }
  81. var HandshakeXX = HandshakePattern{
  82. Name: "XX",
  83. Messages: [][]MessagePattern{
  84. {MessagePatternE},
  85. {MessagePatternE, MessagePatternDHEE, MessagePatternS, MessagePatternDHES},
  86. {MessagePatternS, MessagePatternDHSE},
  87. },
  88. }
  89. var HandshakeXXfallback = HandshakePattern{
  90. Name: "XXfallback",
  91. ResponderPreMessages: []MessagePattern{MessagePatternE},
  92. Messages: [][]MessagePattern{
  93. {MessagePatternE, MessagePatternDHEE, MessagePatternS, MessagePatternDHSE},
  94. {MessagePatternS, MessagePatternDHES},
  95. },
  96. }
  97. var HandshakeIX = HandshakePattern{
  98. Name: "IX",
  99. Messages: [][]MessagePattern{
  100. {MessagePatternE, MessagePatternS},
  101. {MessagePatternE, MessagePatternDHEE, MessagePatternDHSE, MessagePatternS, MessagePatternDHES},
  102. },
  103. }
  104. var HandshakeN = HandshakePattern{
  105. Name: "N",
  106. ResponderPreMessages: []MessagePattern{MessagePatternS},
  107. Messages: [][]MessagePattern{
  108. {MessagePatternE, MessagePatternDHES},
  109. },
  110. }
  111. var HandshakeK = HandshakePattern{
  112. Name: "K",
  113. InitiatorPreMessages: []MessagePattern{MessagePatternS},
  114. ResponderPreMessages: []MessagePattern{MessagePatternS},
  115. Messages: [][]MessagePattern{
  116. {MessagePatternE, MessagePatternDHES, MessagePatternDHSS},
  117. },
  118. }
  119. var HandshakeX = HandshakePattern{
  120. Name: "X",
  121. ResponderPreMessages: []MessagePattern{MessagePatternS},
  122. Messages: [][]MessagePattern{
  123. {MessagePatternE, MessagePatternDHES, MessagePatternS, MessagePatternDHSS},
  124. },
  125. }