@tidecloak/js 0.9.13 → 0.12.14

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 (128) hide show
  1. package/README.md +53 -4
  2. package/dist/cjs/lib/tidecloak.js +12 -10
  3. package/dist/cjs/lib/tidecloak.js.map +1 -1
  4. package/dist/cjs/modules/tide-js/Clients/EnclaveToMobileTunnelClient.js +55 -0
  5. package/dist/cjs/modules/tide-js/Clients/EnclaveToMobileTunnelClient.js.map +1 -0
  6. package/dist/cjs/modules/tide-js/Clients/NodeClient.js +72 -31
  7. package/dist/cjs/modules/tide-js/Clients/NodeClient.js.map +1 -1
  8. package/dist/cjs/modules/tide-js/Clients/WebSocketClientBase.js +51 -0
  9. package/dist/cjs/modules/tide-js/Clients/WebSocketClientBase.js.map +1 -0
  10. package/dist/cjs/modules/tide-js/Cryptide/Components/Schemes/Ed25519/Ed25519Components.js +3 -3
  11. package/dist/cjs/modules/tide-js/Cryptide/Components/Schemes/Ed25519/Ed25519Components.js.map +1 -1
  12. package/dist/cjs/modules/tide-js/Cryptide/Components/Schemes/Ed25519/Ed25519Scheme.js +21 -0
  13. package/dist/cjs/modules/tide-js/Cryptide/Components/Schemes/Ed25519/Ed25519Scheme.js.map +1 -1
  14. package/dist/cjs/modules/tide-js/Cryptide/Encryption/ElGamal.js +12 -0
  15. package/dist/cjs/modules/tide-js/Cryptide/Encryption/ElGamal.js.map +1 -1
  16. package/dist/cjs/modules/tide-js/Cryptide/Serialization.js +2 -0
  17. package/dist/cjs/modules/tide-js/Cryptide/Serialization.js.map +1 -1
  18. package/dist/cjs/modules/tide-js/Cryptide/TideKey.js +8 -0
  19. package/dist/cjs/modules/tide-js/Cryptide/TideKey.js.map +1 -1
  20. package/dist/cjs/modules/tide-js/Flow/AuthenticationFlows/dCMKPasswordFlow.js +7 -11
  21. package/dist/cjs/modules/tide-js/Flow/AuthenticationFlows/dCMKPasswordFlow.js.map +1 -1
  22. package/dist/cjs/modules/tide-js/Flow/AuthenticationFlows/dMobileAuthenticationFlow.js +199 -0
  23. package/dist/cjs/modules/tide-js/Flow/AuthenticationFlows/dMobileAuthenticationFlow.js.map +1 -0
  24. package/dist/cjs/modules/tide-js/Flow/SigningFlows/dVVKSigningFlow.js +7 -6
  25. package/dist/cjs/modules/tide-js/Flow/SigningFlows/dVVKSigningFlow.js.map +1 -1
  26. package/dist/cjs/modules/tide-js/Flow/SigningFlows/dVVKSigningFlow2Step.js +134 -0
  27. package/dist/cjs/modules/tide-js/Flow/SigningFlows/dVVKSigningFlow2Step.js.map +1 -0
  28. package/dist/cjs/modules/tide-js/Flow/dKeyGenerationFlow.js +4 -24
  29. package/dist/cjs/modules/tide-js/Flow/dKeyGenerationFlow.js.map +1 -1
  30. package/dist/cjs/modules/tide-js/Math/KeyAuthentication.js +95 -0
  31. package/dist/cjs/modules/tide-js/Math/KeyAuthentication.js.map +1 -1
  32. package/dist/cjs/modules/tide-js/Models/BaseTideRequest.js +21 -0
  33. package/dist/cjs/modules/tide-js/Models/BaseTideRequest.js.map +1 -1
  34. package/dist/cjs/modules/tide-js/Models/ModelRegistry.js +50 -1
  35. package/dist/cjs/modules/tide-js/Models/ModelRegistry.js.map +1 -1
  36. package/dist/cjs/modules/tide-js/Models/Responses/KeyAuth/Convert/DecryptedDeviceConvertResponse.js +45 -0
  37. package/dist/cjs/modules/tide-js/Models/Responses/KeyAuth/Convert/DecryptedDeviceConvertResponse.js.map +1 -0
  38. package/dist/cjs/modules/tide-js/Models/Responses/KeyAuth/Convert/DeviceConvertResponse.js +36 -0
  39. package/dist/cjs/modules/tide-js/Models/Responses/KeyAuth/Convert/DeviceConvertResponse.js.map +1 -0
  40. package/dist/cjs/modules/tide-js/Tests/KeyAuthentication.js +160 -3
  41. package/dist/cjs/modules/tide-js/Tests/KeyAuthentication.js.map +1 -1
  42. package/dist/cjs/modules/tide-js/Tests/KeyGeneration.js +3 -1
  43. package/dist/cjs/modules/tide-js/Tests/KeyGeneration.js.map +1 -1
  44. package/dist/cjs/modules/tide-js/Tests/StripeLicensing.js +2 -2
  45. package/dist/cjs/modules/tide-js/Tests/Tunelling.js +63 -0
  46. package/dist/cjs/modules/tide-js/Tests/Tunelling.js.map +1 -0
  47. package/dist/cjs/modules/tide-js/Tests/index.js +8 -1
  48. package/dist/cjs/modules/tide-js/Tests/index.js.map +1 -1
  49. package/dist/cjs/modules/tide-js/Tools/Utils.js +3 -1
  50. package/dist/cjs/modules/tide-js/Tools/Utils.js.map +1 -1
  51. package/dist/cjs/src/index.js +4 -1
  52. package/dist/cjs/src/index.js.map +1 -1
  53. package/dist/esm/lib/tidecloak.js +12 -10
  54. package/dist/esm/lib/tidecloak.js.map +1 -1
  55. package/dist/esm/modules/tide-js/Clients/EnclaveToMobileTunnelClient.js +49 -0
  56. package/dist/esm/modules/tide-js/Clients/EnclaveToMobileTunnelClient.js.map +1 -0
  57. package/dist/esm/modules/tide-js/Clients/NodeClient.js +72 -31
  58. package/dist/esm/modules/tide-js/Clients/NodeClient.js.map +1 -1
  59. package/dist/esm/modules/tide-js/Clients/WebSocketClientBase.js +48 -0
  60. package/dist/esm/modules/tide-js/Clients/WebSocketClientBase.js.map +1 -0
  61. package/dist/esm/modules/tide-js/Cryptide/Components/Schemes/Ed25519/Ed25519Components.js +3 -3
  62. package/dist/esm/modules/tide-js/Cryptide/Components/Schemes/Ed25519/Ed25519Components.js.map +1 -1
  63. package/dist/esm/modules/tide-js/Cryptide/Components/Schemes/Ed25519/Ed25519Scheme.js +21 -0
  64. package/dist/esm/modules/tide-js/Cryptide/Components/Schemes/Ed25519/Ed25519Scheme.js.map +1 -1
  65. package/dist/esm/modules/tide-js/Cryptide/Encryption/ElGamal.js +12 -0
  66. package/dist/esm/modules/tide-js/Cryptide/Encryption/ElGamal.js.map +1 -1
  67. package/dist/esm/modules/tide-js/Cryptide/Serialization.js +2 -0
  68. package/dist/esm/modules/tide-js/Cryptide/Serialization.js.map +1 -1
  69. package/dist/esm/modules/tide-js/Cryptide/TideKey.js +8 -0
  70. package/dist/esm/modules/tide-js/Cryptide/TideKey.js.map +1 -1
  71. package/dist/esm/modules/tide-js/Flow/AuthenticationFlows/dCMKPasswordFlow.js +7 -11
  72. package/dist/esm/modules/tide-js/Flow/AuthenticationFlows/dCMKPasswordFlow.js.map +1 -1
  73. package/dist/esm/modules/tide-js/Flow/AuthenticationFlows/dMobileAuthenticationFlow.js +193 -0
  74. package/dist/esm/modules/tide-js/Flow/AuthenticationFlows/dMobileAuthenticationFlow.js.map +1 -0
  75. package/dist/esm/modules/tide-js/Flow/SigningFlows/dVVKSigningFlow.js +7 -6
  76. package/dist/esm/modules/tide-js/Flow/SigningFlows/dVVKSigningFlow.js.map +1 -1
  77. package/dist/esm/modules/tide-js/Flow/SigningFlows/dVVKSigningFlow2Step.js +128 -0
  78. package/dist/esm/modules/tide-js/Flow/SigningFlows/dVVKSigningFlow2Step.js.map +1 -0
  79. package/dist/esm/modules/tide-js/Flow/dKeyGenerationFlow.js +4 -24
  80. package/dist/esm/modules/tide-js/Flow/dKeyGenerationFlow.js.map +1 -1
  81. package/dist/esm/modules/tide-js/Math/KeyAuthentication.js +93 -1
  82. package/dist/esm/modules/tide-js/Math/KeyAuthentication.js.map +1 -1
  83. package/dist/esm/modules/tide-js/Models/BaseTideRequest.js +21 -0
  84. package/dist/esm/modules/tide-js/Models/BaseTideRequest.js.map +1 -1
  85. package/dist/esm/modules/tide-js/Models/ModelRegistry.js +51 -2
  86. package/dist/esm/modules/tide-js/Models/ModelRegistry.js.map +1 -1
  87. package/dist/esm/modules/tide-js/Models/Responses/KeyAuth/Convert/DecryptedDeviceConvertResponse.js +39 -0
  88. package/dist/esm/modules/tide-js/Models/Responses/KeyAuth/Convert/DecryptedDeviceConvertResponse.js.map +1 -0
  89. package/dist/esm/modules/tide-js/Models/Responses/KeyAuth/Convert/DeviceConvertResponse.js +33 -0
  90. package/dist/esm/modules/tide-js/Models/Responses/KeyAuth/Convert/DeviceConvertResponse.js.map +1 -0
  91. package/dist/esm/modules/tide-js/Tests/KeyAuthentication.js +158 -5
  92. package/dist/esm/modules/tide-js/Tests/KeyAuthentication.js.map +1 -1
  93. package/dist/esm/modules/tide-js/Tests/KeyGeneration.js +4 -2
  94. package/dist/esm/modules/tide-js/Tests/KeyGeneration.js.map +1 -1
  95. package/dist/esm/modules/tide-js/Tests/StripeLicensing.js +2 -2
  96. package/dist/esm/modules/tide-js/Tests/Tunelling.js +56 -0
  97. package/dist/esm/modules/tide-js/Tests/Tunelling.js.map +1 -0
  98. package/dist/esm/modules/tide-js/Tests/index.js +9 -2
  99. package/dist/esm/modules/tide-js/Tests/index.js.map +1 -1
  100. package/dist/esm/modules/tide-js/Tools/Utils.js +3 -1
  101. package/dist/esm/modules/tide-js/Tools/Utils.js.map +1 -1
  102. package/dist/esm/src/index.js +1 -0
  103. package/dist/esm/src/index.js.map +1 -1
  104. package/dist/types/lib/tidecloak.d.ts +1 -0
  105. package/dist/types/modules/tide-js/Clients/EnclaveToMobileTunnelClient.d.ts +19 -0
  106. package/dist/types/modules/tide-js/Clients/NodeClient.d.ts +36 -12
  107. package/dist/types/modules/tide-js/Clients/WebSocketClientBase.d.ts +12 -0
  108. package/dist/types/modules/tide-js/Cryptide/Components/Schemes/Ed25519/Ed25519Components.d.ts +3 -3
  109. package/dist/types/modules/tide-js/Cryptide/Components/Schemes/Ed25519/Ed25519Scheme.d.ts +2 -0
  110. package/dist/types/modules/tide-js/Cryptide/Encryption/ElGamal.d.ts +5 -0
  111. package/dist/types/modules/tide-js/Cryptide/Serialization.d.ts +1 -1
  112. package/dist/types/modules/tide-js/Cryptide/Signing/TideSignature.d.ts +1 -1
  113. package/dist/types/modules/tide-js/Cryptide/TideKey.d.ts +2 -0
  114. package/dist/types/modules/tide-js/Flow/AuthenticationFlows/dCMKPasswordFlow.d.ts +3 -4
  115. package/dist/types/modules/tide-js/Flow/AuthenticationFlows/dMobileAuthenticationFlow.d.ts +39 -0
  116. package/dist/types/modules/tide-js/Flow/SigningFlows/dVVKSigningFlow2Step.d.ts +69 -0
  117. package/dist/types/modules/tide-js/Flow/dKeyGenerationFlow.d.ts +3 -19
  118. package/dist/types/modules/tide-js/Math/KeyAuthentication.d.ts +49 -0
  119. package/dist/types/modules/tide-js/Models/AdminAuthorization.d.ts +1 -1
  120. package/dist/types/modules/tide-js/Models/AuthRequest.d.ts +1 -1
  121. package/dist/types/modules/tide-js/Models/BaseTideRequest.d.ts +10 -1
  122. package/dist/types/modules/tide-js/Models/Responses/KeyAuth/Convert/DecryptedDeviceConvertResponse.d.ts +15 -0
  123. package/dist/types/modules/tide-js/Models/Responses/KeyAuth/Convert/DeviceConvertResponse.d.ts +11 -0
  124. package/dist/types/modules/tide-js/Tests/KeyAuthentication.d.ts +4 -0
  125. package/dist/types/modules/tide-js/Tests/Tunelling.d.ts +2 -0
  126. package/dist/types/modules/tide-js/Tests/index.d.ts +12 -0
  127. package/dist/types/src/index.d.ts +1 -1
  128. package/package.json +2 -2
