diff --git a/.github/workflows/latex_test.yml b/.github/workflows/latex_test.yml index 43d87eb..c3582f1 100644 --- a/.github/workflows/latex_test.yml +++ b/.github/workflows/latex_test.yml @@ -2,7 +2,11 @@ name: test of iacrcc LaTeX class. on: push: + paths: + 'iacrcc/**' pull_request: + paths: + 'iacrcc/**' permissions: contents: read diff --git a/.github/workflows/metacapture_test.yml b/.github/workflows/metacapture_test.yml new file mode 100644 index 0000000..4ff4d04 --- /dev/null +++ b/.github/workflows/metacapture_test.yml @@ -0,0 +1,44 @@ +name: test of metacapture LaTeX package. + +on: + push: + paths: + 'metacapture/**' + pull_request: + paths: + 'metacapture/**' + +permissions: + contents: read + +jobs: + latex_test: + + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v4 + - name: Set up Python 3.x + uses: actions/setup-python@v5 + with: + python-version: "3.x" + cache: "pip" + - name: Install texlive + uses: zauguin/install-texlive@v4 + with: + package_file: .github/workflows/texlive.packages + texlive_version: 2025 + - name: Get TeXLive version + run: | + tlmgr --version + tlmgr update --all + - name: Install dependencies + working-directory: metacapture/tests + run: | + python -m pip install --upgrade pip + pip install pytest pdfplumber pdfminer python-xmp-toolkit nameparser xmp pylatexenc pypdf + - name: Tests for metacapture.sty + working-directory: metacapture/tests + run: | + echo "/usr/local/texlive/2025/bin/x86_64-linux/" >> "$GITHUB_PATH" + python -m pytest compile_tests.py -vv diff --git a/.github/workflows/texlive.packages b/.github/workflows/texlive.packages index ce30f24..6f0261b 100644 --- a/.github/workflows/texlive.packages +++ b/.github/workflows/texlive.packages @@ -1,4 +1,4 @@ -scheme-small +scheme-medium latex-bin filehook currfile @@ -47,4 +47,43 @@ pdfmanagement-testphase latex-lab ltxcmds kvsetkeys +cleveref zref-clever +spie +economic +elsarticle +ieeetran +llncs +jacow +active-conf +paper +acmart +amscls +environ +helvetic +endnotes +amsfonts +nimbus15 +ieeeconf +titlesec +etoolbox +sttools +footmisc +newtxtt +unicode-math +lm +newtx +enumitem +cite +tex-gyre +hyperxmp +ncctools +draftwatermark +xcolor +cmap +libertine +inconsolata +comment +pbalance +preprint +upquote diff --git a/metacapture/iacrj.cls b/metacapture/iacrj.cls index 81f3052..3b94f3d 100644 --- a/metacapture/iacrj.cls +++ b/metacapture/iacrj.cls @@ -297,10 +297,6 @@ \fi } -% Meta information is written out in [jobname].meta -\newwrite\iacrmeta -\immediate\openout\iacrmeta=\jobname.meta - \AtEndDocument{% % Final version requires textabstract. \IfFileExists{\jobname.abstract}{}{% diff --git a/metacapture/metacapture.sty b/metacapture/metacapture.sty index 2c44f17..cedeb80 100644 --- a/metacapture/metacapture.sty +++ b/metacapture/metacapture.sty @@ -18,6 +18,9 @@ %% Package-specific variables are defined with the \METAC@ prefix. %% Some variables are also defined in expl3 style with the metac module name. +% Just a shortcut for Errors +\newcommand\PkgErr[1]{\PackageError{metacapture}{#1}{}} + \def\METAC@fileversion{0.9} \def\METAC@filedate{2025/04/22} @@ -46,12 +49,15 @@ emailreq .choices:nn = {none, one, all} {\tl_set_eq:NN \g_metac_emailreq_tl \l_keys_choice_tl }, emailreq .initial:n = {none}, orcidreq.if = @metacapture@orcidreq, % whether every author needs an orcid. - countryrequired.if = @metacapture@countryrequired, % Whether every affiliation requires a country. + countryrequired.if = @metacapture@countryrequired, % Every affiliation requires a country. + cityrequired.if = @metacapture@cityrequired, % Every affiliation requires city and country. notitlefootnote.if = @metacapture@notitlefootnote, % whether to allow footnotes on titles. footnotesymbols.if = @metacapture@footnotesymbols, % title and author footnotes with symbols. } \ProcessKeyOptions[metacapture] +% If city is required, then country is also required. +\if@metacapture@cityrequired\@metacapture@countryrequiredtrue\fi % This holds the sequence of authors. Each entry is a serialized prop. \seq_new:N \g_metac_author_seq @@ -85,7 +91,7 @@ % \seq_put_right:Nn \l_tmpa_seq {\href{mailto:\l_tmpa_tl}{\l_tmpa_tl}~{}~(\l_tmpb_tl)} \seq_put_right:Nn \l_tmpa_seq {#1} }{ - \PackageError{metacapture}{All authors must have a name} + \PkgErr{All authors must have a name} } } {} } @@ -147,7 +153,7 @@ onclick .code:n = {}, name .code:n = {}, name .value_required:n = true, - unknown .code:n = \PackageError{metacapture}{Unknown~key~for~author:'\l_keys_key_str'} + unknown .code:n = \PkgErr{Unknown~key~for~author:'\l_keys_key_str'} } % Similarly, these keys are used only to validate what is supplied % through \addaffiliation. Nothing is stored when they are set. @@ -172,7 +178,7 @@ UA,AE,GB,US,UM,UY,UZ,VU,VE,VN,VG,VI,WF,EH,YE,ZM,ZW} {}, % ISO-3166 Alpha-2 codes name .code:n = {}, name .value_required:n = true, - unknown .code:n = \PackageError{metacapture}{Unknown~key~for~affiliation:'\l_keys_key_str'} + unknown .code:n = \PkgErr{Unknown~key~for~affiliation:'\l_keys_key_str'} } % Similarly, these keys are used only to validate what is supplied % through \addfunding. Nothing is stored when they are set, but validation @@ -195,7 +201,7 @@ UA,AE,GB,US,UM,UY,UZ,VU,VE,VN,VG,VI,WF,EH,YE,ZM,ZW} {}, % ISO-3166 Alpha-2 codes name .code:n = {}, name .value_required:n = true, - unknown .code:n = \PackageError{metacapture}{Unknown~key~for~funding:'\l_keys_key_str'} + unknown .code:n = \PkgErr{Unknown~key~for~funding:'\l_keys_key_str'} } \ExplSyntaxOff @@ -208,8 +214,8 @@ % of recurrences of, a substring. \RequirePackage{xstring} % Required for IfSubStr -% This provides the savenotes macro to allow footnotes in boxes. -\RequirePackage{footnotehyper} +% This provides the savenotes and spewnotes macros to allow footnotes in boxes. +\RequirePackage{footnote} % comma-delimited list of author names. \global\let\METAC@listofauthors\@empty @@ -237,7 +243,7 @@ \if@metacapture@anonymous\else % Check that emails were correctly recorded. \fi - \immediate\closeout\metacwrite% + \closeout\metacwrite% % Check if either \title, \addauthor or \addaffiliation macros were redefined % Also check if the font (\familydefault) or the margings (\paperwidth) were modified. % Throw an error if so, these are needed for meta-data collection @@ -260,13 +266,10 @@ } \let\storeprotect\protect -% xpatch: Extending etoolbox patching commands -\RequirePackage{xpatch} +% etoolbox: used for \AtEndPreamble +%\RequirePackage{etoolbox} -% create an immediate version of \protected@write -\let\protected@iwrite\protected@write -\xpatchcmd{\protected@iwrite}{\write}{\immediate\write}{}{} -\newcommand\@writemeta[1]{\protected@iwrite\metacwrite{}{#1}}% +\newcommand\@writemeta[1]{\protected@write\metacwrite{}{#1}}% % alphalph: Convert numbers to letters. This is used for % footnotes in \addauthor and \title @@ -398,9 +401,6 @@ % addresses for now). \AtEndDocument{ \footnotesize - \begin{list}{}{\leftmargin=0.5cm%\rightmargin=\leftmargin - \item\relax - } % This is complicated. For each author we need to generate a % list of affiliation addresses, that we look up by values in % the inst for an author. For this reason we create a prop @@ -463,7 +463,6 @@ } {} \\[6pt] } - \end{list} } \fi%!anonymous \end{center}% @@ -872,7 +871,7 @@ % We prohibit \thanks because footnotes are added as attributes rather than part of the % content for title and author. \tl_if_eq:NnTF \g_metac_maketitle_tl {none} {} { - \renewcommand{\thanks}[1]{\PackageError{metacapture}{The~\string\thanks\space macro~is~not~supported. ^^JSee~the~documentation~for~the~metacapture~package~on~how~to~use~footnotes.}{}} + \renewcommand{\thanks}[1]{\PkgErr{The~\string\thanks\space macro~is~not~supported. ^^JSee~the~documentation~for~the~metacapture~package~on~how~to~use~footnotes.}} } % If the maketitle option is supplied, then \maketitle will be defined @@ -903,7 +902,7 @@ \newcommand\METAC@atmaketitle{\METAC@jems@maketitle} } } {} { - \PackageError{metacapture}{Unknown~maketitle~argument}{} + \PkgErr{Unknown~maketitle~argument} } \if@twocolumn @@ -1021,12 +1020,12 @@ \tl_if_eq:NnTF \g_metac_emailreq_tl {one}{% % When we produce the final version we need at least one e-mail address \ifnum\theMETAC@email@cnt<1\relax - \PackageError{metacapture}{At least one author must supply an e-mail address} + \PkgErr{At least one author must supply an e-mail address} \fi }{ \tl_if_eq:NnTF \g_metac_emailreq_tl {all}{% \ifnum\theMETAC@email@cnt<\theMETAC@author@cnt\relax - \PackageError{metacapture}{All authors must supply an email address}{}% + \PkgErr{All authors must supply an email address}% \fi } {} } @@ -1046,7 +1045,7 @@ % We do not support \author, use \addauthor instead \renewcommand\author[2][]{% - \PackageError{metacapture}{Do not use the \string\author\space macro: use the \string\addauthor\space macro instead}{}% + \PkgErr{Do not use the \string\author\space macro: use the \string\addauthor\space macro instead}% } @@ -1068,7 +1067,7 @@ \else \appto\METAC@listofauthors{,\space #2}% \fi - \ifx\@onlypreamble\@notprerr\PackageError{metacapture}{\string\addauthor\space may only be used before \string\begin{document}}{}\fi + \ifx\@onlypreamble\@notprerr\PkgErr{\string\addauthor\space may only be used before \string\begin{document}}\fi \MathAllowedInCheckStringfalse \checkstring{#2}{author names should not contain macros or math}% % Some additional checks on the if addauthor is used correctly @@ -1099,7 +1098,7 @@ % Check the orcid value \prop_get:NnNTF \l_tmpa_prop {orcid} \l_tmpa_tl { \regex_match:nVTF {^\d{4}-\d{4}-\d{4}-\d{3}[Xx\d]$} {\l_tmpa_tl} {} { - \PackageError{The provided ORCID in \string\addauthor\space does not look valid: \l_tmpa_tl. Did you forget a comma?} + \PkgErr{The provided ORCID in \string\addauthor\space does not look valid: \l_tmpa_tl. Did you forget a comma?} } } { % no orcid. \if@metacapture@orcidreq\PkgErr{Every author must have an orcid set in \string\addauthor\space}\fi @@ -1139,7 +1138,7 @@ % Define the \addfunding macro to capture funding meta-data \newcommand{\addfunding}[2][\@empty]{% - \ifx\@onlypreamble\@notprerr\PackageError{metacapture}{\string\addfunding\space may only be used before \string\begin{document}}{}\fi + \ifx\@onlypreamble\@notprerr\PkgErr{\string\addfunding\space may only be used before \string\begin{document}}\fi \MathAllowedInCheckStringfalse \checkstring{#2}{Funder name should not contain macros or math}% \keys_set:nn { metacapture / funding } { name={#2}, #1 } @@ -1168,9 +1167,6 @@ % listofitems: Grab items in lists using user-specified sep char \RequirePackage{listofitems} -% Just a shortcut for Errors -\newcommand\PkgErr[1]{\PackageError{metacapture}{#1}{}} - % TODO: Check if this is neccesary with new fixes. % Check if a token macro (in pdflatex) is a UTF-8 char \ExplSyntaxOn @@ -1264,10 +1260,11 @@ % Provide the title of the paper with its various options. Note that this must be used in the preamble. \ExplSyntaxOn \renewcommand\title[2][]{% - \ifx\@onlypreamble\@notprerr\PackageError{metacapture}{\string\title\space may only be used before \string\begin{document}}{}\fi + \ifx\@onlypreamble\@notprerr\PkgErr{\string\title\space may only be used before \string\begin{document}}\fi + \ifdefined\inputencodingname\IfStrEq{\inputencodingname}{utf8}{}{\PkgErr{Only~utf8~is~allowed~for~input~encoding}}\fi \if@metacapture@notitlefootnote% \saveexpandmode\noexpandarg % set \noexpandarg locally - \IfSubStr{#2}{\footnote}{\PackageError{metacapture}{The \string\footnote\space macro is disabled in the title}} + \IfSubStr{#2}{\footnote}{\PkgErr{The \string\footnote\space macro is disabled in the title}} \restoreexpandmode % restore the previous mode \fi \tl_set:Nn \g_metac_titleraw_tl {#2} @@ -1310,7 +1307,7 @@ \let\store@title\title% Save macro away to check if it was changed. \newcommand\addaffiliation[2][]{ - \ifx\@onlypreamble\@notprerr\PackageError{metacapture}{\string\addaffiliation\space may only be used before \string\begin{document}}{}\fi + \ifx\@onlypreamble\@notprerr\PkgErr{\string\addaffiliation\space may only be used before \string\begin{document}}\fi \stepcounter{METAC@affil@cnt}% % If a affiliation name is provided does some basic sanity checking on the string \MathAllowedInCheckStringfalse @@ -1323,12 +1320,16 @@ \prop_map_inline:Nn \l_tmpa_prop { \@writemeta{\META@CSS ##1: ##2}% } - % Check for a country - \prop_get:NnNTF \l_tmpa_prop {country} \l_tmpa_tl {} { - \ifcsstring{@METACversion}{final}{% - \PkgErr{Specify a country for each affiliation for the final version}% - }{} - } + \if@metacapture@cityrequired{% + \prop_if_in:NnTF \l_tmpa_prop {city} {} {% + \PkgErr{A~city~is~required~for~each~affiliation} + } + }\fi + \if@metacapture@countryrequired{% + \prop_if_in:NnTF \l_tmpa_prop {country} {} {% + \PkgErr{A~country~is~required~for~each~affiliation} + }% + }\fi } \ExplSyntaxOff @@ -1357,7 +1358,7 @@ \fi } -\AtEndPreamble{% +\AddToHook{begindocument/before}{ \@ifpackageloaded{babel}{% % Ensure the bookmark for the reference points to the section header % Insert a PDF anchor into the beginning of \refname @@ -1390,7 +1391,7 @@ }{} \global\def\METAC@license{\text_uppercase:n {\l_tmpa_str}} % We delay setting the license until hyperref has been loaded. - \AtEndPreamble{ + \AddToHook{begindocument/before}{ \str_case_e:nnTF {\METAC@license} { {CC-BY-4.0} { \RequirePackage[type={CC},modifier={by},version={4.0},hyperxmp=false]{doclicense} @@ -1503,6 +1504,7 @@ % authenticated ORCID logo, and \OrcidLink{0000-1111-2222-3333}[unauth] for % the unauthenticated logo. \NewDocumentCommand{\OrcidLink}{mO{auth}}{% + \@ifpackageloaded{hyperref}{}{\PkgErr{The hyperref package is required for ORCIDs}} \IfStrEqCase{#2}{% {auth}{\href{https://orcid.org/#1}{\XeTeXLinkBox{\AuthOrcidLogo[.8]}}}% {unauth}{\href{https://orcid.org/#1}{\XeTeXLinkBox{\UnauthOrcidLogo[.8]}}}% diff --git a/metacapture/metadoc.pdf b/metacapture/metadoc.pdf index 83b3e14..7486eb2 100644 Binary files a/metacapture/metadoc.pdf and b/metacapture/metadoc.pdf differ diff --git a/metacapture/metadoc.tex b/metacapture/metadoc.tex index 61faded..8c6b2e2 100644 --- a/metacapture/metadoc.tex +++ b/metacapture/metadoc.tex @@ -44,7 +44,7 @@ \newcommand{\pkg}[1]{\texttt{#1}} \makeatletter \@ifclassloaded{iacrj}{}{\bibliographystyle{plainurl} -\usepackage{metacapture} +\usepackage[cityrequired]{metacapture} } \makeatother \title[plaintext={The metacapture LaTeX package}, @@ -463,7 +463,8 @@ \section{Options for loading} work out of the box, because under the covers we implement the \cmd{@title} and \cmd{@author} macros. This document is typeset using those values. See Section~\ref{maketitle} and Appendix~\ref{appendix}. -\item[\texttt{anonymous}] If chosen, then the \cmd{maketitle} macro does not disclose +\item[\texttt{anonymous}] If chosen, then the implementations of \cmd{maketitle} that +may be invoked with the texttt{maketitle} option will not disclose author names or affiliations in the PDF. A document class should load with this option if it is intending to format for a blind peer review system. @@ -472,6 +473,10 @@ \section{Options for loading} few licenses (see section~\ref{license}) If a document class wishes to further restrict which license is acceptable, they can check the \cmd{METAC@license} variable at the end of the preamble. +\item[\texttt{countryrequired}] if chosen, then every affiliation is +required to declare a \texttt{country} attribute. +\item[\texttt{cityrequired}] if chosen, then every affiliation is +required to declare both a \texttt{city} and a \texttt{country} attribute. \item[\texttt{textabstract}] if chosen, then the document must specify a separate ``text-only'' abstract that is free of macros other than mathematics in a \texttt{textabstract} @@ -905,6 +910,10 @@ \section{Format of the \texttt{.meta} file}\label{metafile} full generality of yaml. The syntax of the \texttt{.meta} file is simplified by the fact that every value is on a single line. +Note that the output format may contain macros in math mode, and also +a few simple macros such as \cmd{'e}, The complete list of macros +is defined in \texttt{IsMacroAllowed\{\}}. + \section{Internal variables}\label{variables} \todok{This section needs review since the package has been converted to \texttt{expl3}.} For those seeking to implement their own document class based on this, you should @@ -1150,6 +1159,38 @@ \section{What's missing}\label{missing} their schemas. In both cases there is support for multiple classifications, with multiple vocabularies or assigning authorities. \end{description} +\section{Package dependencies} +This package depends directly on several other packages, including the following: +\begin{description} +\item[\texttt{xstring}] This is used for \cmd{IfSubStr}. +\item[\texttt{footnote}] Authors are allowed to have footnotes attached to +them, and these may be contained inside boxes in the \cmd{maketitle} +implementations that the package provides. For this we use the +\texttt{footnote} package for footnotes inside of boxes. We tried using the +\texttt{footnotehyper} package but that package is too restrictive in how +footnotes are defined. +\item[\texttt{alphalph}] Footnote labels may be alphabetic, depending on the +load options. +\item[\texttt{tokcycle}] This is used to perform checks on metadata arguments +to make sure that they contain ``only text'' that can safely be written to a plain +text file. +\item[\texttt{listofitems}] This is used to process a list of macros that are +allowed to appear in ``text-only'' arguments to macros. We use \cmd{readlist} from +\texttt{listofitems} to read that list. We might be able to switch to native +\texttt{clist} from \texttt{expl3} instead. +\item[\texttt{doclicense}] This is used to identify creative commons +licenses in the \cmd{license} macro. +\item[\texttt{hyperref}] This is used to provide hyperlinks on footnotes, +ORCID links, and because \texttt{doclicense} requires it. We try to delay +loading this as late as possible so as not to collide with any options from +other packages or the document class. +\item[\texttt{fancyvrb}] This is used to write out the \texttt{textabstract} +environment to a file. +\item[\texttt{tikz}] This is used with the \texttt{svg.path} library to draw +some icons like the home link and the ORCID link. +\end{description} + + \section{Feedback} Use the \pkgname\ github project to report bugs and submit feature requests.\footnote{See \url{https://github.com/IACR/latex/tree/main/metacapture}} @@ -1171,12 +1212,13 @@ \section{Appendix: Example styles for \cmd{maketitle}\label{appendix}} appearance of the different styles for \cmd{maketitle}. A class designer can of course make their own \cmd{maketitle} to suit their own needs, and hopefully these examples will be useful. -\makeatletter \newpage \phantomsection{} \setcounter{footnote}{0} +\makeatletter \METAC@iacrj@maketitle +\makeatother \begin{quote} This uses \texttt{maketitle=iacrj}. Footnotes for affiliations are numbered, but footnote symbols on title footnotes and author footnotes are alphabetic (they can also be symbols). The icon for a home page @@ -1187,7 +1229,9 @@ \section{Appendix: Example styles for \cmd{maketitle}\label{appendix}} \newpage \phantomsection{} \setcounter{footnote}{0} +\makeatletter \METAC@acmsmall@maketitle +\makeatother \begin{quote} This uses \texttt{maketitle=acmsmall}. Author names are in small caps. \end{quote} @@ -1198,7 +1242,9 @@ \section{Appendix: Example styles for \cmd{maketitle}\label{appendix}} \label{acmconf} \setcounter{footnote}{0} \savenotes +\makeatletter \METAC@acmconf@maketitle +\makeatother \spewnotes \begin{quote} This uses \texttt{maketitle=acmconf}. Each author is displayed in a block with repeated affiliations. @@ -1210,7 +1256,9 @@ \section{Appendix: Example styles for \cmd{maketitle}\label{appendix}} \phantomsection{} \label{jems} \setcounter{footnote}{0} +\makeatletter \METAC@jems@maketitle +\makeatother \begin{quote} This uses \texttt{maketitle=jems}. Author names appear above the title, and each author has an unnumbered footnote with their information. It's not clear what to do with footnotes on author names, and the journal class appears not to support @@ -1222,7 +1270,9 @@ \section{Appendix: Example styles for \cmd{maketitle}\label{appendix}} \label{inv} \setcounter{footnote}{0} \begin{savenotes} +\makeatletter \METAC@inv@maketitle +\makeatother \end{savenotes} \begin{quote} @@ -1234,7 +1284,9 @@ \section{Appendix: Example styles for \cmd{maketitle}\label{appendix}} \phantomsection{} \label{lipics} \setcounter{footnote}{0} +\makeatletter \METAC@lipics@maketitle +\makeatother \begin{quote} This uses \texttt{maketitle=lipics}. Author names have icons for email, home page, and ORCID. Affiliations are listed below each author name, and are repeated for shared @@ -1245,12 +1297,13 @@ \section{Appendix: Example styles for \cmd{maketitle}\label{appendix}} \phantomsection{} \label{ams} \setcounter{footnote}{0} +\makeatletter \METAC@ams@maketitle +\makeatother \begin{quote} This uses \texttt{maketitle=ams}. Title and author names are in small caps. Author footnotes are unnumbered (for some reason this is the style for \texttt{amsart}). Each author's affiliation is listed at the end of the document as below. \end{quote} -\makeatother \end{document} diff --git a/metacapture/tests/compile_tests.py b/metacapture/tests/compile_tests.py index 60a4294..6c586b4 100644 --- a/metacapture/tests/compile_tests.py +++ b/metacapture/tests/compile_tests.py @@ -37,6 +37,8 @@ def run_engine(eng, filelist, tmpdirpath): metafile = Path('main.meta') if metafile.is_file():# and eng == '-pdflua': data['meta'] = metafile.read_text(encoding='UTF-8') + else: + data['meta'] = 'no meta file' logfile = Path('main.log') if logfile.is_file(): data['log'] = logfile.read_text('utf-8', errors='replace') @@ -272,14 +274,14 @@ def test11_test(): description = xmp.get_string('.//dc:description/rdf:Alt/rdf:li') assert description == 'IACR Communications in Cryptology' title = xmp.get_strings('.//dc:title/rdf:Alt/rdf:li') - assert len(title) == 1 + assert len(title) == 2 assert title[0] == 'How not to use the IACR Communications in Cryptology Cláss' subject = xmp.get_strings('.//dc:subject/rdf:Bag/rdf:li') assert len(subject) == 2 assert subject[0] == 'Dirac delta function' assert subject[1] == 'unit impulse' rights = xmp.get_strings('.//dc:rights/rdf:Alt/rdf:li') - assert len(rights) == 1 + assert len(rights) == 2 assert rights[0] == 'This work is licensed under a Creative Commons "Attribution 4.0 International" license.' webRights = xmp.get_string('.//xmpRights:WebStatement') assert webRights == 'https://creativecommons.org/licenses/by/4.0/deed.en' @@ -501,12 +503,15 @@ def test22_test(): def test23_test(): # Try to \@writemeta on a bunch of titles from eprint. - for option in ['-pdflua', '-pdf']: + for option in ['-pdf','-pdflua']: # Check that it compiles with \runningauthors with tempfile.TemporaryDirectory() as tmpdirpath: path = Path('test23') res = run_engine(option, path.iterdir(), tmpdirpath) assert res['proc'].returncode == 0 + for key in res: + print('key=', key, res[key]) + print('meta=', res['meta']) line = res['meta'].splitlines() assert line[0] == r'schema:0.9' assert line[1] == r'title: How not to use the IACR Communications in Cryptology Cl\r {a}ss' @@ -516,32 +521,32 @@ def test23_test(): del line[2] del line[1] del line[0] - assert line[0] == r"title: On the possibility of basing Cryptography on the assumption that $P \protect \neq NP$" - assert line[1] == r"title: Black-Box Concurrent Zero-Knowledge Requires $\protect \tilde \Omega (\log n)$ Rounds" - assert line[2] == r"title: Parallel scalar multiplication on general elliptic curves over $\protect \mathbb {F}_p$ hedged against Non-Differential Side-Channel Attacks" + assert line[0] == r"title: On the possibility of basing Cryptography on the assumption that $P \neq NP$" + assert line[1] == r"title: Black-Box Concurrent Zero-Knowledge Requires $\tilde \Omega (\log n)$ Rounds" + assert line[2] == r"title: Parallel scalar multiplication on general elliptic curves over $\mathbb {F}_p$ hedged against Non-Differential Side-Channel Attacks" assert line[3] == r"title: An Upper Bound on the Size of a Code with the $k$-Identifiable Parent Property" assert line[4] == r"title: New covering radius of Reed-Muller codes for $t$-resilient functions" assert line[5] == r"title: Counting Points for Hyperelliptic Curves of type $y^2=x^5+ax$ over Finite Prime Fields" assert line[6] == r"title: Goldbach’s Conjecture on ECDSA Protocols" - assert line[7] == r"title: Isomorphism Classes of Hyperelliptic Curves of Genus 2 over $\protect \mathbb {F}_{2^n}$" + assert line[7] == r"title: Isomorphism Classes of Hyperelliptic Curves of Genus 2 over $\mathbb {F}_{2^n}$" assert line[8] == r"title: Point Compression on Jacobians of Hyperelliptic Curves over $F_q$." assert line[9] == r"title: Redundant Trinomials for Finite Fields of Characteristic $2$" assert line[10] == r"title: A Dynamic and Differential CMOS Logic Style to Resist Power and Timing Attacks on Security IC’s." assert line[11] == r"title: Charge Recycling Sense Amplifier Based Logic: Securing Low Power Security IC’s against Differential Power Analysis" assert line[12] == r"title: The Sorcerer’s Apprentice Guide to Fault Attacks" - assert line[13] == r"title: Classification of genus 2 curves over $\protect \mathbb {F}_{2^n}$ and optimization of their arithmetic" + assert line[13] == r"title: Classification of genus 2 curves over $\mathbb {F}_{2^n}$ and optimization of their arithmetic" assert line[14] == r"title: Fast addition on non-hyperelliptic genus $3$ curves" assert line[15] == r"title: Suitable Curves for Genus-4 HCC over Prime Fields: Point Counting Formulae for Hyperelliptic Curves of type $y^2=x^{2k+1}+ax$" assert line[16] == r"title: Improvement of Thériault Algorithm of Index Calculus for Jacobian of Hyperelliptic Curves of Small Genus" assert line[17] == r"title: Covering Radius of the $(n-3)$-rd Order Reed-Muller Code in the Set of Resilient Functions" assert line[18] == r"title: DISTRIBUTION OF R-PATTERNS IN THE KERDOCK-CODE BINARY SEQUENCES AND THE HIGHEST LEVEL SEQUENCES OF PRIMITIVE SEQUENCES OVER $Z_{2^l}$" - assert line[19] == r"title: Applications of $\protect \mathcal {M}$ultivariate $\protect \mathcal {Q}$uadratic Public Key Systems" + assert line[19] == r"title: Applications of $\mathcal {M}$ultivariate $\mathcal {Q}$uadratic Public Key Systems" assert line[20] == r"title: Parallel Montgomery Multiplication in $GF(2^k)$ using Trinomial Residue Arithmetic" assert line[21] == r"title: Cryptanalysis of Noel McCullagh and Paulo S. L. M. Barreto¡¯s two-party identity-based key agreement" assert line[22] == r"title: A note on López-Dahab coordinates" assert line[23] == r"title: Equivalent Keys in HFE, C$^*$, and variations" assert line[24] == r"title: A new security proof for Damgård's ElGamal" - assert line[25] == r"title: A Metric on the Set of Elliptic Curves over ${\protect \mathbf F}_p$." + assert line[25] == r"title: A Metric on the Set of Elliptic Curves over ${\mathbf F}_p$." assert line[26] == r"title: Comment on cryptanalysis of Tseng et al.¡¦s authenticated encryption schemes" assert line[27] == r"title: BROADCAST ENCRYPTION $\pi $" assert line[28] == r"title: Finding MD5 Collisions – a Toy For a Notebook" @@ -553,7 +558,7 @@ def test23_test(): assert line[34] == r"title: On the binary sequences with high $GF(2)$ linear complexities and low $GF(p)$ linear complexities" assert line[35] == r"title: Efficient reduction of 1 out of $n$ oblivious transfers in random oracle model" assert line[36] == r"title: Classification of Cubic $(n-4)$-resilient Boolean Functions" - assert line[37] == r"title: Secure and {\protect \sl Practical} Identity-Based Encryption" + assert line[37] == r"title: Secure and {\sl Practical} Identity-Based Encryption" assert line[38] == r"title: Key Mixing in Block Ciphers through Addition modulo $2^n$" assert line[39] == r"title: Unified Point Addition Formulæ and Side-Channel Attacks" assert line[40] == r"title: Improvement of Manik et al.¡¦s remote user authentication scheme" @@ -563,7 +568,7 @@ def test23_test(): assert line[44] == r"title: Low Complexity Bit-Parallel Square Root Computation over GF($2^m$) for all Trinomials" assert line[45] == r"title: The Design Principle of Hash Function with Merkle-Damgård Construction" assert line[46] == r"title: Divisibility of the Hamming Weight by $2^k$ and Monomial Criteria for Boolean Functions" - assert line[47] == r"title: There exist Boolean functions on $n$ (odd) variables having nonlinearity $> 2^{n-1} - 2^{\protect \frac {n-1}{2}}$ if and only if $n > 7$" + assert line[47] == r"title: There exist Boolean functions on $n$ (odd) variables having nonlinearity $> 2^{n-1} - 2^{\frac {n-1}{2}}$ if and only if $n > 7$" assert line[48] == r"title: Ate pairing for $y^{2}=x^{5}-\alpha x$ in characteristic five" assert line[49] == r"title: On (Hierarchical) Identity Based Encryption Protocols with Short Public Parameters \\ (With an Exposition of Waters' Artificial Abort Technique)" assert line[50] == r"title: An Algorithm for the $\eta _T$ Pairing Calculation in Characteristic Three and its Hardware Implementation" @@ -575,7 +580,7 @@ def test23_test(): assert line[56] == r"title: Cryptanalysis of Hwang-Chang’s a Time-Stamp Protocol for Digital Watermarking" assert line[57] == r"title: A Coprocessor for the Final Exponentiation of the $\eta _T$ Pairing in Characteristic Three" assert line[58] == r"title: High Efficiency Feedback Shift Register: $\sigma -$LFSR" - assert line[59] == r"title: Edon--${\protect \cal R}(256,384,512)$ -- an Efficient Implementation of Edon--${\protect \cal R}$ Family of Cryptographic Hash Functions" + assert line[59] == r"title: Edon--${\cal R}(256,384,512)$ -- an Efficient Implementation of Edon--${\cal R}$ Family of Cryptographic Hash Functions" assert line[60] == r"title: The constructing of $3$-resilient Boolean functions of $9$ variables with nonlinearity $240$." assert line[61] == r"title: Voting with Unconditional Privacy by Merging Prêt-à-Voter and PunchScan" assert line[62] == r"title: A Refined Algorithm for the $\eta _T$ Pairing Calculation in Characteristic Three" @@ -588,14 +593,14 @@ def test23_test(): assert line[69] == r"title: A Proof of Security in $O(2^n)$ for the Xor of Two Random Permutations\\ -- Proof with the ``$H_{\sigma }$ technique''--" assert line[70] == r"title: Pairing-friendly Hyperelliptic Curves with Ordinary Jacobians of Type $y^2=x^5+ax$" assert line[71] == r"title: Merkle's Key Agreement Protocol is Optimal: An $O(n^2)$ Attack on any Key Agreement from Random Oracles" - assert line[72] == r"title: A Comparison Between Hardware Accelerators for the Modified Tate Pairing over $\protect \mathbb {F}_{2^m}$ and $\protect \mathbb {F}_{3^m}$" + assert line[72] == r"title: A Comparison Between Hardware Accelerators for the Modified Tate Pairing over $\mathbb {F}_{2^m}$ and $\mathbb {F}_{3^m}$" assert line[73] == r"title: TinyECCK: Efficient Elliptic Curve Cryptography Implementation over $GF(2^m)$ on 8-bit MICAz Mote" assert line[74] == r"title: A Pipelined Karatsuba-Ofman Multiplier over GF($3^{97}$) Amenable for Pairing Computation" assert line[75] == r"title: Constant-Size Dynamic $k$-TAA" assert line[76] == r"title: Redundant $\tau $-adic Expansions I: Non-Adjacent Digit Sets and their Applications to Scalar Multiplication" assert line[77] == r"title: Redundant $\tau $-adic Expansions II: Non-Optimality and Chaotic Behaviour" assert line[78] == r"title: On The Security of The ElGamal Encryption Scheme and Damgard’s Variant" - assert line[79] == r"title: Polynomials for Ate Pairing and $\protect \mathbf {Ate}_{i}$ Pairing" + assert line[79] == r"title: Polynomials for Ate Pairing and $\mathbf {Ate}_{i}$ Pairing" assert line[80] == r"title: Remarks on the Attack of Fouque et al. against the {\ell }IC Scheme" assert line[81] == r"title: On the CCA1-Security of Elgamal and Damgård's Elgamal" assert line[82] == r"title: ON MIDDLE UNIVERSAL $m$-INVERSE QUASIGROUPS AND THEIR APPLICATIONS TO CRYPTOGRAPHY" @@ -613,25 +618,25 @@ def test23_test(): assert line[94] == r"title: A new bound for t−wise almost universal hash functions" assert line[95] == r"title: Indifferentiability with Distinguishers: Why Shabal\\Does Not Require Ideal Ciphers" assert line[96] == r"title: Hardware Implementations of a Variant of the Zémor-Tillich Hash Function: Can a Provably Secure Hash Function be very efficient ?" - assert line[97] == r"title: On the Randomness and Regularity of Reduced EDON-$\protect \mathcal {R}$ Compression Function" + assert line[97] == r"title: On the Randomness and Regularity of Reduced EDON-$\mathcal {R}$ Compression Function" assert line[98] == r"title: Differential Path for SHA-1 with complexity $O(2^{52})$" - assert line[99] == r"title: Algebraic Attacks specialized to \protect \(\protect \mathbb {F}_2\protect \) (Diplomarbeit)" - assert line[100] == r"title: FPGA Implementations of SHA-3 Candidates:CubeHash, Grøstl, L{\protect \sc ane}, Shabal and Spectral Hash" + assert line[99] == r"title: Algebraic Attacks specialized to \(\mathbb {F}_2\) (Diplomarbeit)" + assert line[100] == r"title: FPGA Implementations of SHA-3 Candidates:CubeHash, Grøstl, L{\sc ane}, Shabal and Spectral Hash" assert line[101] == r"title: Compact Hardware Implementations of the SHA-3 Candidates ARIRANG, BLAKE, Grøstl, and Skein" assert line[102] == r"title: Cryptanalysis of the Tillich-Zémor hash function" - assert line[103] == r"title: A short Note on Discrete Log Problem in $\protect \mathbb {F_p}$" + assert line[103] == r"title: A short Note on Discrete Log Problem in $\mathbb {F_p}$" assert line[104] == r"title: Permutation Polynomials modulo $p^n$" assert line[105] == r"title: Fast Architectures for the $\eta _T$ Pairing over Small-Characteristic Supersingular Elliptic Curves" assert line[106] == r"title: A Secure and Efficient Authenticated Diffie–Hellman Protocol" assert line[107] == r"title: Ntr¹u-like Public Key Cryptosystems beyond Dedekind Domain Up to Alternative Algebra" - assert line[108] == r"title: Improving the Berlekamp algorithm for binomials \protect \boldmath $x^{n} - a$" + assert line[108] == r"title: Improving the Berlekamp algorithm for binomials \boldmath $x^{n} - a$" assert line[109] == r"title: On Cryptographic Protocols Employing Asymmetric Pairings -- The Role of $\Psi $ Revisited" assert line[110] == r"title: Efficient Privacy-Preserving Face Recognition" assert line[111] == r"title: High-Speed Hardware Implementations of BLAKE, Blue Midnight Wish, CubeHash, ECHO, Fugue, Grøstl, Hamsi, JH, Keccak, Luffa, Shabal, SHAvite-3, SIMD, and Skein" assert line[112] == r"title: A Family of $p$-ary Binomial Bent Functions" assert line[113] == r"title: A complete set of addition laws\\for incomplete Edwards curves" assert line[114] == r"title: Efficiency Limitations for $\Sigma $-Protocols for Group Homomorphisms" - assert line[115] == r"title: Reducing Elliptic Curve Logarithm to Logarithm in a Finite Field $\protect \mathbb {F}_q$ for Some Orders" + assert line[115] == r"title: Reducing Elliptic Curve Logarithm to Logarithm in a Finite Field $\mathbb {F}_q$ for Some Orders" assert line[116] == r"title: On the order of the polynomial $x^p-x-a$" assert line[117] == r"title: Constructing Verifiable Random Functions with Large Input Spaces" assert line[118] == r"title: On zero practical significance of “Key recovery attack on full GOST block cipher with zero time and memory”" @@ -640,7 +645,7 @@ def test23_test(): assert line[121] == r"title: New Methods to Construct Golay Complementary Sequences Over the $QAM$ Constellation" assert line[122] == r"title: A Framework for Fully-Simulatable $t$-out-of-$n$ Oblivious Transfer" assert line[123] == r"title: A Security Weakness in Composite-Order Pairing-Based Protocols with Imbedding Degree $k>2$" - assert line[124] == r"title: On second-order nonlinearities of some $\protect \mathcal {D}_0$ type bent functions" + assert line[124] == r"title: On second-order nonlinearities of some $\mathcal {D}_0$ type bent functions" assert line[125] == r"title: On the Indifferentiability of the Grøstl Hash Function" assert line[126] == r"title: The analytical property for $\zeta (s)$" assert line[127] == r"title: Combining leak--resistant arithmetic for elliptic curves defined over $F_p$ and RNS representation" @@ -653,9 +658,9 @@ def test23_test(): assert line[134] == r"title: Cryptanalysis and Improvement of A New Electronic Traveler’s Check Scheme Based on One-way Hash Function" assert line[135] == r"title: Two Attacks on Dutta’s Dynamic Group Key Agreement Protocol" assert line[136] == r"title: Efficient Fully Secure Predicate Encryption for Conjunctions, Disjunctions and k-CNF/DNF formulae" - assert line[137] == r"title: Number formula and degree level of ergodic polynomial functions over $\protect \mathbb {Z}$/$2^{n}\protect \mathbb {Z}$ and generalized result of linear equation on ergodic power-series T-Function" + assert line[137] == r"title: Number formula and degree level of ergodic polynomial functions over $\mathbb {Z}$/$2^{n}\mathbb {Z}$ and generalized result of linear equation on ergodic power-series T-Function" assert line[138] == r"title: Linear Approximations of Addition Modulo $2^n$-1" - assert line[139] == r"title: RNS arithmetic in ${\protect \mathbb F}_{p^k}$ and application to fast pairing computation" + assert line[139] == r"title: RNS arithmetic in ${\mathbb F}_{p^k}$ and application to fast pairing computation" assert line[140] == r"title: On permutation polynomials EA-equivalent to the inverse function over $GF(2^n)$" assert line[141] == r"title: Fast Algorithm to solve a family of SIS problem with $l_\infty $ norm" assert line[142] == r"title: Enumerating Results of Homogeneous Rotation over $GF(p)$" @@ -667,24 +672,24 @@ def test23_test(): assert line[148] == r"title: Linear Diophantine Equation Discrete Log Problem, Matrix Decomposition Problem and the AA{\beta }-cryptosystem" assert line[149] == r"title: On the relation between the MXL family of algorithms and Gröbner basis algorithms" assert line[150] == r"title: Security Analysis of $LMAP^{++}$, an RFID Authentication Protocol" - assert line[151] == r"title: Cryptanalysis of Chen \protect \textit {et al.}'s RFID Access Control Protocol" - assert line[152] == r"title: On the Number of Carries Occuring in an Addition $\protect \mod 2^k-1$" + assert line[151] == r"title: Cryptanalysis of Chen \textit {et al.}'s RFID Access Control Protocol" + assert line[152] == r"title: On the Number of Carries Occuring in an Addition $\mod 2^k-1$" assert line[153] == r"title: Security \& Indistinguishability in the Presence of Traffic Analysis" assert line[154] == r"title: Exploiting Linear Hull in Matsui’s Algorithm 1 (extended version)" assert line[155] == r"title: Scalar Multiplication on Koblitz Curves using $\tau ^2-$NAF" assert line[156] == r"title: Cryptanalysis of the Smart-Vercauteren and Gentry-Halevi’s Fully Homomorphic Encryption" assert line[157] == r"title: Simple and Asymptotically Optimal $t$-Cheater Identifiable Secret Sharing Scheme" - assert line[158] == r"title: Cryptanalysis of Cho \protect \textit {et al.}'s Protocol, A Hash-Based Mutual Authentication Protocol for RFID Systems" + assert line[158] == r"title: Cryptanalysis of Cho \textit {et al.}'s Protocol, A Hash-Based Mutual Authentication Protocol for RFID Systems" assert line[159] == r"title: $HB^N$: An HB-like protocol secure against man-in-the-middle attacks" assert line[160] == r"title: Cryptanalysis of the $AA_{\beta }$ Cryptosystem based on Linear Diophantine Equation Discrete Log Problem" assert line[161] == r"title: High-Entropy Visual Identification for Touch Screen Devices" assert line[162] == r"title: The Value $4$ of Binary Kloosterman Sums" assert line[163] == r"title: A representation of the $p$-sylow subgroup of $PERM(F_p^n)$ and a cryptographic application" - assert line[164] == r"title: On a generalized combinatorial conjecture involving addition $\protect \mod 2^k - 1$" - assert line[165] == r"title: Cryptanalysis of improved Yeh \protect \textit {et al. }'s authentication Protocol: An EPC Class-1 Generation-2 standard compliant protocol" + assert line[164] == r"title: On a generalized combinatorial conjecture involving addition $\mod 2^k - 1$" + assert line[165] == r"title: Cryptanalysis of improved Yeh \textit {et al. }'s authentication Protocol: An EPC Class-1 Generation-2 standard compliant protocol" assert line[166] == r"title: On the influence of the algebraic degree of $F^{−1}$ on the algebraic degree of $G \circ F$" assert line[167] == r"title: Efficient Implementation of the $\eta _T$ Pairing on GPU" - assert line[168] == r"title: Randomness Extraction in finite fields $\protect \mathbb {F}_{p^{n}}$" + assert line[168] == r"title: Randomness Extraction in finite fields $\mathbb {F}_{p^{n}}$" assert line[169] == r"title: Impact of Intel's New Instruction Sets on Software Implementation of $GF(2)[x]$ Multiplication" assert line[170] == r"title: Receipt Freeness of Prêt à Voter Provably Secure" assert line[171] == r"title: New Subexponential Algorithms for Factoring in $SL(2,F_q)$" @@ -719,7 +724,7 @@ def test23_test(): assert line[200] == r"title: Uniform Compression Functions Can Fail to Preserve “Full” Entropy" assert line[201] == r"title: Estimating the Φ(n) of Upper/Lower Bound in its RSA Cryptosystem" assert line[202] == r"title: Improved (Pseudo) Preimage Attack and Second Preimage Attack on Round-Reduced Grøstl" - assert line[203] == r"title: New Impossible Differential Attack on $\protect \text {SAFER}_{+}$ and $\protect \text {SAFER}_{++}$" + assert line[203] == r"title: New Impossible Differential Attack on $\text {SAFER}_{+}$ and $\text {SAFER}_{++}$" assert line[204] == r"title: On the Function Field Sieve and the Impact of Higher Splitting Probabilities: Application to Discrete Logarithms in $F_{2^{1971}}$ and $F_{2^{3164}}$" assert line[205] == r"title: A new index calculus algorithm with complexity $L(1/4+o(1))$ in very small characteristic" assert line[206] == r"title: Cryptanalysis of Some Double-Block-Length Hash Modes of Block Ciphers with $n$-Bit Block and $n$-Bit Key" @@ -731,9 +736,9 @@ def test23_test(): assert line[212] == r"title: Solving a $6120$-bit DLP on a Desktop Computer" assert line[213] == r"title: Security in $O(2^n)$ for the Xor of Two Random Permutations\\ -- Proof with the standard $H$ technique--" assert line[214] == r"title: Breaking the Even-Mansour Hash Function: Collision and Preimage Attacks on JH and Grøstl" - assert line[215] == r"title: Key Recovery Attacks on 3-round Even-Mansour, 8-step LED-128, and Full $\protect \mbox {AES}^{2}$" + assert line[215] == r"title: Key Recovery Attacks on 3-round Even-Mansour, 8-step LED-128, and Full $\mbox {AES}^{2}$" assert line[216] == r"title: Efficient Cryptosystems From $2^k$-th Power Residue Symbols" - assert line[217] == r"title: Fast Exhaustive Search for Quadratic Systems in $\protect \mathbb {F}_2$ on FPGAs --- Extended Version" + assert line[217] == r"title: Fast Exhaustive Search for Quadratic Systems in $\mathbb {F}_2$ on FPGAs --- Extended Version" assert line[218] == r"title: Revisiting Conditional Rényi Entropies and Generalizing Shannon's Bounds in Information Theoretically Secure Encryption" assert line[219] == r"title: Multi-Valued Byzantine Broadcast: the $t < n$ Case" assert line[220] == r"title: Self-pairings on supersingular elliptic curves with embedding degree $three$" @@ -751,9 +756,9 @@ def test23_test(): assert line[232] == r"title: Cryptanalysis on “Secure untraceable off-line electronic cash system”" assert line[233] == r"title: A Preliminary FPGA Implementation and Analysis of Phatak’s Quotient-First Scaling Algorithm in the Reduced-Precision Residue Number System" assert line[234] == r"title: Secure Compression: Theory \& Practice" - assert line[235] == r"title: Breaking `128-bit Secure' Supersingular Binary Curves (or how to solve discrete logarithms in ${\protect \mathbb F}_{2^{4 \cdot 1223}}$ and ${\protect \mathbb F}_{2^{12 \cdot 367}}$)" + assert line[235] == r"title: Breaking `128-bit Secure' Supersingular Binary Curves (or how to solve discrete logarithms in ${\mathbb F}_{2^{4 \cdot 1223}}$ and ${\mathbb F}_{2^{12 \cdot 367}}$)" assert line[236] == r"title: Generalized proper matrices and constructing of $m$-resilient Boolean functions with maximal nonlinearity for expanded range of parameters" - assert line[237] == r"title: Remarks on the Pocklington and Padró-Sáez Cube Root Algorithm in $\protect \mathbb F_q$" + assert line[237] == r"title: Remarks on the Pocklington and Padró-Sáez Cube Root Algorithm in $\mathbb F_q$" assert line[238] == r"title: Trial multiplication is not optimal but... On the symmetry of finite cyclic groups (Z/pZ)∗" assert line[239] == r"title: An Efficient Abuse-Free Fair Contract-Signing Protocol Based on RSA Signature and Σ-protocol" assert line[240] == r"title: Actively Private and Correct MPC Scheme in $t < n/2$ from Passively Secure Schemes with Small Overhead" @@ -768,10 +773,10 @@ def test23_test(): assert line[249] == r"title: An Equivalent Condition on the Switching Construction of Differentially $4$-uniform Permutations on $GF_{2^{2k}}$ from the Inverse Function" assert line[250] == r"title: A Dynamic Cube Attack on $105$ round Grain v1" assert line[251] == r"title: On the Optimal Pre-Computation of Window $\tau $NAF for Koblitz Curves" - assert line[252] == r"title: New Class of Multivariate Public Key Cryptosystem, K(XI)RSE(2)PKC, Constructed based on Reed-Solomon Code Along with K(X)RSE(2)PKC over $\protect \mathbb {F}_2$" + assert line[252] == r"title: New Class of Multivariate Public Key Cryptosystem, K(XI)RSE(2)PKC, Constructed based on Reed-Solomon Code Along with K(X)RSE(2)PKC over $\mathbb {F}_2$" assert line[253] == r"title: Crypto-analyses on “secure and efficient privacy-preserving public auditing scheme for cloud storage”" assert line[254] == r"title: Navigating in the Cayley graph of $SL_2(F_p)$ and applications to hashing" - assert line[255] == r"title: Faster ECC over $\protect \mathbb {F}_{2^{521}-1}$" + assert line[255] == r"title: Faster ECC over $\mathbb {F}_{2^{521}-1}$" assert line[256] == r"title: Post-Quantum Forward-Secure Onion Routing (Future Anonymity in Today’s Budget)" assert line[257] == r"title: Optimal software-implemented Itoh--Tsujii inversion for GF($2^m$)" assert line[258] == r"title: Non-committing encryption from $\Phi $-hiding" @@ -798,12 +803,12 @@ def test23_test(): assert line[279] == r"title: Improved security proofs in lattice-based cryptography: using the Rényi divergence rather than the statistical distance" assert line[280] == r"title: Improving algebraic attacks on stream ciphers based on linear feedback shifter registers over $F_{2^k}$" assert line[281] == r"title: Computing Individual Discrete Logarithms Faster in $GF(p^n)$" - assert line[282] == r"title: Related-Key Rectangle Attack on Round-reduced \protect \textit {Khudra} Block Cipher" + assert line[282] == r"title: Related-Key Rectangle Attack on Round-reduced \textit {Khudra} Block Cipher" assert line[283] == r"title: Quantum homomorphic encryption for circuits of low $T$-gate complexity" assert line[284] == r"title: PUDA – Privacy and Unforgeability for Data Aggregation" assert line[285] == r"title: Improved (Pseudo) Preimage Attacks on Reduced-Round GOST and Grøstl-256 and Studies on Several Truncation Patterns for AES-like Compression Functions (Full Version)" assert line[286] == r"title: An analysis of the $C$ class of bent functions" - assert line[287] == r"title: Improved Linear Hull Attack on Round-Reduced \protect \textsc {Simon} with Dynamic Key-guessing Techniques" + assert line[287] == r"title: Improved Linear Hull Attack on Round-Reduced \textsc {Simon} with Dynamic Key-guessing Techniques" assert line[288] == r"title: On Generating Coset Representatives of PGL_2(F_q) in PGL_2(F_{q^2})" assert line[289] == r"title: Interdiction in Practice – Hardware Trojan Against a High-Security USB Flash Drive" assert line[290] == r"title: Skipping the $q$ in Group Signatures" @@ -814,7 +819,7 @@ def test23_test(): assert line[295] == r"title: Standard quantum bit commitment – an indefinite commitment time" assert line[296] == r"title: The Security of NTP’s Datagram Protocol" assert line[297] == r"title: An Algorithm for Counting the Number of $2^n$-Periodic Binary Sequences with Fixed $k$-Error Linear Complexity" - assert line[298] == r"title: Construction of $n$-variable ($n\equiv 2 \protect \bmod 4$) balanced Boolean functions with maximum absolute value in autocorrelation spectra $< 2^{\protect \frac n2}$" + assert line[298] == r"title: Construction of $n$-variable ($n\equiv 2 \bmod 4$) balanced Boolean functions with maximum absolute value in autocorrelation spectra $< 2^{\frac n2}$" assert line[299] == r"title: Direct construction of quasi-involutory recursive-like MDS matrices from $2$-cyclic codes" assert line[300] == r"title: Modifying Shor’s algorithm to compute short discrete logarithms" assert line[301] == r"title: Are RNGs Achilles’ heel of RFID Security and Privacy Protocols ?" @@ -826,17 +831,17 @@ def test23_test(): assert line[307] == r"title: Cryptanalysis of Multi-Prime $\Phi $-Hiding Assumption" assert line[308] == r"title: Cryptographic Properties of Addition Modulo $2^n$" assert line[309] == r"title: Trick or Tweak: On the (In)security of OTR’s Tweaks" - assert line[310] == r"title: May-Ozerov Algorithm for Nearest-Neighbor Problem over $\protect \mathbb {F}_{q}$ and Its Application to Information Set Decoding" - assert line[311] == r"title: \protect \(\mu \protect \)Kummer: efficient hyperelliptic signatures and key exchange on microcontrollers" + assert line[310] == r"title: May-Ozerov Algorithm for Nearest-Neighbor Problem over $\mathbb {F}_{q}$ and Its Application to Information Set Decoding" + assert line[311] == r"title: \(\mu \)Kummer: efficient hyperelliptic signatures and key exchange on microcontrollers" assert line[312] == r"title: Malleability of the blockchain’s entropy" - assert line[313] == r"title: Automatic Search for the Best Trails in ARX: Application to Block Cipher \protect \textsc {Speck}" + assert line[313] == r"title: Automatic Search for the Best Trails in ARX: Application to Block Cipher \textsc {Speck}" assert line[314] == r"title: A note on the security of threshold implementations with $d+1$ input shares" assert line[315] == r"title: Loop-Abort Faults on Lattice-Based Fiat–Shamir and Hash-and-Sign Signatures" assert line[316] == r"title: Improved Factorization of $N=p^rq^s$" assert line[317] == r"title: Bitstream Fault Injections (BiFI) – Automated Fault Attacks against SRAM-based FPGAs" assert line[318] == r"title: Efficient probabilistic algorithm for estimating the algebraic properties of Boolean functions for large $n$" - assert line[319] == r"title: The Lightest 4x4 MDS Matrices over $GL(4,\protect \mathbb {F}_2)$" - assert line[320] == r"title: Software Benchmarking of the 2$^{\protect \text {nd}}$ round CAESAR Candidates" + assert line[319] == r"title: The Lightest 4x4 MDS Matrices over $GL(4,\mathbb {F}_2)$" + assert line[320] == r"title: Software Benchmarking of the 2$^{\text {nd}}$ round CAESAR Candidates" assert line[321] == r"title: Cryptographic Voting — A Gentle Introduction" assert line[322] == r"title: Privately Matching $k$-mers" assert line[323] == r"title: A generalisation of Dillon's APN permutation with the best known differential and nonlinear properties for all fields of size $2^{4k+2}$" @@ -849,7 +854,7 @@ def test23_test(): assert line[330] == r"title: A Novel Pre-Computation Scheme of Window $\tau $NAF for Koblitz Curves" assert line[331] == r"title: $\mu $chain: How to Forget without Hard Forks" assert line[332] == r"title: Settling the mystery of $Z_r=r$ in RC4" - assert line[333] == r"title: A Certain Family of Subgroups of $\protect \mathbb Z_n^\star $ Is Weakly Pseudo-Free under the General Integer Factoring Intractability Assumption" + assert line[333] == r"title: A Certain Family of Subgroups of $\mathbb Z_n^\star $ Is Weakly Pseudo-Free under the General Integer Factoring Intractability Assumption" assert line[334] == r"title: Machine-Learning Attacks on PolyPUFs, OB-PUFs, RPUFs, LHS-PUFs, and PUF–FSMs" assert line[335] == r"title: Twisted $\mu _4$-normal form for elliptic curves" assert line[336] == r"title: Quantum Demiric-Selçuk Meet-in-the-Middle Attacks: Applications to 6-Round Generic Feistel Constructions" @@ -859,7 +864,7 @@ def test23_test(): assert line[340] == r"title: Cryptanalysis of Wang et al’s Certificateless Signature Scheme without Bilinear Pairings" assert line[341] == r"title: When It’s All Just Too Much: Outsourcing MPC-Preprocessing" assert line[342] == r"title: A New Algorithm for Inversion mod $p^k$" - assert line[343] == r"title: Efficient hash maps to \protect \mathbb {G}_2 on BLS curves" + assert line[343] == r"title: Efficient hash maps to \mathbb {G}_2 on BLS curves" assert line[344] == r"title: Sharper Bounds in Lattice-Based Cryptography using the Rényi Divergence" assert line[345] == r"title: Encryption Switching Protocols Revisited: Switching modulo $p$" assert line[346] == r"title: Recovering Short Generators of Principal Fractional Ideals in Cyclotomic Fields of Conductor $p^\alpha q^\beta $" @@ -878,7 +883,7 @@ def test23_test(): assert line[359] == r"title: Blockwise $p$-Tampering Attacks on Cryptographic Primitives, Extractors, and Learners" assert line[360] == r"title: On the Power of Amortization in Secret Sharing: $d$-Uniform Secret Sharing and CDS with Constant Information Rate" assert line[361] == r"title: Full-Hiding (Unbounded) Multi-Input Inner Product Functional Encryption from the $k$-Linear Assumption" - assert line[362] == r"title: Faster multiplication in $\protect \mathbb {Z}_{2^m}[x]$ on Cortex-M4 to speed up NIST PQC candidates" + assert line[362] == r"title: Faster multiplication in $\mathbb {Z}_{2^m}[x]$ on Cortex-M4 to speed up NIST PQC candidates" assert line[363] == r"title: Synchronous Byzantine Agreement with Expected $O(1)$ Rounds, Expected $O(n^2)$ Communication, and Optimal Resilience" assert line[364] == r"title: Constructing Infinite Families of Low Differential Uniformity $(n,m)$-Functions with $m>n/2$" assert line[365] == r"title: Yet Another Size Record for AES: A First-Order SCA Secure AES S-box Based on GF($2^8$) Multiplication" @@ -891,7 +896,7 @@ def test23_test(): assert line[372] == r"title: Hadamard Matrices, $d$-Linearly Independent Sets and Correlation-Immune Boolean Functions with Minimum Hamming Weights" assert line[373] == r"title: Agreement with Satoshi – On the Formalization of Nakamoto Consensus" assert line[374] == r"title: “Larger Keys, Less Complexity” A Strategic Proposition" - assert line[375] == r"title: Efficient Range ORAM with $\protect \mathbb {O}(\log ^{2}{N})$ Locality" + assert line[375] == r"title: Efficient Range ORAM with $\mathbb {O}(\log ^{2}{N})$ Locality" assert line[376] == r"title: Improved Parallel Mask Refreshing Algorithms: Generic Solutions with Parametrized Non-Interference \& Automated Optimizations" assert line[377] == r"title: Finding Small Solutions of the Equation $Bx-Ay=z$ and Its Applications to Cryptanalysis of the RSA Cryptosystem" assert line[378] == r"title: On the Menezes-Teske-Weng’s conjecture" @@ -904,16 +909,16 @@ def test23_test(): assert line[385] == r"title: Programming the Demirci-Sel{ç}uk Meet-in-the-Middle Attack with Constraints" assert line[386] == r"title: Building Quantum-One-Way Functions from Block Ciphers: Davies-Meyer and Merkle-Damgård Constructions" assert line[387] == r"title: Round Optimal Black-Box “Commit-and-Prove”" - assert line[388] == r"title: How to leverage hardness of constant-degree expanding polynomials over $\protect \mathbb {R}$ to build iO" + assert line[388] == r"title: How to leverage hardness of constant-degree expanding polynomials over $\mathbb {R}$ to build iO" assert line[389] == r"title: A Proof of the Beierle-Kranz-Leander’s Conjecture related to Lightweight Multiplication in $F_{2^n}$" - assert line[390] == r"title: Upper Bound on $\lambda _1(\Lambda ^{\bot }(\protect \mathbf A))$" + assert line[390] == r"title: Upper Bound on $\lambda _1(\Lambda ^{\bot }(\mathbf A))$" assert line[391] == r"title: Quantum Algorithms for the Approximate $k$-List Problem and their Application to Lattice Sieving" assert line[392] == r"title: Breaking the Bluetooth Pairing – The Fixed Coordinate Invalid Curve Attack" - assert line[393] == r"title: New point compression method for elliptic $\protect \mathbb {F}_{\protect \!q^2}$-curves of $j$-invariant $0$" + assert line[393] == r"title: New point compression method for elliptic $\mathbb {F}_{\!q^2}$-curves of $j$-invariant $0$" assert line[394] == r"title: Low Complexity MDS Matrices Using $GF(2^n)$ SPB or GPB" assert line[395] == r"title: On the Complexity of non-recursive $n$-term Karatsuba Multiplier for Trinomials" assert line[396] == r"title: Formalising $\Sigma $-Protocols and Commitment Schemes using CryptHOL" - assert line[397] == r"title: Simplifying Constructions and Assumptions for $i\protect \mathcal {O}$" + assert line[397] == r"title: Simplifying Constructions and Assumptions for $i\mathcal {O}$" assert line[398] == r"title: Probabilistic Properties of Modular Addition \\ (Extended abstract)" assert line[399] == r"title: Fast Secrecy Computation with Multiplication Under the Setting of $k\le N<2k-1$ using Secret Sharing Scheme" assert line[400] == r"title: SÉTA: Supersingular Encryption from Torsion Attacks" @@ -926,28 +931,28 @@ def test23_test(): assert line[407] == r"title: Solving $X^{q+1}+X+a=0$ over Finite Fields" assert line[408] == r"title: Overdrive2k: Efficient Secure MPC over $Z_{2^k}$ from Somewhat Homomorphic Encryption" assert line[409] == r"title: Fast Algebraic Immunity of $2^m+2$ & $2^m+3$ variables Majority Function" - assert line[410] == r"title: Solving $x^{2^k+1}+x+a=0$ in $\protect \mathbb {F}_{2^n}$ with $\gcd (n,k)=1$" + assert line[410] == r"title: Solving $x^{2^k+1}+x+a=0$ in $\mathbb {F}_{2^n}$ with $\gcd (n,k)=1$" assert line[411] == r"title: Fully Secure Attribute-Based Encryption for $t$-CNF from LWE" assert line[412] == r"title: Improving Speed of Dilithium’s Signing Procedure" assert line[413] == r"title: FloodXMR: Low-cost transaction flooding attack with Monero’s bulletproof protocol" assert line[414] == r"title: How to wrap it up - A formally verified proposal for the use of authenticated wrapping in PKCS\#11" assert line[415] == r"title: RingCT 3.0 for Blockchain Confidential Transaction: Shorter Size and Stronger Security" - assert line[416] == r"title: Solutions of $x^{q^k}+\protect \cdots +x^{q}+x=a$ in $GF(2^n)$" + assert line[416] == r"title: Solutions of $x^{q^k}+\cdots +x^{q}+x=a$ in $GF(2^n)$" assert line[417] == r"title: A${^2}$L: Anonymous Atomic Locks for Scalability in Payment Channel Hubs" assert line[418] == r"title: The Exchange Attack: How to Distinguish Six Rounds of AES with $2^{88.2}$ chosen plaintexts" - assert line[419] == r"title: Scrutinizing the Tower Field Implementation of the $\protect \mathbb {F}_{2^8}$ Inverter -- with Applications to AES, Camellia, and SM4" + assert line[419] == r"title: Scrutinizing the Tower Field Implementation of the $\mathbb {F}_{2^8}$ Inverter -- with Applications to AES, Camellia, and SM4" assert line[420] == r"title: On cryptographic parameters of permutation polynomials of the form $x^rh(x^{(q-1)/d})$" - assert line[421] == r"title: Don't forget your roots: constant-time root finding over $\protect \mathbb {F}_{2^m}$" - assert line[422] == r"title: Can we Beat the Square Root Bound for ECDLP over $\protect \mathbb {F}_{p^2}$ via Representations?" + assert line[421] == r"title: Don't forget your roots: constant-time root finding over $\mathbb {F}_{2^m}$" + assert line[422] == r"title: Can we Beat the Square Root Bound for ECDLP over $\mathbb {F}_{p^2}$ via Representations?" assert line[423] == r"title: Asymptotically-Good Arithmetic Secret Sharing over Z/(p^\ell Z) with Strong Multiplication and Its Applications to Efficient MPC" - assert line[424] == r"title: Efficient Information-Theoretic Secure Multiparty Computation over $\protect \mathbb {Z}/p^k \protect \mathbb {Z}$ via Galois Rings" + assert line[424] == r"title: Efficient Information-Theoretic Secure Multiparty Computation over $\mathbb {Z}/p^k \mathbb {Z}$ via Galois Rings" assert line[425] == r"title: Modifying The Tropical Version of Stickel’s Key Exchange Protocol" assert line[426] == r"title: One Bit is All It Takes: A Devastating Timing Attack on BLISS’s Non-Constant Time Sign Flips" assert line[427] == r"title: Probabilistic analysis on Macaulay matrices over finite fields and complexity of constructing Gröbner bases" assert line[428] == r"title: Information Conservational Security with “Black Hole” Keypad Compression and Scalable One-Time Pad — An Analytical Quantum Intelligence Approach to Pre- and Post-Quantum Cryptography" assert line[429] == r"title: Detecting Faults in Inner Product Masking Scheme - IPM-FD: IPM with Fault Detection (extended version∗)" assert line[430] == r"title: Low Weight Discrete Logarithms and Subset Sum in $2^{0.65n}$ with Polynomial Memory" - assert line[431] == r"title: CCA-Secure Leakage-Resilient Identity-Based Key-Encapsulation from Simple (not $\protect \mathtt {q}$-type) Assumptions" + assert line[431] == r"title: CCA-Secure Leakage-Resilient Identity-Based Key-Encapsulation from Simple (not $\mathtt {q}$-type) Assumptions" assert line[432] == r"title: Faster point compression for elliptic curves of $j$-invariant $0$" assert line[433] == r"title: Cortex-M4 Optimizations for \{R,M\}LWE Schemes" assert line[434] == r"title: Efficient indifferentiable hashing to elliptic curves $y^2 = x^3 + b$ provided that $b$ is a quadratic residue" @@ -958,7 +963,7 @@ def test23_test(): assert line[439] == r"title: Cryptanalysis of RSA: A Special Case of Boneh-Durfee’s Attack" assert line[440] == r"title: Post-Quantum Cryptography with Contemporary Co-Processors: Beyond Kronecker, Schönhage-Strassen & Nussbaumer" assert line[441] == r"title: Simulation Extractable Versions of Groth’s zk-SNARK Revisited" - assert line[442] == r"title: Breaking the $O(\protect \sqrt n)$-Bit Barrier: Byzantine Agreement with Polylog Bits Per Party" + assert line[442] == r"title: Breaking the $O(\sqrt n)$-Bit Barrier: Byzantine Agreement with Polylog Bits Per Party" assert line[443] == r"title: A New Generalisation of the Goldwasser-Micali Cryptosystem Based on the Gap $2^k$-Residuosity Assumption" assert line[444] == r"title: Compressed $\Sigma $-Protocols for Bilinear Group Arithmetic Circuits and Application to Logarithmic Transparent Threshold Signatures" assert line[445] == r"title: Cryptanalysis of Aggregate $\Gamma $-Signature and Practical Countermeasures in Application to Bitcoin" @@ -985,7 +990,7 @@ def test23_test(): assert line[466] == r"title: Functional Encryption for Attribute-Weighted Sums from $k$-Lin" assert line[467] == r"title: Time-Space Tradeoffs and Short Collisions in Merkle-Damgård Hash Functions" assert line[468] == r"title: Trace-$\Sigma $: a privacy-preserving contact tracing app" - assert line[469] == r"title: Not enough LESS: An improved algorithm for solving Code Equivalence Problems over $\protect \mathbb {F}_q$" + assert line[469] == r"title: Not enough LESS: An improved algorithm for solving Code Equivalence Problems over $\mathbb {F}_q$" assert line[470] == r"title: Secure merge with $O(n \log \log n)$ secure operation" assert line[471] == r"title: Cryptanalysis of a ``Strengthened'' Key Exchange Protocol for IoT, or When SAKE$^+$ Turns Out to Be SAKE$^-$" assert line[472] == r"title: Adaptively Secure Revocable Hierarchical IBE from $k$-linear Assumption" @@ -994,12 +999,12 @@ def test23_test(): assert line[475] == r"title: Timing attacks and local timing attacks against Barrett’s modular multiplication algorithm" assert line[476] == r"title: New Techniques for Traitor Tracing: Size $N^{1/3}$ and More from Pairings" assert line[477] == r"title: Hashing to elliptic curves of $j=0$ and quadratic imaginary orders of class number $2$" - assert line[478] == r"title: A Family of Nonlinear MDS Diffusion Layers over $\protect \mathbb {F}_{2^{4n}}$" + assert line[478] == r"title: A Family of Nonlinear MDS Diffusion Layers over $\mathbb {F}_{2^{4n}}$" assert line[479] == r"title: Complete solution over $GF{p^n}$ of the equation $X^{p^k+1}+X+a=0$" assert line[480] == r"title: Evolution of Bulletin Board & its application to E-Voting – A Survey" assert line[481] == r"title: The Study of Modulo $2^n$" assert line[482] == r"title: SCA-secure ECC in software – mission impossible?" - assert line[483] == r"title: Limits of Polynomial Packings for $\protect \mathbb {Z}_{p^k}$ and $\protect \mathbb {F}_{p^k}$" + assert line[483] == r"title: Limits of Polynomial Packings for $\mathbb {Z}_{p^k}$ and $\mathbb {F}_{p^k}$" assert line[484] == r"title: Optimal encodings to elliptic curves of $j$-invariants $0$, $1728$" assert line[485] == r"title: Neyman’s Smoothness Test: a Trade-off between Moment-based and Distribution-based Leakage Detections" assert line[486] == r"title: Comparing Lattice Families for Bounded Distance Decoding near Minkowski’s Bound." @@ -1012,55 +1017,55 @@ def test23_test(): assert line[493] == r"title: ($\epsilon ,\delta $)-indistinguishable Mixing for Cryptocurrencies" assert line[494] == r"title: Estimating (Miner) Extractable Value is Hard, Let’s Go Shopping!" assert line[495] == r"title: Gröbner Basis Attack on STARK-Friendly Symmetric-Key Primitives: JARVIS, MiMC and GMiMCerf" - assert line[496] == r"title: Parallel Repetition of $(k_1,\protect \dots ,k_{\mu })$-Special-Sound Multi-Round Interactive Proofs" + assert line[496] == r"title: Parallel Repetition of $(k_1,\dots ,k_{\mu })$-Special-Sound Multi-Round Interactive Proofs" assert line[497] == r"title: An Open Problem on the Bentness of Mesnager’s Functions" assert line[498] == r"title: Ofelimos: Combinatorial Optimization via Proof-of-Useful-Work \\ A Provably Secure Blockchain Protocol" - assert line[499] == r"title: MHz2k: MPC from HE over $\protect \mathbb {Z}_{2^k}$ with New Packing, Simpler Reshare, and Better ZKP" - assert line[500] == r"title: Log-$\protect \mathcal {S}$-unit lattices using Explicit Stickelberger Generators to solve Approx Ideal-SVP" + assert line[499] == r"title: MHz2k: MPC from HE over $\mathbb {Z}_{2^k}$ with New Packing, Simpler Reshare, and Better ZKP" + assert line[500] == r"title: Log-$\mathcal {S}$-unit lattices using Explicit Stickelberger Generators to solve Approx Ideal-SVP" assert line[501] == r"title: Fiat–Shamir Bulletproofs are Non-Malleable (in the Algebraic Group Model)" assert line[502] == r"title: Breaking the $IKEp182 Challenge" assert line[503] == r"title: On Bitcoin Cash’s Target Recalculation Functions" assert line[504] == r"title: $P/poly$ Invalidity of the Agr17 Functional Encryption Scheme" - assert line[505] == r"title: \protect \(\chi \protect \)perbp: a Cloud-based Lightweight Mutual Authentication Protocol" + assert line[505] == r"title: \(\chi \)perbp: a Cloud-based Lightweight Mutual Authentication Protocol" assert line[506] == r"title: A State-Separating Proof for Yao’s Garbling Scheme" - assert line[507] == r"title: Interactive Error Correcting Codes Over Binary Erasure Channels Resilient to $>\protect \frac 12$ Adversarial Corruption" + assert line[507] == r"title: Interactive Error Correcting Codes Over Binary Erasure Channels Resilient to $>\frac 12$ Adversarial Corruption" assert line[508] == r"title: Practical Garbled RAM: GRAM with $O(\log ^2 n)$ Overhead" - assert line[509] == r"title: Just how hard are rotations of $\protect \mathbb {Z}^n$? Algorithms and cryptography with the simplest lattice" - assert line[510] == r"title: Generating cryptographically-strong random lattice bases and recognizing rotations of $\protect \mathbb {Z}^n$" - assert line[511] == r"title: Improved Security Bound of \protect \textsf {(E/D)WCDM}" + assert line[509] == r"title: Just how hard are rotations of $\mathbb {Z}^n$? Algorithms and cryptography with the simplest lattice" + assert line[510] == r"title: Generating cryptographically-strong random lattice bases and recognizing rotations of $\mathbb {Z}^n$" + assert line[511] == r"title: Improved Security Bound of \textsf {(E/D)WCDM}" assert line[512] == r"title: The most efficient indifferentiable hashing to elliptic curves of $j$-invariant $1728$" assert line[513] == r"title: Secure Sampling of Constant-Weight Words – Application to BIKE" - assert line[514] == r"title: A Simple Deterministic Algorithm for Systems of Quadratic Polynomials over $\protect \mathbb {F}_2$" + assert line[514] == r"title: A Simple Deterministic Algorithm for Systems of Quadratic Polynomials over $\mathbb {F}_2$" assert line[515] == r"title: “They’re not that hard to mitigate”: What Cryptographic Library Developers Think About Timing Attacks" assert line[516] == r"title: Information Security in the Quantum Era. Threats to modern cryptography: Grover’s algorithm" assert line[517] == r"title: Improving Support-Minors rank attacks: applications to G$e$MSS and Rainbow" - assert line[518] == r"title: Invertible Quadratic Non-Linear Layers for MPC-/FHE-/ZK-Friendly Schemes over $\protect \mathbb F_p^n$" + assert line[518] == r"title: Invertible Quadratic Non-Linear Layers for MPC-/FHE-/ZK-Friendly Schemes over $\mathbb F_p^n$" assert line[519] == r"title: Pre-Computation Scheme of Window $\tau $NAF for Koblitz Curves Revisited" assert line[520] == r"title: Tight Security Bounds for Micali’s SNARGs" - assert line[521] == r"title: Indifferentiable hashing to ordinary elliptic $\protect \mathbb {F}_{\protect \!q}$-curves of $j=0$ with the cost of one exponentiation in $\protect \mathbb {F}_{\protect \!q}$" + assert line[521] == r"title: Indifferentiable hashing to ordinary elliptic $\mathbb {F}_{\!q}$-curves of $j=0$ with the cost of one exponentiation in $\mathbb {F}_{\!q}$" assert line[522] == r"title: A Compressed $\Sigma $-Protocol Theory for Lattices" - assert line[523] == r"title: An $O(\log ^2 p)$ Approach to Point-Counting on Elliptic Curves From a Prominent Family Over the Prime Field $\protect \mathbb {F}_p$" + assert line[523] == r"title: An $O(\log ^2 p)$ Approach to Point-Counting on Elliptic Curves From a Prominent Family Over the Prime Field $\mathbb {F}_p$" assert line[524] == r"title: Explicit connections between supersingular isogeny graphs and Bruhat–Tits trees" assert line[525] == r"title: Stacking Sigmas: A Framework to Compose $\Sigma $-Protocols for Disjunctions" assert line[526] == r"title: Let’s Take it Offline: Boosting Brute-Force Attacks on iPhone’s User Authentication through SCA" assert line[527] == r"title: Upslices, Downslices, and Secret-Sharing with Complexity of $1.5^n$" assert line[528] == r"title: CryptoGram: Fast Private Calculations of Histograms over Multiple Users’ Inputs" assert line[529] == r"title: Cryptanalysis of Boyen’s Attribute-Based Encryption Scheme in TCC 2013" - assert line[530] == r"title: Delegating Supersingular Isogenies over $\protect \mathbb {F}_{p^2}$ with Cryptographic Applications" + assert line[530] == r"title: Delegating Supersingular Isogenies over $\mathbb {F}_{p^2}$ with Cryptographic Applications" assert line[531] == r"title: LogStack: Stacked Garbling with $O(b \log b)$ Computation" - assert line[532] == r"title: On the Possibility of Basing Cryptography on $EXP\protect \neq BPP$" + assert line[532] == r"title: On the Possibility of Basing Cryptography on $EXP\neq BPP$" assert line[533] == r"title: Efficient Sorting of Homomorphic Encrypted Data with $k$-way Sorting Network" assert line[534] == r"title: Grover on Caesar and Vigenère Ciphers" assert line[535] == r"title: PrORAM: Fast $O(\log n)$ Private Coin ZK ORAM" assert line[536] == r"title: Side Channel Analysis against the ANSSI’s protected AES implementation on ARM" assert line[537] == r"title: Help, my Signal has bad Device! Breaking the Signal Messenger’s Post-CompromiseSecurity through a Malicious Device" assert line[538] == r"title: On the Design and Misuse of Microcoded (Embedded) Processors — A Cautionary Note" - assert line[539] == r"title: Faster indifferentiable hashing to elliptic $\protect \mathbb {F}_{\protect \!q^2}$-curves" + assert line[539] == r"title: Faster indifferentiable hashing to elliptic $\mathbb {F}_{\!q^2}$-curves" assert line[540] == r"title: Learnability of Multiplexer PUF and $S_N$-PUF : A Fourier-based Approach" assert line[541] == r"title: GenoPPML – a framework for genomic privacy-preserving machine learning" - assert line[542] == r"title: Appenzeller to Brie: Efficient Zero-Knowledge Proofs for Mixed-Mode Arithmetic and $\protect \mathbb {Z}_{2^k}$" + assert line[542] == r"title: Appenzeller to Brie: Efficient Zero-Knowledge Proofs for Mixed-Mode Arithmetic and $\mathbb {Z}_{2^k}$" assert line[543] == r"title: A Note on ``Reduction Modulo $2^{448}-2^{224}-1$''" - assert line[544] == r"title: SNARGs for $\protect \mathcal {P}$ from LWE" + assert line[544] == r"title: SNARGs for $\mathcal {P}$ from LWE" assert line[545] == r"title: One-out-of-$q$ OT Combiners" assert line[546] == r"title: MPC for $Q_2$ Access Structures over Rings and Fields" assert line[547] == r"title: SoK: Gröbner Basis Algorithms for Arithmetization Oriented Ciphers" @@ -1073,37 +1078,37 @@ def test23_test(): assert line[554] == r"title: On NTRU-ν-um Modulo $X^N − 1$" assert line[555] == r"title: $\mu $Cash: Transparent Anonymous Transactions" assert line[556] == r"title: Arithmetization of Σ¹₁ relations with polynomial bounds in Halo 2" - assert line[557] == r"title: Explicit infinite families of bent functions outside $\protect \mathcal {MM}^\#$" - assert line[558] == r"title: Threshold Linearly Homomorphic Encryption on $\protect \mathbf {Z}/2^k\protect \mathbf {Z}$" + assert line[557] == r"title: Explicit infinite families of bent functions outside $\mathcal {MM}^\#$" + assert line[558] == r"title: Threshold Linearly Homomorphic Encryption on $\mathbf {Z}/2^k\mathbf {Z}$" assert line[559] == r"title: The Scholz conjecture on addition chain is true for $v(n)= 4$" - assert line[560] == r"title: On the Performance Gap of a Generic C Optimized Assembler and Wide Vector Extensions for Masked Software with an Ascon-{\protect \it {p}} test case" + assert line[560] == r"title: On the Performance Gap of a Generic C Optimized Assembler and Wide Vector Extensions for Masked Software with an Ascon-{\it {p}} test case" assert line[561] == r"title: Second-Order Low-Randomness $d+1$ Hardware Sharing of the AES" - assert line[562] == r"title: Bounded Surjective Quadratic Functions over $\protect \mathbb F_p^n$ for MPC-/ZK-/FHE-Friendly Symmetric Primitives" + assert line[562] == r"title: Bounded Surjective Quadratic Functions over $\mathbb F_p^n$ for MPC-/ZK-/FHE-Friendly Symmetric Primitives" assert line[563] == r"title: Hitchhiker’s Guide to a Practical Automated TFHE Parameter Setup for Custom Applications" assert line[564] == r"title: On Polynomial Functions Modulo $p^e$ and Faster Bootstrapping for Homomorphic Encryption" assert line[565] == r"title: Weightwise almost perfectly balanced functions: secondary constructions for all $n$ and better weightwise nonlinearities" assert line[566] == r"title: How to Meet Ternary LWE Keys on Babai’s Nearest Plane" assert line[567] == r"title: K-XMSS and K-SPHINCS$^+$:Hash based Signatures with\\Korean Cryptography Algorithms" assert line[568] == r"title: DAG-$\Sigma $: A DAG-based Sigma Protocol for Relations in CNF" - assert line[569] == r"title: Applications of the indirect sum in the design of several special classes of bent functions outside the completed $\protect \mathcal {MM}$ class" - assert line[570] == r"title: Polynomial-Time Cryptanalysis of the Subspace Flooding Assumption for Post-Quantum $i\protect \mathcal {O}$" + assert line[569] == r"title: Applications of the indirect sum in the design of several special classes of bent functions outside the completed $\mathcal {MM}$ class" + assert line[570] == r"title: Polynomial-Time Cryptanalysis of the Subspace Flooding Assumption for Post-Quantum $i\mathcal {O}$" assert line[571] == r"title: An algorithm for efficient detection of $(N,N)$-splittings and its application to the isogeny problem in dimension 2" assert line[572] == r"title: Demystifying the comments made on “A Practical Full Key Recovery Attack on TFHE and FHEW by Inducing Decryption Errors”" assert line[573] == r"title: Vector Commitments over Rings and Compressed $\Sigma $-Protocols" assert line[574] == r'title: NanoGRAM: Garbled RAM with $\setbox \z@ \hbox {\mathsurround \z@ $\textstyle O$}\mathaccent "0365{O}(\log N)$ Overhead' - assert line[575] == r"title: Guaranteed Output in $O(\protect \sqrt {n})$ Rounds for Round-Robin Sampling Protocols" + assert line[575] == r"title: Guaranteed Output in $O(\sqrt {n})$ Rounds for Round-Robin Sampling Protocols" assert line[576] == r"title: Promise $\Sigma $-protocol: How to Construct Efficient Threshold ECDSA from Encryptions Based on Class Groups" assert line[577] == r"title: On Time-Space Tradeoffs for Bounded-Length Collisions in Merkle-Damgård Hashing" assert line[578] == r"title: Beyond the Csiszár-Körner Bound: Best-Possible Wiretap Coding via Obfuscation" assert line[579] == r"title: Recovering the tight security proof of $SPHINCS^{+}$" - assert line[580] == r"title: Fast Subgroup Membership Testings for $\protect \mathbb {G}_1$, $\protect \mathbb {G}_2$ and $\protect \mathbb {G}_T$ on Pairing-friendly Curves" + assert line[580] == r"title: Fast Subgroup Membership Testings for $\mathbb {G}_1$, $\mathbb {G}_2$ and $\mathbb {G}_T$ on Pairing-friendly Curves" assert line[581] == r"title: An Improved Model on the Vague Sets-Based DPoS’s Voting Phase in Blockchain" assert line[582] == r"title: The Inverse of $\chi $ and Its Applications to Rasta-like Ciphers" assert line[583] == r"title: New optimization techniques for PlonK’s arithmetization" assert line[584] == r"title: Băhēm: A Provably Secure Symmetric Cipher" assert line[585] == r"title: India’s “Aadhaar” Biometric ID: Structure, Security, and Vulnerabilities" assert line[586] == r"title: Drive (Quantum) Safe! – Towards PQ Authentication for V2V Communications" - assert line[587] == r"title: Two new classes of permutation trinomials over $\protect \mathbb {F}_{q^3}$ with odd characteristic" + assert line[587] == r"title: Two new classes of permutation trinomials over $\mathbb {F}_{q^3}$ with odd characteristic" assert line[588] == r"title: Don’t Learn What You Already Know: Scheme-Aware Modeling for Profiling Side-Channel Analysis against Masking" assert line[589] == r"title: Single-Trace Side-Channel Attacks on ω-Small Polynomial Sampling: With Applications to NTRU, NTRU Prime, and CRYSTALS-DILITHIUM" assert line[590] == r"title: Băhēm: A Symmetric Cipher with Provable 128-bit Security" @@ -1111,51 +1116,51 @@ def test23_test(): assert line[592] == r"title: Byzantine Reliable Broadcast with $O(nL+kn+n^2 log n)$ Communication" assert line[593] == r"title: Find the Bad Apples: An efficient method for perfect key recovery under imperfect SCA oracles – A case study of Kyber" assert line[594] == r"title: On the Differential Spectrum of a Differentially $3$-Uniform Power Function" - assert line[595] == r"title: The $c-$differential uniformity and boomerang uniformity of three classes of permutation polynomials over $\protect \mathbb {F}_{2^n}$" + assert line[595] == r"title: The $c-$differential uniformity and boomerang uniformity of three classes of permutation polynomials over $\mathbb {F}_{2^n}$" assert line[596] == r"title: Proof of Mirror Theory for a Wide Range of $\xi _{\max }$" - assert line[597] == r"title: Tight Multi-User Security Bound of $\protect \textsf {DbHtS}$" + assert line[597] == r"title: Tight Multi-User Security Bound of $\textsf {DbHtS}$" assert line[598] == r"title: LIKE – Lattice Isomorphism-based Non-Interactive Key Exchange via Group Actions" assert line[599] == r"title: Breaking the quadratic barrier: Quantum cryptanalysis of Milenage, telecommunications’ cryptographic backbone" assert line[600] == r"title: SwiftEC: Shallue–van de Woestijne Indifferentiable Function To Elliptic Curves" assert line[601] == r"title: Arithmetization of Σ¹₁ relations in Halo 2" assert line[602] == r"title: Simon’s Algorithm and Symmetric Crypto: Generalizations and Automatized Applications" - assert line[603] == r"title: More Efficient Dishonest Majority Secure Computation over $\protect \mathbb {Z}_{2^k}$ via Galois Rings" - assert line[604] == r"title: Moz$\protect \mathbb {Z}_{2^k}$arella: Efficient Vector-OLE and Zero-Knowledge Proofs Over $\protect \mathbb {Z}_{2^k}$" - assert line[605] == r"title: \protect \(\protect \texttt {POLKA}\protect \): Towards Leakage-Resistant Post-Quantum CCA-Secure Public Key Encryption" - assert line[606] == r"title: $\protect \texttt {zk-creds}$: Flexible Anonymous Credentials from zkSNARKs and Existing Identity Infrastructure" - assert line[607] == r"title: Efficient supersingularity testing over $\protect \mathbb {F}_p$ and CSIDH key validation" + assert line[603] == r"title: More Efficient Dishonest Majority Secure Computation over $\mathbb {Z}_{2^k}$ via Galois Rings" + assert line[604] == r"title: Moz$\mathbb {Z}_{2^k}$arella: Efficient Vector-OLE and Zero-Knowledge Proofs Over $\mathbb {Z}_{2^k}$" + assert line[605] == r"title: \(\texttt {POLKA}\): Towards Leakage-Resistant Post-Quantum CCA-Secure Public Key Encryption" + assert line[606] == r"title: $\texttt {zk-creds}$: Flexible Anonymous Credentials from zkSNARKs and Existing Identity Infrastructure" + assert line[607] == r"title: Efficient supersingularity testing over $\mathbb {F}_p$ and CSIDH key validation" assert line[608] == r"title: Time-Space Lower Bounds for Finding Collisions in Merkle-Damgård Hash Functions" - assert line[609] == r"title: Post-quantum hash functions using $\protect \mathrm {SL}_n(\protect \mathbb {F}_p)$" - assert line[610] == r"title: Low-Delay 4, 5 and 6-Term Karatsuba Formulae in $\protect \mathbb {F}_2[x]$ Using Overlap-free Splitting" + assert line[609] == r"title: Post-quantum hash functions using $\mathrm {SL}_n(\mathbb {F}_p)$" + assert line[610] == r"title: Low-Delay 4, 5 and 6-Term Karatsuba Formulae in $\mathbb {F}_2[x]$ Using Overlap-free Splitting" assert line[611] == r"title: MR-DSS – Smaller MinRank-based (Ring-)Signatures" assert line[612] == r"title: A Signature-Based Gröbner Basis Algorithm with Tail-Reduced Reductors (M5GB)" - assert line[613] == r"title: An $\protect \mathcal {O}(n)$ Algorithm for Coefficient Grouping" + assert line[613] == r"title: An $\mathcal {O}(n)$ Algorithm for Coefficient Grouping" assert line[614] == r"title: Fast Hashing to $G_2$ in Direct Anonymous Attestation" assert line[615] == r"title: The Scholz conjecture on addition chain is true for infinitely many integers with ℓ(2n) = ℓ(n)" assert line[616] == r"title: Verification of the (1–δ)-Correctness Proof of CRYSTALS-KYBER with Number Theoretic Transform" - assert line[617] == r"title: Grotto: Screaming fast $(2 + 1)$-PC for $\protect \mathbb {Z}_{2^{n}}$ via (2, 2)-DPFs" + assert line[617] == r"title: Grotto: Screaming fast $(2 + 1)$-PC for $\mathbb {Z}_{2^{n}}$ via (2, 2)-DPFs" assert line[618] == r"title: Homomorphic Sortition – Single Secret Leader Election for PoS Blockchains" - assert line[619] == r"title: Hashing to elliptic curves over highly $2$-adic fields $\protect \mathbb {F}_{\protect \!q}$ with $O(\log (q))$ operations in $\protect \mathbb {F}_{\protect \!q}$" - assert line[620] == r"title: More Efficient Zero-Knowledge Protocols over $\protect \mathbb {Z}_{2^k}$ via Galois Rings" - assert line[621] == r"title: Practical Improvement to Gaudry-Schost Algorithm on Subgroups of $\protect \mathbb {Z}^{*}_{p}$" + assert line[619] == r"title: Hashing to elliptic curves over highly $2$-adic fields $\mathbb {F}_{\!q}$ with $O(\log (q))$ operations in $\mathbb {F}_{\!q}$" + assert line[620] == r"title: More Efficient Zero-Knowledge Protocols over $\mathbb {Z}_{2^k}$ via Galois Rings" + assert line[621] == r"title: Practical Improvement to Gaudry-Schost Algorithm on Subgroups of $\mathbb {Z}^{*}_{p}$" assert line[622] == r"title: Degree-$D$ Reverse Multiplication-Friendly Embeddings: Constructions and Applications" assert line[623] == r"title: Maravedí: A Secure and Practical Protocol to Trade Risk for Instantaneous Finality" assert line[624] == r"title: A simpler alternative to Lucas–Lehmer–Riesel primality test" - assert line[625] == r"title: CNF Characterization of Sets over $\protect \mathbb {Z}_2^n$ and Its Applications in Cryptography" - assert line[626] == r"title: Differential Fault Attack on Rasta and $\protect \text {FiLIP} _ {\protect \text {DSM}}$" + assert line[625] == r"title: CNF Characterization of Sets over $\mathbb {Z}_2^n$ and Its Applications in Cryptography" + assert line[626] == r"title: Differential Fault Attack on Rasta and $\text {FiLIP} _ {\text {DSM}}$" assert line[627] == r"title: The state diagram of $\chi $" assert line[628] == r"title: Efficient computation of $(3^n,3^n)$-isogenies" assert line[629] == r"title: Origami: Fold a Plonk for Ethereum’s VDF" assert line[630] == r"title: Batching Cipolla-Lehmer-Müller's square root algorithm with hashing to elliptic curves" - assert line[631] == r"title: Machine-Checked Security for $\protect \mathrm {XMSS}$ as in RFC 8391 and $\protect \mathrm {SPHINCS}^{+}$" + assert line[631] == r"title: Machine-Checked Security for $\mathrm {XMSS}$ as in RFC 8391 and $\mathrm {SPHINCS}^{+}$" assert line[632] == r"title: Minimal $p$-ary codes from non-covering permutations" - assert line[633] == r"title: Provable Lattice Reduction of $\protect \mathbb Z^n$ with Blocksize $n/2$" - assert line[634] == r"title: Batch Bootstrapping II: \\{\protect \normalsize Bootstrapping in Polynomial Modulus Only Requires $\protect \tilde O(1)$ FHE Multiplications in Amortization}" + assert line[633] == r"title: Provable Lattice Reduction of $\mathbb Z^n$ with Blocksize $n/2$" + assert line[634] == r"title: Batch Bootstrapping II: \\{\normalsize Bootstrapping in Polynomial Modulus Only Requires $\tilde O(1)$ FHE Multiplications in Amortization}" assert line[635] == r"title: End-to-End Encrypted Zoom Meetings:\\ Proving Security and Strengthening Liveness" - assert line[636] == r"title: End-to-End Secure Messaging with Traceability\\ {\protect \em Only} for Illegal Content" - assert line[637] == r"title: \protect \large {Almost Tight Multi-User Security under Adaptive Corruptions \& Leakages in the Standard Model}" - assert line[638] == r"title: Practical Pre-Constrained Cryptography \\ \protect \Large {(or: Balancing Privacy and Traceability in Encrypted Systems)}" - assert line[639] == r"title: \protect \textbf {Fully Adaptive \\Decentralized Multi-Authority \protect \textsf {ABE}}" + assert line[636] == r"title: End-to-End Secure Messaging with Traceability\\ {\em Only} for Illegal Content" + assert line[637] == r"title: \large {Almost Tight Multi-User Security under Adaptive Corruptions \& Leakages in the Standard Model}" + assert line[638] == r"title: Practical Pre-Constrained Cryptography \\ \Large {(or: Balancing Privacy and Traceability in Encrypted Systems)}" + assert line[639] == r"title: \textbf {Fully Adaptive \\Decentralized Multi-Authority \textsf {ABE}}" assert line[640] == r"title: On a result by Paul Erdős (a.k.a. Paul Erd\H {o}s)" # Negative test. @@ -1396,14 +1401,12 @@ def test38_test(): docclass = [('article', 'draft'), ('article', 'twocolumn'), ('spie',''), - ('active-conf',''), ('paper',''), # does not work because it redefines \title. # ('aomart',''), ('ecca',''), # does not work. # ('apa',''), - ('lipics-v2021', ''), ('IEEEtran','conference,compsoc'), ('IEEEconf',''), ('elsarticle',''), @@ -1427,9 +1430,11 @@ def test38_test(): texfile = template.substitute(cls= cls[0], clsoptions=cls[1], metaopts= style) - print(texfile) + # too verbose in github. print(texfile) (tmpdirpath / Path('main.tex')).write_text(texfile, encoding='UTF-8') res = run_engine('-pdf', [], tmpdirpath) + if res['proc'].returncode != 0: + print(res['log'][-2000:]) assert res['proc'].returncode == 0 def test39_test(): @@ -1459,33 +1464,35 @@ def test39_test(): texfile = template.substitute(cls= cls[0], clsoptions=cls[1], metaopts= style) - print(texfile) + # print(texfile) too verbose in github. (tmpdirpath / Path('main.tex')).write_text(texfile, encoding='UTF-8') res = run_engine('-pdf', [], tmpdirpath) + if res['proc'].returncode != 0: + print('trunclog=', res['log'][-2000:0]) assert res['proc'].returncode == 0 -def test40_iacrtrans(): - path = Path('test40') - docclass = [('iacrtrans','journal=tches'), - ('iacrtrans','journal=tosc')] - styles = ['maketitle=iacrj', - 'maketitle=iacrj,footnotesymbols', - 'maketitle=acmsmall', - 'maketitle=acmconf', - 'maketitle=lipics', - 'maketitle=inv', - 'maketitle=ams,footnotesymbols', - 'maketitle=ams', - 'maketitle=jems,footnotesymbols'] - template = Template((path / Path('main.txt')).read_text(encoding='UTF-8')) - with tempfile.TemporaryDirectory() as tmpdirpath: - for cls in docclass: - for style in styles: - print('style=', style) - texfile = template.substitute(cls= cls[0], - clsoptions=cls[1], - metaopts= style) - print(texfile) - (tmpdirpath / Path('main.tex')).write_text(texfile, encoding='UTF-8') - res = run_engine('-pdf', [], tmpdirpath) - assert res['proc'].returncode == 0 +def test41_city(): + for option in ['-pdflua', '-pdf']: + with tempfile.TemporaryDirectory() as tmpdirpath: + path = Path('test41') + res = run_engine(option, path.iterdir(), tmpdirpath) + assert res['proc'].returncode != 0 + assert r'! Package metacapture Error: A city is required for each affiliation.' in res['log'] + +def test42_country(): + for option in ['-pdflua', '-pdf']: + with tempfile.TemporaryDirectory() as tmpdirpath: + path = Path('test42') + res = run_engine(option, path.iterdir(), tmpdirpath) + assert res['proc'].returncode != 0 + assert r'! Package metacapture Error: A country is required for each affiliation.' in res['log'] + +def test43_latin(): + """This is a test only for pdflatex to make sure it doesn't handle other input encodings.""" + for option in ['-pdf']: + with tempfile.TemporaryDirectory() as tmpdirpath: + path = Path('test43') + res = run_engine(option, path.iterdir(), tmpdirpath) + assert res['proc'].returncode != 0 + assert r'! Package metacapture Error: Only utf8 is allowed for input encoding.' in res['log'] + diff --git a/metacapture/tests/test1/main.tex b/metacapture/tests/test1/main.tex index eebf9c3..f05a7a9 100644 --- a/metacapture/tests/test1/main.tex +++ b/metacapture/tests/test1/main.tex @@ -15,8 +15,9 @@ %%%% 2. PACKAGES %%%% \usepackage{lipsum} % Example package -- can be removed \usepackage{amsmath} -\usepackage[TU]{fontenc} +%\usepackage[TU]{fontenc} \usepackage[T1]{fontenc} +%\usepackage[turkish]{babel} %%%% 3. AUTHOR, INSTITUTE %%%% \license{CC-by} @@ -48,12 +49,12 @@ \begin{abstract} In this paper we prove that the One-Time-Pad has perfect security, unless you use double encryption with {$\mathsf{SingleKey}$}. - - \lipsum[8] +\lipsum[8] \end{abstract} \begin{textabstract} In this paper we prove that the One-Time-Pad has perfect security, unless you use - double encryption with a single key. + double encryption with a single key. I also need to mention + Bo{\u g}azi{\c c}i University. \end{textabstract} %%%% 6. PAPER CONTENT %%%% diff --git a/metacapture/tests/test12/main.tex b/metacapture/tests/test12/main.tex index 866d40e..f2d5922 100644 --- a/metacapture/tests/test12/main.tex +++ b/metacapture/tests/test12/main.tex @@ -2,6 +2,7 @@ \documentclass[journal=tosc,version=submission,notanonymous]{iacrj} \license{CC-by} +\usepackage{lipsum} \title[running = {The iacrcc class}, % subtitle = {A Template} @@ -43,4 +44,5 @@ % The content of the paper starts here \section{Introduction} This is just a test file. +\lipsum \end{document} diff --git a/metacapture/tests/test38/main.tex b/metacapture/tests/test38/main.tex deleted file mode 100644 index 47619ef..0000000 --- a/metacapture/tests/test38/main.tex +++ /dev/null @@ -1,59 +0,0 @@ -\documentclass[journal=tches]{iacrtrans} -\usepackage{hyperref} -\usepackage{metacapture} -\newcommand{\pkgname}{metacapture} -\newcommand{\pkgversion}{0.9} -\title[plaintext={The metacapture LaTeX package}, - running={The \pkgname\ \LaTeX\ package v\pkgversion}, - ]{The \pkgname\ \textrm{\LaTeX} package v\pkgversion\footnote{Probably not ready for use by others yet.}} -\subtitle{A demo for different maketitle styles and classes} -\addauthor[orcid = {0000-1111-2222-3333}, - inst = {1,2}, - footnote= {Paul has a footnote}, - email = {erdos@att.com}, - surname = {Erdős}, - ]{Paul Erdős} -\addauthor[orcid = {0000-0001-7890-5430}, - inst = {2}, - footnote = {Another remarkable Hungarian mathematician}, - email = {latex@digicrime.com}, - surname = {Turan}, - ]{Pal Turan} -\addauthor[inst={2,3}, -email={notgonnawork@google.com}, - footnote={Home page at \url{https://theonion.com/}}, - orcid={1111-2222-3333-4444}]{Third Author} -\addauthor[inst={1}, - email={fourth@example.com}, - onclick = {https://example.com/first}]{Fourth author} -\addauthor[inst={1}, - email={fifth@example.com}, - footnote={Fifth doesn't even know that he is an author}]{Fifth Author} -\addauthor[inst={3},footnote={Sixth is last} -]{Sixth Author} -%\addauthor[inst={1},email={first@example.com}]{Seventh Author} -\addaffiliation[ror = 0168r3w48, - department = {Computer Science Department}, - country={United States}]{University of California, San Diego} -\addaffiliation[department={Department of Redundancy Department}, - city={Sunnydale}, - state={California}, - country={Elbonia}]{Mega Corporation} -\addaffiliation[country={Absurdistan}, - department={Department of Unfundable Research}, - city={Gottaknow}]{Faber College} -\addkeywords[Metadata, publishing, LaTeX]{Metadata, publishing, \LaTeX} -\begin{document} - -\maketitle - -\begin{abstract} - This is an abstract. -\end{abstract} -\begin{textabstract} -In this paper we prove that the One-Time-Pad has perfect security, unless you use -double encryption with a single key. -\end{textabstract} -\section{Just a section} -With not much in it. -\end{document} diff --git a/metacapture/tests/test41/main.tex b/metacapture/tests/test41/main.tex new file mode 100644 index 0000000..eddc861 --- /dev/null +++ b/metacapture/tests/test41/main.tex @@ -0,0 +1,62 @@ +\DocumentMetadata{pdfstandard=a-2u,pdfversion=1.7} +\documentclass{article} +\usepackage[cityrequired]{metacapture} +\license{CC-by} +%\usepackage[T1]{fontenc} +\usepackage{lipsum} +\title[running = {The iacrcc class}, +% subtitle = {A Template} + ]{How not to use this Cl\'ass with a soft ğ 30°C} + +\addauthor[orcid = {0000-0003-1010-8157}, + inst = {1}, + onclick = {https://www.joppebos.com}, + footnote = {This is an example fö{\"o}tnote.}, + email = {joppe.bos@nxp.com}, + surname = {B{\"o}s} + ]{Joppe W. B{\"o}s} + +\addauthor[orcid = {0000-0001-7890-5430}, + inst = {2}, + email = {test2@digicrime.com}, + surname = {McCurley} + ]{Kevin S. McCurley} + +\addaffiliation[ror = 031v4g827, + street = {Interleuvenlaan 80}, + city = {Leuven}, + postcode= {3001}, + country = {Belgium} + ]{NXP S\v{e}mïc{\"o}ndúct\o{}rs} +\addaffiliation[country={Elbonia}]{Self} +\addfunding[fundref=1241171, + grantid=5211-2, + country=Elbonia]{Horizon 2020 Framework Programme} +\addfunding[ror = 042c84f31, + country={United States}]{Just another foundation} +\addfunding[fundref={517622}, + grantid=57821-3]{National Fantasy Foundation} + +% A footnote can be placed on the front page without a symbol / numbering using: +\genericfootnote{This is the fool version of our paper.} +%\genericfootnote{This is the f\d{u}ll version of our paper published at \c{c}rypto.} + +\newcommand{\impulse}{impulse} +\keywords[Dirac delta function, unit impulse]{Dirac $\delta$ function, unit \impulse, $\delta$-function} +\begin{document} +\maketitle + +% Provide the abstract of your paper +\begin{abstract} +This is the abstract. +\end{abstract} +\begin{textabstract} +This is the text abstract. +\end{textabstract} + +% The content of the paper starts here +\section{Introduction} +This is the template showing how to use the IACR Communications in Cryptology \LaTeX{} class. + +\lipsum[1-20] +\end{document} diff --git a/metacapture/tests/test42/main.tex b/metacapture/tests/test42/main.tex new file mode 100644 index 0000000..456b30e --- /dev/null +++ b/metacapture/tests/test42/main.tex @@ -0,0 +1,55 @@ +\DocumentMetadata{pdfstandard=a-2u,pdfversion=1.7} +\documentclass{article} +\usepackage[countryrequired]{metacapture} +\license{CC-by} +%\usepackage[T1]{fontenc} +\usepackage{lipsum} +\title[running = {The iacrcc class}, +% subtitle = {A Template} + ]{How not to use this Cl\'ass with a soft ğ 30°C} + +\addauthor[orcid = {0000-0003-1010-8157}, + inst = {1}, + onclick = {https://www.joppebos.com}, + footnote = {This is an example fö{\"o}tnote.}, + email = {joppe.bos@nxp.com}, + surname = {B{\"o}s} + ]{Joppe W. B{\"o}s} + +\addauthor[orcid = {0000-0001-7890-5430}, + inst = {2}, + email = {test2@digicrime.com}, + surname = {McCurley} + ]{Kevin S. McCurley} + +\addaffiliation[ror = 031v4g827, + street = {Interleuvenlaan 80}, + city = {Leuven}, + postcode= {3001}, + country = {Belgium} + ]{NXP S\v{e}mïc{\"o}ndúct\o{}rs} +\addaffiliation[city={Tombsone, Arizona}]{Self} + +% A footnote can be placed on the front page without a symbol / numbering using: +\genericfootnote{This is the fool version of our paper.} +%\genericfootnote{This is the f\d{u}ll version of our paper published at \c{c}rypto.} + +\newcommand{\impulse}{impulse} +\keywords[Dirac delta function, unit impulse]{Dirac $\delta$ function, unit \impulse, $\delta$-function} +\begin{document} +\maketitle + +% Provide the abstract of your paper +\begin{abstract} +This is the abstract. +\end{abstract} +\begin{textabstract} +This is the text abstract. +\end{textabstract} + +% The content of the paper starts here +\section{Introduction} +This is the template showing how to use the IACR Communications in Cryptology \LaTeX{} class. + +\lipsum[1-20] +\end{document} diff --git a/metacapture/tests/test43/main.tex b/metacapture/tests/test43/main.tex new file mode 100644 index 0000000..53ca020 --- /dev/null +++ b/metacapture/tests/test43/main.tex @@ -0,0 +1,30 @@ +\documentclass{article} +\usepackage[latin1]{inputenc} +\usepackage[maketitle=inv]{metacapture} + +\license{CC-by} + +\title[running = {The iacrcc class}, + ]{An example that is not anonymous} + +\addauthor[email={one@one.com}, inst={1,2}]{Freddy First} + +\addaffiliation{A Company} +\addaffiliation{The University} + + +\begin{document} + +\maketitle + +% Provide the keywords *before* the abstract +\addkeywords{stuff, other random} +% Provide the abstract of your paper +\begin{abstract} +This is just a shell of an abstract. +\end{abstract} + +% The content of the paper starts here +\section{Introduction} +This is just a test file.\footnote{With a footnote.} +\end{document} diff --git a/metacapture/tests/test7/main.output b/metacapture/tests/test7/main.output deleted file mode 100644 index 4fb6c78..0000000 --- a/metacapture/tests/test7/main.output +++ /dev/null @@ -1,9 +0,0 @@ -Insertstuff. -With space:Insert\ stuff. -With braces:Insert{} stuff. -With tilde: Insert~stuff. -accented: \T1\DJ -With math $\alpha $ -Puret:Āā Ēē Īī Ōō Ūū Ȳȳ ü alpha with $a=b$ - and Š \T1\i \T1\DJ -Puret:å and Š ü ıĐ