Hex Artifact Content
Not logged in

Artifact 95d39afd0f4bf664886c038bdcaa2c9b7f4fd43a:


0000: 50 72 65 53 68 61 72 65 64 4b 65 79 56 32 0a 44  PreSharedKeyV2.D
0010: 45 46 49 4e 49 54 49 4f 4e 53 0a 41 55 54 4f 4d  EFINITIONS.AUTOM
0020: 41 54 49 43 20 54 41 47 53 20 3a 3a 3d 0a 42 45  ATIC TAGS ::=.BE
0030: 47 49 4e 0a 0a 49 4d 50 4f 52 54 53 0a 20 20 20  GIN..IMPORTS.   
0040: 20 55 49 6e 74 38 2c 0a 20 20 20 20 55 49 6e 74   UInt8,.    UInt
0050: 33 32 2c 0a 20 20 20 20 55 49 6e 74 36 34 2c 0a  32,.    UInt64,.
0060: 20 20 20 20 55 49 6e 74 39 36 2c 0a 20 20 20 20      UInt96,.    
0070: 55 49 6e 74 31 32 38 2c 0a 20 20 20 20 56 61 72  UInt128,.    Var
0080: 42 79 74 65 73 0a 20 20 20 20 46 52 4f 4d 20 47  Bytes.    FROM G
0090: 65 6e 65 72 69 63 54 79 70 65 73 0a 3b 0a 0a 50  enericTypes.;..P
00a0: 73 6b 32 45 6e 63 72 79 70 74 69 6f 6e 45 6e 76  sk2EncryptionEnv
00b0: 65 6c 6f 70 65 20 3a 3a 3d 20 53 45 51 55 45 4e  elope ::= SEQUEN
00c0: 43 45 20 7b 0a 20 20 20 20 2d 2d 20 52 61 6e 64  CE {.    -- Rand
00d0: 6f 6d 20 6e 6f 6e 63 65 0a 20 20 20 20 69 6e 69  om nonce.    ini
00e0: 74 69 61 6c 69 7a 61 74 69 6f 6e 56 65 63 74 6f  tializationVecto
00f0: 72 20 55 49 6e 74 39 36 2c 0a 0a 20 20 20 20 2d  r UInt96,..    -
0100: 2d 20 41 75 74 68 65 6e 74 69 63 61 74 69 6f 6e  - Authentication
0110: 20 74 61 67 20 28 6f 75 74 70 75 74 20 6f 66 20   tag (output of 
0120: 41 45 53 2d 47 43 4d 20 65 6e 63 72 79 70 74 69  AES-GCM encrypti
0130: 6f 6e 29 0a 20 20 20 20 61 75 74 68 65 6e 74 69  on).    authenti
0140: 63 61 74 69 6f 6e 54 61 67 20 55 49 6e 74 31 32  cationTag UInt12
0150: 38 2c 0a 0a 20 20 20 20 2d 2d 20 45 6e 63 72 79  8,..    -- Encry
0160: 70 74 65 64 20 50 53 4b 20 50 61 63 6b 65 74 0a  pted PSK Packet.
0170: 20 20 20 20 2d 2d 20 4e 6f 74 65 3a 20 54 68 69      -- Note: Thi
0180: 73 20 69 73 20 4e 4f 54 20 65 6e 63 6f 64 65 64  s is NOT encoded
0190: 20 61 73 20 61 20 76 61 72 69 61 62 6c 65 20 6c   as a variable l
01a0: 65 6e 67 74 68 20 28 6c 65 6e 67 74 68 2d 70 72  ength (length-pr
01b0: 65 66 69 78 65 64 29 0a 20 20 20 20 2d 2d 20 6f  efixed).    -- o
01c0: 63 74 65 74 20 73 74 72 69 6e 67 2e 20 54 68 65  ctet string. The
01d0: 20 73 69 7a 65 20 69 73 20 63 6f 6e 73 74 72 61   size is constra
01e0: 69 6e 65 64 20 62 79 20 74 68 65 20 6c 65 6e 67  ined by the leng
01f0: 74 68 20 6f 66 20 74 68 65 20 64 61 74 61 0a 20  th of the data. 
0200: 20 20 20 2d 2d 20 66 69 65 6c 64 20 69 6e 20 74     -- field in t
0210: 68 65 20 49 6e 74 65 72 6c 65 64 67 65 72 50 72  he InterledgerPr
0220: 65 70 61 72 65 2c 20 49 6e 74 65 72 6c 65 64 67  epare, Interledg
0230: 65 72 46 75 6c 66 69 6c 6c 2c 20 6f 72 20 49 6e  erFulfill, or In
0240: 74 65 72 6c 65 64 67 65 72 52 65 6a 65 63 74 0a  terledgerReject.
0250: 20 20 20 20 2d 2d 20 70 61 63 6b 65 74 20 63 6f      -- packet co
0260: 6e 74 61 69 6e 69 6e 67 20 74 68 69 73 20 50 73  ntaining this Ps
0270: 6b 32 45 6e 63 72 79 70 74 69 6f 6e 45 6e 76 65  k2EncryptionEnve
0280: 6c 6f 70 65 0a 20 20 20 20 63 69 70 68 65 72 54  lope.    cipherT
0290: 65 78 74 20 4f 43 54 45 54 20 53 54 52 49 4e 47  ext OCTET STRING
02a0: 20 28 53 49 5a 45 20 28 30 2e 2e 33 32 37 33 39   (SIZE (0..32739
02b0: 29 29 0a 7d 0a 0a 50 73 6b 32 50 61 63 6b 65 74  )).}..Psk2Packet
02c0: 20 3a 3a 3d 20 53 45 51 55 45 4e 43 45 20 7b 0a   ::= SEQUENCE {.
02d0: 20 20 20 20 2d 2d 20 54 79 70 65 20 49 44 0a 20      -- Type ID. 
02e0: 20 20 20 74 79 70 65 20 55 49 6e 74 38 2c 0a 0a     type UInt8,..
02f0: 20 20 20 20 2d 2d 20 49 44 20 75 73 65 64 20 74      -- ID used t
0300: 6f 20 63 6f 72 72 65 6c 61 74 65 20 72 65 71 75  o correlate requ
0310: 65 73 74 73 20 61 6e 64 20 72 65 73 70 6f 6e 73  ests and respons
0320: 65 73 0a 20 20 20 20 72 65 71 75 65 73 74 49 64  es.    requestId
0330: 20 55 49 6e 74 33 32 2c 0a 0a 20 20 20 20 2d 2d   UInt32,..    --
0340: 20 49 6e 20 50 53 4b 32 20 52 65 71 75 65 73 74   In PSK2 Request
0350: 73 2c 20 74 68 69 73 20 69 6e 64 69 63 61 74 65  s, this indicate
0360: 73 20 74 68 65 20 6d 69 6e 69 6d 75 6d 20 74 68  s the minimum th
0370: 65 20 72 65 63 65 69 76 65 72 20 73 68 6f 75 6c  e receiver shoul
0380: 64 20 61 63 63 65 70 74 0a 20 20 20 20 2d 2d 20  d accept.    -- 
0390: 49 6e 20 50 53 4b 32 20 52 65 73 70 6f 6e 73 65  In PSK2 Response
03a0: 73 20 61 6e 64 20 45 72 72 6f 72 73 2c 20 69 74  s and Errors, it
03b0: 20 69 73 20 74 68 65 20 61 6d 6f 75 6e 74 20 74   is the amount t
03c0: 68 61 74 20 74 68 65 20 72 65 63 65 69 76 65 72  hat the receiver
03d0: 20 67 6f 74 0a 20 20 20 20 72 65 71 75 65 73 74   got.    request
03e0: 41 6d 6f 75 6e 74 20 55 49 6e 74 36 34 2c 0a 0a  Amount UInt64,..
03f0: 20 20 20 20 2d 2d 20 41 70 70 6c 69 63 61 74 69      -- Applicati
0400: 6f 6e 20 64 61 74 61 20 63 61 72 72 69 65 64 20  on data carried 
0410: 69 6e 20 74 68 65 20 65 6e 63 72 79 70 74 65 64  in the encrypted
0420: 20 50 53 4b 20 52 65 71 75 65 73 74 2f 52 65 73   PSK Request/Res
0430: 70 6f 6e 73 65 2f 45 72 72 6f 72 0a 20 20 20 20  ponse/Error.    
0440: 64 61 74 61 20 56 61 72 42 79 74 65 73 0a 7d 0a  data VarBytes.}.
0450: 0a 45 4e 44 0a                                   .END.