@@ -0,0 +1,48 @@
1
+ export default function WebSocketClientBase(url, protocols) {
2
+ if (!(this instanceof WebSocketClientBase)) {
3
+ throw new Error("The 'AuthorizedEncryptionFlow' constructor must be invoked with 'new'.");
4
+ }
5
+ var base = this;
6
+ const socket = new WebSocket(url, protocols);
7
+ base.getSocketUrl = () => socket.url;
8
+ /**
9
+ * @param {string} type
10
+ * @returns
11
+ */
12
+ base.waitForMessage = async function (type) {
13
+ return new Promise((resolve) => {
14
+ const handler = (event) => {
15
+ const data = JSON.parse(event.data);
16
+ if (type === data.type) {
17
+ // Correctly awaited type, return message
18
+ socket.removeEventListener("message", handler);
19
+ console.log("[WEBSOCKET] Recieved type: <" + type + "> successfully");
20
+ resolve(data.message);
21
+ }
22
+ };
23
+ socket.onmessage = e => handler(e);
24
+ });
25
+ };
26
+ base.sendMessage = async function (msg) {
27
+ await waitForConnectionReady();
28
+ socket.send(JSON.stringify(msg));
29
+ };
30
+ base.close = async function () {
31
+ await waitForConnectionReady();
32
+ socket.close();
33
+ };
34
+ async function waitForConnectionReady() {
35
+ if (socket.readyState === socket.OPEN)
36
+ return;
37
+ if (socket.readyState === socket.CLOSED || socket.readyState === socket.CLOSING)
38
+ throw `Socket is in the process of closing or is already closed`;
39
+ const readyAwaiter = new Promise((res) => {
40
+ socket.onopen = () => res();
41
+ socket.onerror = (event) => {
42
+ throw event;
43
+ };
44
+ });
45
+ return readyAwaiter;
46
+ }
47
+ }
48
+ //# sourceMappingURL=WebSocketClientBase.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WebSocketClientBase.js","sourceRoot":"","sources":["../../../../../modules/tide-js/Clients/WebSocketClientBase.js"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,UAAU,mBAAmB,CAAC,GAAG,EAAE,SAAS;IACtD,IAAI,CAAC,CAAC,IAAI,YAAY,mBAAmB,CAAC,EAAE,CAAC;QACzC,MAAM,IAAI,KAAK,CAAC,wEAAwE,CAAC,CAAA;IAC7F,CAAC;IAED,IAAI,IAAI,GAAG,IAAI,CAAC;IAChB,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;IAE7C,IAAI,CAAC,YAAY,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC;IAErC;;;OAGG;IACH,IAAI,CAAC,cAAc,GAAG,KAAK,WAAU,IAAI;QACrC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC3B,MAAM,OAAO,GAAG,CAAC,KAAK,EAAE,EAAE;gBACtB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBACpC,IAAG,IAAI,KAAK,IAAI,CAAC,IAAI,EAAC,CAAC;oBACnB,yCAAyC;oBACzC,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;oBAC/C,OAAO,CAAC,GAAG,CAAC,8BAA8B,GAAG,IAAI,GAAG,gBAAgB,CAAC,CAAC;oBACtE,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAC1B,CAAC;YACL,CAAC,CAAC;YACF,MAAM,CAAC,SAAS,GAAG,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;IACP,CAAC,CAAA;IAED,IAAI,CAAC,WAAW,GAAG,KAAK,WAAU,GAAG;QACjC,MAAM,sBAAsB,EAAE,CAAC;QAC/B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;IACrC,CAAC,CAAA;IAED,IAAI,CAAC,KAAK,GAAG,KAAK;QACd,MAAM,sBAAsB,EAAE,CAAC;QAC/B,MAAM,CAAC,KAAK,EAAE,CAAC;IACnB,CAAC,CAAA;IAED,KAAK,UAAU,sBAAsB;QACjC,IAAG,MAAM,CAAC,UAAU,KAAK,MAAM,CAAC,IAAI;YAAE,OAAO;QAC7C,IAAG,MAAM,CAAC,UAAU,KAAK,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,UAAU,KAAK,MAAM,CAAC,OAAO;YAAE,MAAM,0DAA0D,CAAC;QAEjJ,MAAM,YAAY,GAAG,IAAI,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YACrC,MAAM,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC;YAC5B,MAAM,CAAC,OAAO,GAAG,CAAC,KAAK,EAAE,EAAE;gBACvB,MAAM,KAAK,CAAC;YAChB,CAAC,CAAA;QACL,CAAC,CAAC,CAAC;QACH,OAAO,YAAY,CAAC;IACxB,CAAC;AACL,CAAC"}
@@ -140,15 +140,15 @@ export class Ed25519SeedComponent extends BaseSeedComponent {
140
140
  head[0] &= 248; // Clamp bits: 0b1111_1000,
141
141
  head[31] &= 127; // 0b0111_1111,
142
142
  head[31] |= 64; // 0b0100_0000
143
- return mod(BigIntFromByteArray(head));
143
+ return head;
144
144
  }
