Mercurial > pysmcl
changeset 315:b0dcca45efbc
PLuralize and decapitalize example applications
author | Sigurd Meldgaard <stm@daimi.au.dk> |
---|---|
date | Fri, 16 Apr 2010 10:55:36 +0200 |
parents | d87f62abc6e2 |
children | 307d262401dc |
files | provsec/paper.tex |
diffstat | 1 files changed, 28 insertions(+), 8 deletions(-) [+] |
line wrap: on
line diff
--- a/provsec/paper.tex Fri Apr 16 09:54:38 2010 +0200 +++ b/provsec/paper.tex Fri Apr 16 10:55:36 2010 +0200 @@ -21,6 +21,24 @@ \newcommand{\nt}[1]{{\it #1}} \newcommand\KWD[1]{{\ensuremath{\mathtt{#1}\CLMathsurround}}} +\newenvironment{changemargin}[2]{% +\begin{list}{}{% +\setlength{\topsep}{0pt}% +\setlength{\leftmargin}{#1}% +\setlength{\rightmargin}{#2}% +\setlength{\listparindent}{\parindent}% +\setlength{\itemindent}{\parindent}% +\setlength{\parsep}{\parskip}% +}% +\item[]}{\end{list}} + +\newenvironment{Keywords}{% +\begin{changemargin}{1cm}{1cm} +\noindent{\bf Keywords:} +} +{\end{changemargin} } + + \title{PySCML --- An Embedded Language for Specifying Secure Multiparty Computations} %\author{ %Ivan Damg{\aa}rd (AU)\\ @@ -34,8 +52,10 @@ \begin{document} \maketitle \begin{abstract}We present the implementation of an embedded language for specifying secure multiparty computations. +\begin{Keywords}Secure multiparty computation, Embedded language, Python, Universal Composability +\end{Keywords} + \end{abstract} -% keywords: multiparty secure embedded language \section{Introduction} This document describes the design and implementation of PySMCL, a domain specific language for secure multiparty computation, embedded @@ -56,8 +76,8 @@ number of players each possess some private data, and want to compute a certain result from these data without revealing anything, except for the intended result. There are numerous examples of such -scenarios. Examples include Elections, Auctions, Procurement, -Benchmarking, etc. If a completely trusted party was available, the +scenarios. Examples include elections, auctions, procurements, +benchmarkings, etc. If a completely trusted party was available, the problem could easily be solved by sending all input to this party and let him compute the result. This is, however, usually an unrealistic assumption. A secure MPC protocol allows the players to do the @@ -128,7 +148,7 @@ In order to allow real execution of the program by all players concurrently, a configuration file must also be written and supplied to the VIFF runtime. This file specifies where the players will be -located (e.g., their IP numbers). A wrapper script is included that +located (e.g., their IP-numbers). A wrapper script is included that eases setting up the run-time and loading the configuration files. \section{The language} @@ -266,7 +286,7 @@ return 1 - a \end{verbatim} -Here the decorator called is \KWD{ideal_functionality}, a higher +Here the decorator called is \KWD{ideal\_functionality}, a higher order function receiving the function \KWD{negate} and returning another function that is then also named \KWD{negate}. While deciding what output function to return, it may of course the values of its own @@ -325,8 +345,8 @@ The function \KWD{f} above is marked as an ideal functionality, and therefore subject to preprocessing and verification. -The variables \KWD{a} and \KWD{b} are marked as secret by the -\KWD{secrets} argument to \KWD{ideal_functionality}. +By using the \KWD{secrets} argument to \KWD{ideal\_functionality}, the +variables \KWD{a} and \KWD{b} are marked as secret % The variable \verb|c| is marked secret because it is the result of a % call to \verb|Secret|. Of course the value 42 is public, since it @@ -682,7 +702,7 @@ burden for each \KWD{open} not directly within an \KWD{result} to show the consequences of the program. -A function marked \verb|ideal_functionality| should not be called from +A function marked \KWD{ideal\_functionality} should not be called from functions that are not themselves marked (this is implemented in practice by giving them an extra parameter, the \emph{runtime}, without the runtime program cannot create or operate on secret values, and so cannot do