<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"><channel><title>mikeash.com pyblog/friday-qa-2012-08-10-a-tour-of-commoncrypto.html comments</title><link>http://www.mikeash.com/?page=pyblog/friday-qa-2012-08-10-a-tour-of-commoncrypto.html#comments</link><description>mikeash.com Recent Comments</description><lastBuildDate>Sat, 06 Jun 2026 20:45:58 GMT</lastBuildDate><generator>PyRSS2Gen-1.0.0</generator><docs>http://blogs.law.harvard.edu/tech/rss</docs><item><title>الوليد - 2016-09-30 19:18:06</title><link>http://www.mikeash.com/?page=pyblog/friday-qa-2012-08-10-a-tour-of-commoncrypto.html#comments</link><description>I managed to add SSL support to an existing application in less than a couple of hours while I didn't know at all how to use it when I started. 
&lt;br /&gt;</description><guid isPermaLink="true">8eaa39ebc6a847ae9bf2993b672d63c5</guid><pubDate>Fri, 30 Sep 2016 19:18:06 GMT</pubDate></item><item><title>mikeash - 2012-08-19 20:04:05</title><link>http://www.mikeash.com/?page=pyblog/friday-qa-2012-08-10-a-tour-of-commoncrypto.html#comments</link><description>As I said in the article, this isn't meant to be a general-purpose introduction to cryptography. If you're implementing a system that's already been designed (e.g. you know that you need encryption X with key generated by Y and initialization vector generated by Z) then you can just follow the recipe. If you're creating your own cryptosystem, then you definitely need to know the stuff that RNCryptor is doing.
&lt;br /&gt;
&lt;br /&gt;In his readme, he links to this article, which looks really good as far as doing the right stuff for your own cryptosystem:
&lt;br /&gt;
&lt;br /&gt;&lt;a href="http://robnapier.net/blog/aes-commoncrypto-564"&gt;http://robnapier.net/blog/aes-commoncrypto-564&lt;/a&gt;
&lt;br /&gt;
&lt;br /&gt;Algorithm and mode should be pretty easy to pick: just use AES in CBC mode with PKCS7 padding. The only reason to use anything else, as far as I know, is compatibility with an existing system. For the rest, that article covers it well.</description><guid isPermaLink="true">2e22ed4a7ba820545ceba5d6d8610b9b</guid><pubDate>Sun, 19 Aug 2012 20:04:05 GMT</pubDate></item><item><title>Chris - 2012-08-19 09:14:27</title><link>http://www.mikeash.com/?page=pyblog/friday-qa-2012-08-10-a-tour-of-commoncrypto.html#comments</link><description>Correction of the last sentence: When looking at their code it looks a lot more complex than your symmetric encryption sample although they/he is also using CommonCrypto.</description><guid isPermaLink="true">1c72f7be7abd5151f9fb2baa2507163b</guid><pubDate>Sun, 19 Aug 2012 09:14:27 GMT</pubDate></item><item><title>Chris - 2012-08-19 09:13:00</title><link>http://www.mikeash.com/?page=pyblog/friday-qa-2012-08-10-a-tour-of-commoncrypto.html#comments</link><description>Thank you very much for this post - especially for the symmetric encryption sample. I investigated a bit and it seems that you can still do so many things wrong when it comes to symmetric encryption. Or at least there are many things that can and should be improved: Password stretching, secure creation of the initialisation vector, picking the correct algorithm and picking the correct mode. I stumbled over the RNCryptor framework ( &lt;a href="https://github.com/rnapier/RNCryptor"&gt;https://github.com/rnapier/RNCryptor&lt;/a&gt; ). What do you think about it? When looking at their code it looks a lot more complex than your symmetric encryption algorithms although they/he is also using CommonCrypto.</description><guid isPermaLink="true">ae546cf139412c65d2d931c1634322f8</guid><pubDate>Sun, 19 Aug 2012 09:13:00 GMT</pubDate></item><item><title>Dustin Voss - 2012-08-17 23:21:22</title><link>http://www.mikeash.com/?page=pyblog/friday-qa-2012-08-10-a-tour-of-commoncrypto.html#comments</link><description>They've relaxed a lot of the export restrictions. There is a handy flowchart at &lt;a href="http://www.bis.doc.gov/encryption/question1.htm"&gt;http://www.bis.doc.gov/encryption/question1.htm&lt;/a&gt;.
&lt;br /&gt;</description><guid isPermaLink="true">40df0c1a557838e219bb3884fa0ca292</guid><pubDate>Fri, 17 Aug 2012 23:21:22 GMT</pubDate></item><item><title>Ivan Vučica - 2012-08-16 13:33:03</title><link>http://www.mikeash.com/?page=pyblog/friday-qa-2012-08-10-a-tour-of-commoncrypto.html#comments</link><description>Is there some info on which parts of CommonCrypto require submission of export compliance documents with US government? Does "use of cryptography" mean even use of hash algorithms, such as SHA-1?</description><guid isPermaLink="true">2a96cffd11c005dc7941aed1ac241742</guid><pubDate>Thu, 16 Aug 2012 13:33:03 GMT</pubDate></item><item><title>Jean-Daniel - 2012-08-11 10:29:19</title><link>http://www.mikeash.com/?page=pyblog/friday-qa-2012-08-10-a-tour-of-commoncrypto.html#comments</link><description>While CommonCrypto does not provide TLS, I recently discovered the Secure Transport API which is incredibly easy to use on OS X.
&lt;br /&gt;
&lt;br /&gt;I managed to add SSL support to an existing application in less than a couple of hours while I didn't know at all how to use it when I started.
&lt;br /&gt;</description><guid isPermaLink="true">0242ce4f82528389a8526fb49d88e56f</guid><pubDate>Sat, 11 Aug 2012 10:29:19 GMT</pubDate></item></channel></rss>
