<div><div>You have done quite some work on the crypto front...cool!</div><div><br></div><div>since you are the owner of cryptocipher and your new package cipher-aes:</div><div>is cryptocipher now deprecated?</div><div><br></div><div>the certificate library fits my needs perfectly!</div><div><br></div><div>so my current setup includes:</div><div>cipher-aes (AES), by Vincent Hanquez</div><div>certificate (for X509 certificates), by Vincent Hanquez</div><div>The RSA package (RSA public key crypto), by Adam Wick, depends on The crypto-pubkey-types package by Vincent Hanquez</div><div><br></div><div>so let's just hope you stick around for some time Vince, my code now fully depends on you ;)</div><div><br></div><br><br>On Friday, August 24, 2012 3:31:45 PM UTC+2, Vincent Hanquez wrote:<blockquote class="gmail_quote" style="margin: 0;margin-left: 0.8ex;border-left: 1px #ccc solid;padding-left: 1ex;">On 08/24/2012 01:47 PM, marcmo wrote:
<br>&gt;
<br>&gt; In my day job I currently need to deal with a lot of cryptographic processing. 
<br>&gt; For the tests I need to perform various cryptographic functions in haskell.
<br>&gt; these include:
<br>&gt;
<br>&gt; * AES Encryption/Decryption (CBC-Mode)
<br>&gt; * RSA Public Key Encryption/Decryption
<br>&gt; * Certificate Handling
<br>&gt;
<br>&gt; I'm having some difficulties finding the libraries to use and using them 
<br>&gt; correctly.
<br>&gt; Performance is /not/ my primary concern...rather *correctness* and*ease of use*.
<br>&gt;
<br>&gt; Haskell has some great cryptographic libs but for me it seems hard to judge 
<br>&gt; what to use. The ones that seem appropriate are:
<br>&gt;
<br>&gt; * The AES package (for symmetric encryption)
<br>&gt; * The RSA package (for public key cryptography)
<br>&gt;
<br>&gt; certificate handling is <a href="http://s.th" target="_blank" data-bitly-type="bitly_hover_card">s.th</a>. I haven't found out about
<br>&gt;
<br>&gt; * how to deal with Certificates (e.g. extract the public key from X.509 
<br>&gt; certificates)
<br>&gt;
<br>&gt;
<br>&gt; is there a recommended package (packages) that suite my purpose?
<br>&gt;
<br>Hi,
<br>
<br>[this is going to a be shameless self advertising reply :) ...]
<br>
<br>for AES, i'ld recommend you to read a recent post of mine "building a better 
<br>haskell aes" [1].
<br>for RSA, to have something compatible my next suggestion for x509, you got 
<br>either RSA or cryptocipher [2].
<br>for X509, everything you need is available in the certificate package [3]
<br>
<br>While you mentioned performance is not your primary concern, I found that even 
<br>with medium use of crypto it becomes a significant bottleneck when using some 
<br>well established implementations.
<br>
<br>[1] <a href="http://tab.snarc.org/posts/haskell/2012-07-07-building-a-better-haskell-aes.html" target="_blank" data-bitly-type="bitly_hover_card">http://tab.snarc.org/posts/<wbr>haskell/2012-07-07-building-a-<wbr>better-haskell-aes.html</a>
<br>[2] <a href="http://hackage.haskell.org/package/cryptocipher" target="_blank" data-bitly-type="bitly_hover_card">http://hackage.haskell.org/<wbr>package/cryptocipher</a>
<br>[3] <a href="http://hackage.haskell.org/package/certificate" target="_blank" data-bitly-type="bitly_hover_card">http://hackage.haskell.org/<wbr>package/certificate</a>
<br>
<br>-- 
<br>Vincent
<br>
<br>______________________________<wbr>_________________
<br>Haskell-Cafe mailing list
<br><a href="javascript:" target="_blank" gdf-obfuscated-mailto="10YyssAdUGEJ" data-bitly-type="bitly_hover_card">Haskel...@haskell.org</a>
<br><a href="http://www.haskell.org/mailman/listinfo/haskell-cafe" target="_blank" data-bitly-type="bitly_hover_card">http://www.haskell.org/<wbr>mailman/listinfo/haskell-cafe</a>
<br></blockquote></div>