ts-mls 1.4.1 → 1.4.2

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 (156) hide show
  1. package/dist/authenticatedContent.d.ts +3 -1
  2. package/dist/authenticatedContent.js +10 -8
  3. package/dist/authenticatedContent.js.map +1 -1
  4. package/dist/capabilities.d.ts +2 -1
  5. package/dist/capabilities.js +13 -12
  6. package/dist/capabilities.js.map +1 -1
  7. package/dist/clientState.d.ts +4 -3
  8. package/dist/clientState.js +87 -59
  9. package/dist/clientState.js.map +1 -1
  10. package/dist/codec/number.d.ts +5 -1
  11. package/dist/codec/number.js +33 -24
  12. package/dist/codec/number.js.map +1 -1
  13. package/dist/codec/optional.d.ts +2 -2
  14. package/dist/codec/optional.js +24 -7
  15. package/dist/codec/optional.js.map +1 -1
  16. package/dist/codec/tlsEncoder.d.ts +11 -8
  17. package/dist/codec/tlsEncoder.js +39 -21
  18. package/dist/codec/tlsEncoder.js.map +1 -1
  19. package/dist/codec/variableLength.d.ts +4 -4
  20. package/dist/codec/variableLength.js +58 -28
  21. package/dist/codec/variableLength.js.map +1 -1
  22. package/dist/commit.d.ts +2 -1
  23. package/dist/commit.js +7 -6
  24. package/dist/commit.js.map +1 -1
  25. package/dist/contentType.d.ts +2 -1
  26. package/dist/contentType.js +4 -3
  27. package/dist/contentType.js.map +1 -1
  28. package/dist/createCommit.js +6 -5
  29. package/dist/createCommit.js.map +1 -1
  30. package/dist/credential.d.ts +5 -1
  31. package/dist/credential.js +14 -10
  32. package/dist/credential.js.map +1 -1
  33. package/dist/credentialType.d.ts +2 -1
  34. package/dist/credentialType.js +4 -3
  35. package/dist/credentialType.js.map +1 -1
  36. package/dist/crypto/ciphersuite.d.ts +2 -1
  37. package/dist/crypto/ciphersuite.js +4 -3
  38. package/dist/crypto/ciphersuite.js.map +1 -1
  39. package/dist/crypto/hash.js +4 -3
  40. package/dist/crypto/hash.js.map +1 -1
  41. package/dist/crypto/hpke.js +10 -4
  42. package/dist/crypto/hpke.js.map +1 -1
  43. package/dist/crypto/implementation/default/makeAead.js +9 -9
  44. package/dist/crypto/implementation/default/makeAead.js.map +1 -1
  45. package/dist/crypto/implementation/default/makeHashImpl.js +5 -5
  46. package/dist/crypto/implementation/default/makeHashImpl.js.map +1 -1
  47. package/dist/crypto/implementation/default/makeKdfImpl.js +3 -3
  48. package/dist/crypto/implementation/default/makeKdfImpl.js.map +1 -1
  49. package/dist/crypto/implementation/hpke.js +11 -11
  50. package/dist/crypto/implementation/hpke.js.map +1 -1
  51. package/dist/crypto/kdf.js +8 -7
  52. package/dist/crypto/kdf.js.map +1 -1
  53. package/dist/crypto/signature.js +10 -4
  54. package/dist/crypto/signature.js.map +1 -1
  55. package/dist/defaultExtensionType.d.ts +2 -1
  56. package/dist/defaultExtensionType.js +4 -3
  57. package/dist/defaultExtensionType.js.map +1 -1
  58. package/dist/defaultProposalType.d.ts +2 -1
  59. package/dist/defaultProposalType.js +4 -3
  60. package/dist/defaultProposalType.js.map +1 -1
  61. package/dist/extension.d.ts +3 -1
  62. package/dist/extension.js +8 -6
  63. package/dist/extension.js.map +1 -1
  64. package/dist/externalSender.d.ts +2 -1
  65. package/dist/externalSender.js +5 -4
  66. package/dist/externalSender.js.map +1 -1
  67. package/dist/framedContent.d.ts +9 -1
  68. package/dist/framedContent.js +35 -27
  69. package/dist/framedContent.js.map +1 -1
  70. package/dist/groupContext.d.ts +2 -1
  71. package/dist/groupContext.js +17 -16
  72. package/dist/groupContext.js.map +1 -1
  73. package/dist/groupInfo.d.ts +3 -1
  74. package/dist/groupInfo.js +11 -9
  75. package/dist/groupInfo.js.map +1 -1
  76. package/dist/groupSecrets.d.ts +2 -1
  77. package/dist/groupSecrets.js +6 -5
  78. package/dist/groupSecrets.js.map +1 -1
  79. package/dist/hpkeCiphertext.d.ts +2 -1
  80. package/dist/hpkeCiphertext.js +4 -3
  81. package/dist/hpkeCiphertext.js.map +1 -1
  82. package/dist/keyPackage.d.ts +5 -3
  83. package/dist/keyPackage.js +17 -15
  84. package/dist/keyPackage.js.map +1 -1
  85. package/dist/leafNode.d.ts +11 -1
  86. package/dist/leafNode.js +43 -27
  87. package/dist/leafNode.js.map +1 -1
  88. package/dist/leafNodeSource.d.ts +2 -1
  89. package/dist/leafNodeSource.js +4 -3
  90. package/dist/leafNodeSource.js.map +1 -1
  91. package/dist/lifetime.d.ts +2 -1
  92. package/dist/lifetime.js +4 -3
  93. package/dist/lifetime.js.map +1 -1
  94. package/dist/message.d.ts +9 -2
  95. package/dist/message.js +27 -20
  96. package/dist/message.js.map +1 -1
  97. package/dist/messageProtection.js +4 -3
  98. package/dist/messageProtection.js.map +1 -1
  99. package/dist/nodeType.d.ts +2 -1
  100. package/dist/nodeType.js +4 -3
  101. package/dist/nodeType.js.map +1 -1
  102. package/dist/parentHash.d.ts +2 -1
  103. package/dist/parentHash.js +5 -4
  104. package/dist/parentHash.js.map +1 -1
  105. package/dist/parentNode.d.ts +2 -1
  106. package/dist/parentNode.js +5 -4
  107. package/dist/parentNode.js.map +1 -1
  108. package/dist/presharedkey.d.ts +6 -1
  109. package/dist/presharedkey.js +16 -11
  110. package/dist/presharedkey.js.map +1 -1
  111. package/dist/privateMessage.d.ts +4 -1
  112. package/dist/privateMessage.js +29 -20
  113. package/dist/privateMessage.js.map +1 -1
  114. package/dist/processMessages.js +3 -2
  115. package/dist/processMessages.js.map +1 -1
  116. package/dist/proposal.d.ts +17 -1
  117. package/dist/proposal.js +50 -34
  118. package/dist/proposal.js.map +1 -1
  119. package/dist/proposalOrRefType.d.ts +5 -1
  120. package/dist/proposalOrRefType.js +14 -10
  121. package/dist/proposalOrRefType.js.map +1 -1
  122. package/dist/protocolVersion.d.ts +2 -1
  123. package/dist/protocolVersion.js +4 -3
  124. package/dist/protocolVersion.js.map +1 -1
  125. package/dist/publicMessage.d.ts +3 -1
  126. package/dist/publicMessage.js +9 -7
  127. package/dist/publicMessage.js.map +1 -1
  128. package/dist/ratchetTree.d.ts +3 -1
  129. package/dist/ratchetTree.js +13 -11
  130. package/dist/ratchetTree.js.map +1 -1
  131. package/dist/requiredCapabilities.d.ts +2 -1
  132. package/dist/requiredCapabilities.js +6 -5
  133. package/dist/requiredCapabilities.js.map +1 -1
  134. package/dist/sender.d.ts +6 -1
  135. package/dist/sender.js +24 -13
  136. package/dist/sender.js.map +1 -1
  137. package/dist/transcriptHash.d.ts +2 -1
  138. package/dist/transcriptHash.js +18 -8
  139. package/dist/transcriptHash.js.map +1 -1
  140. package/dist/treeHash.d.ts +4 -1
  141. package/dist/treeHash.js +17 -14
  142. package/dist/treeHash.js.map +1 -1
  143. package/dist/tsconfig.build.tsbuildinfo +1 -1
  144. package/dist/updatePath.d.ts +3 -1
  145. package/dist/updatePath.js +10 -8
  146. package/dist/updatePath.js.map +1 -1
  147. package/dist/util/byteArray.d.ts +2 -1
  148. package/dist/util/byteArray.js +21 -2
  149. package/dist/util/byteArray.js.map +1 -1
  150. package/dist/welcome.d.ts +3 -1
  151. package/dist/welcome.js +12 -10
  152. package/dist/welcome.js.map +1 -1
  153. package/dist/wireformat.d.ts +2 -1
  154. package/dist/wireformat.js +4 -3
  155. package/dist/wireformat.js.map +1 -1
  156. package/package.json +3 -3
