<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Title" content="">
<meta name="Keywords" content="">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:Calibri;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:#0563C1;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:#954F72;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:Calibri;
        color:windowtext;}
span.msoIns
        {mso-style-type:export-only;
        mso-style-name:"";
        text-decoration:underline;
        color:teal;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:Calibri;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style>
</head>
<body bgcolor="white" lang="EN-US" link="#0563C1" vlink="#954F72">
<div class="WordSection1">
<p class="MsoNormal"><span style="font-size:11.0pt">With the open sourcing of Swift and the growing concerns around security and user privacy, Swift is lacking common crypto API’s as part of the core libraries. I’d like to propose that we add common crypto
 functionality as part of the Swift Core Libraries. I believe that something as important as encryption, hashing, and certificate handling should come as part of the core libraries and not provided by a 3<sup>rd</sup> party library.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt">Below are examples of what I would imagine the Core Libraries would provide:<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt">Encryption <o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt">&nbsp;&nbsp;- Symmetric Encryption<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt">&nbsp;&nbsp;&nbsp; - e.g. AES<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt">&nbsp; - Asymmetric Encryption<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt">&nbsp;&nbsp;&nbsp; - e.g. RSA<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt">Hashing<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt">&nbsp; - Keyed Hashing<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt">&nbsp;&nbsp;&nbsp; - e.g. HMACSHA1<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt">&nbsp; - Un-keyed Hashing<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt">&nbsp;&nbsp;&nbsp; - e.g. MD5<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt">Certificate Handling<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt">&nbsp; - X509 Certificates<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt">&nbsp;&nbsp;&nbsp; - Certificate based authentication<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt">&nbsp;&nbsp;&nbsp; - Certificate import, e.g. PEM<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt">&nbsp; - SSL pinning<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.5pt;color:black">Travis Beech</span><span style="font-size:13.5pt;color:black">&nbsp;|&nbsp;</span><span style="font-size:9.0pt;color:black">Principal Developer</span><span style="font-size:13.5pt;color:black">&nbsp;|&nbsp;</span><span style="font-size:9.0pt;color:black">Unwired
 Revolution</span><span style="font-size:10.5pt;color:black"><o:p></o:p></span></p>
<div>
<p class="MsoNormal"><b><span style="font-size:13.5pt;color:#0064A1">Optimizing Operations for&nbsp;Mobile and Distributed Systems</span></b><span style="font-size:10.5pt;color:black"><o:p></o:p></span></p>
</div>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
</body>
</html>