145
145
  GetPrivate() {
146
- return new Ed25519PrivateComponent(this.rawBytes);
146
+ return new Ed25519PrivateComponent(mod(BigIntFromByteArray(this.rawBytes)));
147
147
  }
148
148
  GetPublic() {
149
149
  return this.GetPrivate().GetPublic();
150
150
  }
151
- static async New() {
151
+ static New() {
152
152
  return new Ed25519SeedComponent(this.GenerateSeed());
153
153
  }
154
154
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Ed25519Components.js","sourceRoot":"","sources":["../../../../../../../../modules/tide-js/Cryptide/Components/Schemes/Ed25519/Ed25519Components.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Ed25519Components.js","sourceRoot":"","sources":["../../../../../../../../modules/tide-js/Cryptide/Components/Schemes/Ed25519/Ed25519Components.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACvG,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC5I,OAAO,aAAa,MAAM,oBAAoB,CAAC;AAE/C,MAAM,OAAO,sBAAuB,SAAQ,mBAAmB;IAG3D,IAAI,MAAM,KAAK,OAAO,aAAa,CAAC,CAAC,CAAC;IACtC,IAAI,aAAa,KAAK,OAAO,MAAM,CAAA,CAAC,CAAC;IAAA,CAAC;IAMtC,YAAY,OAAO;QACf,KAAK,EAAE,CAAC;QALZ,wBAAwB;QACxB,OAAE,GAAG,SAAS,CAAC;QACf,mBAAmB;QACnB,MAAC,GAAG,SAAS,CAAC;QAGV,IAAG,OAAO,YAAY,KAAK,EAAC,CAAC;YACzB,IAAI,CAAC,CAAC,GAAG,OAAO,CAAC;QACrB,CAAC;aAAK,IAAG,OAAO,YAAY,UAAU,EAAC,CAAC;YACpC,IAAI,CAAC,EAAE,GAAG,OAAO,CAAC;QACtB,CAAC;aAAI,CAAC;YAAC,MAAM,KAAK,CAAC,kBAAkB,CAAC,CAAA;QAAC,CAAC;IAC5C,CAAC;IACD,IAAI,MAAM;QACN,IAAG,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,EAAE;YAAE,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;aACpD,IAAG,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YAAE,MAAM,KAAK,CAAC,cAAc,CAAC,CAAC;QACzD,OAAO,IAAI,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,QAAQ;QACR,IAAG,CAAC,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,CAAC;YAAE,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC;aAChD,IAAG,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YAAE,MAAM,KAAK,CAAC,cAAc,CAAC,CAAC;QACzD,OAAO,IAAI,CAAC,EAAE,CAAC;IACnB,CAAC;IAED,YAAY,CAAC,SAAS;QAClB,IAAG,SAAS,YAAY,sBAAsB,EAAC,CAAC;YAC5C,OAAO,IAAI,sBAAsB,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;QACzE,CAAC;QACD,MAAM,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAC5C,CAAC;IACD,iBAAiB,CAAC,SAAS;QACvB,IAAG,SAAS,YAAY,uBAAuB,EAAC,CAAC;YAC7C,OAAO,IAAI,sBAAsB,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;QACvE,CAAC;QACD,MAAM,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAC5C,CAAC;IACD,cAAc,CAAC,SAAS;QACpB,IAAG,SAAS,YAAY,sBAAsB,EAAC,CAAC;YAC5C,OAAO,IAAI,sBAAsB,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAClF,CAAC;QACD,MAAM,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAC5C,CAAC;IACD,eAAe,CAAC,SAAS;QACrB,IAAG,SAAS,YAAY,sBAAsB,EAAC,CAAC;YAC5C,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAChD,CAAC;QACD,MAAM,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAC5C,CAAC;IACD,kBAAkB;QACd,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;IACjC,CAAC;;AAvDM,2BAAI,GAAG,wBAAwB,AAA3B,CAA4B;AAChC,8BAAO,GAAG,GAAG,AAAN,CAAO;AAyDzB,MAAM,OAAO,uBAAwB,SAAQ,oBAAoB;IAG7D,IAAI,MAAM,KAAK,OAAO,aAAa,CAAC,CAAC,CAAC;IACtC,IAAI,aAAa,KAAK,OAAO,OAAO,CAAA,CAAC,CAAC;IAAA,CAAC;IAOvC,IAAI,IAAI;QACJ,IAAG,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,EAAE;YAAE,IAAI,CAAC,CAAC,GAAG,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;aACxD,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YAAE,MAAM,KAAK,CAAC,cAAc,CAAC,CAAC;QAC1D,OAAO,IAAI,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,QAAQ;QACR,IAAG,CAAC,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,CAAC;YAAE,IAAI,CAAC,EAAE,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;aACtD,IAAG,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YAAE,MAAM,KAAK,CAAC,cAAc,CAAC,CAAC;QACzD,OAAO,IAAI,CAAC,EAAE,CAAC;IACnB,CAAC;IAED,YAAY,OAAO;QACf,KAAK,EAAE,CAAC;QAlBZ,oBAAoB;QACpB,MAAC,GAAG,SAAS,CAAC;QACd,wBAAwB;QACxB,OAAE,GAAG,SAAS,CAAC;QAgBX,IAAG,OAAO,OAAO,IAAI,QAAQ,EAAC,CAAC;YAC3B,IAAI,CAAC,CAAC,GAAG,OAAO,CAAC;QACrB,CAAC;aAAK,IAAG,OAAO,YAAY,UAAU,EAAC,CAAC;YACpC,IAAI,CAAC,EAAE,GAAG,OAAO,CAAC;QACtB,CAAC;aAAI,CAAC;YAAC,MAAM,KAAK,CAAC,kBAAkB,CAAC,CAAA;QAAC,CAAC;IAC5C,CAAC;IACD,kBAAkB;QACd,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;IACjC,CAAC;IACD,SAAS;QACL,OAAO,IAAI,sBAAsB,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACjE,CAAC;IACD,MAAM,CAAC,GAAG;QACN,OAAO,oBAAoB,CAAC,GAAG,EAAE,CAAC,UAAU,EAAE,CAAC;IACnD,CAAC;;AAtCM,4BAAI,GAAG,yBAAyB,AAA5B,CAA6B;AACjC,+BAAO,GAAG,GAAG,AAAN,CAAO;AAwCzB,MAAM,OAAO,oBAAqB,SAAQ,iBAAiB;IAGvD,IAAI,MAAM,KAAK,OAAO,aAAa,CAAC,CAAC,CAAC;IACtC,IAAI,aAAa,KAAK,OAAO,IAAI,CAAA,CAAC,CAAC;IAAA,CAAC;IAKpC,IAAI,QAAQ;QACR,OAAO,IAAI,CAAC,EAAE,CAAC;IACnB,CAAC;IAED,YAAY,OAAO;QACf,KAAK,EAAE,CAAC;QARZ,wBAAwB;QACxB,OAAE,GAAG,SAAS,CAAC;QAQX,IAAG,OAAO,YAAY,UAAU;YAAE,IAAI,CAAC,EAAE,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;aACvD,IAAG,CAAC,OAAO;YAAE,IAAI,CAAC,EAAE,GAAG,oBAAoB,CAAC,YAAY,EAAE,CAAC,CAAC,yCAAyC;;YACrG,MAAM,KAAK,CAAC,iDAAiD,CAAC,CAAC;IACxE,CAAC;IAED,kBAAkB;QACd,OAAO,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC;IAC3B,CAAC;IAED,MAAM,CAAC,YAAY;QACf,MAAM,IAAI,GAAG,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QACjC,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,2BAA2B;QAC3C,IAAI,CAAC,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC,eAAe;QAChC,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,cAAc;QAC9B,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,UAAU;QACN,OAAO,IAAI,uBAAuB,CAAC,GAAG,CAAC,mBAAmB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAChF,CAAC;IAED,SAAS;QACL,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC,SAAS,EAAE,CAAC;IACzC,CAAC;IACD,MAAM,CAAC,GAAG;QACN,OAAO,IAAI,oBAAoB,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;IACzD,CAAC;;AAxCM,yBAAI,GAAG,sBAAsB,AAAzB,CAA0B;AAC9B,4BAAO,GAAG,GAAG,AAAN,CAAO"}
@@ -1,5 +1,6 @@
1
1
  var _a;
2
2
  import { sign, signAsync, signNonDeterministicAsync, verifyAsync } from "../../../Ed25519.js";
3
+ import ElGamal from "../../../Encryption/ElGamal.js";
3
4
  import BaseScheme from "../BaseScheme.js";
4
5
  import { SchemeType } from "../SchemeRegistry.js";
5
6
  import { Ed25519PrivateComponent, Ed25519PublicComponent, Ed25519SeedComponent } from "./Ed25519Components.js";
@@ -32,5 +33,25 @@ Ed25519Scheme.GetVerifyingFunction = () => {
32
33
  };
33
34
  return verifyingFunc;
34
35
  };
