@tidecloak/js 0.9.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (485) hide show
  1. package/LICENSE +334 -0
  2. package/README.md +294 -0
  3. package/dist/cjs/lib/tidecloak.js +1934 -0
  4. package/dist/cjs/lib/tidecloak.js.map +1 -0
  5. package/dist/cjs/modules/tide-js/Clients/ClientBase.js +213 -0
  6. package/dist/cjs/modules/tide-js/Clients/ClientBase.js.map +1 -0
  7. package/dist/cjs/modules/tide-js/Clients/NetworkClient.js +96 -0
  8. package/dist/cjs/modules/tide-js/Clients/NetworkClient.js.map +1 -0
  9. package/dist/cjs/modules/tide-js/Clients/NodeClient.js +491 -0
  10. package/dist/cjs/modules/tide-js/Clients/NodeClient.js.map +1 -0
  11. package/dist/cjs/modules/tide-js/Clients/PollingClient.js +87 -0
  12. package/dist/cjs/modules/tide-js/Clients/PollingClient.js.map +1 -0
  13. package/dist/cjs/modules/tide-js/Clients/VoucherClient.js +37 -0
  14. package/dist/cjs/modules/tide-js/Clients/VoucherClient.js.map +1 -0
  15. package/dist/cjs/modules/tide-js/Cryptide/Components/BaseComponent.js +180 -0
  16. package/dist/cjs/modules/tide-js/Cryptide/Components/BaseComponent.js.map +1 -0
  17. package/dist/cjs/modules/tide-js/Cryptide/Components/ComponentRegistry.js +30 -0
  18. package/dist/cjs/modules/tide-js/Cryptide/Components/ComponentRegistry.js.map +1 -0
  19. package/dist/cjs/modules/tide-js/Cryptide/Components/Schemes/AES/AESScheme.js +11 -0
  20. package/dist/cjs/modules/tide-js/Cryptide/Components/Schemes/AES/AESScheme.js.map +1 -0
  21. package/dist/cjs/modules/tide-js/Cryptide/Components/Schemes/BaseScheme.js +13 -0
  22. package/dist/cjs/modules/tide-js/Cryptide/Components/Schemes/BaseScheme.js.map +1 -0
  23. package/dist/cjs/modules/tide-js/Cryptide/Components/Schemes/Ed25519/Ed25519Components.js +166 -0
  24. package/dist/cjs/modules/tide-js/Cryptide/Components/Schemes/Ed25519/Ed25519Components.js.map +1 -0
  25. package/dist/cjs/modules/tide-js/Cryptide/Components/Schemes/Ed25519/Ed25519Scheme.js +41 -0
  26. package/dist/cjs/modules/tide-js/Cryptide/Components/Schemes/Ed25519/Ed25519Scheme.js.map +1 -0
  27. package/dist/cjs/modules/tide-js/Cryptide/Components/Schemes/SchemeRegistry.js +13 -0
  28. package/dist/cjs/modules/tide-js/Cryptide/Components/Schemes/SchemeRegistry.js.map +1 -0
  29. package/dist/cjs/modules/tide-js/Cryptide/Ed25519.js +535 -0
  30. package/dist/cjs/modules/tide-js/Cryptide/Ed25519.js.map +1 -0
  31. package/dist/cjs/modules/tide-js/Cryptide/Encryption/AES.js +109 -0
  32. package/dist/cjs/modules/tide-js/Cryptide/Encryption/AES.js.map +1 -0
  33. package/dist/cjs/modules/tide-js/Cryptide/Encryption/DH.js +53 -0
  34. package/dist/cjs/modules/tide-js/Cryptide/Encryption/DH.js.map +1 -0
  35. package/dist/cjs/modules/tide-js/Cryptide/Encryption/ElGamal.js +59 -0
  36. package/dist/cjs/modules/tide-js/Cryptide/Encryption/ElGamal.js.map +1 -0
  37. package/dist/cjs/modules/tide-js/Cryptide/Hashing/H2P.js +248 -0
  38. package/dist/cjs/modules/tide-js/Cryptide/Hashing/H2P.js.map +1 -0
  39. package/dist/cjs/modules/tide-js/Cryptide/Hashing/Hash.js +60 -0
  40. package/dist/cjs/modules/tide-js/Cryptide/Hashing/Hash.js.map +1 -0
  41. package/dist/cjs/modules/tide-js/Cryptide/Interpolation.js +107 -0
  42. package/dist/cjs/modules/tide-js/Cryptide/Interpolation.js.map +1 -0
  43. package/dist/cjs/modules/tide-js/Cryptide/Math.js +134 -0
  44. package/dist/cjs/modules/tide-js/Cryptide/Math.js.map +1 -0
  45. package/dist/cjs/modules/tide-js/Cryptide/Serialization.js +680 -0
  46. package/dist/cjs/modules/tide-js/Cryptide/Serialization.js.map +1 -0
  47. package/dist/cjs/modules/tide-js/Cryptide/Signing/BlindSig.js +56 -0
  48. package/dist/cjs/modules/tide-js/Cryptide/Signing/BlindSig.js.map +1 -0
  49. package/dist/cjs/modules/tide-js/Cryptide/Signing/EdDSA.js +84 -0
  50. package/dist/cjs/modules/tide-js/Cryptide/Signing/EdDSA.js.map +1 -0
  51. package/dist/cjs/modules/tide-js/Cryptide/Signing/TideSignature.js +102 -0
  52. package/dist/cjs/modules/tide-js/Cryptide/Signing/TideSignature.js.map +1 -0
  53. package/dist/cjs/modules/tide-js/Cryptide/TideKey.js +77 -0
  54. package/dist/cjs/modules/tide-js/Cryptide/TideKey.js.map +1 -0
  55. package/dist/cjs/modules/tide-js/Cryptide/TideMemoryObjects.js +34 -0
  56. package/dist/cjs/modules/tide-js/Cryptide/TideMemoryObjects.js.map +1 -0
  57. package/dist/cjs/modules/tide-js/Cryptide/index.js +74 -0
  58. package/dist/cjs/modules/tide-js/Cryptide/index.js.map +1 -0
  59. package/dist/cjs/modules/tide-js/Flow/AuthenticationFlows/dCMKAcceptAdminFlow.js +6 -0
  60. package/dist/cjs/modules/tide-js/Flow/AuthenticationFlows/dCMKAcceptAdminFlow.js.map +1 -0
  61. package/dist/cjs/modules/tide-js/Flow/AuthenticationFlows/dCMKPasswordFlow.js +138 -0
  62. package/dist/cjs/modules/tide-js/Flow/AuthenticationFlows/dCMKPasswordFlow.js.map +1 -0
  63. package/dist/cjs/modules/tide-js/Flow/AuthenticationFlows/dCMKPasswordlessFlow.js +83 -0
  64. package/dist/cjs/modules/tide-js/Flow/AuthenticationFlows/dCMKPasswordlessFlow.js.map +1 -0
  65. package/dist/cjs/modules/tide-js/Flow/AuthenticationFlows/dCVKAuthenticationFlow.js +3 -0
  66. package/dist/cjs/modules/tide-js/Flow/AuthenticationFlows/dCVKAuthenticationFlow.js.map +1 -0
  67. package/dist/cjs/modules/tide-js/Flow/DecryptionFlows/dVVKDecryptionFlow.js +58 -0
  68. package/dist/cjs/modules/tide-js/Flow/DecryptionFlows/dVVKDecryptionFlow.js.map +1 -0
  69. package/dist/cjs/modules/tide-js/Flow/EncryptionFlows/AuthorizedEncryptionFlow.js +180 -0
  70. package/dist/cjs/modules/tide-js/Flow/EncryptionFlows/AuthorizedEncryptionFlow.js.map +1 -0
  71. package/dist/cjs/modules/tide-js/Flow/SigningFlows/AuthorizedSigningFlow.js +49 -0
  72. package/dist/cjs/modules/tide-js/Flow/SigningFlows/AuthorizedSigningFlow.js.map +1 -0
  73. package/dist/cjs/modules/tide-js/Flow/SigningFlows/dTestVVkSigningFlow.js +70 -0
  74. package/dist/cjs/modules/tide-js/Flow/SigningFlows/dTestVVkSigningFlow.js.map +1 -0
  75. package/dist/cjs/modules/tide-js/Flow/SigningFlows/dVVKSigningFlow.js +73 -0
  76. package/dist/cjs/modules/tide-js/Flow/SigningFlows/dVVKSigningFlow.js.map +1 -0
  77. package/dist/cjs/modules/tide-js/Flow/SigningFlows/dVVKSigningFlow_DEPRECATED.js +67 -0
  78. package/dist/cjs/modules/tide-js/Flow/SigningFlows/dVVKSigningFlow_DEPRECATED.js.map +1 -0
  79. package/dist/cjs/modules/tide-js/Flow/SimulatorFlow.js +57 -0
  80. package/dist/cjs/modules/tide-js/Flow/SimulatorFlow.js.map +1 -0
  81. package/dist/cjs/modules/tide-js/Flow/VoucherFlows/VoucherFlow.js +51 -0
  82. package/dist/cjs/modules/tide-js/Flow/VoucherFlows/VoucherFlow.js.map +1 -0
  83. package/dist/cjs/modules/tide-js/Flow/dAccountRecoveryFlow.js +95 -0
  84. package/dist/cjs/modules/tide-js/Flow/dAccountRecoveryFlow.js.map +1 -0
  85. package/dist/cjs/modules/tide-js/Flow/dKeyGenerationFlow.js +219 -0
  86. package/dist/cjs/modules/tide-js/Flow/dKeyGenerationFlow.js.map +1 -0
  87. package/dist/cjs/modules/tide-js/Math/DecryptRequest.js +52 -0
  88. package/dist/cjs/modules/tide-js/Math/DecryptRequest.js.map +1 -0
  89. package/dist/cjs/modules/tide-js/Math/EncryptRequest.js +96 -0
  90. package/dist/cjs/modules/tide-js/Math/EncryptRequest.js.map +1 -0
  91. package/dist/cjs/modules/tide-js/Math/KeyAuthentication.js +222 -0
  92. package/dist/cjs/modules/tide-js/Math/KeyAuthentication.js.map +1 -0
  93. package/dist/cjs/modules/tide-js/Math/KeyDecryption.js +18 -0
  94. package/dist/cjs/modules/tide-js/Math/KeyDecryption.js.map +1 -0
  95. package/dist/cjs/modules/tide-js/Math/KeyGeneration.js +148 -0
  96. package/dist/cjs/modules/tide-js/Math/KeyGeneration.js.map +1 -0
  97. package/dist/cjs/modules/tide-js/Math/KeySigning.js +24 -0
  98. package/dist/cjs/modules/tide-js/Math/KeySigning.js.map +1 -0
  99. package/dist/cjs/modules/tide-js/Models/AdminAuthorization.js +83 -0
  100. package/dist/cjs/modules/tide-js/Models/AdminAuthorization.js.map +1 -0
  101. package/dist/cjs/modules/tide-js/Models/AuthRequest.js +66 -0
  102. package/dist/cjs/modules/tide-js/Models/AuthRequest.js.map +1 -0
  103. package/dist/cjs/modules/tide-js/Models/AuthorizationBuilder.js +61 -0
  104. package/dist/cjs/modules/tide-js/Models/AuthorizationBuilder.js.map +1 -0
  105. package/dist/cjs/modules/tide-js/Models/BaseTideRequest.js +106 -0
  106. package/dist/cjs/modules/tide-js/Models/BaseTideRequest.js.map +1 -0
  107. package/dist/cjs/modules/tide-js/Models/Cardano/CardanoTxBody.js +198 -0
  108. package/dist/cjs/modules/tide-js/Models/Cardano/CardanoTxBody.js.map +1 -0
  109. package/dist/cjs/modules/tide-js/Models/Datum.js +41 -0
  110. package/dist/cjs/modules/tide-js/Models/Datum.js.map +1 -0
  111. package/dist/cjs/modules/tide-js/Models/Doken.js +140 -0
  112. package/dist/cjs/modules/tide-js/Models/Doken.js.map +1 -0
  113. package/dist/cjs/modules/tide-js/Models/EnclaveEntry.js +50 -0
  114. package/dist/cjs/modules/tide-js/Models/EnclaveEntry.js.map +1 -0
  115. package/dist/cjs/modules/tide-js/Models/Infos/KeyInfo.js +49 -0
  116. package/dist/cjs/modules/tide-js/Models/Infos/KeyInfo.js.map +1 -0
  117. package/dist/cjs/modules/tide-js/Models/Infos/OrkInfo.js +53 -0
  118. package/dist/cjs/modules/tide-js/Models/Infos/OrkInfo.js.map +1 -0
  119. package/dist/cjs/modules/tide-js/Models/InitializationCertificate.js +35 -0
  120. package/dist/cjs/modules/tide-js/Models/InitializationCertificate.js.map +1 -0
  121. package/dist/cjs/modules/tide-js/Models/ModelRegistry.js +177 -0
  122. package/dist/cjs/modules/tide-js/Models/ModelRegistry.js.map +1 -0
  123. package/dist/cjs/modules/tide-js/Models/Responses/KeyAuth/Authenticate/AuthenticateResponse.js +34 -0
  124. package/dist/cjs/modules/tide-js/Models/Responses/KeyAuth/Authenticate/AuthenticateResponse.js.map +1 -0
  125. package/dist/cjs/modules/tide-js/Models/Responses/KeyAuth/Convert/CMKConvertResponse.js +36 -0
  126. package/dist/cjs/modules/tide-js/Models/Responses/KeyAuth/Convert/CMKConvertResponse.js.map +1 -0
  127. package/dist/cjs/modules/tide-js/Models/Responses/KeyAuth/Convert/ConvertRememberedResponse.js +36 -0
  128. package/dist/cjs/modules/tide-js/Models/Responses/KeyAuth/Convert/ConvertRememberedResponse.js.map +1 -0
  129. package/dist/cjs/modules/tide-js/Models/Responses/KeyAuth/Convert/DecryptedCMKConvertResponse.js +34 -0
  130. package/dist/cjs/modules/tide-js/Models/Responses/KeyAuth/Convert/DecryptedCMKConvertResponse.js.map +1 -0
  131. package/dist/cjs/modules/tide-js/Models/Responses/KeyAuth/Convert/DecryptedConvertRememberedResponse.js +37 -0
  132. package/dist/cjs/modules/tide-js/Models/Responses/KeyAuth/Convert/DecryptedConvertRememberedResponse.js.map +1 -0
  133. package/dist/cjs/modules/tide-js/Models/Responses/KeyAuth/Convert/DecryptedPrismConvertResponse.js +37 -0
  134. package/dist/cjs/modules/tide-js/Models/Responses/KeyAuth/Convert/DecryptedPrismConvertResponse.js.map +1 -0
  135. package/dist/cjs/modules/tide-js/Models/Responses/KeyAuth/Convert/PrismConvertResponse.js +36 -0
  136. package/dist/cjs/modules/tide-js/Models/Responses/KeyAuth/Convert/PrismConvertResponse.js.map +1 -0
  137. package/dist/cjs/modules/tide-js/Models/Responses/KeyGen/GenShard/DecryptedGenShardResponse.js +49 -0
  138. package/dist/cjs/modules/tide-js/Models/Responses/KeyGen/GenShard/DecryptedGenShardResponse.js.map +1 -0
  139. package/dist/cjs/modules/tide-js/Models/Responses/KeyGen/GenShard/GenShardResponse.js +34 -0
  140. package/dist/cjs/modules/tide-js/Models/Responses/KeyGen/GenShard/GenShardResponse.js.map +1 -0
  141. package/dist/cjs/modules/tide-js/Models/Responses/KeyGen/SetShard/DecryptedSetShardResponse.js +39 -0
  142. package/dist/cjs/modules/tide-js/Models/Responses/KeyGen/SetShard/DecryptedSetShardResponse.js.map +1 -0
  143. package/dist/cjs/modules/tide-js/Models/Responses/KeyGen/SetShard/SetShardResponse.js +31 -0
  144. package/dist/cjs/modules/tide-js/Models/Responses/KeyGen/SetShard/SetShardResponse.js.map +1 -0
  145. package/dist/cjs/modules/tide-js/Models/Responses/Reservation/ReservationConfirmation.js +26 -0
  146. package/dist/cjs/modules/tide-js/Models/Responses/Reservation/ReservationConfirmation.js.map +1 -0
  147. package/dist/cjs/modules/tide-js/Models/Responses/Vendor/VoucherResponse.js +41 -0
  148. package/dist/cjs/modules/tide-js/Models/Responses/Vendor/VoucherResponse.js.map +1 -0
  149. package/dist/cjs/modules/tide-js/Models/Rules/RuleSettingSignRequest.js +81 -0
  150. package/dist/cjs/modules/tide-js/Models/Rules/RuleSettingSignRequest.js.map +1 -0
  151. package/dist/cjs/modules/tide-js/Models/Rules/RuleSettings.js +28 -0
  152. package/dist/cjs/modules/tide-js/Models/Rules/RuleSettings.js.map +1 -0
  153. package/dist/cjs/modules/tide-js/Models/SerializedField.js +63 -0
  154. package/dist/cjs/modules/tide-js/Models/SerializedField.js.map +1 -0
  155. package/dist/cjs/modules/tide-js/Models/Transactions/CardanoTxBodySignRequest.js +57 -0
  156. package/dist/cjs/modules/tide-js/Models/Transactions/CardanoTxBodySignRequest.js.map +1 -0
  157. package/dist/cjs/modules/tide-js/Models/VendorData.js +36 -0
  158. package/dist/cjs/modules/tide-js/Models/VendorData.js.map +1 -0
  159. package/dist/cjs/modules/tide-js/Models/VendorSettings.js +26 -0
  160. package/dist/cjs/modules/tide-js/Models/VendorSettings.js.map +1 -0
  161. package/dist/cjs/modules/tide-js/RulesEngine/RuleEngineService.js +92 -0
  162. package/dist/cjs/modules/tide-js/RulesEngine/RuleEngineService.js.map +1 -0
  163. package/dist/cjs/modules/tide-js/RulesEngine/helperFunctions.js +78 -0
  164. package/dist/cjs/modules/tide-js/RulesEngine/helperFunctions.js.map +1 -0
  165. package/dist/cjs/modules/tide-js/RulesEngine/jsonHelpers.js +68 -0
  166. package/dist/cjs/modules/tide-js/RulesEngine/jsonHelpers.js.map +1 -0
  167. package/dist/cjs/modules/tide-js/RulesEngine/thresholdRules.js +106 -0
  168. package/dist/cjs/modules/tide-js/RulesEngine/thresholdRules.js.map +1 -0
  169. package/dist/cjs/modules/tide-js/Tests/AccountRecovery.js +58 -0
  170. package/dist/cjs/modules/tide-js/Tests/AccountRecovery.js.map +1 -0
  171. package/dist/cjs/modules/tide-js/Tests/Components.js +18 -0
  172. package/dist/cjs/modules/tide-js/Tests/Components.js.map +1 -0
  173. package/dist/cjs/modules/tide-js/Tests/Encryption.js +172 -0
  174. package/dist/cjs/modules/tide-js/Tests/Encryption.js.map +1 -0
  175. package/dist/cjs/modules/tide-js/Tests/KeyAuthentication.js +113 -0
  176. package/dist/cjs/modules/tide-js/Tests/KeyAuthentication.js.map +1 -0
  177. package/dist/cjs/modules/tide-js/Tests/KeyGeneration.js +222 -0
  178. package/dist/cjs/modules/tide-js/Tests/KeyGeneration.js.map +1 -0
  179. package/dist/cjs/modules/tide-js/Tests/StripeLicensing.js +41 -0
  180. package/dist/cjs/modules/tide-js/Tests/StripeLicensing.js.map +1 -0
  181. package/dist/cjs/modules/tide-js/Tests/TideKey.js +17 -0
  182. package/dist/cjs/modules/tide-js/Tests/TideKey.js.map +1 -0
  183. package/dist/cjs/modules/tide-js/Tests/Verifier.js +12 -0
  184. package/dist/cjs/modules/tide-js/Tests/Verifier.js.map +1 -0
  185. package/dist/cjs/modules/tide-js/Tests/index.js +43 -0
  186. package/dist/cjs/modules/tide-js/Tests/index.js.map +1 -0
  187. package/dist/cjs/modules/tide-js/Tools/Utils.js +285 -0
  188. package/dist/cjs/modules/tide-js/Tools/Utils.js.map +1 -0
  189. package/dist/cjs/modules/tide-js/index.js +71 -0
  190. package/dist/cjs/modules/tide-js/index.js.map +1 -0
  191. package/dist/cjs/src/IAMService.js +278 -0
  192. package/dist/cjs/src/IAMService.js.map +1 -0
  193. package/dist/cjs/src/index.js +19 -0
  194. package/dist/cjs/src/index.js.map +1 -0
  195. package/dist/esm/lib/tidecloak.js +1923 -0
  196. package/dist/esm/lib/tidecloak.js.map +1 -0
  197. package/dist/esm/modules/tide-js/Clients/ClientBase.js +210 -0
  198. package/dist/esm/modules/tide-js/Clients/ClientBase.js.map +1 -0
  199. package/dist/esm/modules/tide-js/Clients/NetworkClient.js +90 -0
  200. package/dist/esm/modules/tide-js/Clients/NetworkClient.js.map +1 -0
  201. package/dist/esm/modules/tide-js/Clients/NodeClient.js +485 -0
  202. package/dist/esm/modules/tide-js/Clients/NodeClient.js.map +1 -0
  203. package/dist/esm/modules/tide-js/Clients/PollingClient.js +81 -0
  204. package/dist/esm/modules/tide-js/Clients/PollingClient.js.map +1 -0
  205. package/dist/esm/modules/tide-js/Clients/VoucherClient.js +31 -0
  206. package/dist/esm/modules/tide-js/Clients/VoucherClient.js.map +1 -0
  207. package/dist/esm/modules/tide-js/Cryptide/Components/BaseComponent.js +169 -0
  208. package/dist/esm/modules/tide-js/Cryptide/Components/BaseComponent.js.map +1 -0
  209. package/dist/esm/modules/tide-js/Cryptide/Components/ComponentRegistry.js +24 -0
  210. package/dist/esm/modules/tide-js/Cryptide/Components/ComponentRegistry.js.map +1 -0
  211. package/dist/esm/modules/tide-js/Cryptide/Components/Schemes/AES/AESScheme.js +5 -0
  212. package/dist/esm/modules/tide-js/Cryptide/Components/Schemes/AES/AESScheme.js.map +1 -0
  213. package/dist/esm/modules/tide-js/Cryptide/Components/Schemes/BaseScheme.js +11 -0
  214. package/dist/esm/modules/tide-js/Cryptide/Components/Schemes/BaseScheme.js.map +1 -0
  215. package/dist/esm/modules/tide-js/Cryptide/Components/Schemes/Ed25519/Ed25519Components.js +157 -0
  216. package/dist/esm/modules/tide-js/Cryptide/Components/Schemes/Ed25519/Ed25519Components.js.map +1 -0
  217. package/dist/esm/modules/tide-js/Cryptide/Components/Schemes/Ed25519/Ed25519Scheme.js +36 -0
  218. package/dist/esm/modules/tide-js/Cryptide/Components/Schemes/Ed25519/Ed25519Scheme.js.map +1 -0
  219. package/dist/esm/modules/tide-js/Cryptide/Components/Schemes/SchemeRegistry.js +7 -0
  220. package/dist/esm/modules/tide-js/Cryptide/Components/Schemes/SchemeRegistry.js.map +1 -0
  221. package/dist/esm/modules/tide-js/Cryptide/Ed25519.js +523 -0
  222. package/dist/esm/modules/tide-js/Cryptide/Ed25519.js.map +1 -0
  223. package/dist/esm/modules/tide-js/Cryptide/Encryption/AES.js +102 -0
  224. package/dist/esm/modules/tide-js/Cryptide/Encryption/AES.js.map +1 -0
  225. package/dist/esm/modules/tide-js/Cryptide/Encryption/DH.js +49 -0
  226. package/dist/esm/modules/tide-js/Cryptide/Encryption/DH.js.map +1 -0
  227. package/dist/esm/modules/tide-js/Cryptide/Encryption/ElGamal.js +56 -0
  228. package/dist/esm/modules/tide-js/Cryptide/Encryption/ElGamal.js.map +1 -0
  229. package/dist/esm/modules/tide-js/Cryptide/Hashing/H2P.js +245 -0
  230. package/dist/esm/modules/tide-js/Cryptide/Hashing/H2P.js.map +1 -0
  231. package/dist/esm/modules/tide-js/Cryptide/Hashing/Hash.js +55 -0
  232. package/dist/esm/modules/tide-js/Cryptide/Hashing/Hash.js.map +1 -0
  233. package/dist/esm/modules/tide-js/Cryptide/Interpolation.js +97 -0
  234. package/dist/esm/modules/tide-js/Cryptide/Interpolation.js.map +1 -0
  235. package/dist/esm/modules/tide-js/Cryptide/Math.js +120 -0
  236. package/dist/esm/modules/tide-js/Cryptide/Math.js.map +1 -0
  237. package/dist/esm/modules/tide-js/Cryptide/Serialization.js +642 -0
  238. package/dist/esm/modules/tide-js/Cryptide/Serialization.js.map +1 -0
  239. package/dist/esm/modules/tide-js/Cryptide/Signing/BlindSig.js +50 -0
  240. package/dist/esm/modules/tide-js/Cryptide/Signing/BlindSig.js.map +1 -0
  241. package/dist/esm/modules/tide-js/Cryptide/Signing/EdDSA.js +79 -0
  242. package/dist/esm/modules/tide-js/Cryptide/Signing/EdDSA.js.map +1 -0
  243. package/dist/esm/modules/tide-js/Cryptide/Signing/TideSignature.js +91 -0
  244. package/dist/esm/modules/tide-js/Cryptide/Signing/TideSignature.js.map +1 -0
  245. package/dist/esm/modules/tide-js/Cryptide/TideKey.js +71 -0
  246. package/dist/esm/modules/tide-js/Cryptide/TideKey.js.map +1 -0
  247. package/dist/esm/modules/tide-js/Cryptide/TideMemoryObjects.js +30 -0
  248. package/dist/esm/modules/tide-js/Cryptide/TideMemoryObjects.js.map +1 -0
  249. package/dist/esm/modules/tide-js/Cryptide/index.js +34 -0
  250. package/dist/esm/modules/tide-js/Cryptide/index.js.map +1 -0
  251. package/dist/esm/modules/tide-js/Flow/AuthenticationFlows/dCMKAcceptAdminFlow.js +3 -0
  252. package/dist/esm/modules/tide-js/Flow/AuthenticationFlows/dCMKAcceptAdminFlow.js.map +1 -0
  253. package/dist/esm/modules/tide-js/Flow/AuthenticationFlows/dCMKPasswordFlow.js +132 -0
  254. package/dist/esm/modules/tide-js/Flow/AuthenticationFlows/dCMKPasswordFlow.js.map +1 -0
  255. package/dist/esm/modules/tide-js/Flow/AuthenticationFlows/dCMKPasswordlessFlow.js +77 -0
  256. package/dist/esm/modules/tide-js/Flow/AuthenticationFlows/dCMKPasswordlessFlow.js.map +1 -0
  257. package/dist/esm/modules/tide-js/Flow/AuthenticationFlows/dCVKAuthenticationFlow.js +2 -0
  258. package/dist/esm/modules/tide-js/Flow/AuthenticationFlows/dCVKAuthenticationFlow.js.map +1 -0
  259. package/dist/esm/modules/tide-js/Flow/DecryptionFlows/dVVKDecryptionFlow.js +52 -0
  260. package/dist/esm/modules/tide-js/Flow/DecryptionFlows/dVVKDecryptionFlow.js.map +1 -0
  261. package/dist/esm/modules/tide-js/Flow/EncryptionFlows/AuthorizedEncryptionFlow.js +174 -0
  262. package/dist/esm/modules/tide-js/Flow/EncryptionFlows/AuthorizedEncryptionFlow.js.map +1 -0
  263. package/dist/esm/modules/tide-js/Flow/SigningFlows/AuthorizedSigningFlow.js +43 -0
  264. package/dist/esm/modules/tide-js/Flow/SigningFlows/AuthorizedSigningFlow.js.map +1 -0
  265. package/dist/esm/modules/tide-js/Flow/SigningFlows/dTestVVkSigningFlow.js +64 -0
  266. package/dist/esm/modules/tide-js/Flow/SigningFlows/dTestVVkSigningFlow.js.map +1 -0
  267. package/dist/esm/modules/tide-js/Flow/SigningFlows/dVVKSigningFlow.js +67 -0
  268. package/dist/esm/modules/tide-js/Flow/SigningFlows/dVVKSigningFlow.js.map +1 -0
  269. package/dist/esm/modules/tide-js/Flow/SigningFlows/dVVKSigningFlow_DEPRECATED.js +61 -0
  270. package/dist/esm/modules/tide-js/Flow/SigningFlows/dVVKSigningFlow_DEPRECATED.js.map +1 -0
  271. package/dist/esm/modules/tide-js/Flow/SimulatorFlow.js +51 -0
  272. package/dist/esm/modules/tide-js/Flow/SimulatorFlow.js.map +1 -0
  273. package/dist/esm/modules/tide-js/Flow/VoucherFlows/VoucherFlow.js +45 -0
  274. package/dist/esm/modules/tide-js/Flow/VoucherFlows/VoucherFlow.js.map +1 -0
  275. package/dist/esm/modules/tide-js/Flow/dAccountRecoveryFlow.js +89 -0
  276. package/dist/esm/modules/tide-js/Flow/dAccountRecoveryFlow.js.map +1 -0
  277. package/dist/esm/modules/tide-js/Flow/dKeyGenerationFlow.js +213 -0
  278. package/dist/esm/modules/tide-js/Flow/dKeyGenerationFlow.js.map +1 -0
  279. package/dist/esm/modules/tide-js/Math/DecryptRequest.js +46 -0
  280. package/dist/esm/modules/tide-js/Math/DecryptRequest.js.map +1 -0
  281. package/dist/esm/modules/tide-js/Math/EncryptRequest.js +90 -0
  282. package/dist/esm/modules/tide-js/Math/EncryptRequest.js.map +1 -0
  283. package/dist/esm/modules/tide-js/Math/KeyAuthentication.js +211 -0
  284. package/dist/esm/modules/tide-js/Math/KeyAuthentication.js.map +1 -0
  285. package/dist/esm/modules/tide-js/Math/KeyDecryption.js +15 -0
  286. package/dist/esm/modules/tide-js/Math/KeyDecryption.js.map +1 -0
  287. package/dist/esm/modules/tide-js/Math/KeyGeneration.js +141 -0
  288. package/dist/esm/modules/tide-js/Math/KeyGeneration.js.map +1 -0
  289. package/dist/esm/modules/tide-js/Math/KeySigning.js +20 -0
  290. package/dist/esm/modules/tide-js/Math/KeySigning.js.map +1 -0
  291. package/dist/esm/modules/tide-js/Models/AdminAuthorization.js +79 -0
  292. package/dist/esm/modules/tide-js/Models/AdminAuthorization.js.map +1 -0
  293. package/dist/esm/modules/tide-js/Models/AuthRequest.js +63 -0
  294. package/dist/esm/modules/tide-js/Models/AuthRequest.js.map +1 -0
  295. package/dist/esm/modules/tide-js/Models/AuthorizationBuilder.js +55 -0
  296. package/dist/esm/modules/tide-js/Models/AuthorizationBuilder.js.map +1 -0
  297. package/dist/esm/modules/tide-js/Models/BaseTideRequest.js +103 -0
  298. package/dist/esm/modules/tide-js/Models/BaseTideRequest.js.map +1 -0
  299. package/dist/esm/modules/tide-js/Models/Cardano/CardanoTxBody.js +195 -0
  300. package/dist/esm/modules/tide-js/Models/Cardano/CardanoTxBody.js.map +1 -0
  301. package/dist/esm/modules/tide-js/Models/Datum.js +38 -0
  302. package/dist/esm/modules/tide-js/Models/Datum.js.map +1 -0
  303. package/dist/esm/modules/tide-js/Models/Doken.js +134 -0
  304. package/dist/esm/modules/tide-js/Models/Doken.js.map +1 -0
  305. package/dist/esm/modules/tide-js/Models/EnclaveEntry.js +44 -0
  306. package/dist/esm/modules/tide-js/Models/EnclaveEntry.js.map +1 -0
  307. package/dist/esm/modules/tide-js/Models/Infos/KeyInfo.js +43 -0
  308. package/dist/esm/modules/tide-js/Models/Infos/KeyInfo.js.map +1 -0
  309. package/dist/esm/modules/tide-js/Models/Infos/OrkInfo.js +50 -0
  310. package/dist/esm/modules/tide-js/Models/Infos/OrkInfo.js.map +1 -0
  311. package/dist/esm/modules/tide-js/Models/InitializationCertificate.js +32 -0
  312. package/dist/esm/modules/tide-js/Models/InitializationCertificate.js.map +1 -0
  313. package/dist/esm/modules/tide-js/Models/ModelRegistry.js +169 -0
  314. package/dist/esm/modules/tide-js/Models/ModelRegistry.js.map +1 -0
  315. package/dist/esm/modules/tide-js/Models/Responses/KeyAuth/Authenticate/AuthenticateResponse.js +31 -0
  316. package/dist/esm/modules/tide-js/Models/Responses/KeyAuth/Authenticate/AuthenticateResponse.js.map +1 -0
  317. package/dist/esm/modules/tide-js/Models/Responses/KeyAuth/Convert/CMKConvertResponse.js +33 -0
  318. package/dist/esm/modules/tide-js/Models/Responses/KeyAuth/Convert/CMKConvertResponse.js.map +1 -0
  319. package/dist/esm/modules/tide-js/Models/Responses/KeyAuth/Convert/ConvertRememberedResponse.js +33 -0
  320. package/dist/esm/modules/tide-js/Models/Responses/KeyAuth/Convert/ConvertRememberedResponse.js.map +1 -0
  321. package/dist/esm/modules/tide-js/Models/Responses/KeyAuth/Convert/DecryptedCMKConvertResponse.js +31 -0
  322. package/dist/esm/modules/tide-js/Models/Responses/KeyAuth/Convert/DecryptedCMKConvertResponse.js.map +1 -0
  323. package/dist/esm/modules/tide-js/Models/Responses/KeyAuth/Convert/DecryptedConvertRememberedResponse.js +34 -0
  324. package/dist/esm/modules/tide-js/Models/Responses/KeyAuth/Convert/DecryptedConvertRememberedResponse.js.map +1 -0
  325. package/dist/esm/modules/tide-js/Models/Responses/KeyAuth/Convert/DecryptedPrismConvertResponse.js +34 -0
  326. package/dist/esm/modules/tide-js/Models/Responses/KeyAuth/Convert/DecryptedPrismConvertResponse.js.map +1 -0
  327. package/dist/esm/modules/tide-js/Models/Responses/KeyAuth/Convert/PrismConvertResponse.js +33 -0
  328. package/dist/esm/modules/tide-js/Models/Responses/KeyAuth/Convert/PrismConvertResponse.js.map +1 -0
  329. package/dist/esm/modules/tide-js/Models/Responses/KeyGen/GenShard/DecryptedGenShardResponse.js +46 -0
  330. package/dist/esm/modules/tide-js/Models/Responses/KeyGen/GenShard/DecryptedGenShardResponse.js.map +1 -0
  331. package/dist/esm/modules/tide-js/Models/Responses/KeyGen/GenShard/GenShardResponse.js +31 -0
  332. package/dist/esm/modules/tide-js/Models/Responses/KeyGen/GenShard/GenShardResponse.js.map +1 -0
  333. package/dist/esm/modules/tide-js/Models/Responses/KeyGen/SetShard/DecryptedSetShardResponse.js +36 -0
  334. package/dist/esm/modules/tide-js/Models/Responses/KeyGen/SetShard/DecryptedSetShardResponse.js.map +1 -0
  335. package/dist/esm/modules/tide-js/Models/Responses/KeyGen/SetShard/SetShardResponse.js +28 -0
  336. package/dist/esm/modules/tide-js/Models/Responses/KeyGen/SetShard/SetShardResponse.js.map +1 -0
  337. package/dist/esm/modules/tide-js/Models/Responses/Reservation/ReservationConfirmation.js +23 -0
  338. package/dist/esm/modules/tide-js/Models/Responses/Reservation/ReservationConfirmation.js.map +1 -0
  339. package/dist/esm/modules/tide-js/Models/Responses/Vendor/VoucherResponse.js +38 -0
  340. package/dist/esm/modules/tide-js/Models/Responses/Vendor/VoucherResponse.js.map +1 -0
  341. package/dist/esm/modules/tide-js/Models/Rules/RuleSettingSignRequest.js +75 -0
  342. package/dist/esm/modules/tide-js/Models/Rules/RuleSettingSignRequest.js.map +1 -0
  343. package/dist/esm/modules/tide-js/Models/Rules/RuleSettings.js +25 -0
  344. package/dist/esm/modules/tide-js/Models/Rules/RuleSettings.js.map +1 -0
  345. package/dist/esm/modules/tide-js/Models/SerializedField.js +61 -0
  346. package/dist/esm/modules/tide-js/Models/SerializedField.js.map +1 -0
  347. package/dist/esm/modules/tide-js/Models/Transactions/CardanoTxBodySignRequest.js +51 -0
  348. package/dist/esm/modules/tide-js/Models/Transactions/CardanoTxBodySignRequest.js.map +1 -0
  349. package/dist/esm/modules/tide-js/Models/VendorData.js +30 -0
  350. package/dist/esm/modules/tide-js/Models/VendorData.js.map +1 -0
  351. package/dist/esm/modules/tide-js/Models/VendorSettings.js +23 -0
  352. package/dist/esm/modules/tide-js/Models/VendorSettings.js.map +1 -0
  353. package/dist/esm/modules/tide-js/RulesEngine/RuleEngineService.js +89 -0
  354. package/dist/esm/modules/tide-js/RulesEngine/RuleEngineService.js.map +1 -0
  355. package/dist/esm/modules/tide-js/RulesEngine/helperFunctions.js +69 -0
  356. package/dist/esm/modules/tide-js/RulesEngine/helperFunctions.js.map +1 -0
  357. package/dist/esm/modules/tide-js/RulesEngine/jsonHelpers.js +64 -0
  358. package/dist/esm/modules/tide-js/RulesEngine/jsonHelpers.js.map +1 -0
  359. package/dist/esm/modules/tide-js/RulesEngine/thresholdRules.js +100 -0
  360. package/dist/esm/modules/tide-js/RulesEngine/thresholdRules.js.map +1 -0
  361. package/dist/esm/modules/tide-js/Tests/AccountRecovery.js +52 -0
  362. package/dist/esm/modules/tide-js/Tests/AccountRecovery.js.map +1 -0
  363. package/dist/esm/modules/tide-js/Tests/Components.js +15 -0
  364. package/dist/esm/modules/tide-js/Tests/Components.js.map +1 -0
  365. package/dist/esm/modules/tide-js/Tests/Encryption.js +164 -0
  366. package/dist/esm/modules/tide-js/Tests/Encryption.js.map +1 -0
  367. package/dist/esm/modules/tide-js/Tests/KeyAuthentication.js +106 -0
  368. package/dist/esm/modules/tide-js/Tests/KeyAuthentication.js.map +1 -0
  369. package/dist/esm/modules/tide-js/Tests/KeyGeneration.js +213 -0
  370. package/dist/esm/modules/tide-js/Tests/KeyGeneration.js.map +1 -0
  371. package/dist/esm/modules/tide-js/Tests/StripeLicensing.js +34 -0
  372. package/dist/esm/modules/tide-js/Tests/StripeLicensing.js.map +1 -0
  373. package/dist/esm/modules/tide-js/Tests/TideKey.js +11 -0
  374. package/dist/esm/modules/tide-js/Tests/TideKey.js.map +1 -0
  375. package/dist/esm/modules/tide-js/Tests/Verifier.js +9 -0
  376. package/dist/esm/modules/tide-js/Tests/Verifier.js.map +1 -0
  377. package/dist/esm/modules/tide-js/Tests/index.js +37 -0
  378. package/dist/esm/modules/tide-js/Tests/index.js.map +1 -0
  379. package/dist/esm/modules/tide-js/Tools/Utils.js +273 -0
  380. package/dist/esm/modules/tide-js/Tools/Utils.js.map +1 -0
  381. package/dist/esm/modules/tide-js/index.js +27 -0
  382. package/dist/esm/modules/tide-js/index.js.map +1 -0
  383. package/dist/esm/src/IAMService.js +272 -0
  384. package/dist/esm/src/IAMService.js.map +1 -0
  385. package/dist/esm/src/index.js +8 -0
  386. package/dist/esm/src/index.js.map +1 -0
  387. package/dist/silent-check-sso.html +1 -0
  388. package/dist/types/lib/tidecloak.d.ts +36 -0
  389. package/dist/types/modules/tide-js/Clients/ClientBase.d.ts +72 -0
  390. package/dist/types/modules/tide-js/Clients/NetworkClient.d.ts +23 -0
  391. package/dist/types/modules/tide-js/Clients/NodeClient.d.ts +187 -0
  392. package/dist/types/modules/tide-js/Clients/PollingClient.d.ts +22 -0
  393. package/dist/types/modules/tide-js/Clients/VoucherClient.d.ts +12 -0
  394. package/dist/types/modules/tide-js/Cryptide/Components/BaseComponent.d.ts +59 -0
  395. package/dist/types/modules/tide-js/Cryptide/Components/ComponentRegistry.d.ts +19 -0
  396. package/dist/types/modules/tide-js/Cryptide/Components/Schemes/AES/AESScheme.d.ts +4 -0
  397. package/dist/types/modules/tide-js/Cryptide/Components/Schemes/BaseScheme.d.ts +10 -0
  398. package/dist/types/modules/tide-js/Cryptide/Components/Schemes/Ed25519/Ed25519Components.d.ts +51 -0
  399. package/dist/types/modules/tide-js/Cryptide/Components/Schemes/Ed25519/Ed25519Scheme.d.ts +10 -0
  400. package/dist/types/modules/tide-js/Cryptide/Components/Schemes/SchemeRegistry.d.ts +3 -0
  401. package/dist/types/modules/tide-js/Cryptide/Ed25519.d.ts +114 -0
  402. package/dist/types/modules/tide-js/Cryptide/Encryption/AES.d.ts +30 -0
  403. package/dist/types/modules/tide-js/Cryptide/Encryption/DH.d.ts +12 -0
  404. package/dist/types/modules/tide-js/Cryptide/Encryption/ElGamal.d.ts +20 -0
  405. package/dist/types/modules/tide-js/Cryptide/Hashing/H2P.d.ts +7 -0
  406. package/dist/types/modules/tide-js/Cryptide/Hashing/Hash.d.ts +16 -0
  407. package/dist/types/modules/tide-js/Cryptide/Interpolation.d.ts +47 -0
  408. package/dist/types/modules/tide-js/Cryptide/Math.d.ts +45 -0
  409. package/dist/types/modules/tide-js/Cryptide/Serialization.d.ts +195 -0
  410. package/dist/types/modules/tide-js/Cryptide/Signing/BlindSig.d.ts +32 -0
  411. package/dist/types/modules/tide-js/Cryptide/Signing/EdDSA.d.ts +24 -0
  412. package/dist/types/modules/tide-js/Cryptide/Signing/TideSignature.d.ts +50 -0
  413. package/dist/types/modules/tide-js/Cryptide/TideKey.d.ts +24 -0
  414. package/dist/types/modules/tide-js/Cryptide/TideMemoryObjects.d.ts +15 -0
  415. package/dist/types/modules/tide-js/Cryptide/index.d.ts +10 -0
  416. package/dist/types/modules/tide-js/Flow/AuthenticationFlows/dCMKAcceptAdminFlow.d.ts +2 -0
  417. package/dist/types/modules/tide-js/Flow/AuthenticationFlows/dCMKPasswordFlow.d.ts +64 -0
  418. package/dist/types/modules/tide-js/Flow/AuthenticationFlows/dCMKPasswordlessFlow.d.ts +37 -0
  419. package/dist/types/modules/tide-js/Flow/AuthenticationFlows/dCVKAuthenticationFlow.d.ts +1 -0
  420. package/dist/types/modules/tide-js/Flow/DecryptionFlows/dVVKDecryptionFlow.d.ts +31 -0
  421. package/dist/types/modules/tide-js/Flow/EncryptionFlows/AuthorizedEncryptionFlow.d.ts +75 -0
  422. package/dist/types/modules/tide-js/Flow/SigningFlows/AuthorizedSigningFlow.d.ts +51 -0
  423. package/dist/types/modules/tide-js/Flow/SigningFlows/dTestVVkSigningFlow.d.ts +25 -0
  424. package/dist/types/modules/tide-js/Flow/SigningFlows/dVVKSigningFlow.d.ts +32 -0
  425. package/dist/types/modules/tide-js/Flow/SigningFlows/dVVKSigningFlow_DEPRECATED.d.ts +30 -0
  426. package/dist/types/modules/tide-js/Flow/SimulatorFlow.d.ts +13 -0
  427. package/dist/types/modules/tide-js/Flow/VoucherFlows/VoucherFlow.d.ts +23 -0
  428. package/dist/types/modules/tide-js/Flow/dAccountRecoveryFlow.d.ts +41 -0
  429. package/dist/types/modules/tide-js/Flow/dKeyGenerationFlow.d.ts +104 -0
  430. package/dist/types/modules/tide-js/Math/DecryptRequest.d.ts +19 -0
  431. package/dist/types/modules/tide-js/Math/EncryptRequest.d.ts +57 -0
  432. package/dist/types/modules/tide-js/Math/KeyAuthentication.d.ts +95 -0
  433. package/dist/types/modules/tide-js/Math/KeyDecryption.d.ts +7 -0
  434. package/dist/types/modules/tide-js/Math/KeyGeneration.d.ts +42 -0
  435. package/dist/types/modules/tide-js/Math/KeySigning.d.ts +10 -0
  436. package/dist/types/modules/tide-js/Models/AdminAuthorization.d.ts +16 -0
  437. package/dist/types/modules/tide-js/Models/AuthRequest.d.ts +28 -0
  438. package/dist/types/modules/tide-js/Models/AuthorizationBuilder.d.ts +17 -0
  439. package/dist/types/modules/tide-js/Models/BaseTideRequest.d.ts +52 -0
  440. package/dist/types/modules/tide-js/Models/Cardano/CardanoTxBody.d.ts +16 -0
  441. package/dist/types/modules/tide-js/Models/Datum.d.ts +14 -0
  442. package/dist/types/modules/tide-js/Models/Doken.d.ts +52 -0
  443. package/dist/types/modules/tide-js/Models/EnclaveEntry.d.ts +22 -0
  444. package/dist/types/modules/tide-js/Models/Infos/KeyInfo.d.ts +30 -0
  445. package/dist/types/modules/tide-js/Models/Infos/OrkInfo.d.ts +24 -0
  446. package/dist/types/modules/tide-js/Models/InitializationCertificate.d.ts +21 -0
  447. package/dist/types/modules/tide-js/Models/ModelRegistry.d.ts +15 -0
  448. package/dist/types/modules/tide-js/Models/Responses/KeyAuth/Authenticate/AuthenticateResponse.d.ts +9 -0
  449. package/dist/types/modules/tide-js/Models/Responses/KeyAuth/Convert/CMKConvertResponse.d.ts +11 -0
  450. package/dist/types/modules/tide-js/Models/Responses/KeyAuth/Convert/ConvertRememberedResponse.d.ts +11 -0
  451. package/dist/types/modules/tide-js/Models/Responses/KeyAuth/Convert/DecryptedCMKConvertResponse.d.ts +9 -0
  452. package/dist/types/modules/tide-js/Models/Responses/KeyAuth/Convert/DecryptedConvertRememberedResponse.d.ts +11 -0
  453. package/dist/types/modules/tide-js/Models/Responses/KeyAuth/Convert/DecryptedPrismConvertResponse.d.ts +12 -0
  454. package/dist/types/modules/tide-js/Models/Responses/KeyAuth/Convert/PrismConvertResponse.d.ts +11 -0
  455. package/dist/types/modules/tide-js/Models/Responses/KeyGen/GenShard/DecryptedGenShardResponse.d.ts +18 -0
  456. package/dist/types/modules/tide-js/Models/Responses/KeyGen/GenShard/GenShardResponse.d.ts +10 -0
  457. package/dist/types/modules/tide-js/Models/Responses/KeyGen/SetShard/DecryptedSetShardResponse.d.ts +10 -0
  458. package/dist/types/modules/tide-js/Models/Responses/KeyGen/SetShard/SetShardResponse.d.ts +8 -0
  459. package/dist/types/modules/tide-js/Models/Responses/Reservation/ReservationConfirmation.d.ts +14 -0
  460. package/dist/types/modules/tide-js/Models/Responses/Vendor/VoucherResponse.d.ts +25 -0
  461. package/dist/types/modules/tide-js/Models/Rules/RuleSettingSignRequest.d.ts +39 -0
  462. package/dist/types/modules/tide-js/Models/Rules/RuleSettings.d.ts +12 -0
  463. package/dist/types/modules/tide-js/Models/SerializedField.d.ts +20 -0
  464. package/dist/types/modules/tide-js/Models/Transactions/CardanoTxBodySignRequest.d.ts +29 -0
  465. package/dist/types/modules/tide-js/Models/VendorData.d.ts +17 -0
  466. package/dist/types/modules/tide-js/Models/VendorSettings.d.ts +14 -0
  467. package/dist/types/modules/tide-js/RulesEngine/RuleEngineService.d.ts +25 -0
  468. package/dist/types/modules/tide-js/RulesEngine/helperFunctions.d.ts +7 -0
  469. package/dist/types/modules/tide-js/RulesEngine/jsonHelpers.d.ts +11 -0
  470. package/dist/types/modules/tide-js/RulesEngine/thresholdRules.d.ts +17 -0
  471. package/dist/types/modules/tide-js/Tests/AccountRecovery.d.ts +1 -0
  472. package/dist/types/modules/tide-js/Tests/Components.d.ts +1 -0
  473. package/dist/types/modules/tide-js/Tests/Encryption.d.ts +3 -0
  474. package/dist/types/modules/tide-js/Tests/KeyAuthentication.d.ts +2 -0
  475. package/dist/types/modules/tide-js/Tests/KeyGeneration.d.ts +4 -0
  476. package/dist/types/modules/tide-js/Tests/StripeLicensing.d.ts +2 -0
  477. package/dist/types/modules/tide-js/Tests/TideKey.d.ts +1 -0
  478. package/dist/types/modules/tide-js/Tests/Verifier.d.ts +1 -0
  479. package/dist/types/modules/tide-js/Tests/index.d.ts +32 -0
  480. package/dist/types/modules/tide-js/Tools/Utils.d.ts +34 -0
  481. package/dist/types/modules/tide-js/index.d.ts +8 -0
  482. package/dist/types/src/IAMService.d.ts +106 -0
  483. package/dist/types/src/index.d.ts +4 -0
  484. package/package.json +48 -0
  485. package/scripts/postinstall.js +43 -0
