package Ġorg . did comm x . did comm . fixtures Ċ Ċ import Ġorg . did comm x . did comm . common . An on Crypt Alg Ċ import Ġorg . did comm x . did comm . common . Auth Crypt Alg Ċ import Ġorg . did comm x . did comm . common . Sign Alg Ċ import Ġorg . did comm x . did comm . exceptions . DID Comm Exception Ċ import Ġorg . did comm x . did comm . exceptions . Malformed Message Exception Ċ import Ġorg . did comm x . did comm . exceptions . Unsupported Algorithm Ċ import Ġorg . did comm x . did comm . message . From Prior Ċ import Ġorg . did comm x . did comm . message . Message Ċ import Ġorg . did comm x . did comm . model . Metadata Ċ import Ġorg . did comm x . did comm . model . Unpack Params Ċ import Ġkotlin . reflect . K Class Ċ Ċ class ĠJ WM Ġ{ ĊĠĠĠ Ġdata Ġclass ĠWrong Message ( val Ġjson : ĠString , Ġval Ġexpected Message : ĠString ) ĊĊĠĠĠ Ġdata Ġclass ĠExpected Attachment Data ( ĊĠĠĠĠĠĠĠ Ġval Ġis Json : ĠBoolean Ġ= Ġfalse , ĊĠĠĠĠĠĠĠ Ġval Ġis Links : ĠBoolean Ġ= Ġfalse , ĊĠĠĠĠĠĠĠ Ġval Ġis Base 6 4 : ĠBoolean Ġ= Ġfalse , ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġdata Ġclass ĠCorrect Attachment ( ĊĠĠĠĠĠĠĠ Ġval Ġjson : ĠString , ĊĠĠĠĠĠĠĠ Ġval Ġexpected Attachment Data : ĠList < Expected Attachment Data > ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠA LIC E _ DID Ġ= Ġ" did : example : alice " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠB OB _ DID Ġ= Ġ" did : example : bob " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠCHAR LI E _ DID Ġ= Ġ" did : example : char lie " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠNON A _ DID Ġ= Ġ" did : example : non a " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠEL LI E _ DID Ġ= Ġ" did : example : elli e " ĊĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠID Ġ= Ġ" 1 2 3 4 5 6 7 8 9 0 " ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠTYPE Ġ= Ġ" http :// example . com / protocols / lets _ do _ l unch / 1 . 0 / proposal " ĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠB ODY Ġ= Ġmap Of (" message specific attribute " Ġto Ġ" and Ġits Ġvalue ") ĊĊĠĠĠĠĠĠĠ Ġval ĠP LA INT EXT _ MESSAGE Ġ= ĠMessage . builder ( ID , ĠB ODY , ĠTYPE ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. from ( AL ICE _ DID ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. to ( listOf ( BO B _ DID )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. created Time ( 1 5 1 6 2 6 9 0 2 2 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. expires Time ( 1 5 1 6 3 8 5 9 3 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĊĠĠĠĠĠĠĠ Ġval ĠP LA INT EXT _ MESSAGE _ FROM _ PRI OR _ MIN IMAL Ġ= ĠMessage . builder ( ID , ĠB ODY , ĠTYPE ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. from ( CHAR LI E _ DID ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. to ( listOf ( BO B _ DID )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. created Time ( 1 5 1 6 2 6 9 0 2 2 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. expires Time ( 1 5 1 6 3 8 5 9 3 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. from Prior ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠFrom Prior . builder ( iss Ġ= ĠA LIC E _ DID , Ġsub Ġ= ĠCHAR LI E _ DID ). build () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĊĠĠĠĠĠĠĠ Ġval ĠP LA INT EXT _ MESSAGE _ FROM _ PRI OR Ġ= ĠMessage . builder ( ID , ĠB ODY , ĠTYPE ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. from ( CHAR LI E _ DID ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. to ( listOf ( BO B _ DID )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. created Time ( 1 5 1 6 2 6 9 0 2 2 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. expires Time ( 1 5 1 6 3 8 5 9 3 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. from Prior ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠFrom Prior . builder ( iss Ġ= ĠA LIC E _ DID , Ġsub Ġ= ĠCHAR LI E _ DID ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. aud (" 1 2 3 ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. exp ( 1 2 3 4 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. nb f ( 1 2 3 4 5 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. iat ( 1 2 3 4 5 6 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. j ti (" df g ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĊĠĠĠĠĠĠĠ Ġval ĠP LA INT EXT _ MESSAGE _ INVALID _ FROM _ PRI OR _ ISS Ġ= ĠMessage . builder ( ID , ĠB ODY , ĠTYPE ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. from ( CHAR LI E _ DID ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. to ( listOf ( BO B _ DID )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. created Time ( 1 5 1 6 2 6 9 0 2 2 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. expires Time ( 1 5 1 6 3 8 5 9 3 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. from Prior ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠFrom Prior . builder ( iss Ġ= Ġ" invalid ", Ġsub Ġ= ĠCHAR LI E _ DID ). build () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĊĠĠĠĠĠĠĠ Ġval ĠP LA INT EXT _ MESSAGE _ INVALID _ FROM _ PRI OR _ SUB Ġ= ĠMessage . builder ( ID , ĠB ODY , ĠTYPE ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. from ( CHAR LI E _ DID ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. to ( listOf ( BO B _ DID )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. created Time ( 1 5 1 6 2 6 9 0 2 2 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. expires Time ( 1 5 1 6 3 8 5 9 3 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. from Prior ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠFrom Prior . builder ( iss Ġ= ĠA LIC E _ DID , Ġsub Ġ= Ġ" invalid "). build () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĊĠĠĠĠĠĠĠ Ġval ĠP LA INT EXT _ MESSAGE _ INVALID _ FROM _ PRI OR _ EQUAL _ ISS _ AND _ SUB Ġ= ĠMessage . builder ( ID , ĠB ODY , ĠTYPE ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. from ( CHAR LI E _ DID ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. to ( listOf ( BO B _ DID )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. created Time ( 1 5 1 6 2 6 9 0 2 2 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. expires Time ( 1 5 1 6 3 8 5 9 3 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. from Prior ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠFrom Prior . builder ( iss Ġ= ĠCHAR LI E _ DID , Ġsub Ġ= ĠCHAR LI E _ DID ). build () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĊĠĠĠĠĠĠĠ Ġval ĠP LA INT EXT _ MESSAGE _ MIS MATCH ED _ FROM _ PRI OR _ SUB Ġ= ĠMessage . builder ( ID , ĠB ODY , ĠTYPE ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. from ( CHAR LI E _ DID ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. to ( listOf ( BO B _ DID )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. created Time ( 1 5 1 6 2 6 9 0 2 2 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. expires Time ( 1 5 1 6 3 8 5 9 3 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. from Prior ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠFrom Prior . builder ( iss Ġ= ĠA LIC E _ DID , Ġsub Ġ= ĠEL LI E _ DID ). build () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĊĠĠĠĠĠĠĠ Ġval ĠINVALID _ FROM _ PRI OR _ PL AINT EXT _ MESSAGES Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠP LA INT EXT _ MESSAGE _ INVALID _ FROM _ PRI OR _ ISS , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠP LA INT EXT _ MESSAGE _ INVALID _ FROM _ PRI OR _ SUB , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠP LA INT EXT _ MESSAGE _ INVALID _ FROM _ PRI OR _ EQUAL _ ISS _ AND _ SUB , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠP LA INT EXT _ MESSAGE _ MIS MATCH ED _ FROM _ PRI OR _ SUB , ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġval ĠPACK ED _ MESSAGE _ WITHOUT _ BODY Ġ= Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" id ":" 1 2 3 4 5 6 7 8 9 0 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" typ ":" application / did comm - plain + json ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" type ":" http :// example . com / protocols / lets _ do _ l unch / 1 . 0 / proposal ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" from ":" did : example : alice ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" to ":[ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" did : example : bob " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ], ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" created _ time ": 1 5 1 6 2 6 9 0 2 2 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" expires _ time ": 1 5 1 6 3 8 5 9 3 1 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ""" . trim Indent () ĊĊĠĠĠĠĠĠĠ Ġval ĠPACK ED _ MESSAGE _ FROM _ PRI OR Ġ= Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" id ":" 1 2 3 4 5 6 7 8 9 0 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" typ ":" application / did comm - plain + json ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" type ":" http :// example . com / protocols / lets _ do _ l unch / 1 . 0 / proposal ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" from ":" did : example : char lie ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" to ":[ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" did : example : bob " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ], ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" created _ time ": 1 5 1 6 2 6 9 0 2 2 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" expires _ time ": 1 5 1 6 3 8 5 9 3 1 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" from _ prior ":" ey J ra W QiOiJ ka WQ 6 ZX hh b XB s ZT ph b Gl j Z SN r ZX kt MS IsIm Fs Zy I 6 Ik Vk R FN B In 0 . ey J zd WI i OiJ ka WQ 6 ZX hh b XB s Z Tp ja GF yb G ll Ii wi YX Vk Ijoi M TI z Iiw ibm Jm Ij ox Mj M 0 NS w ia XN z Ijoi Z Gl k Om V 4 YW 1 wb GU 6 YW xp Y 2 Ui LCJ le HA i Oj Ey Mz Qs I ml hd CI 6 M TI z ND U 2 LCJ qd G ki OiJ k Z mc if Q . R - 6 - uk l PR Tc V SI Qq j Hd EL kp j VE G 8 n 4 r 0 IH r 9 ll P 9 K Nd v ne OW 4 x 9 4 li E IN tc Cn 2 OM 9 3 p O we D 1 M sm A 9 L 3 o Pf IID A ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" body ": Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" message specific attribute ":" and Ġits Ġvalue " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ""" . trim Indent () ĊĊĠĠĠĠĠĠĠ Ġval ĠWR ONG _ FROM _ PRI OR _ PACK ED _ MESSAGES : ĠList < Wrong Message > Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠWrong Message ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" id ":" 1 2 3 4 5 6 7 8 9 0 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" typ ":" application / did comm - plain + json ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" type ":" http :// example . com / protocols / lets _ do _ l unch / 1 . 0 / proposal ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" from ":" did : example : char lie ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" to ":[ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" did : example : bob " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ], ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" created _ time ": 1 5 1 6 2 6 9 0 2 2 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" expires _ time ": 1 5 1 6 3 8 5 9 3 1 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" from _ prior ":" invalid ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" body ": Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" message specific attribute ":" and Ġits Ġvalue " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" . trim Indent (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" JWT Ġcannot Ġbe Ġdeserialized " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠWrong Message ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" id ":" 1 2 3 4 5 6 7 8 9 0 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" typ ":" application / did comm - plain + json ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" type ":" http :// example . com / protocols / lets _ do _ l unch / 1 . 0 / proposal ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" from ":" did : example : char lie ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" to ":[ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" did : example : bob " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ], ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" created _ time ": 1 5 1 6 2 6 9 0 2 2 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" expires _ time ": 1 5 1 6 3 8 5 9 3 1 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" from _ prior ":" ey J ra W QiOiJ ka WQ 6 ZX hh b XB s ZT ph b Gl j Z SN r ZX kt MS IsIm Fs Zy I 6 Ik Vk R FN B In 0 . ey J zd WI i OiJ ka WQ 6 ZX hh b XB s Z Tp ja GF yb G ll Ii wi YX Vk Ijoi M TI z Iiw ibm Jm Ij ox Mj M 0 NS w ia XN z Ijoi Z Gl k Om V 4 YW 1 wb GU 6 YW xp Y 2 Ui LCJ le HA i Oj Ey Mz Qs I ml hd CI 6 M TI z ND U 2 LCJ qd G ki OiJ k Z mc if Q . R - 6 - uk l PR Tc V SI Qq j Hd EL kp j VE G 8 n 4 r 0 IH r 9 ll P 9 K Nd v ne OW 4 x 9 4 li E IN tc Cn 2 OM 9 3 p O we D 1 M sm A 9 L 3 o Pf IID ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" body ": Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" message specific attribute ":" and Ġits Ġvalue " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" . trim Indent (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" JWT Ġhas Ġan Ġinvalid Ġsignature " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġval ĠCOR RECT _ ATTACH MENTS : ĠList < Correct Attachment > Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠCorrect Attachment ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġjson Ġ= Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" id ":" 1 2 3 4 5 6 7 8 9 0 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" typ ":" application / did comm - plain + json ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" type ":" http :// example . com / protocols / lets _ do _ l unch / 1 . 0 / proposal ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" body ": {}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" attachments ": Ġ[{ ĠĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" id ": Ġ" 2 3 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" data ": Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" links ": Ġ[" 1 ", Ġ" 2 ", Ġ" 3 "], ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" hash ": Ġ" qw erty " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}] ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" . trim Indent (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexpected Attachment Data Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠExpected Attachment Data ( is Links Ġ= Ġtrue ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠCorrect Attachment ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġjson Ġ= Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" id ":" 1 2 3 4 5 6 7 8 9 0 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" typ ":" application / did comm - plain + json ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" type ":" http :// example . com / protocols / lets _ do _ l unch / 1 . 0 / proposal ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" body ": {}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" attachments ": Ġ[{ ĠĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" id ": Ġ" 2 3 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" data ": Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" base 6 4 ": Ġ" qw erty " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}] ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" . trim Indent (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexpected Attachment Data Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠExpected Attachment Data ( is Base 6 4 Ġ= Ġtrue ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠCorrect Attachment ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġjson Ġ= Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" id ":" 1 2 3 4 5 6 7 8 9 0 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" typ ":" application / did comm - plain + json ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" type ":" http :// example . com / protocols / lets _ do _ l unch / 1 . 0 / proposal ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" body ": {}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" attachments ": Ġ[{ ĠĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" id ": Ġ" 2 3 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" data ": Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" json ": Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" foo ": Ġ" bar ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" links ": Ġ[ 2 , Ġ 3 ] ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}] ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" . trim Indent (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexpected Attachment Data Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠExpected Attachment Data ( is Json Ġ= Ġtrue ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠCorrect Attachment ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġjson Ġ= Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" id ":" 1 2 3 4 5 6 7 8 9 0 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" typ ":" application / did comm - plain + json ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" type ":" http :// example . com / protocols / lets _ do _ l unch / 1 . 0 / proposal ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" body ":{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" attachments ":[ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" id ":" 2 3 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" data ":{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" json ":{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" foo ":" bar ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" links ":[ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 2 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 3 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ] ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" id ":" 2 3 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" data ":{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" base 6 4 ":" qw erty " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" id ":" 2 3 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" data ":{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" links ":[ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" 1 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" 2 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" 3 " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ], ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" hash ":" qw erty " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ] ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" . trim Indent (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexpected Attachment Data Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠExpected Attachment Data ( is Json Ġ= Ġtrue ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠExpected Attachment Data ( is Base 6 4 Ġ= Ġtrue ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠExpected Attachment Data ( is Links Ġ= Ġtrue ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠCorrect Attachment ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġjson Ġ= Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" id ":" 1 2 3 4 5 6 7 8 9 0 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" typ ":" application / did comm - plain + json ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" type ":" http :// example . com / protocols / lets _ do _ l unch / 1 . 0 / proposal ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" body ": {}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" attachments ": Ġ[{ ĠĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" id ": Ġ" 2 3 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" data ": Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" links ": Ġ[" 1 ", Ġ" 2 ", Ġ" 3 "], ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" hash ": Ġ" qw erty " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}, Ġ{ ĠĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" id ": Ġ" 2 3 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" data ": Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" base 6 4 ": Ġ" qw erty " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}, Ġ{ ĠĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" id ": Ġ" 2 3 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" data ": Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" links ": Ġ[" 1 ", Ġ" 2 ", Ġ" 3 "], ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" hash ": Ġ" qw erty " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}] ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" . trim Indent (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexpected Attachment Data Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠExpected Attachment Data ( is Links Ġ= Ġtrue ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠExpected Attachment Data ( is Base 6 4 Ġ= Ġtrue ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠExpected Attachment Data ( is Links Ġ= Ġtrue ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġval ĠWR ONG _ ATTACH MENTS : ĠList < Wrong Message > Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠWrong Message ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" id ":" 1 2 3 4 5 6 7 8 9 0 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" typ ":" application / did comm - plain + json ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" type ":" http :// example . com / protocols / lets _ do _ l unch / 1 . 0 / proposal ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" body ": {}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" attachments ": Ġ[ {}] ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" . trim Indent (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" The Ġheader Ġ\" id \" Ġis Ġmissing " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠWrong Message ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" id ":" 1 2 3 4 5 6 7 8 9 0 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" typ ":" application / did comm - plain + json ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" type ":" http :// example . com / protocols / lets _ do _ l unch / 1 . 0 / proposal ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" body ": {}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" attachments ": Ġ[{ ĠĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" id ": Ġ" 2 3 " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}] ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" . trim Indent (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" The Ġheader Ġ\" data \" Ġis Ġmissing " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠWrong Message ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" id ":" 1 2 3 4 5 6 7 8 9 0 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" typ ":" application / did comm - plain + json ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" type ":" http :// example . com / protocols / lets _ do _ l unch / 1 . 0 / proposal ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" body ": {}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" attachments ": Ġ[{ ĠĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" id ": Ġ" 2 3 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" data ": Ġ{} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}] ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" . trim Indent (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Unknown Ġattachment Ġdata " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠWrong Message ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" id ":" 1 2 3 4 5 6 7 8 9 0 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" typ ":" application / did comm - plain + json ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" type ":" http :// example . com / protocols / lets _ do _ l unch / 1 . 0 / proposal ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" body ": {}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" attachments ": Ġ[{ ĠĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" id ": Ġ" 2 3 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" data ": Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" links ": Ġ[" 2 3 1 ", Ġ" 2 1 2 "] ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}] ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" . trim Indent (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" The Ġheader Ġ\" hash \" Ġis Ġmissing " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠWrong Message ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" id ":" 1 2 3 4 5 6 7 8 9 0 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" typ ":" application / did comm - plain + json ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" type ":" http :// example . com / protocols / lets _ do _ l unch / 1 . 0 / proposal ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" body ": {}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" attachments ": Ġ" 1 3 1 " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" . trim Indent (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" The Ġexpected Ġtype Ġof Ġheader Ġ' attachments ' Ġis Ġ' JSONArray '. ĠGot Ġ' String '" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠWrong Message ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" id ":" 1 2 3 4 5 6 7 8 9 0 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" typ ":" application / did comm - plain + json ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" type ":" http :// example . com / protocols / lets _ do _ l unch / 1 . 0 / proposal ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" body ": {}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" attachments ": Ġ[ 2 1 3 1 ] ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" . trim Indent (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" The Ġexpected Ġtype Ġof Ġheader Ġ' attachments ' Ġis Ġ' Map '. ĠGot Ġ' Long '" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠWrong Message ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" id ":" 1 2 3 4 5 6 7 8 9 0 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" typ ":" application / did comm - plain + json ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" type ":" http :// example . com / protocols / lets _ do _ l unch / 1 . 0 / proposal ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" body ": {}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" attachments ": Ġ[{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" id ": Ġ 2 Ġ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}] ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" . trim Indent (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" The Ġexpected Ġtype Ġof Ġheader Ġ' id ' Ġis Ġ' String '. ĠGot Ġ' Long '" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠWrong Message ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" id ":" 1 2 3 4 5 6 7 8 9 0 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" typ ":" application / did comm - plain + json ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" type ":" http :// example . com / protocols / lets _ do _ l unch / 1 . 0 / proposal ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" body ": {}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" attachments ": Ġ[{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" id ": Ġ" 1 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" data ": Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}] ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" . trim Indent (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" The Ġheader Ġ\" data \" Ġis Ġmissing " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠWrong Message ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" id ":" 1 2 3 4 5 6 7 8 9 0 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" typ ":" application / did comm - plain + json ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" type ":" http :// example . com / protocols / lets _ do _ l unch / 1 . 0 / proposal ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" body ": {}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" attachments ": Ġ[{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" id ": Ġ" 1 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" data ": Ġ" null " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}] ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" . trim Indent (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" The Ġexpected Ġtype Ġof Ġheader Ġ' data ' Ġis Ġ' Map '. ĠGot Ġ' String '" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ class ĠJ WS Ġ{ ĊĠĠĠ Ġdata Ġclass ĠTest Vector ( val Ġfrom : ĠString , Ġval Ġexpected : ĠString , Ġval Ġexpected Metadata : ĠMetadata ) ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġval ĠTEST _ VECT ORS Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTest Vector ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfrom Ġ= Ġ" did : example : alice # key - 1 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexpected Ġ= Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" payload ":" ey Jp ZCI 6 Ij Ey Mz Q 1 N jc 4 OT Ai LCJ 0 e X Ai OiJ hc HB sa WN hdG lvbi 9 ka WR jb 2 1 t L XB s YW lu K 2 p zb 2 4 i LCJ 0 e X Bl Ijo ia HR 0 c D ov L 2 V 4 YW 1 wb GU u Y 2 9 t L 3 By b 3 Rv Y 2 9 sc y 9 s Z XR z X 2 Rv X 2 x 1 bm No Lz Eu MC 9 w cm 9 wb 3 N hb C IsIm Z yb 2 0 i OiJ ka WQ 6 ZX hh b XB s ZT ph b Gl j ZS IsIn Rv Ij pb Im Rp ZD ple GF tc G xl Om Jv Yi Jd LCJ j cm V hdG Vk X 3 R pb W Ui Oj E 1 M TY y Nj kw Mj IsIm V 4 c G ly ZX N fd G lt Z SI 6 MT Ux Nj M 4 NT kz MS wi Ym 9 ke SI 6 ey Jt ZX Nz YWdl c 3 Bl Y 2 l ma WN hd HR ya WJ 1 dG Ui OiJ hb m Q ga XR z IH Zhb HV l In 1 9 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" signatures ":[ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" protected ":" ey J 0 e X Ai OiJ hc HB sa WN hdG lvbi 9 ka WR jb 2 1 t L XN p Z 2 5 l Z Ct qc 2 9 u Ii wi YW xn Ijoi RW RE U 0 E if Q ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" signature ":" FW 3 3 N nv O HV 0 T ed 9 - F 7 GZ bk ia - vY Af BK t H 4 o Bx br tt WA h BZ 6 UF JM xc Gj L 3 lw Ol 4 Y oh I 3 k yy d 0 8 L HP WN Mg P 2 E VC Q ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" header ":{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" kid ":" did : example : alice # key - 1 " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ] ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" . trim Indent (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexpected Metadata Ġ= ĠMetadata ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġencrypted Ġ= Ġfalse , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġauthenticated Ġ= Ġtrue , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnon Rep ud iation Ġ= Ġtrue , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsign From Ġ= Ġ" did : example : alice # key - 1 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsign Alg Ġ= ĠSign Alg . ED 2 5 5 1 9 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠTest Vector ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfrom Ġ= Ġ" did : example : alice # key - 2 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexpected Ġ= Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" payload ":" ey Jp ZCI 6 Ij Ey Mz Q 1 N jc 4 OT Ai LCJ 0 e X Ai OiJ hc HB sa WN hdG lvbi 9 ka WR jb 2 1 t L XB s YW lu K 2 p zb 2 4 i LCJ 0 e X Bl Ijo ia HR 0 c D ov L 2 V 4 YW 1 wb GU u Y 2 9 t L 3 By b 3 Rv Y 2 9 sc y 9 s Z XR z X 2 Rv X 2 x 1 bm No Lz Eu MC 9 w cm 9 wb 3 N hb C IsIm Z yb 2 0 i OiJ ka WQ 6 ZX hh b XB s ZT ph b Gl j ZS IsIn Rv Ij pb Im Rp ZD ple GF tc G xl Om Jv Yi Jd LCJ j cm V hdG Vk X 3 R pb W Ui Oj E 1 M TY y Nj kw Mj IsIm V 4 c G ly ZX N fd G lt Z SI 6 MT Ux Nj M 4 NT kz MS wi Ym 9 ke SI 6 ey Jt ZX Nz YWdl c 3 Bl Y 2 l ma WN hd HR ya WJ 1 dG Ui OiJ hb m Q ga XR z IH Zhb HV l In 1 9 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" signatures ":[ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" protected ":" ey J 0 e X Ai OiJ hc HB sa WN hdG lvbi 9 ka WR jb 2 1 t L XN p Z 2 5 l Z Ct qc 2 9 u Ii wi YW xn Ijoi RV My N TY if Q ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" signature ":" gc W 3 l V if hy R 4 8 m LH bb pn GZ Qu z isk R 5 - w Xf 6 Io B lp a 9 Sz ER f SG 9 I 7 o Q 9 p ssm HZ wb v J vy M vx sk p H 5 ou dw 1 W 3 X 5 Qg ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" header ":{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" kid ":" did : example : alice # key - 2 " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ] ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" . trim Indent (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexpected Metadata Ġ= ĠMetadata ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġencrypted Ġ= Ġfalse , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġauthenticated Ġ= Ġtrue , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnon Rep ud iation Ġ= Ġtrue , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsign From Ġ= Ġ" did : example : alice # key - 2 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsign Alg Ġ= ĠSign Alg . ES 2 5 6 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠTest Vector ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfrom Ġ= Ġ" did : example : alice # key - 3 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexpected Ġ= Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" payload ":" ey Jp ZCI 6 Ij Ey Mz Q 1 N jc 4 OT Ai LCJ 0 e X Ai OiJ hc HB sa WN hdG lvbi 9 ka WR jb 2 1 t L XB s YW lu K 2 p zb 2 4 i LCJ 0 e X Bl Ijo ia HR 0 c D ov L 2 V 4 YW 1 wb GU u Y 2 9 t L 3 By b 3 Rv Y 2 9 sc y 9 s Z XR z X 2 Rv X 2 x 1 bm No Lz Eu MC 9 w cm 9 wb 3 N hb C IsIm Z yb 2 0 i OiJ ka WQ 6 ZX hh b XB s ZT ph b Gl j ZS IsIn Rv Ij pb Im Rp ZD ple GF tc G xl Om Jv Yi Jd LCJ j cm V hdG Vk X 3 R pb W Ui Oj E 1 M TY y Nj kw Mj IsIm V 4 c G ly ZX N fd G lt Z SI 6 MT Ux Nj M 4 NT kz MS wi Ym 9 ke SI 6 ey Jt ZX Nz YWdl c 3 Bl Y 2 l ma WN hd HR ya WJ 1 dG Ui OiJ hb m Q ga XR z IH Zhb HV l In 1 9 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" signatures ":[ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" protected ":" ey J 0 e X Ai OiJ hc HB sa WN hdG lvbi 9 ka WR jb 2 1 t L XN p Z 2 5 l Z Ct qc 2 9 u Ii wi YW xn Ijoi RV My NT ZL In 0 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" signature ":" EG jh I cts 6 t qi Jg q tx a Ti TY 3 EU v L -_ r Lj n 9 l xa Z 4 e RU wa 1 - CS 1 n kn Z oy JW by Y 5 N Qn U af Wh 5 nv Ct Qp dp My z H 3 bl w ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" header ":{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" kid ":" did : example : alice # key - 3 " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ] ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" . trim Indent (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexpected Metadata Ġ= ĠMetadata ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġencrypted Ġ= Ġfalse , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġauthenticated Ġ= Ġtrue , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnon Rep ud iation Ġ= Ġtrue , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsign From Ġ= Ġ" did : example : alice # key - 3 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsign Alg Ġ= ĠSign Alg . ES 2 5 6 K , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ class ĠJ WE Ġ{ ĊĠĠĠ Ġdata Ġclass ĠTest Vector ( val Ġmessage : ĠString , Ġval Ġexpected Metadata : ĠMetadata ) ĊĠĠĠ Ġdata Ġclass ĠNegative Test Vector < T Ġ: ĠThrowable >( ĊĠĠĠĠĠĠĠ Ġval Ġpacked Message : ĠString , ĊĠĠĠĠĠĠĠ Ġval Ġexpected Throw : ĠK Class < T >, ĊĠĠĠĠĠĠĠ Ġval Ġexpected Message : ĠString , ĊĠĠĠĠĠĠĠ Ġval Ġunpack Params : ĠUn pack Params Ġ= ĠUn pack Params . Builder ( packed Message ). build () ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġval ĠTEST _ VECT ORS Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTest Vector ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmessage Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ciphertext ":" K WS 7 g JU 7 T by J lc T 9 d Pk Cw - oh N ig Ga HS uk R 9 MU q FM 0 TH b CT CN k Y - g 5 ta h BF ys zl K IK Xs 7 q Ot qz Yy Wb P ou 2 q 7 7 Xl Ae Ys 9 3 Ih F 6 N va Ij y Nq Y k lv j - Ot Jt 9 W 2 Pj 5 CLO M ds R 0 C 3 0 w ch Go Xd 6 w EQ ZY 4 tt bz px Y zn q P mJ 0 b 9 KW 6 ZP - l 4 _ DS RY e 9 B - 1 o SW MN mq MP w lu K bt gu C - ri y 3 5 6 X bu 2 C 9 Sh fW mp m jz 1 Hy JW Qh Z fc zu wk WW l E 6 3 g 2 6 FM sk IZ Zd _ j Gp Eh PF HK UX CF w bu iw _ Iy 3 R 0 BI zm XX d K _ w 7 P ZM MP b ax ssl 2 Ue Jm L Qg CAP 8 j 8 T uk x V 9 6 EK a 6 r Gg UL v lo 7 q ib j J qs S 5 j 0 3 bnb xk ux w bf yu 3 Ox wg Vz FW ly Hb UH 6 p ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" protected ":" ey J lc G si On sia 3 R 5 Ijoi T 0 t Q Ii wi Y 3 J 2 Ijoi W DI 1 N TE 5 Iiw ie CI 6 I kp I an Nt SV Ja Q WF CM Hp SR 1 9 3 T lh MV j Jy UG dn Rj A wa GR IY lc 1 c mo 4 Zz BJ Mj Q if Sw i YX B 2 Ijoi Tm N zd UF u cl Jm UE s 2 O UE t cm ta ME w 5 WF d VR z Rq TX ZO Qz Na Z zc 0 Ql B 6 NT N QQ S IsIn R 5 c CI 6 Im F wc G xp Y 2 F 0 aW 9 u L 2 Rp Z GN vb W 0 t ZW 5 j cn l wd G Vk K 2 p zb 2 4 i LCJ lb m Mi OiJ YQ z Iw UC IsIm Fs Zy I 6 Ik VD RE gt R VM r Q TI 1 N kt X In 0 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" recipients ":[ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" encrypted _ key ":" 3 n 1 oly BR 3 n Y 7 Z GA pr Ox - b 7 wY AK za 6 cv O Yj Nw Vg 3 mi T nb Lw PP _ Fm E 1 A ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" header ":{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" kid ":" did : example : bob # key - x 2 5 5 1 9 - 1 " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" encrypted _ key ":" j 5 e S zn 3 k Cr I kh Q AW Pn E wr F PM W 6 h G 0 z F _ y 3 7 g Uv vc 5 g vl z su NX 4 h Xr Q ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" header ":{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" kid ":" did : example : bob # key - x 2 5 5 1 9 - 2 " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" encrypted _ key ":" TE Wl ql q - ao 7 Lb yn f 0 o ZY h xs 7 ZB 3 9 SU WB CK 4 q jq Qq fe It fw m Ny Dm 7 3 A ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" header ":{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" kid ":" did : example : bob # key - x 2 5 5 1 9 - 3 " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ], ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" tag ":" 6 yl C _ i As 4 Jv DQ z Xe Y 6 Mu YQ ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" iv ":" ES pm cy Gi Zp R jc 5 ur Del a 2 1 TO OT W 8 W qd 1 " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" . trim Indent (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexpected Metadata Ġ= ĠMetadata ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġencrypted Ġ= Ġtrue , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġanonymous Sender Ġ= Ġtrue , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġencrypted To Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" did : example : bob # key - x 2 5 5 1 9 - 1 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" did : example : bob # key - x 2 5 5 1 9 - 2 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" did : example : bob # key - x 2 5 5 1 9 - 3 " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġenc Alg An on Ġ= ĠAn on Crypt Alg . XC 2 0 P _ ECD H _ ES _ A 2 5 6 KW ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠTest Vector ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmessage Ġ= Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ciphertext ":" 9 1 2 e TU DR KT zh UU qx os P og T 1 bs 9 w 9 wv 4 s 4 H mo Wk ae U 9 Uj 9 2 V 4 EN pk -_ ZP NS v Py XY Lf Fj 0 nc 9 V 2 - ux 5 jq 8 hq Ud 1 7 WJ pX EM 1 Re MU j tn T qe Uz Va 7 _ x tf k bf ha O Zd L 8 Of g N qu PD H 1 b Y c B sh N 9 O 9 l MT 0 V 5 2 gm Ga AB 4 5 k 4 I 2 PN H cc 0 A 5 X W zd it CY i 8 w Ok PD m 5 A 7 p A 3 9 Au 5 u UN i FQ j RY Dr z 1 Y v Jw V 9 cd ca 5 4 v Ys Bf V 1 q 4 c 8 nc Q sv 5 t Nn F YQ 1 s 4 r AG 7 R by Wd A jk C 8 9 k E _ h Io RR k W Zh Fy NS fd v R tl U JD l M 1 9 uml 7 lw BW WP nq km Q 3 ub iB G mV ct 3 pj rc D vj iss Ow 8 Dw kn 4 E 1 V 1 g af ec - j D By 4 R nd ai _ Rd G jn X j M Js 7 n Rv 3 Ot ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" protected ":" ey J lc G si On sia 3 R 5 Ijoi R UM i LCJ j cn Yi OiJ QL TI 1 Ni IsIn gi OiJ F cz dp UD NF a Ex DS G xB cl Aw S 2 NZ Rm Nx RX l CY X By M ks 2 WU 9 BO Vc 4 ZU 8 4 YX U 4 Iiw ie SI 6 Ik 4 2 Q Ww 3 R VR 3 Q 2 Rw Qz ZO am Rl Y 3 Iy S 1 h BZ z FV Z Vp 5 X 3 Vm SF J RS 3 A 5 Rz Z LR 2 s if Sw i YX B 2 Ijo ie i 1 Mc XB 2 V lh EY l 9 z R 1 lu M 2 1 q UU x wd X Uy Q 1 FM ZX d Zd V pv V Fd PS Vh Q SD NG TS IsIn R 5 c CI 6 Im F wc G xp Y 2 F 0 aW 9 u L 2 Rp Z GN vb W 0 t ZW 5 j cn l wd G Vk K 2 p zb 2 4 i LCJ lb m Mi OiJ YQ z Iw UC IsIm Fs Zy I 6 Ik VD RE gt R VM r Q TI 1 N kt X In 0 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" recipients ":[ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" encrypted _ key ":" G - UF Z 1 e bu hl WZ Tr Mj 2 1 4 Y c Ev Hl 6 hy fs Ft Wv 4 hj - N PN i 9 g pi 9 9 r Rs 3 Q ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" header ":{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" kid ":" did : example : bob # key - p 2 5 6 - 1 " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" encrypted _ key ":" g V db Fd X Ax E gr tj 9 Uw 2 xi E uc Qu k pi AO A 3 Jp 7 Ec mb 6 L 7 G 5 c 3 II c AA Hg Q ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" header ":{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" kid ":" did : example : bob # key - p 2 5 6 - 2 " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ], ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" tag ":" t 8 io Lv Z hs Cp 7 A 9 3 jv df 3 w A ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" iv ":" Jr Ip D 5 q 5 if Mq 6 PT 0 6 p Yh 6 Qh CQ 6 L gn Gp F " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" . trim Indent (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexpected Metadata Ġ= ĠMetadata ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġencrypted Ġ= Ġtrue , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġanonymous Sender Ġ= Ġtrue , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġencrypted To Ġ= ĠlistOf (" did : example : bob # key - p 2 5 6 - 1 ", Ġ" did : example : bob # key - p 2 5 6 - 2 "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġenc Alg An on Ġ= ĠAn on Crypt Alg . XC 2 0 P _ ECD H _ ES _ A 2 5 6 KW ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠTest Vector ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmessage Ġ= Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ciphertext ":" HP nc 9 w 7 j K 0 T 7 3 Sp if q _ dc VJ n ON b T 9 MZ 9 o or DJ FE BJ A fm wY Rq vs 1 r K ue - ud r N LT TH 0 q jj be u ji 0 1 x PR F 5 Ji W yy - g SM X 4 L Hd L h Px Hx jj Q CT k Th Y 0 kap of U 8 5 Ej L Pl I 4 y tb Hi G cr PI ez q C un 4 i Dk mb 5 0 pw i Lv L 7 XY 1 Ht 6 z PU Ud hi V 6 q Wo PP 4 qe Y _ 8 pf H 7 4 Q 5 u 7 K 4 TQ 0 u U 3 KP 8 CV Z Qu af rk OB b qb qp JV - l Wp WI Kx il 4 4 f 1 IT _ Ge I pk W vm k Yx Ta 1 M xp Y Bg OY a 5 _ AU x Y B um c IF P - b 6 g 7 G QU b N - 1 SO o P 7 6 E zx ZU _ lo us pz Q 2 Hd EH 1 Tz X w 2 LK cl N 8 G dx D 7 kB 0 H 6 l Zb Z LT 3 Sc Dz S VS bv O 1 w 1 f X HX Oe O zy wu Ac ism mo EX Q Gb W Zm 7 w JJ J 2 r ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" protected ":" ey J lc G si On sia 3 R 5 Ijoi R UM i LCJ j cn Yi OiJ QL TM 4 NC IsIn gi Oi Ix Nj Fh Z 0 dl Y Wh H ZW 1 IZ 2 5 q SG 1 RX 0 Jf U 0 9 Oe U J WZ zh WT GR o VG d WN Vc 1 NF Zi YW J 5 b Gx pc 3 Nu Wj ZX N zc 5 SW 9 Vc U ty Iiw ie SI 6 Im ND ZX Fl R md v Ym 9 f Y 1 It W TR Uc 1 p CW lg 4 dT NC a 2 l 5 Tn My Yi 1 2 ZH FP c U 9 Me UN u V md PM mp v N 2 5 z QV 9 JQ z Nh bn Q 5 T 1 gif Sw i YX B 2 Ijoi TE p BO UV va 3 M 1 d GF t VU ZW Qm Fs TX d Ca Eo 2 RG t EY 0 o 4 SE s 0 U 2 x YW ld x R HF uby IsIn R 5 c CI 6 Im F wc G xp Y 2 F 0 aW 9 u L 2 Rp Z GN vb W 0 t ZW 5 j cn l wd G Vk K 2 p zb 2 4 i LCJ lb m Mi OiJ BM j U 2 Q 0 J DL Uh TN TE y Ii wi YW xn Ijoi RUN ESC 1 FU yt BM j U 2 S 1 cif Q ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" recipients ":[ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" encrypted _ key ":" S ly WC i O a H MM H 9 Cq Ss 2 CH p Rd 2 X wb ue Z 1 - Mf Yg KV ep X W pg m Tg ts g NO Aa Yw V 5 px K 3 D 6 7 HV 5 1 F - v LB Fl AH ke 7 RY p _ Ge G DF Yh Af 5 s ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" header ":{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" kid ":" did : example : bob # key - p 3 8 4 - 1 " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" encrypted _ key ":" 5 e 7 C ht a Rg Il V 4 y S 4 NS D 7 k Eo 0 i Jf Fm L _ BF g Rh 3 cl DK BG _ Qo Pd 1 e Ot Fl Tx F Jh - sp E 0 k ho aw 8 v EE YT c Q Ig 4 Re e FT 3 u Q 8 a ay z 1 o Y ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" header ":{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" kid ":" did : example : bob # key - p 3 8 4 - 2 " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ], ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" tag ":" bk od X ku uw R bq k sn Q Ns CM 2 YL y 9 f 0 v 0 x N gn h SU Ao FG tm E ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" iv ":" a E 1 Xa H 7 6 7 m 7 LY 0 JT N 7 Rs AA " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" . trim Indent (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexpected Metadata Ġ= ĠMetadata ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġencrypted Ġ= Ġtrue , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġanonymous Sender Ġ= Ġtrue , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġencrypted To Ġ= ĠlistOf (" did : example : bob # key - p 3 8 4 - 1 ", Ġ" did : example : bob # key - p 3 8 4 - 2 "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġenc Alg An on Ġ= ĠAn on Crypt Alg . A 2 5 6 CBC _ HS 5 1 2 _ ECD H _ ES _ A 2 5 6 KW ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠTest Vector ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmessage Ġ= Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ciphertext ":" mx n Fl 4 s 8 FR s IJ IB Vc RL v 4 gj 4 ru 5 R 0 H 3 B dv y BW w XV 3 IL ht l _ mo q zx 9 CO ING om P 4 ue u Ap u Y 5 xd MD v RH m 2 m Lo 6 N - 7 6 3 wj NS j A ib N rq V ZC - EG 2 4 jj Y k 7 RP Z 2 6 f EW 4 z 8 7 L Hu LT ic Y CD 4 y Hq il Rb Rgb OCT 0 Db 5 2 2 1 K ec 0 HD Z TX Lz B q Vw C 2 UM y DF 4 QT 6 Uz 3 f E 4 f _ 6 BX T wj D - s Eg M 6 7 w WT i Wb DJ 3 Q 6 W ya OL 3 W 4 uk Y AND u AR 0 5 - SX Veh nd 3 WR 0 FO g 1 h Vc NR ao 5 ek y WZ w 4 Z 2 ek EB 1 JR of 3 L h 6 uq 4 6 K 0 KX pe 9 Pc 6 4 Uz Ax E ID 9 3 So J 0 Ea V _ Se i 8 CX w 2 a J Fm ZU u Cf 8 Y IS WK Uz 6 Q Zx Rv FK Uf Y ef lld Um 9 U 2 t Y 9 6 R ic Wg U hu X gv ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" protected ":" ey J lc G si On sia 3 R 5 Ijoi R UM i LCJ j cn Yi OiJ QL TU y MS IsIn gi OiJ BR W trc 0 9 ab W 1 o Zk ZY d U 9 0 MH My b Vd FY l Vy b VQ 3 OX c 1 S FR w Um 9 TL T ZZ NX pk Y lk 5 T 0 I 5 b 2 RH b 2 h DY m 1 Pe G pq Y 2 Vh W UU 5 Zn Na X 3 R aN md p TG FB NU FE Un Br WE 5 VI iw ie SI 6 Ik FD aW Jn LX ZE M mF H VE p H bz lm RU l 6 Q 1 d XT 2 h SV Ul Ob Fg 3 Q 1 h G ST J qe Dl KV D Zm Tz Jf MG Z 3 Sz M 2 WT ct NH NU Z TR p RV VS a H ln U 1 h QO W 9 TV F cz T kd Z TX V DM Wl PQ 3 A if Sw i YX B 2 Ijoi R 0 9 lb zc 2 eW 0 2 Tk Nn OV d XT UV ZZ lc w ZV ZE V DU 2 Nj h 6 R Wh s Mn VB SV ct RS 1 IR S IsIn R 5 c CI 6 Im F wc G xp Y 2 F 0 aW 9 u L 2 Rp Z GN vb W 0 t ZW 5 j cn l wd G Vk K 2 p zb 2 4 i LCJ lb m Mi OiJ BM j U 2 R 0 NN Ii wi YW xn Ijoi RUN ESC 1 FU yt BM j U 2 S 1 cif Q ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" recipients ":[ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" encrypted _ key ":" W 4 KO y 5 W 8 8 i PP s DE dh k JN 2 kr Z 2 QA e Dx O Ix W - 4 B 2 1 H 9 q 8 9 SH W ex oc C rw ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" header ":{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" kid ":" did : example : bob # key - p 5 2 1 - 1 " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" encrypted _ key ":" ux KP k F 6 - s Ii Ek de Jc UP JY 4 l vs Rg _ b vt LP In 7 e Iy cx L J ML 2 KM 6 - L lag ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" header ":{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" kid ":" did : example : bob # key - p 5 2 1 - 2 " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ], ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" tag ":" a P Ze Y fw ht 2 Nx 9 mf UR v 3 j 3 g ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" iv ":" l G KC vg 2 xr vi 8 Qa _ D " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" . trim Indent (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexpected Metadata Ġ= ĠMetadata ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġencrypted Ġ= Ġtrue , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġanonymous Sender Ġ= Ġtrue , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġencrypted To Ġ= ĠlistOf (" did : example : bob # key - p 5 2 1 - 1 ", Ġ" did : example : bob # key - p 5 2 1 - 2 "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġenc Alg An on Ġ= ĠAn on Crypt Alg . A 2 5 6 GCM _ ECD H _ ES _ A 2 5 6 KW ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠTest Vector ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmessage Ġ= Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ciphertext ":" MJ ez mx J 8 Dz UB 0 1 r M ji W 6 J Vi Sa U hs Z Bh Mv Y te zk hm w ts 1 q X Wt DB 6 3 i 4 - F HZ P 6 c JS y CI 7 e U - gq H 8 l BX O _ UV u vi WI qn I Ur TR La uman Z 4 q 1 d NK An x NL - d H mb 3 co O q S vy 3 ZZ n 6 W 1 7 ls V ud jw 7 h U Up M be Mb Q 5 W 8 G ok K 9 Z CG aa W nq Az d 1 Z cu GX Due m We A 8 Ber Q sf Qw _ IQ m - a UK an cl ded HS Gr Oj VW go z VL 9 7 MH 9 6 6 j 3 i 9 C Jc 3 k 9 j S 9 xD uE 0 ow o WV Za 7 Sx Tm hl 1 P Det mz Ln Y II It - pe Jt N YG dp d - Fc Yx IF yc Q NR Uo FE r 7 7 h 4 GB TL b C - v qb Q HJ C 1 v W 4 O 2 LE Kh nh O AV l Gy DY k Nb A 4 DSL - LM w K xen Q XR AR s K SIM n 7 z - ZI q TE - VC Nj 9 v bt g R ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" protected ":" ey J lc G si On sia 3 R 5 Ijoi T 0 t Q Ii wi Y 3 J 2 Ijoi W DI 1 N TE 5 Iiw ie CI 6 I kd GY 0 1 vc E ps am Y 0 c Ex a Zm No NG Ff R 2 h UT V 9 ZQW Y 2 a U 5 JM WR X RE d 5 Vk N hd zA if Sw i YX B 2 Ijoi Tm N zd UF u cl Jm UE s 2 O UE t cm ta ME w 5 WF d VR z Rq TX ZO Qz Na Z zc 0 Ql B 6 NT N QQ S IsIn N ra W QiOiJ ka WQ 6 ZX hh b XB s ZT ph b Gl j Z SN r ZX k te DI 1 N TE 5 LTE i LCJ hc H Ui OiJ a R 2 xr T 2 1 WN Fl X MX di R 1 U 2 WV d 4 c F ky VW ph Ml Y 1 TF h ne U 5 UV Xh PU z B 4 Iiw id H lw Ijoi YX B wb Gl j YXR pb 2 4 v Z Gl k Y 2 9 tb S 1 lb m N ye XB 0 ZW Q ran Nv bi IsIm Vu Yy I 6 Ik Ey NT Z DQ k Mt SF M 1 M TI i LCJ hb G ci OiJ FQ 0 R IL TF QV St BM j U 2 S 1 cif Q ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" recipients ":[ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" encrypted _ key ":" o 0 FJ ASH k QK hn Fo _ r TM H TI 9 q Tm _ m 2 mk Jp - wv 9 6 m Ky T 5 TP 7 Qj BD ui Q 0 AM Ka PI _ RL LB 7 j py E - Q 8 0 Mw os 7 C vw b MJ Dh IE B nk 2 q H VB ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" header ":{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" kid ":" did : example : bob # key - x 2 5 5 1 9 - 1 " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" encrypted _ key ":" r Yl af W 0 Xk Nd 8 ka XC q V bt GJ 9 G hw BC 3 l Z 9 A ih HK 4 B 6 J 6 V 2 k T 7 v jb SY u I pr 1 Il Aj vx YQ Ow 0 8 yq E JNI wr Pp B 0 ou Dz K qk 9 8 F VN 7 r K ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" header ":{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" kid ":" did : example : bob # key - x 2 5 5 1 9 - 2 " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" encrypted _ key ":" aq fx MY 2 s V - n js Vo -_ 9 Ke 9 Qb Of 6 hx h Gr UV h _ m - h _ Aq 5 3 0 w 3 e _ 4 I ok Ch f K WG 1 t VJ v XY v _ Aff Y 7 vx j 0 k 5 a If K ZU xi Nm Bw C _ Qs No ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" header ":{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" kid ":" did : example : bob # key - x 2 5 5 1 9 - 3 " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ], ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" tag ":" u Y eo 7 Is Zj N 7 An v Bj U ZE 5 l N ry N EN bf 6 _ z ew _ VC - d 4 b 3 U ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" iv ":" o 0 2 OX DQ 6 _- s Kz 2 PX _ 6 oy Jg " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" . trim Indent (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexpected Metadata Ġ= ĠMetadata ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġencrypted Ġ= Ġtrue , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġauthenticated Ġ= Ġtrue , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġencrypted To Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" did : example : bob # key - x 2 5 5 1 9 - 1 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" did : example : bob # key - x 2 5 5 1 9 - 2 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" did : example : bob # key - x 2 5 5 1 9 - 3 " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġencrypted From Ġ= Ġ" did : example : alice # key - x 2 5 5 1 9 - 1 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġenc Alg Auth Ġ= ĠAuth Crypt Alg . A 2 5 6 CBC _ HS 5 1 2 _ ECD H _ 1 PU _ A 2 5 6 KW ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠTest Vector ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmessage Ġ= Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ciphertext ":" WC uf Cs 2 l MZ fk x Q 0 J CK 9 2 l Pt LF gw Wk _ Ft RW OM j 5 2 b Q IS a 9 4 n Eb IY q H DU oh I bv LM gb S j Rc JV us ZO 0 4 U th Du Op S ST c V 5 GB i 3 O 0 c Mr jy I _ P Zn Tb 1 y ik LX pX ma 1 b T 1 0 D 2 r 5 TP tz RM x XF 3 n F sr 9 y 0 J KV 1 Ts M tn 7 0 Df 2 f ER x 2 b AG xc fl md - A 2 s Ml ST T 8 b 7 Qq P tn 1 7 Y b - p A 8 gr 4 i 0 B qb 2 Wf D zw nb f ew bu kp Rm PA 2 hs Es 9 o LK yp b ni A af S poi Qj fb 1 9 o D fs Y aW WX q sd j TY M fl q H __ D q Sm W 5 2 M - S Up 6 or 0 x U 0 uj b Hm Ok Rk cd h 9 Ps R 5 Ys Pu I WA q Ya 2 hf jz _ K Ir G Tx v Cos 0 DM i Z 4 L h _ l PI YQ q Buf Sd FH 5 AG Cho ek Fb Q 1 v cy Iy Y MF ug z O HO g Z 2 Tw Ez v 9 4 GC g ok BH QR 4 _ qa U _ f 4 M va 6 4 KP wq OY dm 5 f 4 KX 1 6 af T Ja - IV 7 ar 7 __ 2 L - A - Ly xm C 5 KI He GO ed V 9 kz Z BL C 7 T uz RA uE 3 vY 7 pk h LB 1 j PE 6 Xp Te KX ld lj ae OSE V cb FU Q ts HO SP z 9 JX uh q Z 1 fd Ax 8 q V 7 h Un S Ad _ Y MM DR 3 S 6 SX tem 8 ak 2 m 9 8 WP v K Ix h Cb cto 7 W 2 qo NY MT 7 MP v vid - Qz Uv Td K ty ov Cv Lz hy Y Jz Mj Zx mn 9 - En Gh Z 5 IT PL _ xF f Ly K xh SS UV z 3 k Sw K 9 xu Oj 3 Kp Jn rr D 7 x rp 5 FK z Ea J VI H Wr U W 9 0 V _ 9 Q VL j ri Th Z 3 6 fA 3 ip vs 8 Z J 8 Q ST n GA mu IQ 6 Z 2 u _ r 4 K sj L _ m GA gn 4 7 qy q Rm - OS LE UE 4 _ 2 q B 0 Q 9 Z 7 EB K ak CH 8 VP t 0 9 h TM DR 6 2 a YZ Yw tmp Ns 9 IS u 0 VP v F jh 8 Um Kb Fc Qs V rz 9 0 - x - r - Q 1 f TX 9 Ja IF c Dy 7 aq Kc I - ai 3 t VF _ HDR 6 0 J ai w ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" protected ":" ey J lc G si On sia 3 R 5 Ijoi R UM i LCJ j cn Yi OiJ QL TI 1 Ni IsIn gi OiJ Ob HJ 3 U HZ 0 SU lu Z WN pe UV r Y TR z Mi 0 0 c zh Pal R id E ZF QV hm TC 1 2 Z 2 x 5 en Fv Iiw ie SI 6 Im hi Mn Zk WE 5 z Sz VC Q 2 U 3 LV ha Q 0 df L TY 0 R 2 1 UT 1 9 r NU l NW FB a Q 0 0 xd GF UQ mc if Sw i YX B 2 Ijo ie i 1 Mc XB 2 V lh EY l 9 z R 1 lu M 2 1 q UU x wd X Uy Q 1 FM ZX d Zd V pv V Fd PS Vh Q SD NG TS IsIn N ra W QiOiJ ka WQ 6 ZX hh b XB s ZT ph b Gl j Z SN r ZX kt c DI 1 Ni 0 x Ii wi YX B 1 Ijoi W kd sa 0 9 t Vj R Z Vz F 3 Y kd VN ll Xe HB Z Ml Vq YT J WN Ux Y QX l OV Fl 0 T VE i LCJ 0 e X Ai OiJ hc HB sa WN hdG lvbi 9 ka WR jb 2 1 t L WV u Y 3 J 5 c HR l Z Ct qc 2 9 u Ii wi ZW 5 j Ijoi Q TI 1 Nk NC Qy 1 I Uz Ux Mi IsIm Fs Zy I 6 Ik VD RE gt M VB VK 0 Ey NT ZL Vy J 9 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" recipients ":[ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" encrypted _ key ":" Z IL 6 L el ig q 1 X ps _ 2 2 9 n lo 1 xB _ t Gx OE Vo EE MF - X TO lt I 0 QX jy Uo q _ p FQ BC An V dc WN H 5 b ma i uz CY Om Z 9 l ky XB kf HO 9 0 Kk Gg OD G ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" header ":{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" kid ":" did : example : bob # key - p 2 5 6 - 1 " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" encrypted _ key ":" s O js 0 A 0 typ IR Ssh h Q oi J Po M 4 o 7 Y p R 5 LA 8 SS ie HZ zm My ID d D 8 ww - 4 J yy Q hq FY uv f S 4 Yt 3 7 VF 4 z 7 Nd 0 Oj Y VN RL - iq P no J 3 i CO r ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" header ":{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" kid ":" did : example : bob # key - p 2 5 6 - 2 " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ], ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" tag ":" n I pa 3 EQ 2 9 hg Ck A 2 c BP de 2 Hp K XK 4 _ b vm L 2 x 7 h 3 9 rt VE c ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" iv ":" m L qi 1 b Z Lz 7 Vw qt VV Fs Di Lg " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" . trim Indent (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexpected Metadata Ġ= ĠMetadata ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġencrypted Ġ= Ġtrue , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġauthenticated Ġ= Ġtrue , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnon Rep ud iation Ġ= Ġtrue , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġencrypted To Ġ= ĠlistOf (" did : example : bob # key - p 2 5 6 - 1 ", Ġ" did : example : bob # key - p 2 5 6 - 2 "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġencrypted From Ġ= Ġ" did : example : alice # key - p 2 5 6 - 1 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsign From Ġ= Ġ" did : example : alice # key - 1 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġenc Alg Auth Ġ= ĠAuth Crypt Alg . A 2 5 6 CBC _ HS 5 1 2 _ ECD H _ 1 PU _ A 2 5 6 KW , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsign Alg Ġ= ĠSign Alg . ED 2 5 5 1 9 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsigned Message Ġ= Ġmap Of () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠTest Vector ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmessage Ġ= Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ciphertext ":" lf Ym R 7 CN as 5 h Oe Px W QE k UE wz SR ds 3 t 5 Gk MW 4 VU Z KJ WJ 7 H 3 y 1 X 8 a 1 Rn Ug 3 c 0 BC q ds zz h Zk 8 xE 0 vf Q 6 7 v J AW G dev 8 O Wy 7 o GY _ e 1 o 4 i AV j 3 m PN fn V 5 N 7 sj ld 6 y U hr xq Ds xt mV Ap 7 LA ip b JN hx q Bo EX db 8 h P bd Pe UI ov - 5 X 0 _ c Q Hp Hal SD 6 z Mo y UP b 0 c C nw 8 bf md N 3 aa V Dr zs Z RI kv hez ZC ka Q F MO 7 5 XK VED y T zn 8 Eq wg pg _ tz D _ Hr 0 0 j Ha 9 m Ty Ti DA _ 1 Zz q le F - X Se 5 NE t Fc 7 _ Bu kg j PWM ZA ou PM Ww IP 0 h - BP UL x Uz Y c WK f C 6 hi U 2 Z ux Wz 8 Fs 8 v 9 r 6 M CA a PO G 3 7 o A _ yf Ww E _ FW l 7 x 6 1 sl 6 i Z f DV Qh OT k dl X No Z 0 L ia C 4 Im X op 2 w Sv K im k G qh ys j 1 Oe fr U rp Hm Sx 1 q Nz 7 v CW q W 8 Mo 7 fy k XQ CV Yr 6 z Xm cv WF 5 - Kv X Du 6 DR 3 E Fl gs 6 An 9 t WL v 1 fl Dr ZW b - l S 6 Rl L 6 Z 8 A qm Lj P 0 Y b 2 r 6 m Top i ul TT p XX p we - Qs 1 _ D HD Gi 0 D fs Z mc Y hy ra - F 8 YQ 3 t GI gy 6 w WC ty Bh 7 Fq _ z Ry 8 RM v V 3 D ka L HY T ek I le 0 YO o Rd ZR JB b 3 yc XH yc Ii 7 iT 1 ew OF l IG js Bg 7 3 Hk qa 6 O 1 we ew S 3 u I xl 4 ve O 6 c BO ks f DR pC 2 7 9 X 9 t V 1 HD q RO B ol NB s WH Q 2 Up UD 1 B at 8 Un f JM rw Bc Zk GQ Cj hl R 9 SS l Zz EI q P 3 le Rh 5 e 2 y 2 F GT m 7 w NR N wm gl 6 s 6 O Ui KD - nb Un n S ug Gz ol b ava f HS 8 0 X rdf Eu U yu Pj np QQ Q RO ap F fc jd 7 d SL d 5 8 g 9 Oj O Eq b 1 - Ed k 4 Kc W - y Y U 1 7 _ zf Iz v 1 q yk EH 7 F 2 2 Nq 9 HG b Re Xu ao 8 3 It U W gp BD Z - uf -_ Rb cp W 2 X 1 U 5 Q Gn I 1 SF 4 Tr b hx 7 4 ln sw EF _ Al Z 4 SU h 7 f rc Mf K QL Y ob T 1 X _ w IE Y 8 pw N 1 Az Wf 4 8 2 L JK Ks xm 0 Ec Y 7 3 vf 0 n 3 u T _ OS 3 Eg B NC V Yy F 6 _ sn m 7 Md OV - RM 5 ZZ y Ql 6 4 Bs Z 4 aL 4 RV V CO a 8 bx Y GP x vp Of 9 Ay - a Qj wY Q fy Fx ay R Ji Q W ky wk 8 SR Ad LL f S ive qv X Ao II i _ XI 9 8 CR Ia J 6 DS Kr - Tu CD lz 4 y VP _ 8 em S _ S 0 S 7 F - Bu h - P 6 nz jd J 0 4 CA m 9 5 p 6 do _ q 8 jk 1 IR Hv ub qr PK cp vk 4 U 3 p - 6 ob JK 9 fe JP ff oe 3 - dd Jv KJ 5 h 8 Et 3 xE KG 7 o Id 3 Nk bb Ff Y Un k Ey C _ w Ue K ty r XK 8 u Bz 5 HK h W 1 S 2 7 qs B An Kv 5 W TC y fr D sf X 0 e T aq de J 3 O 9 u R 4 ni Bc 2 sa 2 t 8 9 G 5 AE KW c O Un J cy t AAA uh MZ iz 2 z XX hm ff PG 5 A 7 Q Sm Z MA l 7 5 CP 6 ul N 0 KC BE 0 n Te uv NP ue qp F 4 PV 4 CC cM fo kz 0 hu 5 k 5 oo 9 FH fk Q MV DB Ti QU t E ez IX ig lq hu 6 V wc Dg bb at AK UI Yx no is H KP g 1 7 z GM l 5 VM UL VY 5 W BY PA U yl Kp W EL n Mc 9 B HU H NU xf SV lq dd 8 4 7 v __ D 1 Go 1 7 MT s Qu j V GQ Qu M 6 1 Ay 0 - z 1 Jw N 0 f ki 0 M 8 t 2 0 U _ s WX 5 j NM bd Z CP B xy 7 rp Z lz ta F 0 1 j 1 NC a M 3 Z Ph -_ KL y 8 v Q 5 8 4 R 5 I 5 Ll E 5 O ej gy L QY MO Mz Sg UZ ZE Ae T GV _ S - k Ent 3 6 k - L 8 K by v _ LW ui u TQ zw L Sw lm W OK Ld Db mj Ej A 1 Js Ea K mor DK z 0 q 7 M FI o C - g KK JB j PT J 5 Px JL Jj 4 R HO xx D Wh x 0 0 Hj L LE 3 S 1 B 6 u Av KV Uh N 4 ka _ w W us Vq ff r R Zm _ e 7 Oz 0 hb CO 8 pT 4 tz lb F WT u 0 - O 4 4 k Hk R jf ub Ei 4 P na Nz Kb G MX Tr Do 7 a Y 6 sgi DB 8 Kl JS s Kr Ne G 0 OL j B AY F _ zm H lr q ct FQ id TD _ Y ID zc S fk C Tr Mo OY a 0 7 n XG 6 E 1 n Ar Sc O gk Nu Nk PV h Cq _ VD 6 w - p Z 1 m SUB w K VC nj N ue Tr B 5 Rv F By dao Wc AA X 3 Ot H 8 y Fe DW G zl R YW JN KE K ull _ V ah 8 B 7 n ww n TP xy e U wn r 2 tx lw Dv Lx 9 AS rl 5 Cj wv Lc 9 b L 7 j Ca 6 Sr Wt 3 h Pj vj DY 4 Jd Fx n Cq yy XD 1 1 M pt 2 ky A 4 TT Ba B bz I 5 K ja 6 p Ks CU w 0 Q CT Cf T Bu 7 b KG TO JK ai 3 2 c 4 WR X vp Vg I ow Oz dy jt KD 0 L gn Y 2 f RT p JW pc TM VA HP f S ad 0 jc 2 3 i Tw OK c JQ 0 n _ Ex f O xz W _ PS v AY bak r R wd Zd Def b _ f Lr IL xg S 7 OA 9 K ep GQ O J np 0 - X _ o 1 b Bk X sm _ cv V hc pr L Vi Ux HR 1 u CT MX a Ul 2 4 v ie k ps 4 5 a OD vf Bj 5 Os G 3 Gr ES h qt Lb 7 uk E HE Jj Ls Ie 1 l - 4 k Ft Np 4 Rl P Z lap Yg Ny MS jn G op w 2 D 5 1 k hu O Hd J 2 y LW AS g FJ PI a 4 dan 4 KT c D hp 7 q mb ij N 8 JR _ s _ p 1 DB 4 E 1 n Fl QP unc A 8 l Ii u Gv 2 PK HK XQ k ku Hc Km PM YT j R lam 5 IB HX Q PV _ nj H MA IV 6 0 X U 8 k xa 5 G 7 t - I wl _ 6 Oe RI j _ HX df 5 m fd T NE Yl wb Q WH Ink S 4 U 3 2 RD 9 Kf 0 u 6 SC 1 bp R Zx 6 Ab FK 8 xl Ig UP h B _ s P 3 k G _ ZZ IZ hc J 1 Oy 6 Q 7 p Az m K XZ YW K Mk DW Zk 7 a - W si A 0 Z 8 g O cd 7 PY A 1 3 GR Iw 0 MT _ G IR c FR fk p 7 8 2 1 j 2 Ar HH o 6 j ag q Md Eu CZ Hz H rf w D 0 X Hz T 4 FP 3 - a Ta HI qr Kx 0 Ti YR fn 2 k 2 Q ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" protected ":" ey J lc G si On sia 3 R 5 Ijoi R UM i LCJ j cn Yi OiJ QL TU y MS IsIn gi OiJ BY mx oe V VEN Ux Y NE 9 z WD h GR TV a O DR BX 0 9 CY Th i OH dh VU h X SF Ex b TB nc zh u SF VER D dy SD l JR WR Z bz J US z FQ Y U 5 ha 0 5 a Sk 5 4 a 1 FB WC 1 a Uk x Wa 1 Bo Nn V 4 e T JNI iw ie SI 6 Ik F QT jh 6 c 0 xE Z GJ pV j N 0 LT lo WT J FQ z FV Z WE z Tm 5 t Mz Ft NW ow Rm Ni U WM 0 Y 2 ZW Q mF Nd z VC Q 2 Vpc U 9 Q W kl j ZT VM Nj I 4 bn V OR kx KR 2 sz S jh 6 SV B PY Ul LU 0 x ma TE if Sw i YX B 2 Ijoi R 0 9 lb zc 2 eW 0 2 Tk Nn OV d XT UV ZZ lc w ZV ZE V DU 2 Nj h 6 R Wh s Mn VB SV ct RS 1 IR S IsIn R 5 c CI 6 Im F wc G xp Y 2 F 0 aW 9 u L 2 Rp Z GN vb W 0 t ZW 5 j cn l wd G Vk K 2 p zb 2 4 i LCJ lb m Mi OiJ YQ z Iw UC IsIm Fs Zy I 6 Ik VD RE gt R VM r Q TI 1 N kt X In 0 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" recipients ":[ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" encrypted _ key ":" iu Vx 5 q Ai R ti j Mf H nk F 9 5 _ By j H yi Am Rq N Tr Ex r EQ K 4 p 7 Hw W 7 sit 1 F 0 g ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" header ":{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" kid ":" did : example : bob # key - p 5 2 1 - 1 " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" encrypted _ key ":" 6 OW nv - t Y 1 ZD UB t 8 u RN pm te o X TV Dz RG z 2 UF 0 4 Y 2 eh 2 - bp 2 ji Vi U 8 VC w ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" header ":{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" kid ":" did : example : bob # key - p 5 2 1 - 2 " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ], ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" tag ":" p Eh 6 LS 1 G CT YQ a WR - 6 v Ae _ Q ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" iv ":" ZM HY qq 1 x V 1 X 8 1 b F zz EH _ i Af Bc L 7 5 f zn Z " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" . trim Indent (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexpected Metadata Ġ= ĠMetadata ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġencrypted Ġ= Ġtrue , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġauthenticated Ġ= Ġtrue , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnon Rep ud iation Ġ= Ġtrue , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġanonymous Sender Ġ= Ġtrue , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġencrypted To Ġ= ĠlistOf (" did : example : bob # key - p 5 2 1 - 1 ", Ġ" did : example : bob # key - p 5 2 1 - 2 "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġencrypted From Ġ= Ġ" did : example : alice # key - p 5 2 1 - 1 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsign From Ġ= Ġ" did : example : alice # key - 1 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġenc Alg Auth Ġ= ĠAuth Crypt Alg . A 2 5 6 CBC _ HS 5 1 2 _ ECD H _ 1 PU _ A 2 5 6 KW , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġenc Alg An on Ġ= ĠAn on Crypt Alg . XC 2 0 P _ ECD H _ ES _ A 2 5 6 KW , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsign Alg Ġ= ĠSign Alg . ED 2 5 5 1 9 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsigned Message Ġ= Ġmap Of () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġval ĠB OB _ DA MAG ED _ MESSAGE Ġ= Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ciphertext ":" K WS 7 g JU 7 T by J lc T 9 d Pk Cw - oh N ig Ga HS uk R 9 MU q FM 0 TH b CT CN k Y - g 5 ta h BF ys zl K IK Xs 7 q Ot qz Yy Wb P ou 2 q 7 7 Xl Ae Ys 9 3 Ih F 6 N va Ij y Nq Y k lv j - Ot Jt 9 W 2 Pj 5 CLO M ds R 0 C 3 0 w ch Go Xd 6 w EQ ZY 4 tt bz px Y zn q P mJ 0 b 9 KW 6 ZP - l 4 _ DS RY e 9 B - 1 o SW MN mq MP w lu K bt gu C - ri y 3 5 6 X bu 2 C 9 Sh fW mp m jz 1 Hy JW Qh Z fc zu wk WW l E 6 3 g 2 6 FM sk IZ Zd _ j Gp Eh PF HK UX CF w bu iw _ Iy 3 R 0 BI zm XX d K _ w 7 P ZM MP b ax ssl 2 Ue Jm L Qg CAP 8 j 8 T uk x V 9 6 EK a 6 r Gg UL v lo 7 q ib j J qs S 5 j 0 3 bnb xk ux w bf yu 3 Ox wg Vz FW ly Hb UH 6 p ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" protected ":" ey J lc G si On sia 3 R 5 Ijoi T 0 t Q Ii wi Y 3 J 2 Ijoi W DI 1 N TE 5 Iiw ie CI 6 I kp I an Nt SV Ja Q WF CM Hp SR 1 9 3 T lh MV j Jy UG dn Rj A wa GR IY lc 1 c mo 4 Zz BJ Mj Q if Sw i YX B 2 Ijoi Tm N zd UF u cl Jm UE s 2 O UE t cm ta ME w 5 WF d VR z Rq TX ZO Qz Na Z zc 0 Ql B 6 NT N QQ S IsIn R 5 c CI 6 Im F wc G xp Y 2 F 0 aW 9 u L 2 Rp Z GN vb W 0 t ZW 5 j cn l wd G Vk K 2 p zb 2 4 i LCJ lb m Mi OiJ YQ z Iw UC IsIm Fs Zy I 6 Ik VD RE gt R VM r Q TI 1 N kt X In 0 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" recipients ":[ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" encrypted _ key ":" 3 n 1 oly BR 3 n Y 7 Z GA pr Ox - b 7 wY AK za 6 cv O Yj Nw Vg 3 mi T nb Lw PP _ Fm E 1 a ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" header ":{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" kid ":" did : example : bob # key - x 2 5 5 1 9 - 1 " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" encrypted _ key ":" j 5 e S zn 3 k Cr I kh Q AW Pn E wr F PM W 6 h G 0 z F _ y 3 7 g Uv vc 5 g vl z su NX 4 h Xr Q ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" header ":{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" kid ":" did : example : bob # key - x 2 5 5 1 9 - 2 " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" encrypted _ key ":" TE Wl ql q - ao 7 Lb yn f 0 o ZY h xs 7 ZB 3 9 SU WB CK 4 q jq Qq fe It fw m Ny Dm 7 3 A ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" header ":{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" kid ":" did : example : bob # key - x 2 5 5 1 9 - 3 " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ], ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" tag ":" 6 yl C _ i As 4 Jv DQ z Xe Y 6 Mu YQ ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" iv ":" ES pm cy Gi Zp R jc 5 ur Del a 2 1 TO OT W 8 W qd 1 " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ""" . trim Indent () ĊĊĠĠĠĠĠĠĠ Ġval ĠB OB _ MESSAGE _ WITHOUT _ RE CI PI ENTS Ġ= Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ciphertext ":" 9 1 2 e TU DR KT zh UU qx os P og T 1 bs 9 w 9 wv 4 s 4 H mo Wk ae U 9 Uj 9 2 V 4 EN pk -_ ZP NS v Py XY Lf Fj 0 nc 9 V 2 - ux 5 jq 8 hq Ud 1 7 WJ pX EM 1 Re MU j tn T qe Uz Va 7 _ x tf k bf ha O Zd L 8 Of g N qu PD H 1 b Y c B sh N 9 O 9 l MT 0 V 5 2 gm Ga AB 4 5 k 4 I 2 PN H cc 0 A 5 X W zd it CY i 8 w Ok PD m 5 A 7 p A 3 9 Au 5 u UN i FQ j RY Dr z 1 Y v Jw V 9 cd ca 5 4 v Ys Bf V 1 q 4 c 8 nc Q sv 5 t Nn F YQ 1 s 4 r AG 7 R by Wd A jk C 8 9 k E _ h Io RR k W Zh Fy NS fd v R tl U JD l M 1 9 uml 7 lw BW WP nq km Q 3 ub iB G mV ct 3 pj rc D vj iss Ow 8 Dw kn 4 E 1 V 1 g af ec - j D By 4 R nd ai _ Rd G jn X j M Js 7 n Rv 3 Ot ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" protected ":" ey J lc G si On sia 3 R 5 Ijoi R UM i LCJ j cn Yi OiJ QL TI 1 Ni IsIn gi OiJ F cz dp UD NF a Ex DS G xB cl Aw S 2 NZ Rm Nx RX l CY X By M ks 2 WU 9 BO Vc 4 ZU 8 4 YX U 4 Iiw ie SI 6 Ik 4 2 Q Ww 3 R VR 3 Q 2 Rw Qz ZO am Rl Y 3 Iy S 1 h BZ z FV Z Vp 5 X 3 Vm SF J RS 3 A 5 Rz Z LR 2 s if Sw i YX B 2 Ijo ie i 1 Mc XB 2 V lh EY l 9 z R 1 lu M 2 1 q UU x wd X Uy Q 1 FM ZX d Zd V pv V Fd PS Vh Q SD NG TS IsIn R 5 c CI 6 Im F wc G xp Y 2 F 0 aW 9 u L 2 Rp Z GN vb W 0 t ZW 5 j cn l wd G Vk K 2 p zb 2 4 i LCJ lb m Mi OiJ YQ z Iw UC IsIm Fs Zy I 6 Ik VD RE gt R VM r Q TI 1 N kt X In 0 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" tag ":" t 8 io Lv Z hs Cp 7 A 9 3 jv df 3 w A ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" iv ":" Jr Ip D 5 q 5 if Mq 6 PT 0 6 p Yh 6 Qh CQ 6 L gn Gp F " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ""" . trim Indent () ĊĊĠĠĠĠĠĠĠ Ġval ĠB OB _ MESSAGE _ WITHOUT _ PROTECT ED _ HEADER Ġ= Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ciphertext ":" 9 1 2 e TU DR KT zh UU qx os P og T 1 bs 9 w 9 wv 4 s 4 H mo Wk ae U 9 Uj 9 2 V 4 EN pk -_ ZP NS v Py XY Lf Fj 0 nc 9 V 2 - ux 5 jq 8 hq Ud 1 7 WJ pX EM 1 Re MU j tn T qe Uz Va 7 _ x tf k bf ha O Zd L 8 Of g N qu PD H 1 b Y c B sh N 9 O 9 l MT 0 V 5 2 gm Ga AB 4 5 k 4 I 2 PN H cc 0 A 5 X W zd it CY i 8 w Ok PD m 5 A 7 p A 3 9 Au 5 u UN i FQ j RY Dr z 1 Y v Jw V 9 cd ca 5 4 v Ys Bf V 1 q 4 c 8 nc Q sv 5 t Nn F YQ 1 s 4 r AG 7 R by Wd A jk C 8 9 k E _ h Io RR k W Zh Fy NS fd v R tl U JD l M 1 9 uml 7 lw BW WP nq km Q 3 ub iB G mV ct 3 pj rc D vj iss Ow 8 Dw kn 4 E 1 V 1 g af ec - j D By 4 R nd ai _ Rd G jn X j M Js 7 n Rv 3 Ot ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" recipients ":[ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" encrypted _ key ":" G - UF Z 1 e bu hl WZ Tr Mj 2 1 4 Y c Ev Hl 6 hy fs Ft Wv 4 hj - N PN i 9 g pi 9 9 r Rs 3 Q ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" header ":{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" kid ":" did : example : bob # key - p 2 5 6 - 1 " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" encrypted _ key ":" g V db Fd X Ax E gr tj 9 Uw 2 xi E uc Qu k pi AO A 3 Jp 7 Ec mb 6 L 7 G 5 c 3 II c AA Hg Q ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" header ":{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" kid ":" did : example : bob # key - p 2 5 6 - 2 " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ], ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" tag ":" t 8 io Lv Z hs Cp 7 A 9 3 jv df 3 w A ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" iv ":" Jr Ip D 5 q 5 if Mq 6 PT 0 6 p Yh 6 Qh CQ 6 L gn Gp F " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ""" . trim Indent () ĊĊĠĠĠĠĠĠĠ Ġval ĠB OB _ MESSAGE _ WITHOUT _ CIPHER TEXT Ġ= Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" protected ":" ey J lc G si On sia 3 R 5 Ijoi R UM i LCJ j cn Yi OiJ QL TI 1 Ni IsIn gi OiJ F cz dp UD NF a Ex DS G xB cl Aw S 2 NZ Rm Nx RX l CY X By M ks 2 WU 9 BO Vc 4 ZU 8 4 YX U 4 Iiw ie SI 6 Ik 4 2 Q Ww 3 R VR 3 Q 2 Rw Qz ZO am Rl Y 3 Iy S 1 h BZ z FV Z Vp 5 X 3 Vm SF J RS 3 A 5 Rz Z LR 2 s if Sw i YX B 2 Ijo ie i 1 Mc XB 2 V lh EY l 9 z R 1 lu M 2 1 q UU x wd X Uy Q 1 FM ZX d Zd V pv V Fd PS Vh Q SD NG TS IsIn R 5 c CI 6 Im F wc G xp Y 2 F 0 aW 9 u L 2 Rp Z GN vb W 0 t ZW 5 j cn l wd G Vk K 2 p zb 2 4 i LCJ lb m Mi OiJ YQ z Iw UC IsIm Fs Zy I 6 Ik VD RE gt R VM r Q TI 1 N kt X In 0 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" recipients ":[ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" encrypted _ key ":" G - UF Z 1 e bu hl WZ Tr Mj 2 1 4 Y c Ev Hl 6 hy fs Ft Wv 4 hj - N PN i 9 g pi 9 9 r Rs 3 Q ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" header ":{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" kid ":" did : example : bob # key - p 2 5 6 - 1 " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" encrypted _ key ":" g V db Fd X Ax E gr tj 9 Uw 2 xi E uc Qu k pi AO A 3 Jp 7 Ec mb 6 L 7 G 5 c 3 II c AA Hg Q ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" header ":{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" kid ":" did : example : bob # key - p 2 5 6 - 2 " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ], ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" tag ":" t 8 io Lv Z hs Cp 7 A 9 3 jv df 3 w A ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" iv ":" Jr Ip D 5 q 5 if Mq 6 PT 0 6 p Yh 6 Qh CQ 6 L gn Gp F " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ""" . trim Indent () ĊĊĠĠĠĠĠĠĠ Ġval ĠB OB _ MESSAGE _ WITHOUT _ TAG Ġ= Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ciphertext ":" 9 1 2 e TU DR KT zh UU qx os P og T 1 bs 9 w 9 wv 4 s 4 H mo Wk ae U 9 Uj 9 2 V 4 EN pk -_ ZP NS v Py XY Lf Fj 0 nc 9 V 2 - ux 5 jq 8 hq Ud 1 7 WJ pX EM 1 Re MU j tn T qe Uz Va 7 _ x tf k bf ha O Zd L 8 Of g N qu PD H 1 b Y c B sh N 9 O 9 l MT 0 V 5 2 gm Ga AB 4 5 k 4 I 2 PN H cc 0 A 5 X W zd it CY i 8 w Ok PD m 5 A 7 p A 3 9 Au 5 u UN i FQ j RY Dr z 1 Y v Jw V 9 cd ca 5 4 v Ys Bf V 1 q 4 c 8 nc Q sv 5 t Nn F YQ 1 s 4 r AG 7 R by Wd A jk C 8 9 k E _ h Io RR k W Zh Fy NS fd v R tl U JD l M 1 9 uml 7 lw BW WP nq km Q 3 ub iB G mV ct 3 pj rc D vj iss Ow 8 Dw kn 4 E 1 V 1 g af ec - j D By 4 R nd ai _ Rd G jn X j M Js 7 n Rv 3 Ot ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" protected ":" ey J lc G si On sia 3 R 5 Ijoi R UM i LCJ j cn Yi OiJ QL TI 1 Ni IsIn gi OiJ F cz dp UD NF a Ex DS G xB cl Aw S 2 NZ Rm Nx RX l CY X By M ks 2 WU 9 BO Vc 4 ZU 8 4 YX U 4 Iiw ie SI 6 Ik 4 2 Q Ww 3 R VR 3 Q 2 Rw Qz ZO am Rl Y 3 Iy S 1 h BZ z FV Z Vp 5 X 3 Vm SF J RS 3 A 5 Rz Z LR 2 s if Sw i YX B 2 Ijo ie i 1 Mc XB 2 V lh EY l 9 z R 1 lu M 2 1 q UU x wd X Uy Q 1 FM ZX d Zd V pv V Fd PS Vh Q SD NG TS IsIn R 5 c CI 6 Im F wc G xp Y 2 F 0 aW 9 u L 2 Rp Z GN vb W 0 t ZW 5 j cn l wd G Vk K 2 p zb 2 4 i LCJ lb m Mi OiJ YQ z Iw UC IsIm Fs Zy I 6 Ik VD RE gt R VM r Q TI 1 N kt X In 0 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" recipients ":[ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" encrypted _ key ":" G - UF Z 1 e bu hl WZ Tr Mj 2 1 4 Y c Ev Hl 6 hy fs Ft Wv 4 hj - N PN i 9 g pi 9 9 r Rs 3 Q ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" header ":{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" kid ":" did : example : bob # key - p 2 5 6 - 1 " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" encrypted _ key ":" g V db Fd X Ax E gr tj 9 Uw 2 xi E uc Qu k pi AO A 3 Jp 7 Ec mb 6 L 7 G 5 c 3 II c AA Hg Q ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" header ":{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" kid ":" did : example : bob # key - p 2 5 6 - 2 " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ], ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" iv ":" Jr Ip D 5 q 5 if Mq 6 PT 0 6 p Yh 6 Qh CQ 6 L gn Gp F " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ""" . trim Indent () ĊĊĠĠĠĠĠĠĠ Ġval ĠB OB _ MESSAGE _ WITHOUT _ IV Ġ= Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ciphertext ":" 9 1 2 e TU DR KT zh UU qx os P og T 1 bs 9 w 9 wv 4 s 4 H mo Wk ae U 9 Uj 9 2 V 4 EN pk -_ ZP NS v Py XY Lf Fj 0 nc 9 V 2 - ux 5 jq 8 hq Ud 1 7 WJ pX EM 1 Re MU j tn T qe Uz Va 7 _ x tf k bf ha O Zd L 8 Of g N qu PD H 1 b Y c B sh N 9 O 9 l MT 0 V 5 2 gm Ga AB 4 5 k 4 I 2 PN H cc 0 A 5 X W zd it CY i 8 w Ok PD m 5 A 7 p A 3 9 Au 5 u UN i FQ j RY Dr z 1 Y v Jw V 9 cd ca 5 4 v Ys Bf V 1 q 4 c 8 nc Q sv 5 t Nn F YQ 1 s 4 r AG 7 R by Wd A jk C 8 9 k E _ h Io RR k W Zh Fy NS fd v R tl U JD l M 1 9 uml 7 lw BW WP nq km Q 3 ub iB G mV ct 3 pj rc D vj iss Ow 8 Dw kn 4 E 1 V 1 g af ec - j D By 4 R nd ai _ Rd G jn X j M Js 7 n Rv 3 Ot ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" protected ":" ey J lc G si On sia 3 R 5 Ijoi R UM i LCJ j cn Yi OiJ QL TI 1 Ni IsIn gi OiJ F cz dp UD NF a Ex DS G xB cl Aw S 2 NZ Rm Nx RX l CY X By M ks 2 WU 9 BO Vc 4 ZU 8 4 YX U 4 Iiw ie SI 6 Ik 4 2 Q Ww 3 R VR 3 Q 2 Rw Qz ZO am Rl Y 3 Iy S 1 h BZ z FV Z Vp 5 X 3 Vm SF J RS 3 A 5 Rz Z LR 2 s if Sw i YX B 2 Ijo ie i 1 Mc XB 2 V lh EY l 9 z R 1 lu M 2 1 q UU x wd X Uy Q 1 FM ZX d Zd V pv V Fd PS Vh Q SD NG TS IsIn R 5 c CI 6 Im F wc G xp Y 2 F 0 aW 9 u L 2 Rp Z GN vb W 0 t ZW 5 j cn l wd G Vk K 2 p zb 2 4 i LCJ lb m Mi OiJ YQ z Iw UC IsIm Fs Zy I 6 Ik VD RE gt R VM r Q TI 1 N kt X In 0 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" recipients ":[ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" encrypted _ key ":" G - UF Z 1 e bu hl WZ Tr Mj 2 1 4 Y c Ev Hl 6 hy fs Ft Wv 4 hj - N PN i 9 g pi 9 9 r Rs 3 Q ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" header ":{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" kid ":" did : example : bob # key - p 2 5 6 - 1 " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" encrypted _ key ":" g V db Fd X Ax E gr tj 9 Uw 2 xi E uc Qu k pi AO A 3 Jp 7 Ec mb 6 L 7 G 5 c 3 II c AA Hg Q ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" header ":{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" kid ":" did : example : bob # key - p 2 5 6 - 2 " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ], ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" tag ":" t 8 io Lv Z hs Cp 7 A 9 3 jv df 3 w A " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ""" . trim Indent () ĊĊĠĠĠĠĠĠĠ Ġval ĠB OB _ MESSAGE _ UNSUPPORTED _ ALG _ HEADER Ġ= Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ciphertext ":" 9 1 2 e TU DR KT zh UU qx os P og T 1 bs 9 w 9 wv 4 s 4 H mo Wk ae U 9 Uj 9 2 V 4 EN pk -_ ZP NS v Py XY Lf Fj 0 nc 9 V 2 - ux 5 jq 8 hq Ud 1 7 WJ pX EM 1 Re MU j tn T qe Uz Va 7 _ x tf k bf ha O Zd L 8 Of g N qu PD H 1 b Y c B sh N 9 O 9 l MT 0 V 5 2 gm Ga AB 4 5 k 4 I 2 PN H cc 0 A 5 X W zd it CY i 8 w Ok PD m 5 A 7 p A 3 9 Au 5 u UN i FQ j RY Dr z 1 Y v Jw V 9 cd ca 5 4 v Ys Bf V 1 q 4 c 8 nc Q sv 5 t Nn F YQ 1 s 4 r AG 7 R by Wd A jk C 8 9 k E _ h Io RR k W Zh Fy NS fd v R tl U JD l M 1 9 uml 7 lw BW WP nq km Q 3 ub iB G mV ct 3 pj rc D vj iss Ow 8 Dw kn 4 E 1 V 1 g af ec - j D By 4 R nd ai _ Rd G jn X j M Js 7 n Rv 3 Ot ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" protected ":" ey J lc G si On sia 3 R 5 Ijoi R UM i LCJ j cn Yi OiJ QL TI 1 Ni IsIn gi OiJ F cz dp UD NF a Ex DS G xB cl Aw S 2 NZ Rm Nx RX l CY X By M ks 2 WU 9 BO Vc 4 ZU 8 4 YX U 4 Iiw ie SI 6 Ik 4 2 Q Ww 3 R VR 3 Q 2 Rw Qz ZO am Rl Y 3 Iy S 1 h BZ z FV Z Vp 5 X 3 Vm SF J RS 3 A 5 Rz Z LR 2 s if Sw i YX B 2 Ijo ie i 1 Mc XB 2 V lh EY l 9 z R 1 lu M 2 1 q UU x wd X Uy Q 1 FM ZX d Zd V pv V Fd PS Vh Q SD NG TS IsIn R 5 c CI 6 Im F wc G xp Y 2 F 0 aW 9 u L 2 Rp Z GN vb W 0 t ZW 5 j cn l wd G Vk K 2 p zb 2 4 i LCJ lb m Mi OiJ YQ z Iw UC IsIm Fs Zy I 6 Ik VD RE gt R VM r Q TI 1 NU t X In 0 =", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" recipients ":[ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" encrypted _ key ":" G - UF Z 1 e bu hl WZ Tr Mj 2 1 4 Y c Ev Hl 6 hy fs Ft Wv 4 hj - N PN i 9 g pi 9 9 r Rs 3 Q ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" header ":{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" kid ":" did : example : bob # key - p 2 5 6 - 1 " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" encrypted _ key ":" g V db Fd X Ax E gr tj 9 Uw 2 xi E uc Qu k pi AO A 3 Jp 7 Ec mb 6 L 7 G 5 c 3 II c AA Hg Q ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" header ":{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" kid ":" did : example : bob # key - p 2 5 6 - 2 " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ], ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" tag ":" t 8 io Lv Z hs Cp 7 A 9 3 jv df 3 w A ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" iv ":" Jr Ip D 5 q 5 if Mq 6 PT 0 6 p Yh 6 Qh CQ 6 L gn Gp F " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ""" . trim Indent () ĊĊĠĠĠĠĠĠĠ Ġval ĠB OB _ MESSAGE _ UNSUPPORTED _ ENC _ HEADER Ġ= Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ciphertext ":" 9 1 2 e TU DR KT zh UU qx os P og T 1 bs 9 w 9 wv 4 s 4 H mo Wk ae U 9 Uj 9 2 V 4 EN pk -_ ZP NS v Py XY Lf Fj 0 nc 9 V 2 - ux 5 jq 8 hq Ud 1 7 WJ pX EM 1 Re MU j tn T qe Uz Va 7 _ x tf k bf ha O Zd L 8 Of g N qu PD H 1 b Y c B sh N 9 O 9 l MT 0 V 5 2 gm Ga AB 4 5 k 4 I 2 PN H cc 0 A 5 X W zd it CY i 8 w Ok PD m 5 A 7 p A 3 9 Au 5 u UN i FQ j RY Dr z 1 Y v Jw V 9 cd ca 5 4 v Ys Bf V 1 q 4 c 8 nc Q sv 5 t Nn F YQ 1 s 4 r AG 7 R by Wd A jk C 8 9 k E _ h Io RR k W Zh Fy NS fd v R tl U JD l M 1 9 uml 7 lw BW WP nq km Q 3 ub iB G mV ct 3 pj rc D vj iss Ow 8 Dw kn 4 E 1 V 1 g af ec - j D By 4 R nd ai _ Rd G jn X j M Js 7 n Rv 3 Ot ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" protected ":" ey J lc G si On sia 3 R 5 Ijoi R UM i LCJ j cn Yi OiJ QL TI 1 Ni IsIn gi OiJ F cz dp UD NF a Ex DS G xB cl Aw S 2 NZ Rm Nx RX l CY X By M ks 2 WU 9 BO Vc 4 ZU 8 4 YX U 4 Iiw ie SI 6 Ik 4 2 Q Ww 3 R VR 3 Q 2 Rw Qz ZO am Rl Y 3 Iy S 1 h BZ z FV Z Vp 5 X 3 Vm SF J RS 3 A 5 Rz Z LR 2 s if Sw i YX B 2 Ijo ie i 1 Mc XB 2 V lh EY l 9 z R 1 lu M 2 1 q UU x wd X Uy Q 1 FM ZX d Zd V pv V Fd PS Vh Q SD NG TS IsIn R 5 c CI 6 Im F wc G xp Y 2 F 0 aW 9 u L 2 Rp Z GN vb W 0 t ZW 5 j cn l wd G Vk K 2 p zb 2 4 i LCJ lb m Mi OiJ YQ z Iw Mi IsIm Fs Zy I 6 Ik VD RE gt R VM r Q TI 1 N kt X In 0 =", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" recipients ":[ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" encrypted _ key ":" G - UF Z 1 e bu hl WZ Tr Mj 2 1 4 Y c Ev Hl 6 hy fs Ft Wv 4 hj - N PN i 9 g pi 9 9 r Rs 3 Q ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" header ":{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" kid ":" did : example : bob # key - p 2 5 6 - 1 " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" encrypted _ key ":" g V db Fd X Ax E gr tj 9 Uw 2 xi E uc Qu k pi AO A 3 Jp 7 Ec mb 6 L 7 G 5 c 3 II c AA Hg Q ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" header ":{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" kid ":" did : example : bob # key - p 2 5 6 - 2 " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ], ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" tag ":" t 8 io Lv Z hs Cp 7 A 9 3 jv df 3 w A ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" iv ":" Jr Ip D 5 q 5 if Mq 6 PT 0 6 p Yh 6 Qh CQ 6 L gn Gp F " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ""" . trim Indent () ĊĊĠĠĠĠĠĠĠ Ġval ĠB OB _ AN ON _ MESSAGE _ RE CI PI ENT _ KEY _ IS _ INVALID Ġ= Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ciphertext ":" K WS 7 g JU 7 T by J lc T 9 d Pk Cw - oh N ig Ga HS uk R 9 MU q FM 0 TH b CT CN k Y - g 5 ta h BF ys zl K IK Xs 7 q Ot qz Yy Wb P ou 2 q 7 7 Xl Ae Ys 9 3 Ih F 6 N va Ij y Nq Y k lv j - Ot Jt 9 W 2 Pj 5 CLO M ds R 0 C 3 0 w ch Go Xd 6 w EQ ZY 4 tt bz px Y zn q P mJ 0 b 9 KW 6 ZP - l 4 _ DS RY e 9 B - 1 o SW MN mq MP w lu K bt gu C - ri y 3 5 6 X bu 2 C 9 Sh fW mp m jz 1 Hy JW Qh Z fc zu wk WW l E 6 3 g 2 6 FM sk IZ Zd _ j Gp Eh PF HK UX CF w bu iw _ Iy 3 R 0 BI zm XX d K _ w 7 P ZM MP b ax ssl 2 Ue Jm L Qg CAP 8 j 8 T uk x V 9 6 EK a 6 r Gg UL v lo 7 q ib j J qs S 5 j 0 3 bnb xk ux w bf yu 3 Ox wg Vz FW ly Hb UH 6 p ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" protected ":" ey J lc G si On sia 3 R 5 Ijoi T 0 t Q Ii wi Y 3 J 2 Ijoi W DI 1 N TE 5 Iiw ie CI 6 I kp I an Nt SV Ja Q WF CM Hp SR 1 9 3 T lh MV j Jy UG dn Rj A wa GR IY lc 1 c mo 4 Zz BJ Mj Q if Sw i YX B 2 Ijoi Tm N zd UF u cl Jm UE s 2 O UE t cm ta ME w 5 WF d VR z Rq TX ZO Qz Na Z zc 0 Ql B 6 NT N QQ S IsIn R 5 c CI 6 Im F wc G xp Y 2 F 0 aW 9 u L 2 Rp Z GN vb W 0 t ZW 5 j cn l wd G Vk K 2 p zb 2 4 i LCJ lb m Mi OiJ YQ z Iw UC IsIm Fs Zy I 6 Ik VD RE gt R VM r Q TI 1 N kt X In 0 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" recipients ":[ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" encrypted _ key ":" 3 n 1 oly BR 3 n Y 7 Z GA pr Ox -\ b 7 wY AK za 6 cv O Yj Nw Vg 3 mi T nb Lw PP _ Fm E 1 A ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" header ":{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" kid ":" did : example : bob # key - x 2 5 5 1 9 - 1 " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" encrypted _ key ":" j 5 e S zn 3 k Cr I kh Q AW Pn E wr F PM W 6 h G 0 z F _ y 3 7 g Uv vc 5 g vl z su NX 4 h Xr Q ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" header ":{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" kid ":" did : example : bob # key - x 2 5 5 1 9 - 2 " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" encrypted _ key ":" TE Wl ql q - ao 7 Lb yn f 0 o ZY h xs 7 ZB 3 9 SU WB CK 4 q jq Qq fe It fw m Ny Dm 7 3 A ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" header ":{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" kid ":" did : example : bob # key - x 2 5 5 1 9 - 3 " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ], ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" tag ":" 6 yl C _ i As 4 Jv DQ z Xe Y 6 Mu YQ ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" iv ":" ES pm cy Gi Zp R jc 5 ur Del a 2 1 TO OT W 8 W qd 1 " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ""" . trim Indent () ĊĊĠĠĠĠĠĠĠ Ġval ĠMESSAGE _ AL ICE _ SK ID _ NOT _ FOUND Ġ= Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ciphertext ":" MJ ez mx J 8 Dz UB 0 1 r M ji W 6 J Vi Sa U hs Z Bh Mv Y te zk hm w ts 1 q X Wt DB 6 3 i 4 - F HZ P 6 c JS y CI 7 e U - gq H 8 l BX O _ UV u vi WI qn I Ur TR La uman Z 4 q 1 d NK An x NL - d H mb 3 co O q S vy 3 ZZ n 6 W 1 7 ls V ud jw 7 h U Up M be Mb Q 5 W 8 G ok K 9 Z CG aa W nq Az d 1 Z cu GX Due m We A 8 Ber Q sf Qw _ IQ m - a UK an cl ded HS Gr Oj VW go z VL 9 7 MH 9 6 6 j 3 i 9 C Jc 3 k 9 j S 9 xD uE 0 ow o WV Za 7 Sx Tm hl 1 P Det mz Ln Y II It - pe Jt N YG dp d - Fc Yx IF yc Q NR Uo FE r 7 7 h 4 GB TL b C - v qb Q HJ C 1 v W 4 O 2 LE Kh nh O AV l Gy DY k Nb A 4 DSL - LM w K xen Q XR AR s K SIM n 7 z - ZI q TE - VC Nj 9 v bt g R ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" protected ":" ey J lc G si On sia 3 R 5 Ijoi T 0 t Q Ii wi Y 3 J 2 Ijoi W DI 1 N TE 5 Iiw ie CI 6 I kd GY 0 1 vc E ps am Y 0 c Ex a Zm No NG Ff R 2 h UT V 9 ZQW Y 2 a U 5 JM WR X RE d 5 Vk N hd zA if Sw i YX B 2 Ijoi Tm N zd UF u cl Jm UE s 2 O UE t cm ta ME w 5 WF d VR z Rq TX ZO Qz Na Z zc 0 Ql B 6 NT N QQ S IsIn N ra W QiOiJ ka WQ 6 ZX hh b XB s ZT ph b Gl j Z SN r ZX k te DI 1 N TE 5 LT Ui LCJ hc H Ui OiJ a R 2 xr T 2 1 WN Fl X MX di R 1 U 2 WV d 4 c F ky VW ph Ml Y 1 TF h ne U 5 UV Xh PU z B 4 Iiw id H lw Ijoi YX B wb Gl j YXR pb 2 4 v Z Gl k Y 2 9 tb S 1 lb m N ye XB 0 ZW Q ran Nv bi IsIm Vu Yy I 6 Ik Ey NT Z DQ k Mt SF M 1 M TI i LCJ hb G ci OiJ FQ 0 R IL TF QV St BM j U 2 S 1 cif Q ==", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" recipients ":[ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" encrypted _ key ":" o 0 FJ ASH k QK hn Fo _ r TM H TI 9 q Tm _ m 2 mk Jp - wv 9 6 m Ky T 5 TP 7 Qj BD ui Q 0 AM Ka PI _ RL LB 7 j py E - Q 8 0 Mw os 7 C vw b MJ Dh IE B nk 2 q H VB ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" header ":{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" kid ":" did : example : bob # key - x 2 5 5 1 9 - 1 " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" encrypted _ key ":" r Yl af W 0 Xk Nd 8 ka XC q V bt GJ 9 G hw BC 3 l Z 9 A ih HK 4 B 6 J 6 V 2 k T 7 v jb SY u I pr 1 Il Aj vx YQ Ow 0 8 yq E JNI wr Pp B 0 ou Dz K qk 9 8 F VN 7 r K ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" header ":{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" kid ":" did : example : bob # key - x 2 5 5 1 9 - 2 " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" encrypted _ key ":" aq fx MY 2 s V - n js Vo -_ 9 Ke 9 Qb Of 6 hx h Gr UV h _ m - h _ Aq 5 3 0 w 3 e _ 4 I ok Ch f K WG 1 t VJ v XY v _ Aff Y 7 vx j 0 k 5 a If K ZU xi Nm Bw C _ Qs No ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" header ":{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" kid ":" did : example : bob # key - x 2 5 5 1 9 - 3 " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ], ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" tag ":" u Y eo 7 Is Zj N 7 An v Bj U ZE 5 l N ry N EN bf 6 _ z ew _ VC - d 4 b 3 U ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" iv ":" o 0 2 OX DQ 6 _- s Kz 2 PX _ 6 oy Jg " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ""" . trim Indent () ĊĊĠĠĠĠĠĠĠ Ġval ĠMESSAGE _ AL ICE _ AND _ BO B _ KEYS _ FROM _ DI FFER ENT _ CUR V ES Ġ= Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ciphertext ":" MJ ez mx J 8 Dz UB 0 1 r M ji W 6 J Vi Sa U hs Z Bh Mv Y te zk hm w ts 1 q X Wt DB 6 3 i 4 - F HZ P 6 c JS y CI 7 e U - gq H 8 l BX O _ UV u vi WI qn I Ur TR La uman Z 4 q 1 d NK An x NL - d H mb 3 co O q S vy 3 ZZ n 6 W 1 7 ls V ud jw 7 h U Up M be Mb Q 5 W 8 G ok K 9 Z CG aa W nq Az d 1 Z cu GX Due m We A 8 Ber Q sf Qw _ IQ m - a UK an cl ded HS Gr Oj VW go z VL 9 7 MH 9 6 6 j 3 i 9 C Jc 3 k 9 j S 9 xD uE 0 ow o WV Za 7 Sx Tm hl 1 P Det mz Ln Y II It - pe Jt N YG dp d - Fc Yx IF yc Q NR Uo FE r 7 7 h 4 GB TL b C - v qb Q HJ C 1 v W 4 O 2 LE Kh nh O AV l Gy DY k Nb A 4 DSL - LM w K xen Q XR AR s K SIM n 7 z - ZI q TE - VC Nj 9 v bt g R ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" protected ":" ey J lc G si On sia 3 R 5 Ijoi T 0 t Q Ii wi Y 3 J 2 Ijoi W DI 1 N TE 5 Iiw ie CI 6 I kd GY 0 1 vc E ps am Y 0 c Ex a Zm No NG Ff R 2 h UT V 9 ZQW Y 2 a U 5 JM WR X RE d 5 Vk N hd zA if Sw i YX B 2 Ijoi Tm N zd UF u cl Jm UE s 2 O UE t cm ta ME w 5 WF d VR z Rq TX ZO Qz Na Z zc 0 Ql B 6 NT N QQ S IsIn N ra W QiOiJ ka WQ 6 ZX hh b XB s ZT ph b Gl j Z SN r ZX k te DI 1 N TE 5 LTE i LCJ hc H Ui OiJ a R 2 xr T 2 1 WN Fl X MX di R 1 U 2 WV d 4 c F ky VW ph Ml Y 1 TF h ne U 5 UV Xh PU z B 4 Iiw id H lw Ijoi YX B wb Gl j YXR pb 2 4 v Z Gl k Y 2 9 tb S 1 lb m N ye XB 0 ZW Q ran Nv bi IsIm Vu Yy I 6 Ik Ey NT Z DQ k Mt SF M 1 M TI i LCJ hb G ci OiJ FQ 0 R IL TF QV St BM j U 2 S 1 cif Q ==", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" recipients ":[ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" encrypted _ key ":" o 0 FJ ASH k QK hn Fo _ r TM H TI 9 q Tm _ m 2 mk Jp - wv 9 6 m Ky T 5 TP 7 Qj BD ui Q 0 AM Ka PI _ RL LB 7 j py E - Q 8 0 Mw os 7 C vw b MJ Dh IE B nk 2 q H VB ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" header ":{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" kid ":" did : example : bob # key - p 3 8 4 - 1 " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" encrypted _ key ":" r Yl af W 0 Xk Nd 8 ka XC q V bt GJ 9 G hw BC 3 l Z 9 A ih HK 4 B 6 J 6 V 2 k T 7 v jb SY u I pr 1 Il Aj vx YQ Ow 0 8 yq E JNI wr Pp B 0 ou Dz K qk 9 8 F VN 7 r K ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" header ":{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" kid ":" did : example : bob # key - p 3 8 4 - 2 " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" encrypted _ key ":" aq fx MY 2 s V - n js Vo -_ 9 Ke 9 Qb Of 6 hx h Gr UV h _ m - h _ Aq 5 3 0 w 3 e _ 4 I ok Ch f K WG 1 t VJ v XY v _ Aff Y 7 vx j 0 k 5 a If K ZU xi Nm Bw C _ Qs No ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" header ":{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" kid ":" did : example : bob # key - p 3 8 4 - 3 " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ], ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" tag ":" u Y eo 7 Is Zj N 7 An v Bj U ZE 5 l N ry N EN bf 6 _ z ew _ VC - d 4 b 3 U ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" iv ":" o 0 2 OX DQ 6 _- s Kz 2 PX _ 6 oy Jg " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ""" . trim Indent () ĊĊĠĠĠĠĠĠĠ Ġval ĠMESSAGE _ PROTECT ED _ HEADER _ IS _ NOT _ BASE 6 4 _ ENCODE D Ġ= Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" payload ":" ey Jp ZCI 6 Ij Ey Mz Q 1 N jc 4 OT Ai LCJ 0 e X Ai OiJ hc HB sa WN hdG lvbi 9 ka WR jb 2 1 t L XB s YW lu K 2 p zb 2 4 i LCJ 0 e X Bl Ijo ia HR 0 c D ov L 2 V 4 YW 1 wb GU u Y 2 9 t L 3 By b 3 Rv Y 2 9 sc y 9 s Z XR z X 2 Rv X 2 x 1 bm No Lz Eu MC 9 w cm 9 wb 3 N hb C IsIm Z yb 2 0 i OiJ ka WQ 6 ZX hh b XB s ZT ph b Gl j ZS IsIn Rv Ij pb Im Rp ZD ple GF tc G xl Om Jv Yi Jd LCJ j cm V hdG Vk X 3 R pb W Ui Oj E 1 M TY y Nj kw Mj IsIm V 4 c G ly ZX N fd G lt Z SI 6 MT Ux Nj M 4 NT kz MS wi Ym 9 ke SI 6 ey Jt ZX Nz YWdl c 3 Bl Y 2 l ma WN hd HR ya WJ 1 dG Ui OiJ hb m Q ga XR z IH Zhb HV l In 1 9 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" signatures ":[ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" protected ":" ey J \\\\ 0 e X Ai OiJ hc HB sa WN hdG lvbi 9 ka WR jb 2 1 t L XN p Z 2 5 l Z Ct qc 2 9 u Ii wi YW xn Ijoi RW RE U 0 E if Q ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" signature ":" FW 3 3 N nv O HV 0 T ed 9 - F 7 GZ bk ia - vY Af BK t H 4 o Bx br tt WA h BZ 6 UF JM xc Gj L 3 lw Ol 4 Y oh I 3 k yy d 0 8 L HP WN Mg P 2 E VC Q ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" header ":{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" kid ":" did : example : alice # key - 1 " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ] ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ""" . trim Indent () ĊĊĠĠĠĠĠĠĠ Ġval ĠAN ON CRYPT _ MESSAGE _ P 2 5 6 _ XC 2 0 P _ EP K _ WRONG _ POINT Ġ= Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" protected ": Ġ" ey J 0 e X Ai OiJ hc HB sa WN hdG lvbi 9 ka WR jb 2 1 t L WV u Y 3 J 5 c HR l Z Ct qc 2 9 u Ii wi YW xn Ijoi RUN ESC 1 FU yt BM j U 2 S 1 ci LCJ lb m Mi OiJ YQ z Iw UC IsIm F wd SI 6 bn V sb C wi YX B 2 Ijo ie i 1 Mc XB 2 V lh EY l 9 z R 1 lu M 2 1 q UU x wd X Uy Q 1 FM ZX d Zd V pv V Fd PS Vh Q SD NG TS IsIm V way I 6 ey Jj cn Yi OiJ QL TI 1 Ni Is I mt 0 e SI 6 Ik V DI iw ie CI 6 Ik Z SQ W 1 UQ ml j UF Z JX y 1 a Rn F 2 WE Jw Nz Zh V 2 p ZM 0 gz Y lp GZ lh oc HR UN m 1 ET n ci LCJ 5 Ijoi LX Z 0 LT FI a HR v Vj Bw N 2 x rb GI x Tn Rv M WR h U 0 lq Qn V 3 c V Z zb GI wc C 1 u O WR rd y J 9 f Q ==", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" recipients ": Ġ[ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" header ": Ġ{" kid ": Ġ" did : example : bob # key - p 2 5 6 - 1 "}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" encrypted _ key ": Ġ" sc Qx V 9 YQ 4 m Qr UH gl 6 y An B FD XN Z Ai Is _ 1 5 b mo Er U mo Ym 0 H tu R cl Po Qg ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" header ": Ġ{" kid ": Ġ" did : example : bob # key - p 2 5 6 - 2 "}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" encrypted _ key ": Ġ" Cq Z - HD H 2 j 0 NC - eo U ue NL Ky Au MQ X jQ yw 8 b J HY M 2 f - lx J Vm 3 e XC d mm 2 g ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ], ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" iv ": Ġ" Vg 1 uy u Q Kr U 6 Kw 8 O JK 3 8 WC p Y Fx W 0 su AP 9 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ciphertext ": Ġ" 2 n Im 3 x Qc FR 3 HX b UP F 1 HS _ D 9 2 O GV Dv L 0 n Ii 6 O 5 ol 5 tn MI a 0 9 Nx J tb V AY IG 7 Z rk T 9 3 1 4 Pq Xn _ Rq 7 7 hg GE 6 FA Og O 7 aN YL y U Jh 0 J CC _ i 2 p _ XO W uk 2 0 BY yB sm m Rv V pg 0 DY 3 I 1 Lb - Vg 1 pT 9 p Ey 0 9 gs MS L h bf qk 0 _ TF JB 1 rc qz R 8 W 0 YZ B 5 m X _ 5 3 n MR f 1 Z at DE g 4 r Dog Se k WE GT B nl T NR ua 8 - zo I 4 5 7 3 S fg J - ON t 7 Z _ Kb GO - sd Rk mq X hf YN cb U yo MF 9 JS a - k ra Vu WH ZP 9 h Tz 8 - 7 R 0 2 0 EX fb 4 j od M WV OM MA i JY k 1 Cd 7 t et HX p LP dt u ok a ap of mt L _ SN ft AX 2 CB 6 UL f 0 ax r H UN tv Uy j AP v pg v S uv Qu Mr D la Xn 1 6 MQ J _ q 5 5 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" tag ": Ġ" et LT Qv Ks Tv F 6 2 9 fy k Li UD g ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ""" . trim Indent () ĊĊĠĠĠĠĠĠĠ Ġval ĠNE G ATIVE _ TEST _ VECT ORS Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠNegative Test Vector ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpacked Message Ġ= Ġ"", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexpected Throw Ġ= ĠD ID Comm Exception :: class , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexpected Message Ġ= Ġ" Message Ġcannot Ġbe Ġparsed " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠNegative Test Vector ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpacked Message Ġ= Ġ"{}", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexpected Throw Ġ= ĠD ID Comm Exception :: class , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexpected Message Ġ= Ġ" The Ġheader Ġ\" id \" Ġis Ġmissing " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠNegative Test Vector ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpacked Message Ġ= ĠB OB _ MESSAGE _ WITHOUT _ RE CI PI ENTS , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexpected Throw Ġ= ĠMal formed Message Exception :: ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclass , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexpected Message Ġ= Ġ" The Ġheader Ġ\" id \" Ġis Ġmissing ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġunpack Params Ġ= ĠUn pack Params ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. Builder ( BO B _ MESSAGE _ WITHOUT _ RE CI PI ENTS ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. expect Decrypt By All Keys ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠNegative Test Vector ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpacked Message Ġ= ĠB OB _ MESSAGE _ WITHOUT _ PROTECT ED _ HEADER , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexpected Throw Ġ= ĠMal formed Message Exception :: ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclass , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexpected Message Ġ= Ġ" The Ġheader Ġmust Ġnot Ġbe Ġnull ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġunpack Params Ġ= ĠUn pack Params ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. Builder ( BO B _ MESSAGE _ WITHOUT _ PROTECT ED _ HEADER ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. expect Decrypt By All Keys ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠNegative Test Vector ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpacked Message Ġ= ĠB OB _ MESSAGE _ WITHOUT _ CIPHER TEXT , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexpected Throw Ġ= ĠMal formed Message Exception :: ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclass , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexpected Message Ġ= Ġ" The Ġciphertext Ġmust Ġnot Ġbe Ġnull ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġunpack Params Ġ= ĠUn pack Params ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. Builder ( BO B _ MESSAGE _ WITHOUT _ CIPHER TEXT ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. expect Decrypt By All Keys ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠNegative Test Vector ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpacked Message Ġ= ĠB OB _ MESSAGE _ WITHOUT _ TAG , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexpected Throw Ġ= ĠMal formed Message Exception :: ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclass , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexpected Message Ġ= Ġ" Decrypt Ġis Ġfailed ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġunpack Params Ġ= ĠUn pack Params ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. Builder ( BO B _ MESSAGE _ WITHOUT _ TAG ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. expect Decrypt By All Keys ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠNegative Test Vector ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpacked Message Ġ= ĠB OB _ MESSAGE _ WITHOUT _ IV , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexpected Throw Ġ= ĠMal formed Message Exception :: ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclass , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexpected Message Ġ= Ġ" Decrypt Ġis Ġfailed ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġunpack Params Ġ= ĠUn pack Params ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. Builder ( BO B _ MESSAGE _ WITHOUT _ IV ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. expect Decrypt By All Keys ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠNegative Test Vector ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpacked Message Ġ= ĠB OB _ DA MAG ED _ MESSAGE , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexpected Throw Ġ= ĠMal formed Message Exception :: ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclass , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexpected Message Ġ= Ġ" Decrypt Ġis Ġfailed ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġunpack Params Ġ= ĠUn pack Params ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. Builder ( BO B _ DA MAG ED _ MESSAGE ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. expect Decrypt By All Keys ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠNegative Test Vector ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpacked Message Ġ= ĠB OB _ MESSAGE _ UNSUPPORTED _ ALG _ HEADER , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexpected Throw Ġ= ĠUnsupported Algorithm :: ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclass , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexpected Message Ġ= Ġ" The Ġalgorithm ĠE CD H - ES + A 2 5 5 KW + XC 2 0 P Ġis Ġnot Ġsupported ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġunpack Params Ġ= ĠUn pack Params ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. Builder ( BO B _ MESSAGE _ UNSUPPORTED _ ALG _ HEADER ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. expect Decrypt By All Keys ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠNegative Test Vector ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpacked Message Ġ= ĠB OB _ MESSAGE _ UNSUPPORTED _ ENC _ HEADER , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexpected Throw Ġ= ĠUnsupported Algorithm :: ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclass , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexpected Message Ġ= Ġ" The Ġalgorithm ĠE CD H - ES + A 2 5 6 KW + XC 2 0 2 Ġis Ġnot Ġsupported ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġunpack Params Ġ= ĠUn pack Params ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. Builder ( BO B _ MESSAGE _ UNSUPPORTED _ ENC _ HEADER ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. expect Decrypt By All Keys ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠNegative Test Vector ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpacked Message Ġ= ĠB OB _ AN ON _ MESSAGE _ RE CI PI ENT _ KEY _ IS _ INVALID , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexpected Throw Ġ= ĠMal formed Message Exception :: ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclass , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexpected Message Ġ= Ġ" Decrypt Ġis Ġfailed ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġunpack Params Ġ= ĠUn pack Params ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. Builder ( BO B _ AN ON _ MESSAGE _ RE CI PI ENT _ KEY _ IS _ INVALID ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. expect Decrypt By All Keys ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠNegative Test Vector ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpacked Message Ġ= ĠMESSAGE _ AL ICE _ SK ID _ NOT _ FOUND , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexpected Throw Ġ= ĠMal formed Message Exception :: ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclass , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexpected Message Ġ= Ġ" ap u Ġis Ġnot Ġequal Ġto Ġsk id ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġunpack Params Ġ= ĠUn pack Params ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. Builder ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMESSAGE _ AL ICE _ SK ID _ NOT _ FOUND ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. expect Decrypt By All Keys ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠNegative Test Vector ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpacked Message Ġ= ĠMESSAGE _ AL ICE _ AND _ BO B _ KEYS _ FROM _ DI FFER ENT _ CUR V ES , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexpected Throw Ġ= ĠMal formed Message Exception :: ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclass , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexpected Message Ġ= Ġ" ap v Ġis Ġinvalid ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġunpack Params Ġ= ĠUn pack Params ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. Builder ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMESSAGE _ AL ICE _ AND _ BO B _ KEYS _ FROM _ DI FFER ENT _ CUR V ES ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. expect Decrypt By All Keys ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠNegative Test Vector ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpacked Message Ġ= ĠMESSAGE _ PROTECT ED _ HEADER _ IS _ NOT _ BASE 6 4 _ ENCODE D , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexpected Throw Ġ= ĠMal formed Message Exception :: ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclass , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexpected Message Ġ= Ġ" Invalid Ġsignature ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġunpack Params Ġ= ĠUn pack Params ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. Builder ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMESSAGE _ PROTECT ED _ HEADER _ IS _ NOT _ BASE 6 4 _ ENCODE D ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. expect Decrypt By All Keys ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠNegative Test Vector ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpacked Message Ġ= ĠAN ON CRYPT _ MESSAGE _ P 2 5 6 _ XC 2 0 P _ EP K _ WRONG _ POINT , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexpected Throw Ġ= ĠMal formed Message Exception :: ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclass , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexpected Message Ġ= Ġ" Message Ġcannot Ġbe Ġparsed ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġunpack Params Ġ= ĠUn pack Params . Builder ( AN ON CRYPT _ MESSAGE _ P 2 5 6 _ XC 2 0 P _ EP K _ WRONG _ POINT ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. expect Decrypt By All Keys ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ data Ġclass ĠCustom Protocol Body ( val Ġid : ĠString , Ġval Ġname : ĠString , Ġval Ġcustom : ĠBoolean , Ġval Ġyear : ĠNumber ) Ċ