36
+ Ed25519Scheme.GetEncryptingFunction = () => {
37
+ const encryptingFunc = async (msg, component) => {
38
+ if (msg instanceof Uint8Array && component instanceof Ed25519PublicComponent) {
39
+ return await ElGamal.encryptDataRaw(msg, component.public);
40
+ }
41
+ else
42
+ throw Error("Mismatch between expected types (Uint8Array, Ed25519PublicComponent)");
43
+ };
44
+ return encryptingFunc;
45
+ };
46
+ Ed25519Scheme.GetDecryptingFunction = () => {
47
+ const decryptingFunc = async (cipher, component) => {
48
+ if (cipher instanceof Uint8Array && component instanceof Ed25519PrivateComponent) {
49
+ return await ElGamal.decryptDataRaw(cipher, component.priv);
50
+ }
51
+ else
52
+ throw Error("Mismatch between expected types (Uint8Array, Ed25519PrivateComponent)");
53
+ };
54
+ return decryptingFunc;
55
+ };
35
56
  export default Ed25519Scheme;
36
57
  //# sourceMappingURL=Ed25519Scheme.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Ed25519Scheme.js","sourceRoot":"","sources":["../../../../../../../../modules/tide-js/Cryptide/Components/Schemes/Ed25519/Ed25519Scheme.js"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,yBAAyB,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAC9F,OAAO,UAAU,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE/G,MAAqB,aAAc,SAAQ,UAAU;IACjD,MAAM,KAAK,IAAI,KAAK,OAAO,eAAe,CAAC,CAAC,CAAC;;;AAC7C;;;GAGG;AACI,gCAAkB,GAAG,GAAG,EAAE;IAC7B,MAAM,WAAW,GAAG,CAAC,GAAG,EAAE,SAAS,EAAE,EAAE;QACnC,IAAG,GAAG,YAAY,UAAU,IAAI,SAAS,YAAY,uBAAuB,EAAC,CAAC;YAC1E,OAAO,yBAAyB,CAAC,GAAG,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;QAC1D,CAAC;QACD,MAAM,KAAK,CAAC,kEAAkE,CAAC,CAAC;IACpF,CAAC,CAAA;IACD,OAAO,WAAW,CAAC;AACvB,CAAC,AARwB,CAQxB;AACM,kCAAoB,GAAG,GAAG,EAAE;IAC/B,MAAM,aAAa,GAAG,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE;QACtD,IAAG,GAAG,YAAY,UAAU,IAAI,SAAS,YAAY,UAAU,IAAI,SAAS,YAAY,sBAAsB,EAAC,CAAC;YAC5G,MAAM,KAAK,GAAG,MAAM,WAAW,CAAC,SAAS,EAAE,GAAG,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC;YACpE,IAAG,CAAC,KAAK;gBAAE,MAAM,KAAK,CAAC,6BAA6B,CAAC,CAAC;QAC1D,CAAC;;YACI,MAAM,KAAK,CAAC,6EAA6E,CAAC,CAAC;IACpG,CAAC,CAAA;IACD,OAAO,aAAa,CAAC;AACzB,CAAC,AAT0B,CAS1B;eAxBgB,aAAa"}