@@ -0,0 +1,219 @@
1
+ "use strict";
2
+ //
3
+ // Tide Protocol - Infrastructure for a TRUE Zero-Trust paradigm
4
+ // Copyright (C) 2022 Tide Foundation Ltd
5
+ //
6
+ // This program is free software and is subject to the terms of
7
+ // the Tide Community Open Code License as published by the
8
+ // Tide Foundation Limited. You may modify it and redistribute
9
+ // it in accordance with and subject to the terms of that License.
10
+ // This program is distributed WITHOUT WARRANTY of any kind,
11
+ // including without any implied warranty of MERCHANTABILITY or
12
+ // FITNESS FOR A PARTICULAR PURPOSE.
13
+ // See the Tide Community Open Code License for more details.
14
+ // You should have received a copy of the Tide Community Open
15
+ // Code License along with this program.
16
+ // If not, see https://tide.org/licenses_tcoc2-0-0-en
17
+ //
18
+ var __importDefault = (this && this.__importDefault) || function (mod) {
19
+ return (mod && mod.__esModule) ? mod : { "default": mod };
20
+ };
21
+ Object.defineProperty(exports, "__esModule", { value: true });
22
+ const NodeClient_js_1 = __importDefault(require("../Clients/NodeClient.js"));
23
+ const OrkInfo_js_1 = __importDefault(require("../Models/Infos/OrkInfo.js"));
24
+ const KeyGeneration_js_1 = require("../Math/KeyGeneration.js");
25
+ const Utils_js_1 = require("../Tools/Utils.js");
26
+ const Math_js_1 = require("../Cryptide/Math.js");
27
+ const Ed25519_js_1 = require("../Cryptide/Ed25519.js");
28
+ const Serialization_js_1 = require("../Cryptide/Serialization.js");
29
+ const index_js_1 = require("../Cryptide/index.js");
30
+ const VoucherFlow_js_1 = __importDefault(require("./VoucherFlows/VoucherFlow.js"));
31
+ const NetworkClient_js_1 = __importDefault(require("../Clients/NetworkClient.js"));
32
+ const SimulatorFlow_js_1 = __importDefault(require("./SimulatorFlow.js"));
33
+ const Ed25519Components_js_1 = require("../Cryptide/Components/Schemes/Ed25519/Ed25519Components.js");
34
+ class dKeyGenerationFlow {
35
+ /**
36
+ * @param {string} uid
37
+ * @param {string} gVRK
38
+ * @param {OrkInfo[]} orks
39
+ * @param {Uint8Array} sessKey
40
+ * @param {Point} gSessKeyPub
41
+ * @param {string} purpose
42
+ * @param {string} voucherURL
43
+ * @param {string[]} emails
44
+ * @param {(0|1)[]} bitwise
45
+ * @param {string[]} selfRequesti
46
+ * @param {Point} userPublic
47
+ * @param {number} expired
48
+ */
49
+ constructor(uid, gVRK, orks, sessKey, gSessKeyPub, purpose, voucherURL, emails = null, bitwise = null, selfRequesti = [], userPublic = null, expired = null) {
50
+ if (expired != null)
51
+ if (expired < (0, Utils_js_1.CurrentTime)())
52
+ throw Error("Time has expired. Try again");
53
+ if (orks.length < Utils_js_1.Max)
54
+ throw Error("Not enough orks available to create an account");
55
+ this.uid = uid;
56
+ this.gVRK = Ed25519_js_1.Point.fromBase64(gVRK);
57
+ this.bitwise = bitwise == null ? null : bitwise;
58
+ this.orks = (0, Utils_js_1.sortORKs)(orks);
59
+ this.selfRequesti = selfRequesti;
60
+ this.userPublic = userPublic;
61
+ this.sessKey = sessKey;
62
+ this.gSessKeyPub = gSessKeyPub;
63
+ this.purpose = purpose;
64
+ this.voucherURL = voucherURL;
65
+ this.emails = emails;
66
+ this.getVouchersFunction = null;
67
+ this.savedOrkPublics = this.orks.map(o => o.orkPublic);
68
+ this.orksToWaitFor = purpose == "NEW" ? Utils_js_1.Max : Utils_js_1.Threshold;
69
+ }
70
+ static async ReserveUID(uid, voucherURL, gSessKeyPub) {
71
+ const simClient = new NetworkClient_js_1.default();
72
+ const availableOrks = (await simClient.FindReservers(uid));
73
+ const pre_activeOrks = SimulatorFlow_js_1.default.FilterInactiveOrks(availableOrks);
74
+ const reservers = availableOrks.slice(0, 5); // super unlikely all 5 orks are down
75
+ const voucherFlow = new VoucherFlow_js_1.default(reservers.map(o => o.orkPaymentPublic), voucherURL, "reserve");
76
+ const vouchers = (await voucherFlow.GetVouchers()).vouchers;
77
+ const reserveClients = reservers.map(r => new NodeClient_js_1.default(r.orkURL));
78
+ const pre_ReserveResponses = reserveClients.map((client, i) => client.ReserveUID(i, uid, 'SESSIONID', vouchers.toORK(i), gSessKeyPub));
79
+ const { fulfilledResponses } = await (0, Utils_js_1.WaitForNumberofORKs)(reservers, pre_ReserveResponses, "NEW", 1);
80
+ const lowestProximityresConf = fulfilledResponses.reduce((prev, curr) => (curr.proximity < prev.proximity ? curr : prev)); // get closest proximity
81
+ return {
82
+ reservationConfirmation: lowestProximityresConf.toString(),
83
+ activeOrks: (await pre_activeOrks)
84
+ };
85
+ }
86
+ /**
87
+ * @param {(request: string) => Promise<string> } getVouchersFunction
88
+ * @returns {dKeyGenerationFlow}
89
+ */
90
+ setVoucherRetrievalFunction(getVouchersFunction) {
91
+ this.getVouchersFunction = getVouchersFunction;
92
+ return this;
93
+ }
94
+ /**
95
+ * @param {number} numKeys
96
+ * @param {Point[]} gMultipliers
97
+ * @param {string} reservationAuth
98
+ */
99
+ async GenShard(numKeys, gMultipliers, reservationAuth = null) {
100
+ const clients = this.orks.map(ork => new NodeClient_js_1.default(ork.orkURL)); // create node clients
101
+ let vouchers;
102
+ if (this.purpose == "NEW") {
103
+ if (reservationAuth == null)
104
+ throw Error("reservationAuth must not be null for new keys");
105
+ const voucherFlow = new VoucherFlow_js_1.default(this.orks.map(o => o.orkPaymentPublic), this.voucherURL, "signup");
106
+ vouchers = (await voucherFlow.GetVouchers()).vouchers;
107
+ }
108
+ let blurs = [];
109
+ const gBluredMultipliers = gMultipliers.map(gMul => {
110
+ if (gMul != null) {
111
+ const b = (0, Math_js_1.RandomBigInt)();
112
+ blurs.push(b);
113
+ return gMul.mul(b);
114
+ }
115
+ else {
116
+ blurs.push(null);
117
+ return null;
118
+ }
119
+ });
120
+ const ids = this.orks.map(ork => ork.orkID);
121
+ let count = 0;
122
+ const pre_GenShardResponses = clients.map((client, i) => {
123
+ let auth = "";
124
+ if (this.bitwise != null) {
125
+ if (this.bitwise[i] == true) {
126
+ auth = this.selfRequesti[count];
127
+ count++;
128
+ }
129
+ }
130
+ if (this.purpose == "NEW")
131
+ return client.GenShard(i, this.uid, vouchers.toORK(i), reservationAuth, this.purpose, ids, numKeys, gBluredMultipliers, this.gSessKeyPub);
132
+ else
133
+ return client.UpdateShard(i, this.uid, this.purpose, gBluredMultipliers, auth, this.gSessKeyPub, auth == "");
134
+ });
135
+ // create prkECDHi here to save time
136
+ const prkECHi = await index_js_1.DH.generateECDHi(this.orks.map(o => o.orkPublic), this.sessKey);
137
+ const { fulfilledResponses, bitwise } = await (0, Utils_js_1.WaitForNumberofORKs)(this.orks, pre_GenShardResponses, this.purpose, this.orksToWaitFor, null, prkECHi, null, this.purpose == "NEW" ? null : (result) => {
138
+ if (result.tag == true)
139
+ return false; // tag == "", inactive ork, don't add to promises to wait for
140
+ else
141
+ return true; // active ork
142
+ });
143
+ this.gState = {
144
+ bitwise: bitwise,
145
+ keyUse: ["", ""], // not VVK, doesn't matter
146
+ prkECHi,
147
+ ...await (0, KeyGeneration_js_1.ProcessShards)(fulfilledResponses, bitwise, this.sessKey)
148
+ };
149
+ const UnblurredGMultipled = this.gState.gMultiplied.map((gMultiplied, i) => {
150
+ if (gMultiplied != null) {
151
+ return gMultiplied.public.divide(blurs[i]);
152
+ }
153
+ else {
154
+ return null;
155
+ }
156
+ });
157
+ return { gMultiplied: UnblurredGMultipled, gK: this.gState.gK };
158
+ }
159
+ /**
160
+ * @param {string} auth
161
+ * @param {string} authSig
162
+ */
163
+ async GenVVKShard(auth, authSig) {
164
+ const clients = this.orks.map(ork => new NodeClient_js_1.default(ork.orkURL)); // create node clients
165
+ const { vouchers } = await (new VoucherFlow_js_1.default(this.orks.map(o => o.orkPaymentPublic), this.voucherURL, "vendorcreation").GetVouchers(this.getVouchersFunction));
166
+ const ids = this.orks.map(ork => ork.orkID);
167
+ const pre_GenShardResponses = clients.map((client, i) => client.GenVVKShard(this.uid, this.gVRK, auth, authSig, ids, vouchers.toORK(i)));
168
+ // create prkECDHi here to save time
169
+ const prkECHi = await index_js_1.DH.generateECDHi(this.orks.map(o => o.orkPublic), this.sessKey);
170
+ const fulfilledResponses = await Promise.all(pre_GenShardResponses);
171
+ const bitwise = new Array(Utils_js_1.Max).fill(1); // all must respond
172
+ this.gState = {
173
+ bitwise: bitwise,
174
+ prkECHi,
175
+ ...await (0, KeyGeneration_js_1.ProcessShards)(fulfilledResponses, bitwise, this.sessKey, true)
176
+ };
177
+ return { gK: this.gState.gK };
178
+ }
179
+ /**
180
+ * @param {string} authorizer
181
+ * @param {string} keyType
182
+ */
183
+ async SetShard(authorizer, keyType) {
184
+ if (this.gState == undefined)
185
+ throw Error("GState is not defined");
186
+ const clients = this.orks.map(ork => new NodeClient_js_1.default(ork.orkURL)); // create node clients
187
+ const randomisedEmails = (0, Utils_js_1.randomiseEmails)(this.emails);
188
+ // No pretty place to put this line
189
+ const pre_encAuthi = this.gState.prkECHi.map(async (dh, i) => await index_js_1.AES.encryptData(JSON.stringify({
190
+ 'GR': this.gState.gR.toBase64(),
191
+ 'Auth': authorizer,
192
+ 'Email': randomisedEmails[i],
193
+ 'InitGVRK_GR': keyType == "VVK" ? this.gState.VRK_gR.map(gr => gr.toBase64()) : [],
194
+ }), dh));
195
+ const encAuthi = await Promise.all(pre_encAuthi);
196
+ const pre_SendShardResponses = clients.map((client, i) => client.SetShard(this.uid, this.gState.sortedShares[i], encAuthi[i], this.gSessKeyPub, keyType));
197
+ const SendShardResponses = await Promise.all(pre_SendShardResponses);
198
+ this.sState = await (0, KeyGeneration_js_1.CommitShardPrep)(this.uid, SendShardResponses, this.savedOrkPublics, this.gState.timestamp, this.gState.gR, this.userPublic == null ? this.gState.gK : this.userPublic, this.bitwise == null ? this.gState.bitwise : (0, Serialization_js_1.bitArrayAND)(this.gState.bitwise, this.bitwise), // given a list of orks that responded to genshard, and a list that were requested to be active, determine the particpating orks
199
+ this.purpose, this.sessKey, this.gSessKeyPub, keyType == "VVK" ? this.gState.VRK_gR : null, keyType == "VVK" ? authorizer : null);
200
+ this.gState = undefined;
201
+ const resp = {
202
+ "VRK_SIGNATURE_TO_STORE": this.sState.vrkSignatureToStore,
203
+ "M": (0, Serialization_js_1.bytesToBase64)(this.sState.M),
204
+ "FIRST_ADMIN": this.sState.firstAdmin
205
+ };
206
+ return resp;
207
+ }
208
+ /**
209
+ */
210
+ async Commit() {
211
+ if (this.sState == undefined)
212
+ throw Error("SState is undefined");
213
+ const clients = this.orks.map(ork => new NodeClient_js_1.default(ork.orkURL)); // create node clients
214
+ const pre_CommitResponses = clients.map(client => client.Commit(this.uid, this.sState.S, this.sState.gSessKeyPub));
215
+ await Promise.all(pre_CommitResponses);
216
+ }
217
+ }
218
+ exports.default = dKeyGenerationFlow;
219
+ //# sourceMappingURL=dKeyGenerationFlow.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dKeyGenerationFlow.js","sourceRoot":"","sources":["../../../../../modules/tide-js/Flow/dKeyGenerationFlow.js"],"names":[],"mappings":"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"}
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const SerializedField_js_1 = __importDefault(require("../Models/SerializedField.js"));
7
+ const AES_js_1 = require("../Cryptide/Encryption/AES.js");
8
+ const Hash_js_1 = require("../Cryptide/Hashing/Hash.js");
9
+ const Serialization_js_1 = require("../Cryptide/Serialization.js");
10
+ const Ed25519_js_1 = require("../Cryptide/Ed25519.js");
11
+ class DecryptRequest {
12
+ /**
13
+ *
14
+ * @param {Uint8Array[]} serializedFields
15
+ * @param {Uint8Array[]} ECDHi
16
+ */
17
+ static async generateRequests(serializedFields, ECDHi) {
18
+ const deserializedFields = serializedFields.map(field => SerializedField_js_1.default.deserialize(field));
19
+ const pre_encFieldChks = deserializedFields.map(df => (0, Hash_js_1.SHA256_Digest)(df.data));
20
+ const encFieldChks = await Promise.all(pre_encFieldChks);
21
+ const toEncrypt = {
22
+ Timestamps: deserializedFields.map(df => df.timestamp), // using first as theyre all the same
23
+ EncFieldChks: encFieldChks.map(e => (0, Serialization_js_1.bytesToBase64)(e)),
24
+ C1s: deserializedFields.map(df => df.key.toBase64()),
25
+ Tags: deserializedFields.map(df => df.tag),
26
+ Sigs: deserializedFields.map(df => (0, Serialization_js_1.bytesToBase64)(df.sig))
27
+ };
28
+ const pre_encRequests = ECDHi.map(ECDH => (0, AES_js_1.encryptData)(JSON.stringify(toEncrypt), ECDH));
29
+ const encRequests = await Promise.all(pre_encRequests);
30
+ return {
31
+ encRequests,
32
+ encryptedFields: deserializedFields.map(df => df.data),
33
+ tags: toEncrypt.Tags // i don't want to use map again here
34
+ };
35
+ }
36
+ /**
37
+ * @param {Uint8Array[]} encryptedFields
38
+ * @param {Uint8Array[]} ECDHi
39
+ * @param {string[]} encryptedFieldKeys
40
+ * @param {bignt[]} lis
41
+ */
42
+ static async decryptFields(encryptedFields, ECDHi, encryptedFieldKeys, lis) {
43
+ const pre_decryptedData = encryptedFieldKeys.map(async (encK, i) => JSON.parse(await (0, AES_js_1.decryptData)(encK, ECDHi[i])));
44
+ const decryptedData = await Promise.all(pre_decryptedData);
45
+ const fieldKeys = encryptedFields.map((_, i) => decryptedData.reduce((sum, next, j) => sum.add(Ed25519_js_1.Point.fromBase64(next.AppliedFieldKeys[i]).mul(lis[j])), Ed25519_js_1.Point.ZERO)); // main loop over amount of encrypted datas
46
+ const pre_decryptedFields = fieldKeys.map(async (fk, i) => (0, AES_js_1.decryptDataRawOutput)(encryptedFields[i], await (0, Hash_js_1.SHA256_Digest)(fk.toRawBytes())));
47
+ const decryptedFields = await Promise.all(pre_decryptedFields);
48
+ return decryptedFields;
49
+ }
50
+ }
51
+ exports.default = DecryptRequest;
52
+ //# sourceMappingURL=DecryptRequest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DecryptRequest.js","sourceRoot":"","sources":["../../../../../modules/tide-js/Math/DecryptRequest.js"],"names":[],"mappings":"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"}
@@ -0,0 +1,96 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const Hash_js_1 = require("../Cryptide/Hashing/Hash.js");
7
+ const Serialization_js_1 = require("../Cryptide/Serialization.js");
8
+ const Math_js_1 = require("../Cryptide/Math.js");
9
+ const index_js_1 = require("../Cryptide/index.js");
10
+ const AES_js_1 = require("../Cryptide/Encryption/AES.js");
11
+ const Datum_js_1 = __importDefault(require("../Models/Datum.js"));
12
+ const SerializedField_js_1 = __importDefault(require("../Models/SerializedField.js"));
13
+ const Ed25519_js_1 = require("../Cryptide/Ed25519.js");
14
+ class EncryptRequest {
15
+ /**
16
+ *
17
+ * @param {Point} gCVK
18
+ * @param {Uint8Array} fieldDatum
19
+ * @param {number} timestamp
20
+ */
21
+ static async generatePartialRequest(gCVK, fieldDatum, timestamp) {
22
+ const ephKey = (0, Math_js_1.RandomBigInt)(); // not to be stored
23
+ const fieldKey = await (0, Hash_js_1.SHA256_Digest)((gCVK.mul(ephKey).toRawBytes())); // not to be stored
24
+ const encField = await (0, AES_js_1.encryptDataRawOutput)(fieldDatum, fieldKey);
25
+ const data = {
26
+ C1: Ed25519_js_1.Point.BASE.mul(ephKey),
27
+ EncField: encField,
28
+ EncFieldChk: await (0, Hash_js_1.SHA256_Digest)(encField),
29
+ timestamp: timestamp
30
+ };
31
+ return data;
32
+ }
33
+ /**
34
+ * @param {{
35
+ C1: Point;
36
+ EncField: Uint8Array;
37
+ EncFieldChk: Uint8Array;
38
+ timestamp: number;
39
+ }[]} partialRequests
40
+ * @param {bigint} li
41
+ * @param {Datum[]} datums
42
+ * @param {Point[]} gCVKRi
43
+ * @param {Uint8Array} ECDHi
44
+ */
45
+ static async generateEncryptedRequest(partialRequests, li, datums, gCVKRi, ECDHi) {
46
+ const toEncrypt = {
47
+ Timestamp: partialRequests[0].timestamp, // using first as theyre all the same
48
+ EncFieldChks: partialRequests.map(p => (0, Serialization_js_1.bytesToBase64)(p.EncFieldChk)),
49
+ C1s: partialRequests.map(p => p.C1.toBase64()),
50
+ Tags: datums.map(d => d.tag),
51
+ GCVKRi: gCVKRi.map(gcvkr => gcvkr.toBase64()),
52
+ Li: li.toString()
53
+ };
54
+ const encrypted = await (0, AES_js_1.encryptData)(JSON.stringify(toEncrypt), ECDHi);
55
+ return encrypted;
56
+ }
57
+ /**
58
+ * Will decrypt encrypted sigs, validate those sigs, and generate the serialized fields for the vendor to store
59
+ * @param {string[]} encryptedS
60
+ * @param {{
61
+ EncFields: Uint8Array[];
62
+ EncFieldChks: Uint8Array[];
63
+ C1s: Point[];
64
+ Tags: number[];
65
+ GCVKRi: Point[];
66
+ Timestamp: number;
67
+ }} plainRequest
68
+ * @param {bigint[]} lis
69
+ * @param {Uint8Array[]} ECDHi
70
+ * @param {Point} gCVK
71
+ */
72
+ static async generateSerializedFields(encryptedS, plainRequest, lis, ECDHi, gCVK) {
73
+ const pre_decryptedData = encryptedS.map(async (encS, i) => JSON.parse(await (0, AES_js_1.decryptData)(encS, ECDHi[i])));
74
+ const decryptedData = await Promise.all(pre_decryptedData);
75
+ const CVKSi = plainRequest.C1s.map((_, i) => (0, Math_js_1.mod)(decryptedData.reduce((sum, next, j) => sum + (0, Math_js_1.mod)(BigInt(next.Si[i]) * lis[j]), BigInt(0))));
76
+ // validate signatures
77
+ for (let i = 0; i < plainRequest.C1s.length; i++) {
78
+ const M = await (0, Hash_js_1.SHA256_Digest)((0, Serialization_js_1.ConcatUint8Arrays)([
79
+ plainRequest.EncFieldChks[i],
80
+ plainRequest.C1s[i].toRawBytes(),
81
+ (0, Serialization_js_1.numberToUint8Array)(plainRequest.Tags[i], 8),
82
+ (0, Serialization_js_1.numberToUint8Array)(plainRequest.Timestamp, 8)
83
+ ]));
84
+ const valid = await index_js_1.EdDSA.verifyRaw(CVKSi[i], plainRequest.GCVKRi[i], gCVK, M);
85
+ if (valid == false) {
86
+ throw Error("Generalize Serialized Fields: Not all fields passed verification");
87
+ }
88
+ }
89
+ ;
90
+ // Create Serialized Fields as neat little byte arrays
91
+ const serializedFields = CVKSi.map((CVKS, i) => SerializedField_js_1.default.create(plainRequest.EncFields[i], plainRequest.C1s[i], plainRequest.Tags[i], plainRequest.Timestamp, plainRequest.GCVKRi[i], CVKS));
92
+ return serializedFields;
93
+ }
94
+ }
95
+ exports.default = EncryptRequest;
96
+ //# sourceMappingURL=EncryptRequest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EncryptRequest.js","sourceRoot":"","sources":["../../../../../modules/tide-js/Math/EncryptRequest.js"],"names":[],"mappings":"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"}
@@ -0,0 +1,222 @@
1
+ "use strict";
2
+ //
3
+ // Tide Protocol - Infrastructure for a TRUE Zero-Trust paradigm
4
+ // Copyright (C) 2022 Tide Foundation Ltd
5
+ //
6
+ // This program is free software and is subject to the terms of
7
+ // the Tide Community Open Code License as published by the
8
+ // Tide Foundation Limited. You may modify it and redistribute
9
+ // it in accordance with and subject to the terms of that License.
10
+ // This program is distributed WITHOUT WARRANTY of any kind,
11
+ // including without any implied warranty of MERCHANTABILITY or
12
+ // FITNESS FOR A PARTICULAR PURPOSE.
13
+ // See the Tide Community Open Code License for more details.
14
+ // You should have received a copy of the Tide Community Open
15
+ // Code License along with this program.
16
+ // If not, see https://tide.org/licenses_tcoc2-0-0-en
17
+ //
18
+ var __importDefault = (this && this.__importDefault) || function (mod) {
19
+ return (mod && mod.__esModule) ? mod : { "default": mod };
20
+ };
21
+ Object.defineProperty(exports, "__esModule", { value: true });
22
+ exports.GetDecryptedChallenge = GetDecryptedChallenge;
23
+ exports.PrismConvertReply = PrismConvertReply;
24
+ exports.CmkConvertReply = CmkConvertReply;
25
+ exports.ConvertRememberedReply = ConvertRememberedReply;
26
+ exports.AuthenticateBasicReply = AuthenticateBasicReply;
27
+ exports.AuthenticateConsentReply = AuthenticateConsentReply;
28
+ const Hash_js_1 = require("../Cryptide/Hashing/Hash.js");
29
+ const Utils_js_1 = require("../Tools/Utils.js");
30
+ const Serialization_js_1 = require("../Cryptide/Serialization.js");
31
+ const Math_js_1 = require("../Cryptide/Math.js");
32
+ const PrismConvertResponse_js_1 = __importDefault(require("../Models/Responses/KeyAuth/Convert/PrismConvertResponse.js"));
33
+ const index_js_1 = require("../Cryptide/index.js");
34
+ const DecryptedCMKConvertResponse_js_1 = __importDefault(require("../Models/Responses/KeyAuth/Convert/DecryptedCMKConvertResponse.js"));
35
+ const CMKConvertResponse_js_1 = __importDefault(require("../Models/Responses/KeyAuth/Convert/CMKConvertResponse.js"));
36
+ const DecryptedPrismConvertResponse_js_1 = __importDefault(require("../Models/Responses/KeyAuth/Convert/DecryptedPrismConvertResponse.js"));
37
+ const AuthRequest_js_1 = __importDefault(require("../Models/AuthRequest.js"));
38
+ const BlindSig_js_1 = require("../Cryptide/Signing/BlindSig.js");
39
+ const AuthenticateResponse_js_1 = __importDefault(require("../Models/Responses/KeyAuth/Authenticate/AuthenticateResponse.js"));
40
+ const DecryptedConvertRememberedResponse_js_1 = __importDefault(require("../Models/Responses/KeyAuth/Convert/DecryptedConvertRememberedResponse.js"));
41
+ const ConvertRememberedResponse_js_1 = __importDefault(require("../Models/Responses/KeyAuth/Convert/ConvertRememberedResponse.js"));
42
+ const VendorData_js_1 = __importDefault(require("../Models/VendorData.js"));
43
+ const Ed25519_js_1 = require("../Cryptide/Ed25519.js");
44
+ const Ed25519Components_js_1 = require("../Cryptide/Components/Schemes/Ed25519/Ed25519Components.js");
45
+ /**
46
+ * For use in change password flow
47
+ * @param {PrismConvertResponse[]} convertResponses
48
+ * @param {bigint[]} lis
49
+ * @param {Point[]} mgORKi
50
+ * @param {bigint} r1
51
+ * @returns
52
+ */
53
+ async function GetDecryptedChallenge(convertResponses, lis, mgORKi, r1) {
54
+ const gPassPRISM = convertResponses.reduce((sum, next, i) => sum.add(next.GBlurPassPrismi.mul(lis[i])), Ed25519_js_1.Point.ZERO).mul((0, Math_js_1.mod_inv)(r1));
55
+ const gPassPRISM_hashed = (0, Math_js_1.mod)((0, Serialization_js_1.BigIntFromByteArray)(await (0, Hash_js_1.SHA256_Digest)(gPassPRISM.toRawBytes())));
56
+ const pre_prismAuthi = mgORKi.map(async (ork) => await (0, Hash_js_1.SHA256_Digest)(ork.mul(gPassPRISM_hashed).toRawBytes())); // create a prismAuthi for each ork
57
+ const prismAuthis = await Promise.all(pre_prismAuthi); // wait for all async functions to finish
58
+ let decryptedChallenges;
59
+ try {
60
+ const pre_decData = convertResponses.map(async (resp, i) => await index_js_1.AES.decryptData(resp.EncChallengei, prismAuthis[i]));
61
+ decryptedChallenges = await Promise.all(pre_decData);
62
+ }
63
+ catch {
64
+ throw Error("enclave.invalidAccount");
65
+ }
66
+ return decryptedChallenges;
67
+ }
68
+ /**
69
+ * @param {PrismConvertResponse[]} convertResponses
70
+ * @param {bigint[]} ids
71
+ * @param {Point[]} mgORKi
72
+ * @param {bigint} r1
73
+ * @param {Uint8Array[]} prkECDHi
74
+ */
75
+ async function PrismConvertReply(convertResponses, ids, mgORKi, r1, prkECDHi) {
76
+ // ∑ gPass ⋅ r1 ⋅ PRISMi ⋅ li / r1
77
+ const gPassPRISM = index_js_1.Interpolation.AggregatePointsWithIds(convertResponses.map(resp => resp.GBlurPassPrismi), ids).divide(r1);
78
+ const gPassPRISM_hashed = await gPassPRISM.hash();
79
+ const prismAuthis = await index_js_1.DH.generateECDHi(mgORKi, gPassPRISM_hashed);
80
+ let decPrismRequesti;
81
+ try {
82
+ const pre_decPrismRequesti = convertResponses.map(async (chall, i) => DecryptedPrismConvertResponse_js_1.default.from(await index_js_1.AES.decryptData(chall.EncRequesti, prismAuthis[i])));
83
+ decPrismRequesti = await Promise.all(pre_decPrismRequesti);
84
+ }
85
+ catch {
86
+ throw Error("enclave.invalidAccount");
87
+ }
88
+ const timestampi = (0, Math_js_1.median)(decPrismRequesti.map(resp => resp.Timestampi));
89
+ const pre_selfRequesti = decPrismRequesti.map(async (req, i) => await index_js_1.AES.decryptData(req.PRKRequesti, prkECDHi[i]));
90
+ const selfRequesti = await Promise.all(pre_selfRequesti);
91
+ // Calculate when the stored token expires
92
+ const expired = (0, Utils_js_1.CurrentTime)() + (0, Math_js_1.Min)(decPrismRequesti.map(d => d.Exti));
93
+ return { prismAuthis, timestampi, selfRequesti, expired };
94
+ }
95
+ /**
96
+ * @param {CMKConvertResponse[]} convertResponses
97
+ * @param {bigint[]} ids
98
+ * @param {Uint8Array[]} prismAuthis
99
+ * @param {Point} gCMK
100
+ * @param {bigint} timestampi
101
+ * @param {string} sessID
102
+ * @param {string} purpose
103
+ * @param {Point} qPub
104
+ * @param {bigint} uDeObf
105
+ * @param {bigint} blurerKPriv
106
+ * @param {Ed25519PublicComponent} gSessKeyPub
107
+ */
108
+ async function CmkConvertReply(convertResponses, ids, prismAuthis, gCMK, timestampi, sessID, purpose, qPub, uDeObf, blurerKPriv, gSessKeyPub) {
109
+ let decData;
110
+ try {
111
+ const pre_decData = convertResponses.map(async (resp, i) => DecryptedCMKConvertResponse_js_1.default.from(await index_js_1.AES.decryptData(resp.EncChallengei, prismAuthis[i])));
112
+ decData = await Promise.all(pre_decData);
113
+ }
114
+ catch {
115
+ throw Error("enclave.invalidAccount");
116
+ }
117
+ const userPRISM = index_js_1.Interpolation.AggregatePointsWithIds(decData.map(d => d.UserPRISMi), ids);
118
+ const userPRISMdec = userPRISM.mul((0, Math_js_1.mod)((0, Serialization_js_1.BigIntFromByteArray)(await index_js_1.DH.computeSharedKey(qPub, blurerKPriv))));
119
+ const gUserCMK = userPRISMdec.divide(uDeObf);
120
+ const gUserCMK_Hash = await index_js_1.Hash.SHA512_Digest(gUserCMK.toRawBytes());
121
+ const CMKMul = (0, Math_js_1.mod)((0, Serialization_js_1.BigIntFromByteArray)(gUserCMK_Hash.slice(0, 32)));
122
+ const VUID = (0, Serialization_js_1.Bytes2Hex)(gUserCMK_Hash.slice(-32));
123
+ const gCMKAuth = gCMK.mul(CMKMul);
124
+ const gCMKR = index_js_1.Interpolation.AggregatePoints(convertResponses.map(resp => resp.GCMKRi));
125
+ const authToken = AuthRequest_js_1.default.new(VUID, purpose, gSessKeyPub.Serialize().ToString(), timestampi + (0, Utils_js_1.randBetween)(30, 90), sessID);
126
+ const { blurHCMKMul, blur, gRMul } = await (0, BlindSig_js_1.genBlindMessage)(gCMKR, gCMKAuth, authToken.toUint8Array(), CMKMul);
127
+ return { VUID: VUID, blurHCMKMul, r4: blur, gCMKAuth, authToken, gRMul };
128
+ }
129
+ /**
130
+ * @param {ConvertRememberedResponse[]} responses
131
+ * @param {bigint[]} mIdORKi
132
+ * @param {Point} gCMK
133
+ * @param {string} sessID
134
+ * @param {Uint8Array[]} prkECDHi
135
+ * @param {Point} qPub
136
+ * @param {bigint} uDeObf
137
+ * @param {bigint} blurerKPriv
138
+ * @param {Ed25519PublicComponent} gSessKeyPub
139
+ */
140
+ async function ConvertRememberedReply(responses, mIdORKi, gCMK, sessID, prkECDHi, qPub, uDeObf, blurerKPriv, gSessKeyPub) {
141
+ const pre_decryptedResonses = responses.map((async (resp, i) => DecryptedConvertRememberedResponse_js_1.default.from(await index_js_1.AES.decryptData(resp.EncRequesti, prkECDHi[i]))));
142
+ const decryptedResponses = await Promise.all(pre_decryptedResonses);
143
+ const timestamp = index_js_1.Math.median(decryptedResponses.map(d => d.timestampi));
144
+ const userPRISM = index_js_1.Interpolation.AggregatePointsWithIds(decryptedResponses.map(d => d.UserPRISMi), mIdORKi);
145
+ const userPRISMdec = userPRISM.mul((0, Math_js_1.mod)((0, Serialization_js_1.BigIntFromByteArray)(await index_js_1.DH.computeSharedKey(qPub, blurerKPriv))));
146
+ const gUserCMK = userPRISMdec.divide(uDeObf);
147
+ const gUserCMK_Hash = await index_js_1.Hash.SHA512_Digest(gUserCMK.toRawBytes());
148
+ const CMKMul = (0, Math_js_1.mod)((0, Serialization_js_1.BigIntFromByteArray)(gUserCMK_Hash.slice(0, 32)));
149
+ const VUID = (0, Serialization_js_1.Bytes2Hex)(gUserCMK_Hash.slice(-32));
150
+ const gCMKAuth = gCMK.mul(CMKMul);
151
+ const gCMKR = index_js_1.Interpolation.AggregatePoints(responses.map(resp => resp.GCMKRi));
152
+ const authToken = AuthRequest_js_1.default.new(VUID, "auth", gSessKeyPub.Serialize().ToString(), timestamp + (0, Utils_js_1.randBetween)(30, 90), sessID);
153
+ const { blurHCMKMul, blur: r4, gRMul } = await (0, BlindSig_js_1.genBlindMessage)(gCMKR, gCMKAuth, authToken.toUint8Array(), CMKMul);
154
+ return {
155
+ VUID,
156
+ gCMKAuth,
157
+ blurHCMKMul,
158
+ r4,
159
+ gRMul,
160
+ authToken,
161
+ prkECDHi
162
+ };
163
+ }
164
+ /**
165
+ *
166
+ * @param {string} vuid
167
+ * @param {Uint8Array[]} prkECDHi
168
+ * @param {string[]} encSigi
169
+ * @param {Point} gCMKAuth
170
+ * @param {AuthRequest} authToken
171
+ * @param {bigint} r4
172
+ * @param {Point} gRMul
173
+ * @param {Point} gVRK
174
+ */
175
+ async function AuthenticateBasicReply(vuid, prkECDHi, encSigi, gCMKAuth, authToken, r4, gRMul, gVRK) {
176
+ const pre_authResp = encSigi.map(async (enc, i) => AuthenticateResponse_js_1.default.from(await index_js_1.AES.decryptData(enc, prkECDHi[i])));
177
+ const authResp = await Promise.all(pre_authResp);
178
+ const blindS = (0, Math_js_1.mod)(authResp.reduce((sum, next) => sum + next.Si, BigInt(0)));
179
+ const sig = await (0, BlindSig_js_1.unblindSignature)(blindS, r4);
180
+ const blindSigValid = await (0, BlindSig_js_1.verifyBlindSignature)(sig, gRMul, gCMKAuth, authToken.toUint8Array());
181
+ if (!blindSigValid)
182
+ throw Error("Blind Signature Failed");
183
+ const blindSig = (0, Serialization_js_1.bytesToBase64)((0, BlindSig_js_1.serializeBlindSig)(sig, gRMul));
184
+ if (gVRK == null) {
185
+ const vendorData = new VendorData_js_1.default(vuid, gCMKAuth, blindSig, authToken).toString();
186
+ return vendorData;
187
+ }
188
+ else {
189
+ const VendorEncryptedData = await index_js_1.ElGamal.encryptData((0, Serialization_js_1.StringToUint8Array)(new VendorData_js_1.default(vuid, gCMKAuth, blindSig, authToken).toString()), gVRK);
190
+ return VendorEncryptedData;
191
+ }
192
+ }
193
+ /**
194
+ *
195
+ * @param {string} vuid
196
+ * @param {Uint8Array[]} prkECDHi
197
+ * @param {string[]} encSigi
198
+ * @param {Point} gCMKAuth
199
+ * @param {AuthRequest} authToken
200
+ * @param {bigint} r4
201
+ * @param {Point} gRMul
202
+ * @param {Point} gVRK
203
+ * @param {bigint} sessKey
204
+ * @param {string} consentToSign
205
+ */
206
+ async function AuthenticateConsentReply(vuid, prkECDHi, encSigi, gCMKAuth, authToken, r4, gRMul, gVRK, sessKey, consentToSign) {
207
+ const pre_authResp = encSigi.map(async (enc, i) => AuthenticateResponse_js_1.default.from(await index_js_1.AES.decryptData(enc, prkECDHi[i])));
208
+ const authResp = await Promise.all(pre_authResp);
209
+ const blindS = (0, Math_js_1.mod)(authResp.reduce((sum, next) => sum + next.Si, BigInt(0)));
210
+ const sig = await (0, BlindSig_js_1.unblindSignature)(blindS, r4);
211
+ const blindSigValid = await (0, BlindSig_js_1.verifyBlindSignature)(sig, gRMul, gCMKAuth, authToken.toUint8Array());
212
+ if (!blindSigValid)
213
+ throw Error("Blind Signature Failed");
214
+ const blindSig = (0, Serialization_js_1.bytesToBase64)((0, BlindSig_js_1.serializeBlindSig)(sig, gRMul));
215
+ const vendorData = new VendorData_js_1.default(vuid, gCMKAuth, blindSig, authToken);
216
+ const VendorEncryptedData = await index_js_1.ElGamal.encryptData((0, Serialization_js_1.StringToUint8Array)(JSON.stringify({
217
+ VendorData: vendorData.toString(),
218
+ Consent: (await index_js_1.EdDSA.sign(consentToSign, sessKey))
219
+ })), gVRK);
220
+ return VendorEncryptedData;
221
+ }
222
+ //# sourceMappingURL=KeyAuthentication.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"KeyAuthentication.js","sourceRoot":"","sources":["../../../../../modules/tide-js/Math/KeyAuthentication.js"],"names":[],"mappings":"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"}