@@ -1,5 +1,5 @@
1
1
  import { Decoder } from "./codec/tlsDecoder.js";
2
- import { Encoder } from "./codec/tlsEncoder.js";
2
+ import { BufferEncoder, Encoder } from "./codec/tlsEncoder.js";
3
3
  import { CiphersuiteImpl } from "./crypto/ciphersuite.js";
4
4
  export declare const pskTypes: {
5
5
  readonly external: 1;
@@ -7,6 +7,7 @@ export declare const pskTypes: {
7
7
  };
8
8
  export type PSKTypeName = keyof typeof pskTypes;
9
9
  export type PSKType = (typeof pskTypes)[PSKTypeName];
10
+ export declare const pskTypeEncoder: BufferEncoder<PSKTypeName>;
10
11
  export declare const encodePskType: Encoder<PSKTypeName>;
11
12
  export declare const decodePskType: Decoder<PSKTypeName>;
12
13
  declare const resumptionPSKUsages: {
@@ -16,6 +17,7 @@ declare const resumptionPSKUsages: {
16
17
  };
17
18
  export type ResumptionPSKUsageName = keyof typeof resumptionPSKUsages;
18
19
  export type ResumptionPSKUsage = (typeof resumptionPSKUsages)[ResumptionPSKUsageName];
20
+ export declare const resumptionPSKUsageEncoder: BufferEncoder<ResumptionPSKUsageName>;
19
21
  export declare const encodeResumptionPSKUsage: Encoder<ResumptionPSKUsageName>;
20
22
  export declare const decodeResumptionPSKUsage: Decoder<ResumptionPSKUsageName>;
21
23
  export interface PSKInfoExternal {
@@ -29,12 +31,14 @@ export interface PSKInfoResumption {
29
31
  pskEpoch: bigint;
30
32
  }
31
33
  export type PSKInfo = PSKInfoExternal | PSKInfoResumption;
34
+ export declare const pskInfoEncoder: BufferEncoder<PSKInfo>;
32
35
  export declare const encodePskInfo: Encoder<PSKInfo>;
33
36
  export declare const decodePskInfo: Decoder<PSKInfo>;
34
37
  type PSKNonce = {
35
38
  pskNonce: Uint8Array;
36
39
  };
37
40
  export type PreSharedKeyID = PSKInfo & PSKNonce;
41
+ export declare const pskIdEncoder: BufferEncoder<PreSharedKeyID>;
38
42
  export declare const encodePskId: Encoder<PreSharedKeyID>;
39
43
  export declare const decodePskId: Decoder<PreSharedKeyID>;
40
44
  type PSKLabel = {
@@ -42,6 +46,7 @@ type PSKLabel = {
42
46
  index: number;
43
47
  count: number;
44
48
  };
49
+ export declare const pskLabelEncoder: BufferEncoder<PSKLabel>;
45
50
  export declare const encodePskLabel: Encoder<PSKLabel>;
46
51
  export declare const decodePskLabel: Decoder<PSKLabel>;
47
52
  export type PreSharedKeyIdExternal = PSKInfoExternal & PSKNonce;
@@ -1,28 +1,30 @@
1
- import { decodeUint16, decodeUint64, decodeUint8, encodeUint16, encodeUint64, encodeUint8 } from "./codec/number.js";
1
+ import { decodeUint16, decodeUint64, decodeUint8, uint16Encoder, uint64Encoder, uint8Encoder } from "./codec/number.js";
2
2
  import { flatMapDecoder, mapDecoder, mapDecoderOption, mapDecoders } from "./codec/tlsDecoder.js";
3
- import { contramapEncoder, contramapEncoders } from "./codec/tlsEncoder.js";
4
- import { decodeVarLenData, encodeVarLenData } from "./codec/variableLength.js";
3
+ import { contramapBufferEncoder, contramapBufferEncoders, encode } from "./codec/tlsEncoder.js";
4
+ import { decodeVarLenData, varLenDataEncoder } from "./codec/variableLength.js";
5
5
  import { expandWithLabel } from "./crypto/kdf.js";
6
6
  import { enumNumberToKey } from "./util/enumHelpers.js";
7
7
  export const pskTypes = {
8
8
  external: 1,
9
9
  resumption: 2,
10
10
  };
11
- export const encodePskType = contramapEncoder(encodeUint8, (t) => pskTypes[t]);
11
+ export const pskTypeEncoder = contramapBufferEncoder(uint8Encoder, (t) => pskTypes[t]);
12
+ export const encodePskType = encode(pskTypeEncoder);
12
13
  export const decodePskType = mapDecoderOption(decodeUint8, enumNumberToKey(pskTypes));
13
14
  const resumptionPSKUsages = {
14
15
  application: 1,
15
16
  reinit: 2,
16
17
  branch: 3,
17
18
  };
18
- export const encodeResumptionPSKUsage = contramapEncoder(encodeUint8, (u) => resumptionPSKUsages[u]);
19
+ export const resumptionPSKUsageEncoder = contramapBufferEncoder(uint8Encoder, (u) => resumptionPSKUsages[u]);
20
+ export const encodeResumptionPSKUsage = encode(resumptionPSKUsageEncoder);
19
21
  export const decodeResumptionPSKUsage = mapDecoderOption(decodeUint8, enumNumberToKey(resumptionPSKUsages));
20
- const encodePskInfoExternal = contramapEncoders([encodePskType, encodeVarLenData], (i) => [i.psktype, i.pskId]);
21
- const encodePskInfoResumption = contramapEncoders([encodePskType, encodeResumptionPSKUsage, encodeVarLenData, encodeUint64], (info) => [info.psktype, info.usage, info.pskGroupId, info.pskEpoch]);
22
+ const encodePskInfoExternal = contramapBufferEncoders([pskTypeEncoder, varLenDataEncoder], (i) => [i.psktype, i.pskId]);
23
+ const encodePskInfoResumption = contramapBufferEncoders([pskTypeEncoder, resumptionPSKUsageEncoder, varLenDataEncoder, uint64Encoder], (info) => [info.psktype, info.usage, info.pskGroupId, info.pskEpoch]);
22
24
  const decodePskInfoResumption = mapDecoders([decodeResumptionPSKUsage, decodeVarLenData, decodeUint64], (usage, pskGroupId, pskEpoch) => {
23
25
  return { usage, pskGroupId, pskEpoch };
24
26
  });
25
- export const encodePskInfo = (info) => {
27
+ export const pskInfoEncoder = (info) => {
26
28
  switch (info.psktype) {
27
29
  case "external":
28
30
  return encodePskInfoExternal(info);
@@ -30,6 +32,7 @@ export const encodePskInfo = (info) => {
30
32
  return encodePskInfoResumption(info);
31
33
  }
32
34
  };
35
+ export const encodePskInfo = encode(pskInfoEncoder);
33
36
  export const decodePskInfo = flatMapDecoder(decodePskType, (psktype) => {
34
37
  switch (psktype) {
35
38
  case "external":
@@ -44,9 +47,11 @@ export const decodePskInfo = flatMapDecoder(decodePskType, (psktype) => {
44
47
  }));
45
48
  }
46
49
  });
47
- export const encodePskId = contramapEncoders([encodePskInfo, encodeVarLenData], (pskid) => [pskid, pskid.pskNonce]);
50
+ export const pskIdEncoder = contramapBufferEncoders([pskInfoEncoder, varLenDataEncoder], (pskid) => [pskid, pskid.pskNonce]);
51
+ export const encodePskId = encode(pskIdEncoder);
48
52
  export const decodePskId = mapDecoders([decodePskInfo, decodeVarLenData], (info, pskNonce) => ({ ...info, pskNonce }));
49
- export const encodePskLabel = contramapEncoders([encodePskId, encodeUint16, encodeUint16], (label) => [label.id, label.index, label.count]);
53
+ export const pskLabelEncoder = contramapBufferEncoders([pskIdEncoder, uint16Encoder, uint16Encoder], (label) => [label.id, label.index, label.count]);
54
+ export const encodePskLabel = encode(pskLabelEncoder);
50
55
  export const decodePskLabel = mapDecoders([decodePskId, decodeUint16, decodeUint16], (id, index, count) => ({ id, index, count }));
51
56
  export async function computePskSecret(psks, impl) {
52
57
  const zeroes = new Uint8Array(impl.kdf.size);
@@ -54,6 +59,6 @@ export async function computePskSecret(psks, impl) {
54
59
  }
55
60
  export async function updatePskSecret(secret, pskId, psk, index, count, impl) {
56
61
  const zeroes = new Uint8Array(impl.kdf.size);
57
- return impl.kdf.extract(await expandWithLabel(await impl.kdf.extract(zeroes, psk), "derived psk", encodePskLabel({ id: pskId, index, count }), impl.kdf.size, impl.kdf), secret);
62
+ return impl.kdf.extract(await expandWithLabel(await impl.kdf.extract(zeroes, psk), "derived psk", encode(pskLabelEncoder)({ id: pskId, index, count }), impl.kdf.size, impl.kdf), secret);
58
63
  }
59
64
  //# sourceMappingURL=presharedkey.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"presharedkey.js","sourceRoot":"","sources":["../src/presharedkey.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"presharedkey.js","sourceRoot":"","sources":["../src/presharedkey.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { AuthenticatedContent } from "./authenticatedContent.js";
2
2
  import { Decoder } from "./codec/tlsDecoder.js";
3
- import { Encoder } from "./codec/tlsEncoder.js";
3
+ import { BufferEncoder, Encoder } from "./codec/tlsEncoder.js";
4
4
  import { ContentTypeName } from "./contentType.js";
5
5
  import { CiphersuiteImpl } from "./crypto/ciphersuite.js";
6
6
  import { FramedContentApplicationData, FramedContentAuthDataApplicationOrProposal, FramedContentAuthDataCommit, FramedContentCommitData, FramedContentProposalData } from "./framedContent.js";
@@ -14,6 +14,7 @@ export interface PrivateMessage {
14
14
  encryptedSenderData: Uint8Array;
15
15
  ciphertext: Uint8Array;
16
16
  }
17
+ export declare const privateMessageEncoder: BufferEncoder<PrivateMessage>;
17
18
  export declare const encodePrivateMessage: Encoder<PrivateMessage>;
18
19
  export declare const decodePrivateMessage: Decoder<PrivateMessage>;
19
20
  export interface PrivateContentAAD {
@@ -22,6 +23,7 @@ export interface PrivateContentAAD {
22
23
  contentType: ContentTypeName;
23
24
  authenticatedData: Uint8Array;
24
25
  }
26
+ export declare const privateContentAADEncoder: BufferEncoder<PrivateContentAAD>;
25
27
  export declare const encodePrivateContentAAD: Encoder<PrivateContentAAD>;
26
28
  export declare const decodePrivateContentAAD: Decoder<PrivateContentAAD>;
27
29
  export type PrivateMessageContent = PrivateMessageContentApplication | PrivateMessageContentProposal | PrivateMessageContentCommit;
@@ -35,6 +37,7 @@ export type PrivateMessageContentCommit = FramedContentCommitData & {
35
37
  auth: FramedContentAuthDataCommit;
36
38
  };
37
39
  export declare function decodePrivateMessageContent(contentType: ContentTypeName): Decoder<PrivateMessageContent>;
40
+ export declare function privateMessageContentEncoder(config: PaddingConfig): BufferEncoder<PrivateMessageContent>;
38
41
  export declare function encodePrivateMessageContent(config: PaddingConfig): Encoder<PrivateMessageContent>;
39
42
  export declare function decryptSenderData(msg: PrivateMessage, senderDataSecret: Uint8Array, cs: CiphersuiteImpl): Promise<SenderData | undefined>;
40
43
  export declare function encryptSenderData(senderDataSecret: Uint8Array, senderData: SenderData, aad: SenderDataAAD, ciphertext: Uint8Array, cs: CiphersuiteImpl): Promise<Uint8Array>;
@@ -1,14 +1,15 @@
1
- import { decodeUint64, encodeUint64 } from "./codec/number.js";
1
+ import { decodeUint64, uint64Encoder } from "./codec/number.js";
2
2
  import { mapDecoders } from "./codec/tlsDecoder.js";
3
- import { contramapEncoders } from "./codec/tlsEncoder.js";
4
- import { decodeVarLenData, encodeVarLenData } from "./codec/variableLength.js";
5
- import { decodeCommit, encodeCommit } from "./commit.js";
6
- import { decodeContentType, encodeContentType } from "./contentType.js";
7
- import { decodeFramedContentAuthDataCommit, encodeFramedContentAuthData, } from "./framedContent.js";
3
+ import { contramapBufferEncoders, encode } from "./codec/tlsEncoder.js";
4
+ import { decodeVarLenData, varLenDataEncoder } from "./codec/variableLength.js";
5
+ import { decodeCommit, commitEncoder } from "./commit.js";
6
+ import { contentTypeEncoder, decodeContentType } from "./contentType.js";
7
+ import { decodeFramedContentAuthDataCommit, framedContentAuthDataEncoder, } from "./framedContent.js";
8
8
  import { byteLengthToPad } from "./paddingConfig.js";
9
- import { decodeProposal, encodeProposal } from "./proposal.js";
10
- import { decodeSenderData, encodeSenderData, encodeSenderDataAAD, expandSenderDataKey, expandSenderDataNonce, } from "./sender.js";
11
- export const encodePrivateMessage = contramapEncoders([encodeVarLenData, encodeUint64, encodeContentType, encodeVarLenData, encodeVarLenData, encodeVarLenData], (msg) => [msg.groupId, msg.epoch, msg.contentType, msg.authenticatedData, msg.encryptedSenderData, msg.ciphertext]);
9
+ import { decodeProposal, proposalEncoder } from "./proposal.js";
10
+ import { decodeSenderData, senderDataEncoder, senderDataAADEncoder, expandSenderDataKey, expandSenderDataNonce, } from "./sender.js";
11
+ export const privateMessageEncoder = contramapBufferEncoders([varLenDataEncoder, uint64Encoder, contentTypeEncoder, varLenDataEncoder, varLenDataEncoder, varLenDataEncoder], (msg) => [msg.groupId, msg.epoch, msg.contentType, msg.authenticatedData, msg.encryptedSenderData, msg.ciphertext]);
12
+ export const encodePrivateMessage = encode(privateMessageEncoder);
12
13
  export const decodePrivateMessage = mapDecoders([decodeVarLenData, decodeUint64, decodeContentType, decodeVarLenData, decodeVarLenData, decodeVarLenData], (groupId, epoch, contentType, authenticatedData, encryptedSenderData, ciphertext) => ({
13
14
  groupId,
14
15
  epoch,
@@ -17,7 +18,8 @@ export const decodePrivateMessage = mapDecoders([decodeVarLenData, decodeUint64,
17
18
  encryptedSenderData,
18
19
  ciphertext,
19
20
  }));
20
- export const encodePrivateContentAAD = contramapEncoders([encodeVarLenData, encodeUint64, encodeContentType, encodeVarLenData], (aad) => [aad.groupId, aad.epoch, aad.contentType, aad.authenticatedData]);
21
+ export const privateContentAADEncoder = contramapBufferEncoders([varLenDataEncoder, uint64Encoder, contentTypeEncoder, varLenDataEncoder], (aad) => [aad.groupId, aad.epoch, aad.contentType, aad.authenticatedData]);
22
+ export const encodePrivateContentAAD = encode(privateContentAADEncoder);
21
23
  export const decodePrivateContentAAD = mapDecoders([decodeVarLenData, decodeUint64, decodeContentType, decodeVarLenData], (groupId, epoch, contentType, authenticatedData) => ({
22
24
  groupId,
23
25
  epoch,
@@ -46,18 +48,21 @@ export function decodePrivateMessageContent(contentType) {
46
48
  })));
47
49
  }
48
50
  }
49
- export function encodePrivateMessageContent(config) {
51
+ export function privateMessageContentEncoder(config) {
50
52
  return (msg) => {
51
53
  switch (msg.contentType) {
52
54
  case "application":
53
- return encoderWithPadding(contramapEncoders([encodeVarLenData, encodeFramedContentAuthData], (m) => [m.applicationData, m.auth]), config)(msg);
55
+ return encoderWithPadding(contramapBufferEncoders([varLenDataEncoder, framedContentAuthDataEncoder], (m) => [m.applicationData, m.auth]), config)(msg);
54
56
  case "proposal":
55
- return encoderWithPadding(contramapEncoders([encodeProposal, encodeFramedContentAuthData], (m) => [m.proposal, m.auth]), config)(msg);
57
+ return encoderWithPadding(contramapBufferEncoders([proposalEncoder, framedContentAuthDataEncoder], (m) => [m.proposal, m.auth]), config)(msg);
56
58
  case "commit":
57
- return encoderWithPadding(contramapEncoders([encodeCommit, encodeFramedContentAuthData], (m) => [m.commit, m.auth]), config)(msg);
59
+ return encoderWithPadding(contramapBufferEncoders([commitEncoder, framedContentAuthDataEncoder], (m) => [m.commit, m.auth]), config)(msg);
58
60
  }
59
61
  };
60
62
  }
63
+ export function encodePrivateMessageContent(config) {
64
+ return encode(privateMessageContentEncoder(config));
65
+ }
61
66
  export async function decryptSenderData(msg, senderDataSecret, cs) {
62
67
  const key = await expandSenderDataKey(cs, senderDataSecret, msg.ciphertext);
63
68
  const nonce = await expandSenderDataNonce(cs, senderDataSecret, msg.ciphertext);
@@ -66,13 +71,13 @@ export async function decryptSenderData(msg, senderDataSecret, cs) {
66
71
  epoch: msg.epoch,
67
72
  contentType: msg.contentType,
68
73
  };
69
- const decrypted = await cs.hpke.decryptAead(key, nonce, encodeSenderDataAAD(aad), msg.encryptedSenderData);
74
+ const decrypted = await cs.hpke.decryptAead(key, nonce, encode(senderDataAADEncoder)(aad), msg.encryptedSenderData);
70
75
  return decodeSenderData(decrypted, 0)?.[0];
71
76
  }
72
77
  export async function encryptSenderData(senderDataSecret, senderData, aad, ciphertext, cs) {
73
78
  const key = await expandSenderDataKey(cs, senderDataSecret, ciphertext);
74
79
  const nonce = await expandSenderDataNonce(cs, senderDataSecret, ciphertext);
75
- return await cs.hpke.encryptAead(key, nonce, encodeSenderDataAAD(aad), encodeSenderData(senderData));
80
+ return await cs.hpke.encryptAead(key, nonce, encode(senderDataAADEncoder)(aad), encode(senderDataEncoder)(senderData));
76
81
  }
77
82
  export function toAuthenticatedContent(content, msg, senderLeafIndex) {
78
83
  return {
@@ -92,10 +97,14 @@ export function toAuthenticatedContent(content, msg, senderLeafIndex) {
92
97
  }
93
98
  function encoderWithPadding(encoder, config) {
94
99
  return (t) => {
95
- const encoded = encoder(t);
96
- const result = new Uint8Array(encoded.length + byteLengthToPad(encoded.length, config));
97
- result.set(encoded, 0);
98
- return result;
100
+ const [len, write] = encoder(t);
101
+ const totalLength = len + byteLengthToPad(len, config);
102
+ return [
103
+ totalLength,
104
+ (offset, buffer) => {
105
+ write(offset, buffer);
106
+ },
107
+ ];
99
108
  };
100
109
  }
101
110
  function decoderWithPadding(decoder) {
@@ -1 +1 @@
1
- {"version":3,"file":"privateMessage.js","sourceRoot":"","sources":["../src/privateMessage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"privateMessage.js","sourceRoot":"","sources":["../src/privateMessage.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { addHistoricalReceiverData, applyProposals, nextEpochContext, processProposal, throwIfDefined, validateLeafNodeUpdateOrCommit, } from "./clientState.js";
1
+ import { addHistoricalReceiverData, applyProposals, nextEpochContext, processProposal, throwIfDefined, validateLeafNodeCredentialAndKeyUniqueness, validateLeafNodeUpdateOrCommit, } from "./clientState.js";
2
2
  import { applyUpdatePathSecret } from "./createCommit.js";
3
3
  import { deriveSecret } from "./crypto/kdf.js";
4
4
  import { verifyConfirmationTag } from "./framedContent.js";
@@ -114,7 +114,8 @@ async function processCommit(state, content, wireformat, pskSearch, callback, cs
114
114
  (result.additionalResult.kind === "externalCommit" ? result.additionalResult.newMemberLeafIndex : undefined);
115
115
  if (committerLeafIndex === undefined)
116
116
  throw new ValidationError("Cannot verify commit leaf node because no commiter leaf index found");
117
- throwIfDefined(await validateLeafNodeUpdateOrCommit(content.content.commit.path.leafNode, committerLeafIndex, state.groupContext, result.tree, state.clientConfig.authService, cs.signature));
117
+ throwIfDefined(await validateLeafNodeUpdateOrCommit(content.content.commit.path.leafNode, committerLeafIndex, state.groupContext, state.clientConfig.authService, cs.signature));
118
+ throwIfDefined(await validateLeafNodeCredentialAndKeyUniqueness(result.tree, content.content.commit.path.leafNode, committerLeafIndex));
118
119
  }
119
120
  if (result.needsUpdatePath && content.content.commit.path === undefined)
120
121
  throw new ValidationError("Update path is required");
@@ -1 +1 @@
1
- {"version":3,"file":"processMessages.js","sourceRoot":"","sources":["../src/processMessages.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"processMessages.js","sourceRoot":"","sources":["../src/processMessages.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { Decoder } from "./codec/tlsDecoder.js";
2
- import { Encoder } from "./codec/tlsEncoder.js";
2
+ import { BufferEncoder, Encoder } from "./codec/tlsEncoder.js";
3
3
  import { CiphersuiteName } from "./crypto/ciphersuite.js";
4
4
  import { Extension } from "./extension.js";
5
5
  import { KeyPackage } from "./keyPackage.js";
@@ -9,21 +9,25 @@ import { LeafNodeUpdate } from "./leafNode.js";
9
9
  export interface Add {
10
10
  keyPackage: KeyPackage;
11
11
  }
12
+ export declare const addEncoder: BufferEncoder<Add>;
12
13
  export declare const encodeAdd: Encoder<Add>;
13
14
  export declare const decodeAdd: Decoder<Add>;
14
15
  export interface Update {
15
16
  leafNode: LeafNodeUpdate;
16
17
  }
18
+ export declare const updateEncoder: BufferEncoder<Update>;
17
19
  export declare const encodeUpdate: Encoder<Update>;
18
20
  export declare const decodeUpdate: Decoder<Update>;
19
21
  export interface Remove {
20
22
  removed: number;
21
23
  }
24
+ export declare const removeEncoder: BufferEncoder<Remove>;
22
25
  export declare const encodeRemove: Encoder<Remove>;
23
26
  export declare const decodeRemove: Decoder<Remove>;
24
27
  export interface PSK {
25
28
  preSharedKeyId: PreSharedKeyID;
26
29
  }
30
+ export declare const pskEncoder: BufferEncoder<PSK>;
27
31
  export declare const encodePSK: Encoder<PSK>;
28
32
  export declare const decodePSK: Decoder<PSK>;
29
33
  export interface Reinit {
@@ -32,16 +36,19 @@ export interface Reinit {
32
36
  cipherSuite: CiphersuiteName;
33
37
  extensions: Extension[];
34
38
  }
39
+ export declare const reinitEncoder: BufferEncoder<Reinit>;
35
40
  export declare const encodeReinit: Encoder<Reinit>;
36
41
  export declare const decodeReinit: Decoder<Reinit>;
37
42
  export interface ExternalInit {
38
43
  kemOutput: Uint8Array;
39
44
  }
45
+ export declare const externalInitEncoder: BufferEncoder<ExternalInit>;
40
46
  export declare const encodeExternalInit: Encoder<ExternalInit>;
41
47
  export declare const decodeExternalInit: Decoder<ExternalInit>;
42
48
  export interface GroupContextExtensions {
43
49
  extensions: Extension[];
44
50
  }
51
+ export declare const groupContextExtensionsEncoder: BufferEncoder<GroupContextExtensions>;
45
52
  export declare const encodeGroupContextExtensions: Encoder<GroupContextExtensions>;
46
53
  export declare const decodeGroupContextExtensions: Decoder<GroupContextExtensions>;
47
54
  export interface ProposalAdd {
@@ -77,14 +84,23 @@ export interface ProposalCustom {
77
84
  proposalData: Uint8Array;
78
85
  }
79
86
  export type Proposal = ProposalAdd | ProposalUpdate | ProposalRemove | ProposalPSK | ProposalReinit | ProposalExternalInit | ProposalGroupContextExtensions | ProposalCustom;
87
+ export declare const proposalAddEncoder: BufferEncoder<ProposalAdd>;
80
88
  export declare const encodeProposalAdd: Encoder<ProposalAdd>;
89
+ export declare const proposalUpdateEncoder: BufferEncoder<ProposalUpdate>;
81
90
  export declare const encodeProposalUpdate: Encoder<ProposalUpdate>;
91
+ export declare const proposalRemoveEncoder: BufferEncoder<ProposalRemove>;
82
92
  export declare const encodeProposalRemove: Encoder<ProposalRemove>;
93
+ export declare const proposalPSKEncoder: BufferEncoder<ProposalPSK>;
83
94
  export declare const encodeProposalPSK: Encoder<ProposalPSK>;
95
+ export declare const proposalReinitEncoder: BufferEncoder<ProposalReinit>;
84
96
  export declare const encodeProposalReinit: Encoder<ProposalReinit>;
97
+ export declare const proposalExternalInitEncoder: BufferEncoder<ProposalExternalInit>;
85
98
  export declare const encodeProposalExternalInit: Encoder<ProposalExternalInit>;
99
+ export declare const proposalGroupContextExtensionsEncoder: BufferEncoder<ProposalGroupContextExtensions>;
86
100
  export declare const encodeProposalGroupContextExtensions: Encoder<ProposalGroupContextExtensions>;
101
+ export declare const proposalCustomEncoder: BufferEncoder<ProposalCustom>;
87
102
  export declare const encodeProposalCustom: Encoder<ProposalCustom>;
103
+ export declare const proposalEncoder: BufferEncoder<Proposal>;
88
104
  export declare const encodeProposal: Encoder<Proposal>;
89
105
  export declare const decodeProposalAdd: Decoder<ProposalAdd>;
90
106
  export declare const decodeProposalUpdate: Decoder<ProposalUpdate>;
package/dist/proposal.js CHANGED
@@ -1,56 +1,72 @@
1
- import { decodeUint16, decodeUint32, encodeUint16, encodeUint32 } from "./codec/number.js";
1
+ import { decodeUint16, decodeUint32, uint16Encoder, uint32Encoder } from "./codec/number.js";
2
2
  import { flatMapDecoder, mapDecoder, mapDecoders, orDecoder } from "./codec/tlsDecoder.js";
3
- import { contramapEncoder, contramapEncoders } from "./codec/tlsEncoder.js";
4
- import { decodeVarLenData, decodeVarLenType, encodeVarLenData, encodeVarLenType } from "./codec/variableLength.js";
5
- import { decodeCiphersuite, encodeCiphersuite } from "./crypto/ciphersuite.js";
6
- import { decodeExtension, encodeExtension } from "./extension.js";
7
- import { decodeKeyPackage, encodeKeyPackage } from "./keyPackage.js";
8
- import { decodePskId, encodePskId } from "./presharedkey.js";
9
- import { decodeDefaultProposalType, encodeDefaultProposalType } from "./defaultProposalType.js";
10
- import { decodeProtocolVersion, encodeProtocolVersion } from "./protocolVersion.js";
11
- import { decodeLeafNodeUpdate, encodeLeafNode } from "./leafNode.js";
12
- export const encodeAdd = contramapEncoder(encodeKeyPackage, (a) => a.keyPackage);
3
+ import { contramapBufferEncoder, contramapBufferEncoders, encode } from "./codec/tlsEncoder.js";
4
+ import { decodeVarLenData, decodeVarLenType, varLenDataEncoder, varLenTypeEncoder } from "./codec/variableLength.js";
5
+ import { ciphersuiteEncoder, decodeCiphersuite } from "./crypto/ciphersuite.js";
6
+ import { decodeExtension, extensionEncoder } from "./extension.js";
7
+ import { decodeKeyPackage, keyPackageEncoder } from "./keyPackage.js";
8
+ import { decodePskId, pskIdEncoder } from "./presharedkey.js";
9
+ import { decodeDefaultProposalType, defaultProposalTypeEncoder } from "./defaultProposalType.js";
10
+ import { decodeProtocolVersion, protocolVersionEncoder } from "./protocolVersion.js";
11
+ import { decodeLeafNodeUpdate, leafNodeEncoder } from "./leafNode.js";
12
+ export const addEncoder = contramapBufferEncoder(keyPackageEncoder, (a) => a.keyPackage);
13
+ export const encodeAdd = encode(addEncoder);
13
14
  export const decodeAdd = mapDecoder(decodeKeyPackage, (keyPackage) => ({ keyPackage }));
14
- export const encodeUpdate = contramapEncoder(encodeLeafNode, (u) => u.leafNode);
15
+ export const updateEncoder = contramapBufferEncoder(leafNodeEncoder, (u) => u.leafNode);
16
+ export const encodeUpdate = encode(updateEncoder);
15
17
  export const decodeUpdate = mapDecoder(decodeLeafNodeUpdate, (leafNode) => ({ leafNode }));
16
- export const encodeRemove = contramapEncoder(encodeUint32, (r) => r.removed);
18
+ export const removeEncoder = contramapBufferEncoder(uint32Encoder, (r) => r.removed);
19
+ export const encodeRemove = encode(removeEncoder);
17
20
  export const decodeRemove = mapDecoder(decodeUint32, (removed) => ({ removed }));
18
- export const encodePSK = contramapEncoder(encodePskId, (p) => p.preSharedKeyId);
21
+ export const pskEncoder = contramapBufferEncoder(pskIdEncoder, (p) => p.preSharedKeyId);
22
+ export const encodePSK = encode(pskEncoder);
19
23
  export const decodePSK = mapDecoder(decodePskId, (preSharedKeyId) => ({ preSharedKeyId }));
20
- export const encodeReinit = contramapEncoders([encodeVarLenData, encodeProtocolVersion, encodeCiphersuite, encodeVarLenType(encodeExtension)], (r) => [r.groupId, r.version, r.cipherSuite, r.extensions]);
24
+ export const reinitEncoder = contramapBufferEncoders([varLenDataEncoder, protocolVersionEncoder, ciphersuiteEncoder, varLenTypeEncoder(extensionEncoder)], (r) => [r.groupId, r.version, r.cipherSuite, r.extensions]);
25
+ export const encodeReinit = encode(reinitEncoder);
21
26
  export const decodeReinit = mapDecoders([decodeVarLenData, decodeProtocolVersion, decodeCiphersuite, decodeVarLenType(decodeExtension)], (groupId, version, cipherSuite, extensions) => ({ groupId, version, cipherSuite, extensions }));
22
- export const encodeExternalInit = contramapEncoder(encodeVarLenData, (e) => e.kemOutput);
27
+ export const externalInitEncoder = contramapBufferEncoder(varLenDataEncoder, (e) => e.kemOutput);
28
+ export const encodeExternalInit = encode(externalInitEncoder);
23
29
  export const decodeExternalInit = mapDecoder(decodeVarLenData, (kemOutput) => ({ kemOutput }));
24
- export const encodeGroupContextExtensions = contramapEncoder(encodeVarLenType(encodeExtension), (g) => g.extensions);
30
+ export const groupContextExtensionsEncoder = contramapBufferEncoder(varLenTypeEncoder(extensionEncoder), (g) => g.extensions);
31
+ export const encodeGroupContextExtensions = encode(groupContextExtensionsEncoder);
25
32
  export const decodeGroupContextExtensions = mapDecoder(decodeVarLenType(decodeExtension), (extensions) => ({ extensions }));
26
- export const encodeProposalAdd = contramapEncoders([encodeDefaultProposalType, encodeAdd], (p) => [p.proposalType, p.add]);
27
- export const encodeProposalUpdate = contramapEncoders([encodeDefaultProposalType, encodeUpdate], (p) => [p.proposalType, p.update]);
28
- export const encodeProposalRemove = contramapEncoders([encodeDefaultProposalType, encodeRemove], (p) => [p.proposalType, p.remove]);
29
- export const encodeProposalPSK = contramapEncoders([encodeDefaultProposalType, encodePSK], (p) => [p.proposalType, p.psk]);
30
- export const encodeProposalReinit = contramapEncoders([encodeDefaultProposalType, encodeReinit], (p) => [p.proposalType, p.reinit]);
31
- export const encodeProposalExternalInit = contramapEncoders([encodeDefaultProposalType, encodeExternalInit], (p) => [p.proposalType, p.externalInit]);
32
- export const encodeProposalGroupContextExtensions = contramapEncoders([encodeDefaultProposalType, encodeGroupContextExtensions], (p) => [p.proposalType, p.groupContextExtensions]);
33
- export const encodeProposalCustom = contramapEncoders([encodeUint16, encodeVarLenData], (p) => [p.proposalType, p.proposalData]);
34
- export const encodeProposal = (p) => {
33
+ export const proposalAddEncoder = contramapBufferEncoders([defaultProposalTypeEncoder, addEncoder], (p) => [p.proposalType, p.add]);
34
+ export const encodeProposalAdd = encode(proposalAddEncoder);
35
+ export const proposalUpdateEncoder = contramapBufferEncoders([defaultProposalTypeEncoder, updateEncoder], (p) => [p.proposalType, p.update]);
36
+ export const encodeProposalUpdate = encode(proposalUpdateEncoder);
37
+ export const proposalRemoveEncoder = contramapBufferEncoders([defaultProposalTypeEncoder, removeEncoder], (p) => [p.proposalType, p.remove]);
38
+ export const encodeProposalRemove = encode(proposalRemoveEncoder);
39
+ export const proposalPSKEncoder = contramapBufferEncoders([defaultProposalTypeEncoder, pskEncoder], (p) => [p.proposalType, p.psk]);
40
+ export const encodeProposalPSK = encode(proposalPSKEncoder);
41
+ export const proposalReinitEncoder = contramapBufferEncoders([defaultProposalTypeEncoder, reinitEncoder], (p) => [p.proposalType, p.reinit]);
42
+ export const encodeProposalReinit = encode(proposalReinitEncoder);
43
+ export const proposalExternalInitEncoder = contramapBufferEncoders([defaultProposalTypeEncoder, externalInitEncoder], (p) => [p.proposalType, p.externalInit]);
44
+ export const encodeProposalExternalInit = encode(proposalExternalInitEncoder);
45
+ export const proposalGroupContextExtensionsEncoder = contramapBufferEncoders([defaultProposalTypeEncoder, groupContextExtensionsEncoder], (p) => [p.proposalType, p.groupContextExtensions]);
46
+ export const encodeProposalGroupContextExtensions = encode(proposalGroupContextExtensionsEncoder);
47
+ export const proposalCustomEncoder = contramapBufferEncoders([uint16Encoder, varLenDataEncoder], (p) => [p.proposalType, p.proposalData]);
48
+ export const encodeProposalCustom = encode(proposalCustomEncoder);
49
+ export const proposalEncoder = (p) => {
35
50
  switch (p.proposalType) {
36
51
  case "add":
37
- return encodeProposalAdd(p);
52
+ return proposalAddEncoder(p);
38
53
  case "update":
39
- return encodeProposalUpdate(p);
54
+ return proposalUpdateEncoder(p);
40
55
  case "remove":
41
- return encodeProposalRemove(p);
56
+ return proposalRemoveEncoder(p);
42
57
  case "psk":
43
- return encodeProposalPSK(p);
58
+ return proposalPSKEncoder(p);
44
59
  case "reinit":
45
- return encodeProposalReinit(p);
60
+ return proposalReinitEncoder(p);
46
61
  case "external_init":
47
- return encodeProposalExternalInit(p);
62
+ return proposalExternalInitEncoder(p);
48
63
  case "group_context_extensions":
49
- return encodeProposalGroupContextExtensions(p);
64
+ return proposalGroupContextExtensionsEncoder(p);
50
65
  default:
51
- return encodeProposalCustom(p);
66
+ return proposalCustomEncoder(p);
52
67
  }
53
68
  };
69
+ export const encodeProposal = encode(proposalEncoder);
54
70
  export const decodeProposalAdd = mapDecoder(decodeAdd, (add) => ({ proposalType: "add", add }));
55
71
  export const decodeProposalUpdate = mapDecoder(decodeUpdate, (update) => ({
56
72
  proposalType: "update",
@@ -1 +1 @@
1
- {"version":3,"file":"proposal.js","sourceRoot":"","sources":["../src/proposal.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"proposal.js","sourceRoot":"","sources":["../src/proposal.ts"],"names":[],"mappings":"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"}