// ĠCopyright Ġ 2 0 2 1 ĠThe ĠCross - Media ĠMeasurement ĠAuthors Ċ // Ċ // ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ // Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ // ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ // Ċ // ĠĠĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ // Ċ // ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ // Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ // ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ // ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ // Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ċ package Ġorg . wf an et . panel match . common . crypto Ċ Ċ import Ġcom . google . protobuf . ByteString Ċ import Ġjava . io . Serializable Ċ Ċ /** ĠPerforms Ġsymmetric Ġencryption Ġusing Ġa Ġprivate Ġkey . Ġ*/ Ċ interface ĠSym metric Crypt or Ġ: ĠSerializable Ġ{ ĊĊĠ Ġ/** ĠGenerates Ġsymmetric Ġkey Ġ*/ ĊĠ Ġfun Ġgenerate Key (): ĠByte String ĊĊĠ Ġ/** ĠEncrypt s Ġtexts Ġ*/ ĊĠ Ġfun Ġencrypt ( privateKey : ĠByte String , Ġplaintext s : ĠList < ByteString >): ĠList < ByteString > ĊĊĠ Ġ/** ĠDecrypt s Ġtext Ġ*/ ĊĠ Ġfun Ġdecrypt ( privateKey : ĠByte String , Ġciphertext s : ĠList < ByteString >): ĠList < ByteString > Ċ } Ċ