melos 0.0.1
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.
- checksums.yaml +7 -0
- data/.rspec +3 -0
- data/LICENSE.txt +21 -0
- data/README.md +5 -0
- data/Rakefile +10 -0
- data/lib/melos/constants.rb +84 -0
- data/lib/melos/crypto.rb +307 -0
- data/lib/melos/key_schedule.rb +62 -0
- data/lib/melos/psk.rb +35 -0
- data/lib/melos/secret_tree.rb +109 -0
- data/lib/melos/struct/base.rb +172 -0
- data/lib/melos/struct/ratchet_tree.rb +324 -0
- data/lib/melos/struct/structs.rb +1019 -0
- data/lib/melos/tree.rb +265 -0
- data/lib/melos/util.rb +11 -0
- data/lib/melos/vec.rb +89 -0
- data/lib/melos/version.rb +5 -0
- data/lib/melos.rb +15 -0
- data/sig/melos.rbs +4 -0
- data/test_vectors/crypto-basics.json +303 -0
- data/test_vectors/deserialization.json +58 -0
- data/test_vectors/key-schedule.json +926 -0
- data/test_vectors/message-protection.json +142 -0
- data/test_vectors/messages.json +5702 -0
- data/test_vectors/passive-client-handling-commit.json +2683 -0
- data/test_vectors/passive-client-random.json +2657 -0
- data/test_vectors/passive-client-welcome.json +814 -0
- data/test_vectors/psk_secret.json +2382 -0
- data/test_vectors/secret-tree.json +4846 -0
- data/test_vectors/transcript-hashes.json +58 -0
- data/test_vectors/tree-math.json +8276 -0
- data/test_vectors/tree-operations.json +47 -0
- data/test_vectors/tree-validation.json +11839 -0
- data/test_vectors/treekem.json +14877 -0
- data/test_vectors/welcome.json +51 -0
- metadata +110 -0
@@ -0,0 +1,58 @@
|
|
1
|
+
[
|
2
|
+
{
|
3
|
+
"cipher_suite": 1,
|
4
|
+
"confirmation_key": "26ae359a9a9760cd1066cae16f1456ea7eaf52bd85d5dba5bb15cca04a90c83f",
|
5
|
+
"authenticated_content": "00010567726f7570000000000000345601000000000003220220e740a6faf2db65f5853148d75d9a335d7c4b94ab106fe5f237bc34fdcfc745840040402280c921b6b2836ed4eca496dfa74a13c171f78b80822894032c4c03cc4fb9c24e505c0d0ba4e8edb63a3327442baa12555a57f28e4cfebb4f0c42997030e207203a1d8805d8390f441a622f81bcb7347be86db7cc491d0313163fa63c2f66aa92",
|
6
|
+
"interim_transcript_hash_before": "2597552c42df799cd70e99c77c4f80e834a9418096a0b2c7bc66afbc48eebaa6",
|
7
|
+
"confirmed_transcript_hash_after": "51a85b21149c86f3f8c2907017c449e96987242b7ba2be9db1ddd53fb2db0d1d",
|
8
|
+
"interim_transcript_hash_after": "193f9e11118fd08ff626069543b481ec5f04145680b612bb84d8962a2e609211"
|
9
|
+
},
|
10
|
+
{
|
11
|
+
"cipher_suite": 2,
|
12
|
+
"confirmation_key": "6999e1655b7f4bdda3cf2991965d889a331b487526a9c99c19d1060e4d677996",
|
13
|
+
"authenticated_content": "00010567726f7570000000000000345601000000000003220220e740a6faf2db65f5853148d75d9a335d7c4b94ab106fe5f237bc34fdcfc74584004046304402206f5ac008efb1d7edc106a27b4f3b71aa34821ca679543fd8bde8d728517b53bc0220223fb7226cc477e31ea25910d712fc915ce3df9f0399e0e7615babd593e2cdbb20fc804973ae28d04b9f3b71930414e29aa508f0711df720519f230e43a534b714",
|
14
|
+
"interim_transcript_hash_before": "de0a78a0008b6c5c921c910d68da44abe0e692e1eea7e9f8226219ca34560f0d",
|
15
|
+
"confirmed_transcript_hash_after": "e50ae43acf8ba84f712d8f48fa6ccd4768e48fad9c95feaf3061c54fe87a2779",
|
16
|
+
"interim_transcript_hash_after": "87829eecb1aadfa10cbe2630fcc7ae9769d7fb2520f27b44ef76341c43ad834b"
|
17
|
+
},
|
18
|
+
{
|
19
|
+
"cipher_suite": 3,
|
20
|
+
"confirmation_key": "45eb25e0f6024d7dca9a319bbb5d86d22d156613e6319507b54f4844f71bc858",
|
21
|
+
"authenticated_content": "00010567726f7570000000000000345601000000000003220220e740a6faf2db65f5853148d75d9a335d7c4b94ab106fe5f237bc34fdcfc745840040406d0a302c5106ea9d31f3aec1d43df3fff47c1c0b059f4a0b1884798c5f6c973b4e3933b927b7e5f841813e1c14d8513c579b3662a3ce5e4c50adf53c4d60df022043646bfab3e0513b627b89997a2c3192afec8c9b6e9ef839dbb5fc7c0b90c9cd",
|
22
|
+
"interim_transcript_hash_before": "0a56a7ac12b2fdab74b9356d100f5458dbce550c1fe69d43283001496fd08901",
|
23
|
+
"confirmed_transcript_hash_after": "93e90c899f8a485dad5521123de058cefde35d5659521efd9b19c16fbdd8b42c",
|
24
|
+
"interim_transcript_hash_after": "4184f0b59dc75aa1771efb5601124785ed6d590fe8cd58c398f4ccdbef46f3f0"
|
25
|
+
},
|
26
|
+
{
|
27
|
+
"cipher_suite": 4,
|
28
|
+
"confirmation_key": "dba36f71716934f071b72fbe8d7a2cc226e3fc81490d88a9a0c91cffcc18667b4b97ecad4b2a0b3d85de08af0e1c1b152e9a60f45f6d3b8512b35949dc0cf9fe",
|
29
|
+
"authenticated_content": "00010567726f75700000000000003456010000000000034043024040f2efb619b16c8a50925b397b427283ce18e4bd3f252eed2ebb1ed50f388be97000b9f502d2333ab89c69d1223a43fc519216e4df888d4a5060287d917ec92409004072b8b32fd646350886db3bc7fda8d1c3f2c1405eb836d2115a89d350e4dce9e10841051e8c3a530325e72db0a38a1154b95991d7833b3094ed80dd28d546412fa406dd133f281aafa0a40c9cae575d48ab1d568db6d10008704500ce934ec6b0be2c08e2fb49b8f96c692981644cf9ec4d3d004040b2ce522a8d03bf5a3f3a0e6b3ec0a10f6d31fab3868e5aabff0f0fc75110d5fc8e5e89175a7443c9f4d0329c25147793a1aa857c055f137e1f79c75c9a6d04a2",
|
30
|
+
"interim_transcript_hash_before": "817d930807489c5338c69087bc43506f6a26b86ddb53635bb32b45a49a98e88959a35938262689f33ba673f902eeb7c59443565dac2cc9378bdb6e6e96432fda",
|
31
|
+
"confirmed_transcript_hash_after": "970789a954c5c4780f48bba738f60222dc8378c916fc24bb6b76b40724aa7fb5d366ea15e2337173c307f657095e417f7dc3d9200ad1ebcd7cf13e5bb64d107b",
|
32
|
+
"interim_transcript_hash_after": "29c66c251bfab15b12542cff0de7a43f319b3a6cd1a1392444bd9cfd3de3ff4b5c7b82c466bd98a548b6f7989ee010af0ef8dcca427dd088d6b575075b24af83"
|
33
|
+
},
|
34
|
+
{
|
35
|
+
"cipher_suite": 5,
|
36
|
+
"confirmation_key": "5517432725b5ced63b9426a6a8bf8d2fa418687900ca43d76a7703427d480af24e5ead9a0f1c1fdbd3771fdf4e1ed66ada5dab6ae243ea01472b6a8e83aaf733",
|
37
|
+
"authenticated_content": "00010567726f75700000000000003456010000000000034043024040f2efb619b16c8a50925b397b427283ce18e4bd3f252eed2ebb1ed50f388be97000b9f502d2333ab89c69d1223a43fc519216e4df888d4a5060287d917ec92409004089308186024170074d08546241ca8d2645057d9f2d37d33e558d10de8912e9162d5415f41049e63f55d97f752a5b7a36019e942d27fa2c198b4978b538167518af6544df653f8d02411e109db56bade664c91ba482d513d5deae4c98b012fd05b66071b4a2bebbc15af11f2ef14c2dcaa774ce2a6c707a139498774dbdf28c154631a5abfd84feb0c9c24040e4a8d5aa4d9587d97b26065a434c13e6aa270c414d255c8729965f051bbb56d0e6da7541e90bafef69414a5f1ba58d065e1e6ac71a2d00ae0ad7fd7306946dbc",
|
38
|
+
"interim_transcript_hash_before": "4367aba662819b19bbfe567492f5ff12dc5f06f773e06f66f08f031c3ca4198813ba7a72d4ce3163cf4cba131812ba0ea086be5ed52ac8c8d36e9d0e1a5bacc7",
|
39
|
+
"confirmed_transcript_hash_after": "5fb99f1a775dc2702a71203928794d1ae8c3afd493a682d9aaa247b5d35b4f38658654de80df6dcf6b5d853e413b4f37c4277b5e0fa812115b278c0b7013c5e1",
|
40
|
+
"interim_transcript_hash_after": "20e58f40e6c5040ee89669ed8b61cb20fe614c81cbe3a955ae2324229cdb0e6457fc9e724dd831970f3b9d59cc46ad1630e2f17f49d746a0581ed3b067edc639"
|
41
|
+
},
|
42
|
+
{
|
43
|
+
"cipher_suite": 6,
|
44
|
+
"confirmation_key": "b3fbb1585bf63169bf62b481074e64e825443856e7d2fa9423e4904c3614320a311ba3f88324fd0dace96ab59ffca820787c74a800bcb4cc4ca414549ccd68c7",
|
45
|
+
"authenticated_content": "00010567726f75700000000000003456010000000000034043024040f2efb619b16c8a50925b397b427283ce18e4bd3f252eed2ebb1ed50f388be97000b9f502d2333ab89c69d1223a43fc519216e4df888d4a5060287d917ec924090040728d711701d873ed19f7758f59ee0055fb31e5ffa5a31f32e050d5f14f128e88f66f52bb367d78e9330ae9810e2e34124ef4604d0dfb393c8a006dfba06e2288e4c952f16cca1db029788b290d3a733c028a0bbe85d662bd6aed37c4223948a7ce483e4a922001c8e92ebd95c1cf3fe60601004040da60819cea3b7bf683767c2e9592ec3d6398c37d861728587ca6870c8e094b9aca370f87533e8ceee6d00929f507e4e5bcfd10bf7c60867be87c1055e5677ed2",
|
46
|
+
"interim_transcript_hash_before": "33b97e89e3a6af01e6363be3ee5b65ed54ac6bf0e819575ce39d39dc8e84e4aefde0a43ae6317a56bf84d05a1ec87b775e91b68d2dcb5e6282b2bb03ff1b0554",
|
47
|
+
"confirmed_transcript_hash_after": "2a4da3d1df04477e33689e7d393e8034963de31e28d3c42c842a9f6033738eee75a3aae311895d80da99a3fd09701327afa4edaf0e1247f92b1335767b9a401e",
|
48
|
+
"interim_transcript_hash_after": "402f1c404fdbbe4a5aec512c8ad2a9cdfd200e592737e2eb223ef2fa6f824edcce9ebf0a6348610753263875e024db56d8efb6efd0de6d36ca3809b205a35b48"
|
49
|
+
},
|
50
|
+
{
|
51
|
+
"cipher_suite": 7,
|
52
|
+
"confirmation_key": "92c24eeb327550191152ee1a87fa7824e1bb293b57406c8b9b1897fb4a8dd00c23c03e8b37155a02bbf326161a374983",
|
53
|
+
"authenticated_content": "00010567726f75700000000000003456010000000000033202301422bfcd03851deea9586fd262d0ed10e7b755690244559ffc453f2feab08d5449c3e73416d08c374ae3b3774b8240eb004066306402302cc549d5eb36696c8c6b1ed4f6cc26d0107b211bd2033457e68ef98dd34f36bef6ea298e7161223558167ca1c2f2895402306dac15ca4e480ec158afda65097cf1069c41b73f513624ce2858791c725c1fd6241e945e56ee876f3d28cb0ac55e89a5300ec2d58ef75efda6c2c7edd5f2e18d47da5d0a7e1d8afd4853664efdff16f1463a5dd4d4d3ae764bf6b908b488908883",
|
54
|
+
"interim_transcript_hash_before": "7fdf11509f74014de36a3ba22db62e33845459da72c3e44f59674df36456e36a3d96473dd63318ca772a8eaada76808d",
|
55
|
+
"confirmed_transcript_hash_after": "ff5984f95a10075bd5fbb2e06620502c499ae65a2a07d53af940dbcac491c6dbdf7223f25a111b1a3dbfde12086277c9",
|
56
|
+
"interim_transcript_hash_after": "da6d7bcc59becfb58511d14b511819d282ae1fe5d89a955216ad7ce367bd60ab0285e56005e9ab76f018ff381e97c880"
|
57
|
+
}
|
58
|
+
]
|