\usepackage[asymptotics,mm,notions,adversary]{cryptocode} % Layout \newcommand{\scbf}[1]{\noindent\textbf{\textsc{#1}}} % Abbreviations %% Algorithms \newcommand{\TrapGen}{\textsf{TrapGen}\xspace} \newcommand{\ExtBasis}{\textsf{ExtBasis}\xspace} \newcommand{\SampleR}{\textsf{SampleRight}\xspace} \newcommand{\SampleL}{\textsf{SampleLeft}\xspace} \newcommand{\GPVSample}{\textsf{GPVSample}\xspace} %% Complexity \newcommand{\NP}{\textsf{NP}\xspace} \newcommand{\redto}{\ensuremath{\preceq_P}} %% Primitives \newcommand{\ZK}{\textsf{ZK}\xspace} \newcommand{\ZKAoK}{\textsf{ZKAoK}\xspace} \newcommand{\NIZK}{\textsf{NIZK}\xspace} \newcommand{\QANIZK}{\textsf{QA-NIZK}\xspace} \newcommand{\PKE}{\textsf{PKE}\xspace} \newcommand{\OT}{\textsf{OT}\xspace} \newcommand{\OTAC}{\ensuremath{\mathcal{AC}}\textrm{-}\ensuremath{\mathcal{OT}}\xspace} \newcommand{\OTA}{\ensuremath{\mathcal{OT}_{k \times 1}^N}\xspace} \newcommand{\GE}{\textsf{GE}\xspace} %% Common \newcommand{\Setup}{\ensuremath{\mathsf{Setup}}\xspace} \newcommand{\Keygen}{\ensuremath{\mathsf{Keygen}}\xspace} \newcommand{\param}{\ensuremath{\mathsf{par}}\xspace} \newcommand{\pk}{\ensuremath{\mathsf{pk}}\xspace} \newcommand{\vk}{\ensuremath{\mathsf{vk}}\xspace} \newcommand{\sk}{\ensuremath{\mathsf{sk}}\xspace} %% ZK \newcommand{\trans}{\textsf{trans}\xspace} \newcommand{\cmt}{\textsf{cmt}\xspace} \newcommand{\com}{\ensuremath{\mathsf{com}}\xspace} \newcommand{\chall}{\textsf{chall}\xspace} \newcommand{\rsp}{\textsf{response}\xspace} \newcommand{\extr}{\ensuremath{\mathsf{extract}}\xspace} \newcommand{\Commit}{\ensuremath{\mathsf{Commit}}\xspace} \newcommand{\Verify}{\ensuremath{\mathsf{Verify}}\xspace} \newcommand{\open}{\ensuremath{\mathsf{open}}\xspace} \newcommand{\Open}{\textsf{Open}\xspace} %% CRS \newcommand{\crs}{\ensuremath{\mathsf{crs}}\xspace} %%BP \newcommand{\BPR}{\ensuremath{\mathsf{BP}}\xspace} \newcommand{\var}{\ensuremath{\mathsf{var}}\xspace} %% Proba \newcommand{\dst}{\ensuremath{\mathsf{D}}\xspace} % Assumptions/Problems %% Pairings \newcommand{\DLP}{\textsf{DLP}\xspace} \newcommand{\DDH}{\textsf{DDH}\xspace} \newcommand{\SXDH}{\textsf{SXDH}\xspace} \newcommand{\SDL}{\textsf{SDL}\xspace} %% Lattices \newcommand{\ISIS}{\ensuremath{\mathsf{ISIS}}\xspace} \newcommand{\SIS}{\ensuremath{\mathsf{SIS}}\xspace} \newcommand{\LWE}{\ensuremath{\mathsf{LWE}}\xspace} \newcommand{\SIVP}{\ensuremath{\textsf{SIVP}_\gamma}\xspace} %% Codes \newcommand{\SDP}{\ensuremath{\mathsf{SDP}}\xspace} %% Models \newcommand{\UC}{\textsf{UC}\xspace} \newcommand{\REAL}{\ensuremath{\mathbf{Real}}} \newcommand{\IDEAL}{\ensuremath{\mathbf{Ideal}}} \newcommand{\ROM}{\textsf{ROM}\xspace} %% Experience/Games \newcommand{\Exp}[2]{\ensuremath{\mathsf{Exp}^{#1}_{#2}}\xspace} \newcommand{\Expt}{\ensuremath{\mathbf{Exp}}\xspace} \newcommand{\advantage}[2]{\ensuremath{\mathrm{Adv}^{#1}_{#2}}\xspace} \newcommand{\oracle}[2]{\ensuremath{\mathcal O^{\,\mathsf{#1}(\,#2\,)}_{}}\xspace} \newcommand{\ensemble}[1]{\ensuremath{\mathcal S_{\mathsf{#1}}^{}}\xspace} \newcommand{\Proba}[1]{\ensuremath{\Pr\left[#1\right]}\xspace} % Operators \newcommand{\iseq}{\overset{?}{=}} \newcommand{\sample}{\xspace\ensuremath{\hookleftarrow}\xspace} \newcommand{\bigO}{\ensuremath{\mathcal{O}}} \newcommand{\softO}{\ensuremath{\tilde{\mathcal{O}}}} \newcommand{\Span}{\ensuremath{\mathrm{span}}\xspace} \newcommand{\U}{\ensuremath{\mathcal U}} \newcommand{\Supp}{\mathrm{Supp}} % Sets %% Usual sets \newcommand{\FF}{\xspace\ensuremath{\mathbb{F}}\xspace} \newcommand{\RR}{\xspace\ensuremath{\mathbb{R}}\xspace} \newcommand{\ZZ}{\xspace\ensuremath{\mathbb{Z}}\xspace} \newcommand{\NN}{\xspace\ensuremath{\mathbb{N}}\xspace} \newcommand{\CC}{\xspace\ensuremath{\mathbb{C}}\xspace} \newcommand{\QQ}{\xspace\ensuremath{\mathbb{Q}}\xspace} \newcommand{\Zq}{\xspace\ensuremath{\mathbb{Z}_q}\xspace} \newcommand{\bit}{\xspace\ensuremath{\{0,1\}}\xspace} \newcommand{\nbit}{\xspace\ensuremath{\{-1,0,1\}}\xspace} \newcommand{\permutations}{\ensuremath{\mathfrak S}\xspace} %% Pairings \newcommand{\Zp}{\xspace\ensuremath{\mathbb{Z}_p}\xspace} \newcommand{\GG}{\xspace\ensuremath{\mathbb{G}}\xspace} \newcommand{\Gh}{\xspace\ensuremath{\widehat{\mathbb{G}}}\xspace} \newcommand{\GT}{\xspace\ensuremath{\mathbb{G}_T}\xspace} \newcommand{\atob}[2]{\xspace\ensuremath{\{#1,\ldots,\#2\}}} % Primitives %% Dynamic Group Signatures \newcommand{\crt}{\mathsf{cert}} \newcommand{\scr}{\mathsf{sec}} \newcommand{\usk}{\mathsf{usk}} \newcommand{\upk}{\mathsf{upk}} \newcommand{\Ngs}{{N_\mathsf{gs}}} \newcommand{\gspk}{\mathcal{Y}} \newcommand{\join}{\mathsf{J}} \newcommand{\Sign}{\mathsf{Sign}} \newcommand{\user}{\mathsf{user}} \newcommand{\users}{\mathsf{users}} \newcommand{\GM}{\mathsf{GM}} \newcommand{\OA}{\mathsf{OA}} \newcommand{\ok}{\mathsf{ok}} \newcommand{\transcripts}{\mathsf{transcripts}} \newcommand{\transcript}{\mathsf{transcript}} \newcommand{\trace}{\mathsf{trace}} \newcommand{\ajoin}{\mathsf{a}\textrm{-}\mathsf{join}} \newcommand{\bjoin}{\mathsf{b}\textrm{-}\mathsf{join}} \newcommand{\pjoin}{\mathsf{p}\textrm{-}\mathsf{join}} \newcommand{\interface}{\mathcal{I}} \newcommand{\ssigma}{\boldsymbol{\sigma}\xspace} \newcommand{\ID}{\ensuremath{\mathsf{ID}}\xspace} %% Group Encryption \newcommand{\compar}{\mathsf{COM}_{\mathsf{par}}} \newcommand{\rec}{\mathsf{rec}} \newcommand{\oa}{\mathsf{oa}} \newcommand{\USR}{\mathsf{U}} \newcommand{\expandtimes}{\mathsf{expand}^{\otimes}} %% OT \newcommand{\env}{\mathcal{E}} \newcommand{\SI}{\ensuremath{\mathsf{S_I}}\xspace} \newcommand{\RI}{\ensuremath{\mathsf{R_I}}\xspace} \newcommand{\ST}{\ensuremath{\mathsf{S_T}}\xspace} \newcommand{\RT}{\ensuremath{\mathsf{R_T}}\xspace} \newcommand{\hS}{\ensuremath{\widehat{\mathsf{S}}}\xspace} \newcommand{\hR}{\ensuremath{\widehat{\mathsf{R}}}\xspace} %% AC-OT \newcommand{\ISetup}{\ensuremath{\mathsf{ISetup}}\xspace} \newcommand{\Issue}{\ensuremath{\mathsf{Issue}}\xspace} \newcommand{\DBSetup}{\ensuremath{\mathsf{DBSetup}}\xspace} \newcommand{\Transfer}{\ensuremath{\mathsf{Transfer}}\xspace} % Tables \usepackage{pifont} \newcommand\okcross{\ding{51}} \newcommand\nocross{\ding{55}} % Other \newcommand{\TODO}{\textbf{\textcolor{red}{TODO}}\xspace} %added by Khoa \newcommand{\xddots}{% \raise 4pt \hbox {.} \mkern 6mu \raise 1pt \hbox {.} \mkern 6mu \raise -2pt \hbox {.} } \newcommand{\xddotss}{% \raise 15pt \hbox {.} \mkern 6mu \raise 1pt \hbox {.} \mkern 6mu \raise -8pt \hbox {.} }