1
+ {"version":3,"file":"Ed25519Scheme.js","sourceRoot":"","sources":["../../../../../../../../modules/tide-js/Cryptide/Components/Schemes/Ed25519/Ed25519Scheme.js"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,yBAAyB,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAC9F,OAAO,OAAO,MAAM,gCAAgC,CAAC;AACrD,OAAO,UAAU,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE/G,MAAqB,aAAc,SAAQ,UAAU;IACjD,MAAM,KAAK,IAAI,KAAK,OAAO,eAAe,CAAC,CAAC,CAAC;;;AAC7C;;;GAGG;AACI,gCAAkB,GAAG,GAAG,EAAE;IAC7B,MAAM,WAAW,GAAG,CAAC,GAAG,EAAE,SAAS,EAAE,EAAE;QACnC,IAAG,GAAG,YAAY,UAAU,IAAI,SAAS,YAAY,uBAAuB,EAAC,CAAC;YAC1E,OAAO,yBAAyB,CAAC,GAAG,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;QAC1D,CAAC;QACD,MAAM,KAAK,CAAC,kEAAkE,CAAC,CAAC;IACpF,CAAC,CAAA;IACD,OAAO,WAAW,CAAC;AACvB,CAAC,AARwB,CAQxB;AACM,kCAAoB,GAAG,GAAG,EAAE;IAC/B,MAAM,aAAa,GAAG,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE;QACtD,IAAG,GAAG,YAAY,UAAU,IAAI,SAAS,YAAY,UAAU,IAAI,SAAS,YAAY,sBAAsB,EAAC,CAAC;YAC5G,MAAM,KAAK,GAAG,MAAM,WAAW,CAAC,SAAS,EAAE,GAAG,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC;YACpE,IAAG,CAAC,KAAK;gBAAE,MAAM,KAAK,CAAC,6BAA6B,CAAC,CAAC;QAC1D,CAAC;;YACI,MAAM,KAAK,CAAC,6EAA6E,CAAC,CAAC;IACpG,CAAC,CAAA;IACD,OAAO,aAAa,CAAC;AACzB,CAAC,AAT0B,CAS1B;AACM,mCAAqB,GAAG,GAAG,EAAE;IAChC,MAAM,cAAc,GAAG,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE;QAC5C,IAAG,GAAG,YAAY,UAAU,IAAI,SAAS,YAAY,sBAAsB,EAAC,CAAC;YACzE,OAAO,MAAM,OAAO,CAAC,cAAc,CAAC,GAAG,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;QAC/D,CAAC;;YACI,MAAM,KAAK,CAAC,sEAAsE,CAAC,CAAC;IAC7F,CAAC,CAAA;IACD,OAAO,cAAc,CAAC;AAC1B,CAAC,AAR2B,CAQ3B;AACM,mCAAqB,GAAG,GAAG,EAAE;IAChC,MAAM,cAAc,GAAG,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE;QAC/C,IAAG,MAAM,YAAY,UAAU,IAAI,SAAS,YAAY,uBAAuB,EAAC,CAAC;YAC7E,OAAO,MAAM,OAAO,CAAC,cAAc,CAAC,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;QAChE,CAAC;;YACI,MAAM,KAAK,CAAC,uEAAuE,CAAC,CAAC;IAC9F,CAAC,CAAA;IACD,OAAO,cAAc,CAAC;AAC1B,CAAC,AAR2B,CAQ3B;eA1CgB,aAAa"}
@@ -52,5 +52,17 @@ export default class ElGamal {
52
52
  const decrypted = await decryptDataRawOutput(c2, await SHA256_Digest(c1Point.mul(priv).toRawBytes()));
53
53
  return decrypted;
54
54
  }
55
+ /**
56
+ * @param {Uint8Array} base64_c1_c2
57
+ * @param {bigint | Uint8Array} k
58
+ */
59
+ static async decryptDataRaw(base64_c1_c2, k) {
60
+ const priv = typeof (k) == 'bigint' ? k : BigIntFromByteArray(k);
61
+ const c1 = base64_c1_c2.slice(0, 32);
62
+ const c2 = base64_c1_c2.slice(32);
63
+ const c1Point = Point.fromBytes(c1);
64
+ const decrypted = await decryptDataRawOutput(c2, await SHA256_Digest(c1Point.mul(priv).toRawBytes()));
65
+ return decrypted;
66
+ }
55
67
  }
56
68
  //# sourceMappingURL=ElGamal.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ElGamal.js","sourceRoot":"","sources":["../../../../../../modules/tide-js/Cryptide/Encryption/ElGamal.js"],"names":[],"mappings":"AAAA,GAAG;AACH,gEAAgE;AAChE,yCAAyC;AACzC,GAAG;AACH,gEAAgE;AAChE,4DAA4D;AAC5D,+DAA+D;AAC/D,kEAAkE;AAClE,6DAA6D;AAC7D,gEAAgE;AAChE,oCAAoC;AACpC,6DAA6D;AAC7D,8DAA8D;AAC9D,wCAAwC;AACxC,qDAAqD;AACrD,EAAE;AAEF,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,oBAAoB,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AACnF,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAE3G,MAAM,CAAC,OAAO,OAAO,OAAO;IACxB;;;;OAIG;IACH,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,UAAU,EAAE,SAAS;QAC1C,OAAO,aAAa,CAAC,MAAM,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC;IAC3E,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,UAAU,EAAE,SAAS;QAC7C,MAAM,CAAC,GAAG,YAAY,EAAE,CAAC;QACzB,MAAM,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC;QAC1C,MAAM,EAAE,GAAG,MAAM,oBAAoB,CAAC,UAAU,EAAE,MAAM,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;QACtG,OAAO,iBAAiB,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;IACvC,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC;QACpC,MAAM,IAAI,GAAG,OAAM,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC;QAC/D,MAAM,CAAC,GAAG,aAAa,CAAC,YAAY,CAAC,CAAC;QACtC,MAAM,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC1B,MAAM,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAEvB,MAAM,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QACpC,MAAM,SAAS,GAAG,MAAM,oBAAoB,CAAC,EAAE,EAAE,MAAM,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;QACtG,OAAO,SAAS,CAAC;IACrB,CAAC;CACJ"}
1
+ {"version":3,"file":"ElGamal.js","sourceRoot":"","sources":["../../../../../../modules/tide-js/Cryptide/Encryption/ElGamal.js"],"names":[],"mappings":"AAAA,GAAG;AACH,gEAAgE;AAChE,yCAAyC;AACzC,GAAG;AACH,gEAAgE;AAChE,4DAA4D;AAC5D,+DAA+D;AAC/D,kEAAkE;AAClE,6DAA6D;AAC7D,gEAAgE;AAChE,oCAAoC;AACpC,6DAA6D;AAC7D,8DAA8D;AAC9D,wCAAwC;AACxC,qDAAqD;AACrD,EAAE;AAEF,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,oBAAoB,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AACnF,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAE3G,MAAM,CAAC,OAAO,OAAO,OAAO;IACxB;;;;OAIG;IACH,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,UAAU,EAAE,SAAS;QAC1C,OAAO,aAAa,CAAC,MAAM,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC;IAC3E,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,UAAU,EAAE,SAAS;QAC7C,MAAM,CAAC,GAAG,YAAY,EAAE,CAAC;QACzB,MAAM,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC;QAC1C,MAAM,EAAE,GAAG,MAAM,oBAAoB,CAAC,UAAU,EAAE,MAAM,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;QACtG,OAAO,iBAAiB,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;IACvC,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC;QACpC,MAAM,IAAI,GAAG,OAAM,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC;QAC/D,MAAM,CAAC,GAAG,aAAa,CAAC,YAAY,CAAC,CAAC;QACtC,MAAM,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC1B,MAAM,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAEvB,MAAM,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QACpC,MAAM,SAAS,GAAG,MAAM,oBAAoB,CAAC,EAAE,EAAE,MAAM,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;QACtG,OAAO,SAAS,CAAC;IACrB,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;QACvC,MAAM,IAAI,GAAG,OAAM,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC;QAC/D,MAAM,EAAE,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACrC,MAAM,EAAE,GAAG,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAElC,MAAM,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QACpC,MAAM,SAAS,GAAG,MAAM,oBAAoB,CAAC,EAAE,EAAE,MAAM,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;QACtG,OAAO,SAAS,CAAC;IACrB,CAAC;CACJ"}
@@ -113,6 +113,8 @@ export function CreateTideMemory(initialValue, totalLength, version = 1) {
113
113
  * @param {Uint8Array[]} datas
114
114
  */
115
115
  export function CreateTideMemoryFromArray(datas) {
116
+ if (!datas.every(d => d instanceof Uint8Array))
117
+ throw Error("Expecting all datas to be Uint8Array");
116
118
  const length = datas.reduce((sum, next) => sum + 4 + next.length, 0);
117
119
  const mem = CreateTideMemory(datas[0], length);
118
120
  for (let i = 1; i < datas.length; i++) {
@@ -1 +1 @@
1
- {"version":3,"file":"Serialization.js","sourceRoot":"","sources":["../../../../../modules/tide-js/Cryptide/Serialization.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Serialization.js","sourceRoot":"","sources":["../../../../../modules/tide-js/Cryptide/Serialization.js"],"names":[],"mappings":"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"}
@@ -49,6 +49,14 @@ export default class TideKey {
49
49
  const f = this.component.Scheme.GetVerifyingFunction();
50
50
  return await f(message, signature, this.get_public_component());
51
51
  }
52
+ async asymmetricDecrypt(cipher) {
53
+ const d = this.component.Scheme.GetDecryptingFunction();
54
+ return await d(cipher, this.get_private_component());
55
+ }
56
+ async asymmetricEncrypt(message) {
57
+ const e = this.component.Scheme.GetEncryptingFunction();
58
+ return await e(message, this.get_public_component());
59
+ }
52
60
  async prepVouchersReq(gORKn) {
53
61
  // Ensure scheme is Ed25519 for tide vouchers
54
62
  if (this.component.Scheme !== Ed25519Scheme)
@@ -1 +1 @@
1
- {"version":3,"file":"TideKey.js","sourceRoot":"","sources":["../../../../../modules/tide-js/Cryptide/TideKey.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TideKey.js","sourceRoot":"","sources":["../../../../../modules/tide-js/Cryptide/TideKey.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,IAAI,EAAE,MAAM,+BAA+B,CAAC;AAC/G,OAAO,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,mDAAmD,CAAC;AACzF,OAAO,aAAa,MAAM,+CAA+C,CAAC;AAC1E,OAAO,EAAE,UAAU,EAAE,MAAM,wCAAwC,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEtG,MAAM,CAAC,OAAO,OAAO,OAAO;IAExB,MAAM,CAAC,MAAM,CAAC,MAAM;QAChB,MAAM,WAAW,GAAG,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;QACjD,OAAO,IAAI,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;IACtD,CAAC;IAED,MAAM,CAAC,uBAAuB,CAAC,CAAC;QAC5B,OAAO,IAAI,OAAO,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9D,CAAC;IAOD,YAAY,CAAC;QALb,6BAA6B;QAC7B,cAAS,GAAG,SAAS,CAAC;QAKlB,IAAG,CAAC,YAAY,aAAa;YAAE,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;;YAC7C,MAAM,KAAK,CAAC,6CAA6C,CAAC,CAAC;IACpE,CAAC;IACD;;;OAGG;IACH,qBAAqB;QACjB,IAAG,CAAC,oBAAoB,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,YAAY,oBAAoB,CAAC;YAAE,MAAM,KAAK,CAAC,2CAA2C,CAAC,CAAC;QACtK,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,SAAS,YAAY,oBAAoB,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC;QACtH,OAAO,IAAI,CAAC,gBAAgB,CAAC;IACjC,CAAC;IACD;;OAEG;IACH,oBAAoB;QAChB,IAAG,CAAC,oBAAoB,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,YAAY,mBAAmB,CAAC;YAAE,MAAM,KAAK,CAAC,0CAA0C,CAAC,CAAC;QACnK,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,SAAS,YAAY,mBAAmB,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC;QACnH,OAAO,IAAI,CAAC,eAAe,CAAC;IAChC,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,OAAO;QACd,MAAM,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,kBAAkB,EAAE,CAAC;QACrD,OAAO,MAAM,CAAC,CAAC,OAAO,EAAE,IAAI,CAAC,qBAAqB,EAAE,CAAC,CAAC;IAC1D,CAAC;IACD,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,SAAS;QAC3B,MAAM,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,oBAAoB,EAAE,CAAC;QACvD,OAAO,MAAM,CAAC,CAAC,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,oBAAoB,EAAE,CAAC,CAAC;IACpE,CAAC;IACD,KAAK,CAAC,iBAAiB,CAAC,MAAM;QAC1B,MAAM,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,qBAAqB,EAAE,CAAC;QACxD,OAAO,MAAM,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,qBAAqB,EAAE,CAAC,CAAC;IACzD,CAAC;IACD,KAAK,CAAC,iBAAiB,CAAC,OAAO;QAC3B,MAAM,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,qBAAqB,EAAE,CAAC;QACxD,OAAO,MAAM,CAAC,CAAC,OAAO,EAAE,IAAI,CAAC,oBAAoB,EAAE,CAAC,CAAC;IACzD,CAAC;IAGD,KAAK,CAAC,eAAe,CAAC,KAAK;QACvB,6CAA6C;QAC7C,IAAG,IAAI,CAAC,SAAS,CAAC,MAAM,KAAK,aAAa;YAAE,MAAM,KAAK,CAAC,qDAAqD,CAAC,CAAC;QAC/G,IAAI,UAAU,GAAG,EAAE,CAAC;QACpB,KAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAE,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAC,CAAC;YACjC,MAAM,CAAC,GAAG,GAAG,CAAC,mBAAmB,CAAC,MAAM,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,qBAAqB,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACxG,UAAU,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACpC,CAAC;QACD,OAAO,UAAU,CAAC;IACtB,CAAC;CACJ;AAED,SAAS,oBAAoB,CAAC,GAAG,EAAE,UAAU;IACzC,iDAAiD;IACjD,MAAM,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;IACzC,uEAAuE;IACvE,OAAO,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,CAAC;WACvD,OAAO,KAAK,CAAC,UAAU,CAAC,KAAK,UAAU,CAAC;AACnD,CAAC"}
@@ -51,8 +51,11 @@ export default class dCMKPasswordFlow {
51
51
  * @param {Point} gPass
52
52
  * @param {Point} gCMK
53
53
  * @param {boolean} rememberMe
54
+ * @param {TideKey} vendorSessionKey
54
55
  */
55
- async Convert(sessKey, gPass, gCMK, rememberMe) {
56
+ async Convert(sessKey, gPass, gCMK, rememberMe, vendorSessionKey = null) {
57
+ if (vendorSessionKey == null)
58
+ vendorSessionKey = sessKey;
56
59
  const clients = this.keyInfo.OrkInfo.map(ork => new NodeClient(ork.orkURL)); // create node clients
57
60
  const voucherFlow = new VoucherFlow(this.keyInfo.OrkInfo.map(o => o.orkPaymentPublic), this.voucherURL, "signin");
58
61
  const { vouchers, k } = await voucherFlow.GetVouchers();
@@ -72,7 +75,7 @@ export default class dCMKPasswordFlow {
72
75
  prkECDHi,
73
76
  ...await CmkConvertReply(fulfilledResponses.map(c => c.CMKConvertResponse), ids, prismAuthis, gCMK, timestampi, this.sessID, this.purpose, Point.fromBytes(Hex2Bytes(vouchers.qPub).slice(-32)), // to translate between tide component and native object
74
77
  BigIntFromByteArray(base64ToBytes(vouchers.UDeObf).slice(-32)), // to translate between tide component and native object
75
- k.get_private_component().priv, sessKey.get_public_component())
78
+ k.get_private_component().priv, vendorSessionKey.get_public_component())
76
79
  };
77
80
  return {
78
81
  VUID: this.cState.VUID
@@ -105,22 +108,15 @@ export default class dCMKPasswordFlow {
105
108
  }
106
109
  /**
107
110
  * @param {Point} gVRK If a null value is provided, no encryption is applied.
108
- * @param {Uint8Array} sessKey
109
- * @param {string} consentToSign
110
111
  */
111
- async Authenticate(gVRK, sessKey = null, consentToSign = null) {
112
+ async Authenticate(gVRK) {
112
113
  if (this.cState == undefined)
113
114
  throw Error("Convert State is undefined");
114
115
  const cmkClients = this.keyInfo.OrkInfo.map(ork => new NodeClient(ork.orkURL));
115
116
  const pre_encSig = cmkClients.map((client, i) => client.Authenticate(this.keyInfo.UserId, this.cState.selfRequesti[i], this.cState.blurHCMKMul, serializeBitArray(this.cState.bitwise), this.cmkCommitted, this.prismCommitted));
116
117
  const encSig = await Promise.all(pre_encSig);
117
118
  let vendorEncryptedData;
118
- if (consentToSign == null) {
119
- vendorEncryptedData = await AuthenticateBasicReply(this.cState.VUID, this.cState.prkECDHi, encSig, this.cState.gCMKAuth, this.cState.authToken, this.cState.r4, this.cState.gRMul, gVRK);
120
- }
121
- else {
122
- vendorEncryptedData = await AuthenticateConsentReply(this.cState.VUID, this.cState.prkECDHi, encSig, this.cState.gCMKAuth, this.cState.authToken, this.cState.r4, this.cState.gRMul, gVRK, BigIntFromByteArray(sessKey), consentToSign);
123
- }
119
+ vendorEncryptedData = await AuthenticateBasicReply(this.cState.VUID, this.cState.prkECDHi, encSig, this.cState.gCMKAuth, this.cState.authToken, this.cState.r4, this.cState.gRMul, gVRK);
124
120
  return {
125
121
  bitwise: this.cState.bitwise,
126
122
  expired: this.cState.expired,
@@ -1 +1 @@
1
- {"version":3,"file":"dCMKPasswordFlow.js","sourceRoot":"","sources":["../../../../../../modules/tide-js/Flow/AuthenticationFlows/dCMKPasswordFlow.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dCMKPasswordFlow.js","sourceRoot":"","sources":["../../../../../../modules/tide-js/Flow/AuthenticationFlows/dCMKPasswordFlow.js"],"names":[],"mappings":"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"}
@@ -0,0 +1,193 @@
1
+ import { dKeyGenerationFlow, NodeClient, SimClient } from "../../index.js";
2
+ import WebSocketClientBase from "../../Clients/WebSocketClientBase.js";
3
+ import { DH } from "../../Cryptide/index.js";
4
+ import { Ed25519PrivateComponent, Ed25519PublicComponent } from "../../Cryptide/Components/Schemes/Ed25519/Ed25519Components.js";
5
+ import Ed25519Scheme from "../../Cryptide/Components/Schemes/Ed25519/Ed25519Scheme.js";
6
+ import HashToPoint from "../../Cryptide/Hashing/H2P.js";
7
+ import { base64ToBase64Url, base64ToBytes, BigIntFromByteArray, BigIntToByteArray, bytesToBase64, CreateTideMemoryFromArray, GetUID, GetValue, StringFromUint8Array, StringToUint8Array } from "../../Cryptide/Serialization.js";
8
+ import TideKey from "../../Cryptide/TideKey.js";
9
+ import { AuthenticateBasicReply, AuthenticateDeviceReply, CmkConvertReply, DeviceConvertReply, DevicePrismConvertReply, PrismConvertReply } from "../../Math/KeyAuthentication.js";
10
+ import BaseTideRequest from "../../Models/BaseTideRequest.js";
11
+ import KeyInfo from "../../Models/Infos/KeyInfo.js";
12
+ import PrismConvertResponse from "../../Models/Responses/KeyAuth/Convert/PrismConvertResponse.js";
13
+ import dVVKSigningFlow2Step from "../SigningFlows/dVVKSigningFlow2Step.js";
14
+ import { Max, sortORKs } from "../../Tools/Utils.js";
15
+ export default class dMobileAuthenticationFlow {
16
+ constructor(scannedQrCodeAddress) {
17
+ this.webSocketClient = new WebSocketClientBase(scannedQrCodeAddress);
18
+ this.requestInfo = this.webSocketClient.waitForMessage("requested info");
19
+ this.webSocketClient.sendMessage({
20
+ type: "ready",
21
+ message: ":)"
22
+ }); // no need to await this since we're only curious about awaiting requestInfo
23
+ }
24
+ async configureFlowSettings() {
25
+ let request = await this.requestInfo;
26
+ const requiredProperties = ['appReq', 'appReqSignature', 'sessionKeySignature', 'voucherURL', 'browserPublicKey', 'vendorPublicKey'];
27
+ for (const property of requiredProperties) {
28
+ if (!request[property]) {
29
+ throw new Error(`dMobileAuthenicationFlow: The configuration object is missing the required '${property}' property.`);
30
+ }
31
+ }
32
+ const socketUrl = this.webSocketClient.getSocketUrl(); // or `.socketUrl` if you added a getter
33
+ const u = new URL(socketUrl);
34
+ if (u.protocol === 'wss:')
35
+ u.protocol = 'https:';
36
+ else if (u.protocol === 'ws:')
37
+ u.protocol = 'http:';
38
+ else
39
+ throw new Error('Expected ws:// or wss:// URL');
40
+ this.homeOrkOrigin = u.origin;
41
+ this.appReq = request.appReq;
42
+ this.sigAppReq = request.appReqSignature;
43
+ this.sessKeyProof = request.sessionKeySignature;
44
+ this.browserPublicKey = TideKey.FromSerializedComponent(request.browserPublicKey);
45
+ this.vendorPublicKey = TideKey.FromSerializedComponent(request.vendorPublicKey);
46
+ this.voucherURL = request.voucherURL;
47
+ }
48
+ /**
49
+ * @param {string} username
50
+ */
51
+ async ensureReady(username) {
52
+ await this.configureFlowSettings();
53
+ // Verify details
54
+ // otherwise, abort
55
+ await this.browserPublicKey.verify(StringToUint8Array(this.appReq), base64ToBytes(this.sigAppReq));
56
+ const appReqParsed = JSON.parse(this.appReq);
57
+ this.enclaveVendorSessionKeyPublic = TideKey.FromSerializedComponent(appReqParsed["vendorSessKeyPub"]);
58
+ this.enclaveNetworkSessionKeyPublic = TideKey.FromSerializedComponent(appReqParsed["networkSessKeyPub"]);
59
+ await this.enclaveVendorSessionKeyPublic.verify(this.browserPublicKey.get_public_component().Serialize().ToBytes(), base64ToBytes(this.sessKeyProof));
60
+ this.sessionId = appReqParsed["sessionId"];
61
+ this.rememberMe = appReqParsed["rememberMe"];
62
+ // BIG NOTE
63
+ // enclaveVendorSessionKey public is the key used to identifiy this enclave to the vendor, and will be used alongside the DOKEN
64
+ // enclaveNetworkSessionKey is the key used to identify this enclave to the Tide Network for quick sign in functionality
65
+ // They should NEVER be the same as to ensure the Tide Network can't correlate CMKs to VVKs
66
+ // Checks if gBRK is familiar (expected to do that (outside this flow) in mobile app)
67
+ // ...
68
+ // Short printable source URL
69
+ this.userId = await GetUID(username);
70
+ this.username = username;
71
+ return {
72
+ browserKeyIdentifier: this.browserPublicKey.get_public_component().Serialize().ToString(),
73
+ vendorReturnURL: appReqParsed['returnURL'],
74
+ userID: this.userId
75
+ };
76
+ }
77
+ /**
78
+ *
79
+ * @param {string} devicePrivateKey
80
+ */
81
+ async authenticate(devicePrivateKey, testSessionKey = null, testUserInfo = null) {
82
+ if (!this.userId)
83
+ throw 'Make sure you run ensureReady first';
84
+ const deviceSessionKey = testSessionKey ? testSessionKey : TideKey.NewKey(Ed25519Scheme);
85
+ const simClient = new SimClient(this.homeOrkOrigin);
86
+ const userInfo = testUserInfo ? testUserInfo : await simClient.GetKeyInfo(this.userId);
87
+ const userInfoRef = new KeyInfo(userInfo.UserId, userInfo.UserPublic, userInfo.UserM, userInfo.OrkInfo.slice()); // we need the full ork list later for the enclave encrypted data
88
+ const signingFlow = new dVVKSigningFlow2Step(this.userId, userInfo.UserPublic, userInfo.OrkInfo, deviceSessionKey, null, this.voucherURL);
89
+ signingFlow.overrideVoucherAction("signin");
90
+ const draft = CreateTideMemoryFromArray([this.enclaveNetworkSessionKeyPublic.get_public_component().Serialize().ToBytes(), new Uint8Array([this.rememberMe ? 1 : 0])]);
91
+ const request = new BaseTideRequest((testSessionKey ? "Test" : "") + "DeviceAuthentication", "1", "", draft);
92
+ signingFlow.setRequest(request);
93
+ const pre_encRequesti = signingFlow.preSign();
94
+ // Compute appAuthi will awaiting request
95
+ const dvk = TideKey.FromSerializedComponent(devicePrivateKey);
96
+ const encRequesti = await pre_encRequesti;
97
+ const appAuthi = await DH.generateECDHi(sortORKs(userInfo.OrkInfo).map(o => o.orkPublic), dvk.get_private_component().priv); // must be sorted!
98
+ const convertinfo = await DeviceConvertReply(encRequesti, appAuthi.filter((_, i) => signingFlow.preSignState.bitwise[i] == true), // only use the appAuthis for the orks that responded (as shown in bitwise)
99
+ signingFlow.orks.map(o => BigInt(o.orkID)), // use signing flow orks reference since these reference the orks that are part of this request
100
+ userInfo.UserPublic, signingFlow.getVouchers().qPub, signingFlow.getVouchers().UDeObf, signingFlow.getVouchers().k, this.enclaveVendorSessionKeyPublic.get_public_component(), "auth", this.sessionId, signingFlow.preSignState.GRj[0]);
101
+ const toSend = convertinfo.decPrismRequesti.map(d => {
102
+ return CreateTideMemoryFromArray([base64ToBytes(d.PRKRequesti), BigIntToByteArray(convertinfo.blurHCMKMul)]);
103
+ });
104
+ const blindSig = (await signingFlow.sign(toSend)).sigs[0];
105
+ const vendorData = await AuthenticateDeviceReply(convertinfo.VUID, blindSig, convertinfo.gCMKAuth, convertinfo.authToken, convertinfo.r4, convertinfo.gRMul, null // - GVRK hereeee
106
+ );
107
+ // Return enclave encrypted data
108
+ this.enclaveEncryptedData = bytesToBase64(await this.browserPublicKey.asymmetricEncrypt(StringToUint8Array(JSON.stringify({
109
+ prkRequesti: convertinfo.decPrismRequesti.map(d => d.PRKRequesti),
110
+ vendorData: vendorData,
111
+ rememberMe: this.rememberMe,
112
+ enclaveEntry: {
113
+ username: this.username,
114
+ //persona, not really supported yet
115
+ expired: convertinfo.expired,
116
+ userInfo: userInfoRef.toNativeTypeObject(),
117
+ orksBitwise: signingFlow.preSignState.bitwise,
118
+ }
119
+ }))));
120
+ }
121
+ async finish() {
122
+ if (!this.enclaveEncryptedData)
123
+ throw 'Call Authenticate() first';
124
+ const success = this.webSocketClient.waitForMessage("login success");
125
+ await this.webSocketClient.sendMessage({
126
+ type: "mobile completed",
127
+ message: this.enclaveEncryptedData
128
+ });
129
+ await success;
130
+ await this.webSocketClient.close();
131
+ }
132
+ async testAuthenticate(devicePrivateKey, sessionKey, userInfo) {
133
+ await this.authenticate(devicePrivateKey, sessionKey, userInfo);
134
+ await this.finish();
135
+ }
136
+ async createNewAccount(devicePrivateKey, deviceName, email) {
137
+ const sessionKey = TideKey.NewKey(Ed25519Scheme);
138
+ const dvk = TideKey.FromSerializedComponent(devicePrivateKey);
139
+ // Reserver UID, get orks to create account
140
+ const { reservationConfirmation, activeOrks } = await dKeyGenerationFlow.ReserveUID(this.userId, this.voucherURL, sessionKey.get_public_component().public, this.homeOrkOrigin);
141
+ // Create a new tide account
142
+ const userOrks = activeOrks.slice(0, Max);
143
+ const keyGen = new dKeyGenerationFlow(this.userId, null, userOrks, sessionKey.get_private_component().rawBytes, sessionKey.get_public_component().public, "NEW", this.voucherURL, [email]);
144
+ const { gMultiplied, gK } = await keyGen.GenShard(1, [null], reservationConfirmation);
145
+ const keyM = (await keyGen.SetShard(dvk.get_public_component().Serialize().ToString(), "CMKDevice")).M;
146
+ // Test account
147
+ await this.testAuthenticate(devicePrivateKey, sessionKey, new KeyInfo(this.userId, gK, keyM, userOrks));
148
+ await keyGen.Commit();
149
+ }
150
+ async pairNewDevice(devicePrivateKey, password, deviceName, sessKey = null) {
151
+ // This is where we submit the new device key to the orks
152
+ // Also we authenticate using the username, password
153
+ // Later - when its a device allowing another device to pair - we'll need to show a qr code
154
+ if (!this.userId)
155
+ throw 'Make sure you run ensureReady first';
156
+ const dvk = TideKey.FromSerializedComponent(devicePrivateKey);
157
+ const sessionKey = sessKey != null ? sessKey : TideKey.NewKey(Ed25519Scheme);
158
+ const simClient = new SimClient(this.homeOrkOrigin);
159
+ const userInfo = await simClient.GetKeyInfo(this.userId);
160
+ const draft = CreateTideMemoryFromArray([
161
+ dvk.get_public_component().Serialize().ToBytes(),
162
+ await dvk.sign(sessionKey.get_public_component().Serialize().ToBytes())
163
+ ]);
164
+ const request = new BaseTideRequest("MigratePasswordToMobile", "1", "", draft);
165
+ const signingFlow = new dVVKSigningFlow2Step(this.userId, userInfo.UserPublic, userInfo.OrkInfo, sessionKey, null, this.voucherURL);
166
+ signingFlow.setRequest(request);
167
+ signingFlow.overrideVoucherAction("updateaccount");
168
+ const gPass = new Ed25519PublicComponent(await HashToPoint(password));
169
+ const r1 = Ed25519PrivateComponent.New();
170
+ const gBlurPass = gPass.MultiplyComponent(r1);
171
+ const prismConvertResponses = (await signingFlow.preSign(gBlurPass.Serialize().ToBytes())).map(r => {
172
+ return new PrismConvertResponse(bytesToBase64(GetValue(r, 0)), TideKey.FromSerializedComponent(GetValue(r, 1)).get_public_component().public); // conversion so we can use PrismConvertReply function
173
+ });
174
+ const convertInfo = await DevicePrismConvertReply(prismConvertResponses, signingFlow.orks.map(o => BigInt(o.orkID)), // use signing flow orks reference since these reference the orks that are part of this request
175
+ signingFlow.orks.map(o => o.orkPublic), // use signing flow orks reference since these reference the orks that are part of this request
176
+ r1.priv);
177
+ const dynDatas = convertInfo.prkRequesti.map(p => {
178
+ return CreateTideMemoryFromArray([
179
+ base64ToBytes(p),
180
+ BigIntToByteArray(convertInfo.timestampi),
181
+ StringToUint8Array(deviceName)
182
+ ]);
183
+ });
184
+ const M_signature = (await signingFlow.sign(dynDatas)).sigs[0];
185
+ // Now do test sign in
186
+ await this.testAuthenticate(devicePrivateKey, sessionKey);
187
+ // Now we commit
188
+ // We'll need to construct the requests ourselves since this wasn't made as part of the key gen flow
189
+ const preCommit = signingFlow.orks.map(o => new NodeClient(o.orkURL).Commit(this.userId, BigIntFromByteArray(M_signature.slice(-32)), sessionKey.get_public_component().public));
190
+ await Promise.all(preCommit);
191
+ }
192
+ }
193
+ //# sourceMappingURL=dMobileAuthenticationFlow.js.map