This file is indexed.

/usr/share/doc/libghc-cipher-aes128-doc/html/Crypto-Cipher-AES128.html is in libghc-cipher-aes128-doc 0.7.0.3-3build3.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Crypto.Cipher.AES128</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="file:///usr/share/javascript/mathjax/MathJax.js" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
window.onload = function () {pageLoad();setSynopsis("mini_Crypto-Cipher-AES128.html");};
//]]>
</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="src/Crypto-Cipher-AES128.html">Source</a></li><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">cipher-aes128-0.7.0.3: AES and common modes using AES-NI when available.</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Crypto.Cipher.AES128</p></div><div id="table-of-contents"><p class="caption">Contents</p><ul><li><a href="#g:1">Key types with crypto-api instances</a></li><li><a href="#g:2">GCM Operations</a></li><li><a href="#section.orphans">Orphan instances</a></li></ul></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><span class="keyword">data</span> <a href="#t:AESKey128">AESKey128</a></li><li class="src short"><span class="keyword">data</span> <a href="#t:AESKey192">AESKey192</a></li><li class="src short"><span class="keyword">data</span> <a href="#t:AESKey256">AESKey256</a></li><li class="src short"><span class="keyword">class</span> <a href="file:///usr/share/doc/libghc-cereal-doc/html/Data-Serialize.html#t:Serialize">Serialize</a> k =&gt; <a href="#t:BlockCipher">BlockCipher</a> k <span class="keyword">where</span><ul class="subs"></ul></li><li class="src short"><a href="#v:buildKeyIO">buildKeyIO</a> :: <a href="Crypto-Cipher-AES128.html#t:BlockCipher">BlockCipher</a> k =&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/System-IO.html#t:IO">IO</a> k</li><li class="src short"><a href="#v:zeroIV">zeroIV</a> :: <a href="Crypto-Cipher-AES128.html#t:BlockCipher">BlockCipher</a> k =&gt; <a href="file:///usr/share/doc/libghc-crypto-api-doc/html/Crypto-Types.html#t:IV">IV</a> k</li><li class="src short"><a href="#v:makeGCMCtx">makeGCMCtx</a> :: <a href="Crypto-Cipher-AES128.html#t:AES_GCM">AES_GCM</a> k =&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString.html#t:ByteString">ByteString</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (<a href="Crypto-Cipher-AES128.html#t:GCMCtx">GCMCtx</a> k)</li><li class="src short"><a href="#v:aesKeyToGCM">aesKeyToGCM</a> :: <a href="Crypto-Cipher-AES128.html#t:AES_GCM">AES_GCM</a> k =&gt; k -&gt; <a href="Crypto-Cipher-AES128.html#t:GCMCtx">GCMCtx</a> k</li><li class="src short"><span class="keyword">data</span> <a href="#t:GCMCtx">GCMCtx</a> k</li><li class="src short"><span class="keyword">data</span> <a href="#t:AuthTag">AuthTag</a> = <a href="#v:AuthTag">AuthTag</a> {<ul class="subs"><li><a href="#v:unAuthTag">unAuthTag</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString.html#t:ByteString">ByteString</a></li></ul>}</li><li class="src short"><span class="keyword">class</span> (<a href="Crypto-Cipher-AES128.html#t:BlockCipher">BlockCipher</a> k, <a href="Crypto-Cipher-AES128-Internal.html#t:GetExpanded">GetExpanded</a> k) =&gt; <a href="#t:AES_GCM">AES_GCM</a> k</li><li class="src short"><a href="#v:encryptGCM">encryptGCM</a> :: <a href="Crypto-Cipher-AES128.html#t:AES_GCM">AES_GCM</a> k =&gt; <a href="Crypto-Cipher-AES128.html#t:GCMCtx">GCMCtx</a> k -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString.html#t:ByteString">ByteString</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString.html#t:ByteString">ByteString</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString.html#t:ByteString">ByteString</a> -&gt; (<a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString.html#t:ByteString">ByteString</a>, <a href="Crypto-Cipher-AES128.html#t:AuthTag">AuthTag</a>)</li><li class="src short"><a href="#v:decryptGCM">decryptGCM</a> :: <a href="Crypto-Cipher-AES128.html#t:AES_GCM">AES_GCM</a> k =&gt; <a href="Crypto-Cipher-AES128.html#t:GCMCtx">GCMCtx</a> k -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString.html#t:ByteString">ByteString</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString.html#t:ByteString">ByteString</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString.html#t:ByteString">ByteString</a> -&gt; (<a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString.html#t:ByteString">ByteString</a>, <a href="Crypto-Cipher-AES128.html#t:AuthTag">AuthTag</a>)</li></ul></div><div id="interface"><h1 id="g:1">Key types with crypto-api instances</h1><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:AESKey128" class="def">AESKey128</a> <a href="src/Crypto-Cipher-AES128-Internal.html#AESKey128" class="link">Source</a> <a href="#t:AESKey128" class="selflink">#</a></p><div class="subs instances"><p id="control.i:AESKey128" class="caption collapser" onclick="toggleSection('i:AESKey128')">Instances</p><div id="section.i:AESKey128" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:AESKey128:GetExpanded:1" class="instance expander" onclick="toggleSection('i:id:AESKey128:GetExpanded:1')"></span> <a href="Crypto-Cipher-AES128-Internal.html#t:GetExpanded">GetExpanded</a> <a href="Crypto-Cipher-AES128.html#t:AESKey128">AESKey128</a></span> <a href="src/Crypto-Cipher-AES128-Internal.html#line-50" class="link">Source</a> <a href="#t:AESKey128" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:AESKey128:GetExpanded:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:expandedKey">expandedKey</a> :: <a href="Crypto-Cipher-AES128.html#t:AESKey128">AESKey128</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Foreign-ForeignPtr.html#t:ForeignPtr">ForeignPtr</a> AESKeyStruct</p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:AESKey128:AES_GCM:2" class="instance expander" onclick="toggleSection('i:id:AESKey128:AES_GCM:2')"></span> <a href="Crypto-Cipher-AES128.html#t:AES_GCM">AES_GCM</a> <a href="Crypto-Cipher-AES128.html#t:AESKey128">AESKey128</a></span> <a href="src/Crypto-Cipher-AES128.html#line-177" class="link">Source</a> <a href="#t:AES_GCM" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:AESKey128:AES_GCM:2" class="inst-details hide"></div></td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:AESKey192" class="def">AESKey192</a> <a href="src/Crypto-Cipher-AES128-Internal.html#AESKey192" class="link">Source</a> <a href="#t:AESKey192" class="selflink">#</a></p><div class="subs instances"><p id="control.i:AESKey192" class="caption collapser" onclick="toggleSection('i:AESKey192')">Instances</p><div id="section.i:AESKey192" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:AESKey192:GetExpanded:1" class="instance expander" onclick="toggleSection('i:id:AESKey192:GetExpanded:1')"></span> <a href="Crypto-Cipher-AES128-Internal.html#t:GetExpanded">GetExpanded</a> <a href="Crypto-Cipher-AES128.html#t:AESKey192">AESKey192</a></span> <a href="src/Crypto-Cipher-AES128-Internal.html#line-48" class="link">Source</a> <a href="#t:AESKey192" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:AESKey192:GetExpanded:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:expandedKey">expandedKey</a> :: <a href="Crypto-Cipher-AES128.html#t:AESKey192">AESKey192</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Foreign-ForeignPtr.html#t:ForeignPtr">ForeignPtr</a> AESKeyStruct</p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:AESKey192:AES_GCM:2" class="instance expander" onclick="toggleSection('i:id:AESKey192:AES_GCM:2')"></span> <a href="Crypto-Cipher-AES128.html#t:AES_GCM">AES_GCM</a> <a href="Crypto-Cipher-AES128.html#t:AESKey192">AESKey192</a></span> <a href="src/Crypto-Cipher-AES128.html#line-178" class="link">Source</a> <a href="#t:AES_GCM" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:AESKey192:AES_GCM:2" class="inst-details hide"></div></td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:AESKey256" class="def">AESKey256</a> <a href="src/Crypto-Cipher-AES128-Internal.html#AESKey256" class="link">Source</a> <a href="#t:AESKey256" class="selflink">#</a></p><div class="subs instances"><p id="control.i:AESKey256" class="caption collapser" onclick="toggleSection('i:AESKey256')">Instances</p><div id="section.i:AESKey256" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:AESKey256:GetExpanded:1" class="instance expander" onclick="toggleSection('i:id:AESKey256:GetExpanded:1')"></span> <a href="Crypto-Cipher-AES128-Internal.html#t:GetExpanded">GetExpanded</a> <a href="Crypto-Cipher-AES128.html#t:AESKey256">AESKey256</a></span> <a href="src/Crypto-Cipher-AES128-Internal.html#line-46" class="link">Source</a> <a href="#t:AESKey256" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:AESKey256:GetExpanded:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:expandedKey">expandedKey</a> :: <a href="Crypto-Cipher-AES128.html#t:AESKey256">AESKey256</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Foreign-ForeignPtr.html#t:ForeignPtr">ForeignPtr</a> AESKeyStruct</p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:AESKey256:AES_GCM:2" class="instance expander" onclick="toggleSection('i:id:AESKey256:AES_GCM:2')"></span> <a href="Crypto-Cipher-AES128.html#t:AES_GCM">AES_GCM</a> <a href="Crypto-Cipher-AES128.html#t:AESKey256">AESKey256</a></span> <a href="src/Crypto-Cipher-AES128.html#line-179" class="link">Source</a> <a href="#t:AES_GCM" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:AESKey256:AES_GCM:2" class="inst-details hide"></div></td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">class</span> <a href="file:///usr/share/doc/libghc-cereal-doc/html/Data-Serialize.html#t:Serialize">Serialize</a> k =&gt; <a id="t:BlockCipher" class="def">BlockCipher</a> k <span class="keyword">where</span> <a href="#t:BlockCipher" class="selflink">#</a></p><div class="doc"><p>The BlockCipher class is intended as the generic interface
 targeted by maintainers of Haskell cipher implementations.</p><p>Minimum complete definition: blockSize, encryptBlock, decryptBlock,
 buildKey, and keyLength.</p><p>Instances must handle unaligned data</p></div><div class="subs minimal"><p class="caption">Minimal complete definition</p><p class="src"><a href="Crypto-Cipher-AES128.html#v:blockSize">blockSize</a>, <a href="Crypto-Cipher-AES128.html#v:encryptBlock">encryptBlock</a>, <a href="Crypto-Cipher-AES128.html#v:decryptBlock">decryptBlock</a>, <a href="Crypto-Cipher-AES128.html#v:buildKey">buildKey</a>, <a href="Crypto-Cipher-AES128.html#v:keyLength">keyLength</a></p></div><div class="subs methods"><p class="caption">Methods</p><p class="src"><a id="v:blockSize" class="def">blockSize</a> :: <a href="file:///usr/share/doc/libghc-tagged-doc/html/Data-Tagged.html#t:Tagged">Tagged</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> k <a href="file:///usr/share/doc/libghc-crypto-api-doc/html/Crypto-Types.html#t:BitLength">BitLength</a> <a href="#v:blockSize" class="selflink">#</a></p><p class="src"><a id="v:encryptBlock" class="def">encryptBlock</a> :: k -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString.html#t:ByteString">ByteString</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString.html#t:ByteString">ByteString</a> <a href="#v:encryptBlock" class="selflink">#</a></p><p class="src"><a id="v:decryptBlock" class="def">decryptBlock</a> :: k -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString.html#t:ByteString">ByteString</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString.html#t:ByteString">ByteString</a> <a href="#v:decryptBlock" class="selflink">#</a></p><p class="src"><a id="v:buildKey" class="def">buildKey</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString.html#t:ByteString">ByteString</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a> k <a href="#v:buildKey" class="selflink">#</a></p><p class="src"><a id="v:keyLength" class="def">keyLength</a> :: <a href="file:///usr/share/doc/libghc-tagged-doc/html/Data-Tagged.html#t:Tagged">Tagged</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> k <a href="file:///usr/share/doc/libghc-crypto-api-doc/html/Crypto-Types.html#t:BitLength">BitLength</a> <a href="#v:keyLength" class="selflink">#</a></p><p class="src"><a id="v:ecb" class="def">ecb</a> :: k -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString.html#t:ByteString">ByteString</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString.html#t:ByteString">ByteString</a> <a href="#v:ecb" class="selflink">#</a></p><div class="doc"><p>Electronic Cookbook (encryption)</p></div><p class="src"><a id="v:unEcb" class="def">unEcb</a> :: k -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString.html#t:ByteString">ByteString</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString.html#t:ByteString">ByteString</a> <a href="#v:unEcb" class="selflink">#</a></p><div class="doc"><p>Electronic Cookbook (decryption)</p></div><p class="src"><a id="v:cbc" class="def">cbc</a> :: k -&gt; <a href="file:///usr/share/doc/libghc-crypto-api-doc/html/Crypto-Types.html#t:IV">IV</a> k -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString.html#t:ByteString">ByteString</a> -&gt; (<a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString.html#t:ByteString">ByteString</a>, <a href="file:///usr/share/doc/libghc-crypto-api-doc/html/Crypto-Types.html#t:IV">IV</a> k) <a href="#v:cbc" class="selflink">#</a></p><div class="doc"><p>Cipherblock Chaining (encryption)</p></div><p class="src"><a id="v:unCbc" class="def">unCbc</a> :: k -&gt; <a href="file:///usr/share/doc/libghc-crypto-api-doc/html/Crypto-Types.html#t:IV">IV</a> k -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString.html#t:ByteString">ByteString</a> -&gt; (<a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString.html#t:ByteString">ByteString</a>, <a href="file:///usr/share/doc/libghc-crypto-api-doc/html/Crypto-Types.html#t:IV">IV</a> k) <a href="#v:unCbc" class="selflink">#</a></p><div class="doc"><p>Cipherblock Chaining (decryption)</p></div><p class="src"><a id="v:ctr" class="def">ctr</a> :: k -&gt; <a href="file:///usr/share/doc/libghc-crypto-api-doc/html/Crypto-Types.html#t:IV">IV</a> k -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString.html#t:ByteString">ByteString</a> -&gt; (<a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString.html#t:ByteString">ByteString</a>, <a href="file:///usr/share/doc/libghc-crypto-api-doc/html/Crypto-Types.html#t:IV">IV</a> k) <a href="#v:ctr" class="selflink">#</a></p><div class="doc"><p>Counter (encryption)</p></div><p class="src"><a id="v:unCtr" class="def">unCtr</a> :: k -&gt; <a href="file:///usr/share/doc/libghc-crypto-api-doc/html/Crypto-Types.html#t:IV">IV</a> k -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString.html#t:ByteString">ByteString</a> -&gt; (<a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString.html#t:ByteString">ByteString</a>, <a href="file:///usr/share/doc/libghc-crypto-api-doc/html/Crypto-Types.html#t:IV">IV</a> k) <a href="#v:unCtr" class="selflink">#</a></p><div class="doc"><p>Counter (decryption)</p></div><p class="src"><a id="v:ctrLazy" class="def">ctrLazy</a> :: k -&gt; <a href="file:///usr/share/doc/libghc-crypto-api-doc/html/Crypto-Types.html#t:IV">IV</a> k -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString-Lazy.html#t:ByteString">ByteString</a> -&gt; (<a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString-Lazy.html#t:ByteString">ByteString</a>, <a href="file:///usr/share/doc/libghc-crypto-api-doc/html/Crypto-Types.html#t:IV">IV</a> k) <a href="#v:ctrLazy" class="selflink">#</a></p><div class="doc"><p>Counter (encryption)</p></div><p class="src"><a id="v:unCtrLazy" class="def">unCtrLazy</a> :: k -&gt; <a href="file:///usr/share/doc/libghc-crypto-api-doc/html/Crypto-Types.html#t:IV">IV</a> k -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString-Lazy.html#t:ByteString">ByteString</a> -&gt; (<a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString-Lazy.html#t:ByteString">ByteString</a>, <a href="file:///usr/share/doc/libghc-crypto-api-doc/html/Crypto-Types.html#t:IV">IV</a> k) <a href="#v:unCtrLazy" class="selflink">#</a></p><div class="doc"><p>Counter (decryption)</p></div><p class="src"><a id="v:cfb" class="def">cfb</a> :: k -&gt; <a href="file:///usr/share/doc/libghc-crypto-api-doc/html/Crypto-Types.html#t:IV">IV</a> k -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString.html#t:ByteString">ByteString</a> -&gt; (<a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString.html#t:ByteString">ByteString</a>, <a href="file:///usr/share/doc/libghc-crypto-api-doc/html/Crypto-Types.html#t:IV">IV</a> k) <a href="#v:cfb" class="selflink">#</a></p><div class="doc"><p>Ciphertext feedback (encryption)</p></div><p class="src"><a id="v:unCfb" class="def">unCfb</a> :: k -&gt; <a href="file:///usr/share/doc/libghc-crypto-api-doc/html/Crypto-Types.html#t:IV">IV</a> k -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString.html#t:ByteString">ByteString</a> -&gt; (<a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString.html#t:ByteString">ByteString</a>, <a href="file:///usr/share/doc/libghc-crypto-api-doc/html/Crypto-Types.html#t:IV">IV</a> k) <a href="#v:unCfb" class="selflink">#</a></p><div class="doc"><p>Ciphertext feedback (decryption)</p></div><p class="src"><a id="v:ofb" class="def">ofb</a> :: k -&gt; <a href="file:///usr/share/doc/libghc-crypto-api-doc/html/Crypto-Types.html#t:IV">IV</a> k -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString.html#t:ByteString">ByteString</a> -&gt; (<a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString.html#t:ByteString">ByteString</a>, <a href="file:///usr/share/doc/libghc-crypto-api-doc/html/Crypto-Types.html#t:IV">IV</a> k) <a href="#v:ofb" class="selflink">#</a></p><div class="doc"><p>Output feedback (encryption)</p></div><p class="src"><a id="v:unOfb" class="def">unOfb</a> :: k -&gt; <a href="file:///usr/share/doc/libghc-crypto-api-doc/html/Crypto-Types.html#t:IV">IV</a> k -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString.html#t:ByteString">ByteString</a> -&gt; (<a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString.html#t:ByteString">ByteString</a>, <a href="file:///usr/share/doc/libghc-crypto-api-doc/html/Crypto-Types.html#t:IV">IV</a> k) <a href="#v:unOfb" class="selflink">#</a></p><div class="doc"><p>Output feedback (decryption)</p></div><p class="src"><a id="v:cbcLazy" class="def">cbcLazy</a> :: k -&gt; <a href="file:///usr/share/doc/libghc-crypto-api-doc/html/Crypto-Types.html#t:IV">IV</a> k -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString-Lazy.html#t:ByteString">ByteString</a> -&gt; (<a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString-Lazy.html#t:ByteString">ByteString</a>, <a href="file:///usr/share/doc/libghc-crypto-api-doc/html/Crypto-Types.html#t:IV">IV</a> k) <a href="#v:cbcLazy" class="selflink">#</a></p><div class="doc"><p>Cipher block chaining encryption for lazy bytestrings</p></div><p class="src"><a id="v:unCbcLazy" class="def">unCbcLazy</a> :: k -&gt; <a href="file:///usr/share/doc/libghc-crypto-api-doc/html/Crypto-Types.html#t:IV">IV</a> k -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString-Lazy.html#t:ByteString">ByteString</a> -&gt; (<a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString-Lazy.html#t:ByteString">ByteString</a>, <a href="file:///usr/share/doc/libghc-crypto-api-doc/html/Crypto-Types.html#t:IV">IV</a> k) <a href="#v:unCbcLazy" class="selflink">#</a></p><div class="doc"><p>Cipher block chaining decryption for lazy bytestrings</p></div><p class="src"><a id="v:sivLazy" class="def">sivLazy</a> :: k -&gt; k -&gt; [<a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString-Lazy.html#t:ByteString">ByteString</a>] -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString-Lazy.html#t:ByteString">ByteString</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString-Lazy.html#t:ByteString">ByteString</a> <a href="#v:sivLazy" class="selflink">#</a></p><div class="doc"><p>SIV (Synthetic IV) mode for lazy bytestrings. The third argument is
 the optional list of bytestrings to be authenticated but not
 encrypted As required by the specification this algorithm may
 return nothing when certain constraints aren't met.</p></div><p class="src"><a id="v:unSivLazy" class="def">unSivLazy</a> :: k -&gt; k -&gt; [<a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString-Lazy.html#t:ByteString">ByteString</a>] -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString-Lazy.html#t:ByteString">ByteString</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString-Lazy.html#t:ByteString">ByteString</a> <a href="#v:unSivLazy" class="selflink">#</a></p><div class="doc"><p>SIV (Synthetic IV) for lazy bytestrings.  The third argument is the
 optional list of bytestrings to be authenticated but not encrypted.
 As required by the specification this algorithm may return nothing
 when authentication fails.</p></div><p class="src"><a id="v:siv" class="def">siv</a> :: k -&gt; k -&gt; [<a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString.html#t:ByteString">ByteString</a>] -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString.html#t:ByteString">ByteString</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString.html#t:ByteString">ByteString</a> <a href="#v:siv" class="selflink">#</a></p><div class="doc"><p>SIV (Synthetic IV) mode for strict bytestrings.  First argument is
 the optional list of bytestrings to be authenticated but not
 encrypted.  As required by the specification this algorithm may
 return nothing when certain constraints aren't met.</p></div><p class="src"><a id="v:unSiv" class="def">unSiv</a> :: k -&gt; k -&gt; [<a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString.html#t:ByteString">ByteString</a>] -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString.html#t:ByteString">ByteString</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString.html#t:ByteString">ByteString</a> <a href="#v:unSiv" class="selflink">#</a></p><div class="doc"><p>SIV (Synthetic IV) for strict bytestrings First argument is the
 optional list of bytestrings to be authenticated but not encrypted
 As required by the specification this algorithm may return nothing
 when authentication fails.</p></div><p class="src"><a id="v:ecbLazy" class="def">ecbLazy</a> :: k -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString-Lazy.html#t:ByteString">ByteString</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString-Lazy.html#t:ByteString">ByteString</a> <a href="#v:ecbLazy" class="selflink">#</a></p><div class="doc"><p>Cook book mode - not really a mode at all.  If you don't know what you're doing, don't use this mode^H^H^H^H library.</p></div><p class="src"><a id="v:unEcbLazy" class="def">unEcbLazy</a> :: k -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString-Lazy.html#t:ByteString">ByteString</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString-Lazy.html#t:ByteString">ByteString</a> <a href="#v:unEcbLazy" class="selflink">#</a></p><div class="doc"><p>ECB decrypt, complementary to <code><a href="Crypto-Cipher-AES128.html#v:ecb">ecb</a></code>.</p></div><p class="src"><a id="v:cfbLazy" class="def">cfbLazy</a> :: k -&gt; <a href="file:///usr/share/doc/libghc-crypto-api-doc/html/Crypto-Types.html#t:IV">IV</a> k -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString-Lazy.html#t:ByteString">ByteString</a> -&gt; (<a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString-Lazy.html#t:ByteString">ByteString</a>, <a href="file:///usr/share/doc/libghc-crypto-api-doc/html/Crypto-Types.html#t:IV">IV</a> k) <a href="#v:cfbLazy" class="selflink">#</a></p><div class="doc"><p>Ciphertext feed-back encryption mode for lazy bytestrings (with s
 == blockSize)</p></div><p class="src"><a id="v:unCfbLazy" class="def">unCfbLazy</a> :: k -&gt; <a href="file:///usr/share/doc/libghc-crypto-api-doc/html/Crypto-Types.html#t:IV">IV</a> k -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString-Lazy.html#t:ByteString">ByteString</a> -&gt; (<a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString-Lazy.html#t:ByteString">ByteString</a>, <a href="file:///usr/share/doc/libghc-crypto-api-doc/html/Crypto-Types.html#t:IV">IV</a> k) <a href="#v:unCfbLazy" class="selflink">#</a></p><div class="doc"><p>Ciphertext feed-back decryption mode for lazy bytestrings (with s
 == blockSize)</p></div><p class="src"><a id="v:ofbLazy" class="def">ofbLazy</a> :: k -&gt; <a href="file:///usr/share/doc/libghc-crypto-api-doc/html/Crypto-Types.html#t:IV">IV</a> k -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString-Lazy.html#t:ByteString">ByteString</a> -&gt; (<a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString-Lazy.html#t:ByteString">ByteString</a>, <a href="file:///usr/share/doc/libghc-crypto-api-doc/html/Crypto-Types.html#t:IV">IV</a> k) <a href="#v:ofbLazy" class="selflink">#</a></p><div class="doc"><p>Output feedback mode for lazy bytestrings</p></div><p class="src"><a id="v:unOfbLazy" class="def">unOfbLazy</a> :: k -&gt; <a href="file:///usr/share/doc/libghc-crypto-api-doc/html/Crypto-Types.html#t:IV">IV</a> k -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString-Lazy.html#t:ByteString">ByteString</a> -&gt; (<a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString-Lazy.html#t:ByteString">ByteString</a>, <a href="file:///usr/share/doc/libghc-crypto-api-doc/html/Crypto-Types.html#t:IV">IV</a> k) <a href="#v:unOfbLazy" class="selflink">#</a></p><div class="doc"><p>Output feedback mode for lazy bytestrings</p></div></div></div><div class="top"><p class="src"><a id="v:buildKeyIO" class="def">buildKeyIO</a> :: <a href="Crypto-Cipher-AES128.html#t:BlockCipher">BlockCipher</a> k =&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/System-IO.html#t:IO">IO</a> k <a href="#v:buildKeyIO" class="selflink">#</a></p><div class="doc"><p>Build a symmetric key using the system entropy (see <code><a href="System.html#v:Entropy">Entropy</a></code>)</p></div></div><div class="top"><p class="src"><a id="v:zeroIV" class="def">zeroIV</a> :: <a href="Crypto-Cipher-AES128.html#t:BlockCipher">BlockCipher</a> k =&gt; <a href="file:///usr/share/doc/libghc-crypto-api-doc/html/Crypto-Types.html#t:IV">IV</a> k <a href="#v:zeroIV" class="selflink">#</a></p><div class="doc"><p>Obtain an <code><a href="file:///usr/share/doc/libghc-crypto-api-doc/html/Crypto-Types.html#t:IV">IV</a></code> made only of zeroes</p></div></div><h1 id="g:2">GCM Operations</h1><div class="top"><p class="src"><a id="v:makeGCMCtx" class="def">makeGCMCtx</a> :: <a href="Crypto-Cipher-AES128.html#t:AES_GCM">AES_GCM</a> k =&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString.html#t:ByteString">ByteString</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (<a href="Crypto-Cipher-AES128.html#t:GCMCtx">GCMCtx</a> k) <a href="src/Crypto-Cipher-AES128.html#makeGCMCtx" class="link">Source</a> <a href="#v:makeGCMCtx" class="selflink">#</a></p><div class="doc"><p>Given key material produce a context useful for GCM operations</p></div></div><div class="top"><p class="src"><a id="v:aesKeyToGCM" class="def">aesKeyToGCM</a> :: <a href="Crypto-Cipher-AES128.html#t:AES_GCM">AES_GCM</a> k =&gt; k -&gt; <a href="Crypto-Cipher-AES128.html#t:GCMCtx">GCMCtx</a> k <a href="src/Crypto-Cipher-AES128.html#aesKeyToGCM" class="link">Source</a> <a href="#v:aesKeyToGCM" class="selflink">#</a></p><div class="doc"><p>Given an AESKey produce a GCM Context.</p></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:GCMCtx" class="def">GCMCtx</a> k <a href="src/Crypto-Cipher-AES128.html#GCMCtx" class="link">Source</a> <a href="#t:GCMCtx" class="selflink">#</a></p><div class="doc"><p>A tuple of key and precomputed data for use by GCM</p></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:AuthTag" class="def">AuthTag</a> <a href="src/Crypto-Cipher-AES128.html#AuthTag" class="link">Source</a> <a href="#t:AuthTag" class="selflink">#</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:AuthTag" class="def">AuthTag</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><ul><li><dfn class="src"><a id="v:unAuthTag" class="def">unAuthTag</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString.html#t:ByteString">ByteString</a></dfn><div class="doc empty">&nbsp;</div></li></ul></div></td></tr></table></div><div class="subs instances"><p id="control.i:AuthTag" class="caption collapser" onclick="toggleSection('i:AuthTag')">Instances</p><div id="section.i:AuthTag" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:AuthTag:Eq:1" class="instance expander" onclick="toggleSection('i:id:AuthTag:Eq:1')"></span> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Crypto-Cipher-AES128.html#t:AuthTag">AuthTag</a></span> <a href="src/Crypto-Cipher-AES128.html#line-172" class="link">Source</a> <a href="#t:AuthTag" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:AuthTag:Eq:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Crypto-Cipher-AES128.html#t:AuthTag">AuthTag</a> -&gt; <a href="Crypto-Cipher-AES128.html#t:AuthTag">AuthTag</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Crypto-Cipher-AES128.html#t:AuthTag">AuthTag</a> -&gt; <a href="Crypto-Cipher-AES128.html#t:AuthTag">AuthTag</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">class</span> (<a href="Crypto-Cipher-AES128.html#t:BlockCipher">BlockCipher</a> k, <a href="Crypto-Cipher-AES128-Internal.html#t:GetExpanded">GetExpanded</a> k) =&gt; <a id="t:AES_GCM" class="def">AES_GCM</a> k <a href="src/Crypto-Cipher-AES128.html#AES_GCM" class="link">Source</a> <a href="#t:AES_GCM" class="selflink">#</a></p><div class="subs instances"><p id="control.i:AES_GCM" class="caption collapser" onclick="toggleSection('i:AES_GCM')">Instances</p><div id="section.i:AES_GCM" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:AES_GCM:AES_GCM:1" class="instance expander" onclick="toggleSection('i:ic:AES_GCM:AES_GCM:1')"></span> <a href="Crypto-Cipher-AES128.html#t:AES_GCM">AES_GCM</a> <a href="Crypto-Cipher-AES128.html#t:AESKey256">AESKey256</a></span> <a href="src/Crypto-Cipher-AES128.html#line-179" class="link">Source</a> <a href="#t:AES_GCM" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:ic:AES_GCM:AES_GCM:1" class="inst-details hide"></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:AES_GCM:AES_GCM:2" class="instance expander" onclick="toggleSection('i:ic:AES_GCM:AES_GCM:2')"></span> <a href="Crypto-Cipher-AES128.html#t:AES_GCM">AES_GCM</a> <a href="Crypto-Cipher-AES128.html#t:AESKey192">AESKey192</a></span> <a href="src/Crypto-Cipher-AES128.html#line-178" class="link">Source</a> <a href="#t:AES_GCM" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:ic:AES_GCM:AES_GCM:2" class="inst-details hide"></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:AES_GCM:AES_GCM:3" class="instance expander" onclick="toggleSection('i:ic:AES_GCM:AES_GCM:3')"></span> <a href="Crypto-Cipher-AES128.html#t:AES_GCM">AES_GCM</a> <a href="Crypto-Cipher-AES128.html#t:AESKey128">AESKey128</a></span> <a href="src/Crypto-Cipher-AES128.html#line-177" class="link">Source</a> <a href="#t:AES_GCM" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:ic:AES_GCM:AES_GCM:3" class="inst-details hide"></div></td></tr></table></div></div></div><div class="top"><p class="src"><a id="v:encryptGCM" class="def">encryptGCM</a> <a href="src/Crypto-Cipher-AES128.html#encryptGCM" class="link">Source</a> <a href="#v:encryptGCM" class="selflink">#</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: <a href="Crypto-Cipher-AES128.html#t:AES_GCM">AES_GCM</a> k</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src">=&gt; <a href="Crypto-Cipher-AES128.html#t:GCMCtx">GCMCtx</a> k</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src">-&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString.html#t:ByteString">ByteString</a></td><td class="doc"><p>IV</p></td></tr><tr><td class="src">-&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString.html#t:ByteString">ByteString</a></td><td class="doc"><p>Plaintext</p></td></tr><tr><td class="src">-&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString.html#t:ByteString">ByteString</a></td><td class="doc"><p>AAD</p></td></tr><tr><td class="src">-&gt; (<a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString.html#t:ByteString">ByteString</a>, <a href="Crypto-Cipher-AES128.html#t:AuthTag">AuthTag</a>)</td><td class="doc empty">&nbsp;</td></tr></table></div><div class="doc"><p>Encrypts multiple-of-block-sized input, returning a bytestring and tag.</p></div></div><div class="top"><p class="src"><a id="v:decryptGCM" class="def">decryptGCM</a> <a href="src/Crypto-Cipher-AES128.html#decryptGCM" class="link">Source</a> <a href="#v:decryptGCM" class="selflink">#</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: <a href="Crypto-Cipher-AES128.html#t:AES_GCM">AES_GCM</a> k</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src">=&gt; <a href="Crypto-Cipher-AES128.html#t:GCMCtx">GCMCtx</a> k</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src">-&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString.html#t:ByteString">ByteString</a></td><td class="doc"><p>IV</p></td></tr><tr><td class="src">-&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString.html#t:ByteString">ByteString</a></td><td class="doc"><p>Ciphertext</p></td></tr><tr><td class="src">-&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString.html#t:ByteString">ByteString</a></td><td class="doc"><p>AAD</p></td></tr><tr><td class="src">-&gt; (<a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString.html#t:ByteString">ByteString</a>, <a href="Crypto-Cipher-AES128.html#t:AuthTag">AuthTag</a>)</td><td class="doc"><p>Plaintext and incremented context (or an error)</p></td></tr></table></div><div class="doc"><p>Decrypts multiple-of-block-sized input, returing a bytestring of the
 [ctr, ct, tag].</p></div></div><h1>Orphan instances</h1><div id="section.orphans" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:o:ic:Serialize:Serialize:1" class="instance expander" onclick="toggleSection('i:o:ic:Serialize:Serialize:1')"></span> <a href="file:///usr/share/doc/libghc-cereal-doc/html/Data-Serialize.html#t:Serialize">Serialize</a> <a href="Crypto-Cipher-AES128.html#t:AESKey256">AESKey256</a></span> <a href="src/Crypto-Cipher-AES128.html#line-54" class="link">Source</a> <a href="#v:-36-fSerializeAESKey256" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:o:ic:Serialize:Serialize:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:put">put</a> :: <a href="file:///usr/share/doc/libghc-cereal-doc/html/Data-Serialize-Put.html#t:Putter">Putter</a> <a href="Crypto-Cipher-AES128.html#t:AESKey256">AESKey256</a> <a href="#v:put" class="selflink">#</a></p><p class="src"><a href="#v:get">get</a> :: <a href="file:///usr/share/doc/libghc-cereal-doc/html/Data-Serialize-Get.html#t:Get">Get</a> <a href="Crypto-Cipher-AES128.html#t:AESKey256">AESKey256</a> <a href="#v:get" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:o:ic:Serialize:Serialize:2" class="instance expander" onclick="toggleSection('i:o:ic:Serialize:Serialize:2')"></span> <a href="file:///usr/share/doc/libghc-cereal-doc/html/Data-Serialize.html#t:Serialize">Serialize</a> <a href="Crypto-Cipher-AES128.html#t:AESKey192">AESKey192</a></span> <a href="src/Crypto-Cipher-AES128.html#line-41" class="link">Source</a> <a href="#v:-36-fSerializeAESKey192" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:o:ic:Serialize:Serialize:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:put">put</a> :: <a href="file:///usr/share/doc/libghc-cereal-doc/html/Data-Serialize-Put.html#t:Putter">Putter</a> <a href="Crypto-Cipher-AES128.html#t:AESKey192">AESKey192</a> <a href="#v:put" class="selflink">#</a></p><p class="src"><a href="#v:get">get</a> :: <a href="file:///usr/share/doc/libghc-cereal-doc/html/Data-Serialize-Get.html#t:Get">Get</a> <a href="Crypto-Cipher-AES128.html#t:AESKey192">AESKey192</a> <a href="#v:get" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:o:ic:Serialize:Serialize:3" class="instance expander" onclick="toggleSection('i:o:ic:Serialize:Serialize:3')"></span> <a href="file:///usr/share/doc/libghc-cereal-doc/html/Data-Serialize.html#t:Serialize">Serialize</a> <a href="Crypto-Cipher-AES128.html#t:AESKey128">AESKey128</a></span> <a href="src/Crypto-Cipher-AES128.html#line-29" class="link">Source</a> <a href="#v:-36-fSerializeAESKey128" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:o:ic:Serialize:Serialize:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:put">put</a> :: <a href="file:///usr/share/doc/libghc-cereal-doc/html/Data-Serialize-Put.html#t:Putter">Putter</a> <a href="Crypto-Cipher-AES128.html#t:AESKey128">AESKey128</a> <a href="#v:put" class="selflink">#</a></p><p class="src"><a href="#v:get">get</a> :: <a href="file:///usr/share/doc/libghc-cereal-doc/html/Data-Serialize-Get.html#t:Get">Get</a> <a href="Crypto-Cipher-AES128.html#t:AESKey128">AESKey128</a> <a href="#v:get" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:o:ic:BlockCipher:BlockCipher:4" class="instance expander" onclick="toggleSection('i:o:ic:BlockCipher:BlockCipher:4')"></span> <a href="Crypto-Cipher-AES128.html#t:BlockCipher">BlockCipher</a> <a href="Crypto-Cipher-AES128.html#t:AESKey256">AESKey256</a></span> <a href="src/Crypto-Cipher-AES128.html#line-131" class="link">Source</a> <a href="#v:-36-fBlockCipherAESKey256" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:o:ic:BlockCipher:BlockCipher:4" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:blockSize">blockSize</a> :: <a href="file:///usr/share/doc/libghc-tagged-doc/html/Data-Tagged.html#t:Tagged">Tagged</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> <a href="Crypto-Cipher-AES128.html#t:AESKey256">AESKey256</a> <a href="file:///usr/share/doc/libghc-crypto-api-doc/html/Crypto-Types.html#t:BitLength">BitLength</a> <a href="#v:blockSize" class="selflink">#</a></p><p class="src"><a href="#v:encryptBlock">encryptBlock</a> :: <a href="Crypto-Cipher-AES128.html#t:AESKey256">AESKey256</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString.html#t:ByteString">ByteString</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString.html#t:ByteString">ByteString</a> <a href="#v:encryptBlock" class="selflink">#</a></p><p class="src"><a href="#v:decryptBlock">decryptBlock</a> :: <a href="Crypto-Cipher-AES128.html#t:AESKey256">AESKey256</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString.html#t:ByteString">ByteString</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString.html#t:ByteString">ByteString</a> <a href="#v:decryptBlock" class="selflink">#</a></p><p class="src"><a href="#v:buildKey">buildKey</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString.html#t:ByteString">ByteString</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Crypto-Cipher-AES128.html#t:AESKey256">AESKey256</a> <a href="#v:buildKey" class="selflink">#</a></p><p class="src"><a href="#v:keyLength">keyLength</a> :: <a href="file:///usr/share/doc/libghc-tagged-doc/html/Data-Tagged.html#t:Tagged">Tagged</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> <a href="Crypto-Cipher-AES128.html#t:AESKey256">AESKey256</a> <a href="file:///usr/share/doc/libghc-crypto-api-doc/html/Crypto-Types.html#t:BitLength">BitLength</a> <a href="#v:keyLength" class="selflink">#</a></p><p class="src"><a href="#v:ecb">ecb</a> :: <a href="Crypto-Cipher-AES128.html#t:AESKey256">AESKey256</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString.html#t:ByteString">ByteString</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString.html#t:ByteString">ByteString</a> <a href="#v:ecb" class="selflink">#</a></p><p class="src"><a href="#v:unEcb">unEcb</a> :: <a href="Crypto-Cipher-AES128.html#t:AESKey256">AESKey256</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString.html#t:ByteString">ByteString</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString.html#t:ByteString">ByteString</a> <a href="#v:unEcb" class="selflink">#</a></p><p class="src"><a href="#v:cbc">cbc</a> :: <a href="Crypto-Cipher-AES128.html#t:AESKey256">AESKey256</a> -&gt; <a href="file:///usr/share/doc/libghc-crypto-api-doc/html/Crypto-Types.html#t:IV">IV</a> <a href="Crypto-Cipher-AES128.html#t:AESKey256">AESKey256</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString.html#t:ByteString">ByteString</a> -&gt; (<a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString.html#t:ByteString">ByteString</a>, <a href="file:///usr/share/doc/libghc-crypto-api-doc/html/Crypto-Types.html#t:IV">IV</a> <a href="Crypto-Cipher-AES128.html#t:AESKey256">AESKey256</a>) <a href="#v:cbc" class="selflink">#</a></p><p class="src"><a href="#v:unCbc">unCbc</a> :: <a href="Crypto-Cipher-AES128.html#t:AESKey256">AESKey256</a> -&gt; <a href="file:///usr/share/doc/libghc-crypto-api-doc/html/Crypto-Types.html#t:IV">IV</a> <a href="Crypto-Cipher-AES128.html#t:AESKey256">AESKey256</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString.html#t:ByteString">ByteString</a> -&gt; (<a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString.html#t:ByteString">ByteString</a>, <a href="file:///usr/share/doc/libghc-crypto-api-doc/html/Crypto-Types.html#t:IV">IV</a> <a href="Crypto-Cipher-AES128.html#t:AESKey256">AESKey256</a>) <a href="#v:unCbc" class="selflink">#</a></p><p class="src"><a href="#v:ctr">ctr</a> :: <a href="Crypto-Cipher-AES128.html#t:AESKey256">AESKey256</a> -&gt; <a href="file:///usr/share/doc/libghc-crypto-api-doc/html/Crypto-Types.html#t:IV">IV</a> <a href="Crypto-Cipher-AES128.html#t:AESKey256">AESKey256</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString.html#t:ByteString">ByteString</a> -&gt; (<a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString.html#t:ByteString">ByteString</a>, <a href="file:///usr/share/doc/libghc-crypto-api-doc/html/Crypto-Types.html#t:IV">IV</a> <a href="Crypto-Cipher-AES128.html#t:AESKey256">AESKey256</a>) <a href="#v:ctr" class="selflink">#</a></p><p class="src"><a href="#v:unCtr">unCtr</a> :: <a href="Crypto-Cipher-AES128.html#t:AESKey256">AESKey256</a> -&gt; <a href="file:///usr/share/doc/libghc-crypto-api-doc/html/Crypto-Types.html#t:IV">IV</a> <a href="Crypto-Cipher-AES128.html#t:AESKey256">AESKey256</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString.html#t:ByteString">ByteString</a> -&gt; (<a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString.html#t:ByteString">ByteString</a>, <a href="file:///usr/share/doc/libghc-crypto-api-doc/html/Crypto-Types.html#t:IV">IV</a> <a href="Crypto-Cipher-AES128.html#t:AESKey256">AESKey256</a>) <a href="#v:unCtr" class="selflink">#</a></p><p class="src"><a href="#v:ctrLazy">ctrLazy</a> :: <a href="Crypto-Cipher-AES128.html#t:AESKey256">AESKey256</a> -&gt; <a href="file:///usr/share/doc/libghc-crypto-api-doc/html/Crypto-Types.html#t:IV">IV</a> <a href="Crypto-Cipher-AES128.html#t:AESKey256">AESKey256</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString-Lazy.html#t:ByteString">ByteString</a> -&gt; (<a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString-Lazy.html#t:ByteString">ByteString</a>, <a href="file:///usr/share/doc/libghc-crypto-api-doc/html/Crypto-Types.html#t:IV">IV</a> <a href="Crypto-Cipher-AES128.html#t:AESKey256">AESKey256</a>) <a href="#v:ctrLazy" class="selflink">#</a></p><p class="src"><a href="#v:unCtrLazy">unCtrLazy</a> :: <a href="Crypto-Cipher-AES128.html#t:AESKey256">AESKey256</a> -&gt; <a href="file:///usr/share/doc/libghc-crypto-api-doc/html/Crypto-Types.html#t:IV">IV</a> <a href="Crypto-Cipher-AES128.html#t:AESKey256">AESKey256</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString-Lazy.html#t:ByteString">ByteString</a> -&gt; (<a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString-Lazy.html#t:ByteString">ByteString</a>, <a href="file:///usr/share/doc/libghc-crypto-api-doc/html/Crypto-Types.html#t:IV">IV</a> <a href="Crypto-Cipher-AES128.html#t:AESKey256">AESKey256</a>) <a href="#v:unCtrLazy" class="selflink">#</a></p><p class="src"><a href="#v:cfb">cfb</a> :: <a href="Crypto-Cipher-AES128.html#t:AESKey256">AESKey256</a> -&gt; <a href="file:///usr/share/doc/libghc-crypto-api-doc/html/Crypto-Types.html#t:IV">IV</a> <a href="Crypto-Cipher-AES128.html#t:AESKey256">AESKey256</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString.html#t:ByteString">ByteString</a> -&gt; (<a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString.html#t:ByteString">ByteString</a>, <a href="file:///usr/share/doc/libghc-crypto-api-doc/html/Crypto-Types.html#t:IV">IV</a> <a href="Crypto-Cipher-AES128.html#t:AESKey256">AESKey256</a>) <a href="#v:cfb" class="selflink">#</a></p><p class="src"><a href="#v:unCfb">unCfb</a> :: <a href="Crypto-Cipher-AES128.html#t:AESKey256">AESKey256</a> -&gt; <a href="file:///usr/share/doc/libghc-crypto-api-doc/html/Crypto-Types.html#t:IV">IV</a> <a href="Crypto-Cipher-AES128.html#t:AESKey256">AESKey256</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString.html#t:ByteString">ByteString</a> -&gt; (<a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString.html#t:ByteString">ByteString</a>, <a href="file:///usr/share/doc/libghc-crypto-api-doc/html/Crypto-Types.html#t:IV">IV</a> <a href="Crypto-Cipher-AES128.html#t:AESKey256">AESKey256</a>) <a href="#v:unCfb" class="selflink">#</a></p><p class="src"><a href="#v:ofb">ofb</a> :: <a href="Crypto-Cipher-AES128.html#t:AESKey256">AESKey256</a> -&gt; <a href="file:///usr/share/doc/libghc-crypto-api-doc/html/Crypto-Types.html#t:IV">IV</a> <a href="Crypto-Cipher-AES128.html#t:AESKey256">AESKey256</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString.html#t:ByteString">ByteString</a> -&gt; (<a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString.html#t:ByteString">ByteString</a>, <a href="file:///usr/share/doc/libghc-crypto-api-doc/html/Crypto-Types.html#t:IV">IV</a> <a href="Crypto-Cipher-AES128.html#t:AESKey256">AESKey256</a>) <a href="#v:ofb" class="selflink">#</a></p><p class="src"><a href="#v:unOfb">unOfb</a> :: <a href="Crypto-Cipher-AES128.html#t:AESKey256">AESKey256</a> -&gt; <a href="file:///usr/share/doc/libghc-crypto-api-doc/html/Crypto-Types.html#t:IV">IV</a> <a href="Crypto-Cipher-AES128.html#t:AESKey256">AESKey256</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString.html#t:ByteString">ByteString</a> -&gt; (<a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString.html#t:ByteString">ByteString</a>, <a href="file:///usr/share/doc/libghc-crypto-api-doc/html/Crypto-Types.html#t:IV">IV</a> <a href="Crypto-Cipher-AES128.html#t:AESKey256">AESKey256</a>) <a href="#v:unOfb" class="selflink">#</a></p><p class="src"><a href="#v:cbcLazy">cbcLazy</a> :: <a href="Crypto-Cipher-AES128.html#t:AESKey256">AESKey256</a> -&gt; <a href="file:///usr/share/doc/libghc-crypto-api-doc/html/Crypto-Types.html#t:IV">IV</a> <a href="Crypto-Cipher-AES128.html#t:AESKey256">AESKey256</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString-Lazy.html#t:ByteString">ByteString</a> -&gt; (<a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString-Lazy.html#t:ByteString">ByteString</a>, <a href="file:///usr/share/doc/libghc-crypto-api-doc/html/Crypto-Types.html#t:IV">IV</a> <a href="Crypto-Cipher-AES128.html#t:AESKey256">AESKey256</a>) <a href="#v:cbcLazy" class="selflink">#</a></p><p class="src"><a href="#v:unCbcLazy">unCbcLazy</a> :: <a href="Crypto-Cipher-AES128.html#t:AESKey256">AESKey256</a> -&gt; <a href="file:///usr/share/doc/libghc-crypto-api-doc/html/Crypto-Types.html#t:IV">IV</a> <a href="Crypto-Cipher-AES128.html#t:AESKey256">AESKey256</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString-Lazy.html#t:ByteString">ByteString</a> -&gt; (<a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString-Lazy.html#t:ByteString">ByteString</a>, <a href="file:///usr/share/doc/libghc-crypto-api-doc/html/Crypto-Types.html#t:IV">IV</a> <a href="Crypto-Cipher-AES128.html#t:AESKey256">AESKey256</a>) <a href="#v:unCbcLazy" class="selflink">#</a></p><p class="src"><a href="#v:sivLazy">sivLazy</a> :: <a href="Crypto-Cipher-AES128.html#t:AESKey256">AESKey256</a> -&gt; <a href="Crypto-Cipher-AES128.html#t:AESKey256">AESKey256</a> -&gt; [<a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString-Lazy.html#t:ByteString">ByteString</a>] -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString-Lazy.html#t:ByteString">ByteString</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString-Lazy.html#t:ByteString">ByteString</a> <a href="#v:sivLazy" class="selflink">#</a></p><p class="src"><a href="#v:unSivLazy">unSivLazy</a> :: <a href="Crypto-Cipher-AES128.html#t:AESKey256">AESKey256</a> -&gt; <a href="Crypto-Cipher-AES128.html#t:AESKey256">AESKey256</a> -&gt; [<a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString-Lazy.html#t:ByteString">ByteString</a>] -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString-Lazy.html#t:ByteString">ByteString</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString-Lazy.html#t:ByteString">ByteString</a> <a href="#v:unSivLazy" class="selflink">#</a></p><p class="src"><a href="#v:siv">siv</a> :: <a href="Crypto-Cipher-AES128.html#t:AESKey256">AESKey256</a> -&gt; <a href="Crypto-Cipher-AES128.html#t:AESKey256">AESKey256</a> -&gt; [<a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString.html#t:ByteString">ByteString</a>] -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString.html#t:ByteString">ByteString</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString.html#t:ByteString">ByteString</a> <a href="#v:siv" class="selflink">#</a></p><p class="src"><a href="#v:unSiv">unSiv</a> :: <a href="Crypto-Cipher-AES128.html#t:AESKey256">AESKey256</a> -&gt; <a href="Crypto-Cipher-AES128.html#t:AESKey256">AESKey256</a> -&gt; [<a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString.html#t:ByteString">ByteString</a>] -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString.html#t:ByteString">ByteString</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString.html#t:ByteString">ByteString</a> <a href="#v:unSiv" class="selflink">#</a></p><p class="src"><a href="#v:ecbLazy">ecbLazy</a> :: <a href="Crypto-Cipher-AES128.html#t:AESKey256">AESKey256</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString-Lazy.html#t:ByteString">ByteString</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString-Lazy.html#t:ByteString">ByteString</a> <a href="#v:ecbLazy" class="selflink">#</a></p><p class="src"><a href="#v:unEcbLazy">unEcbLazy</a> :: <a href="Crypto-Cipher-AES128.html#t:AESKey256">AESKey256</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString-Lazy.html#t:ByteString">ByteString</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString-Lazy.html#t:ByteString">ByteString</a> <a href="#v:unEcbLazy" class="selflink">#</a></p><p class="src"><a href="#v:cfbLazy">cfbLazy</a> :: <a href="Crypto-Cipher-AES128.html#t:AESKey256">AESKey256</a> -&gt; <a href="file:///usr/share/doc/libghc-crypto-api-doc/html/Crypto-Types.html#t:IV">IV</a> <a href="Crypto-Cipher-AES128.html#t:AESKey256">AESKey256</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString-Lazy.html#t:ByteString">ByteString</a> -&gt; (<a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString-Lazy.html#t:ByteString">ByteString</a>, <a href="file:///usr/share/doc/libghc-crypto-api-doc/html/Crypto-Types.html#t:IV">IV</a> <a href="Crypto-Cipher-AES128.html#t:AESKey256">AESKey256</a>) <a href="#v:cfbLazy" class="selflink">#</a></p><p class="src"><a href="#v:unCfbLazy">unCfbLazy</a> :: <a href="Crypto-Cipher-AES128.html#t:AESKey256">AESKey256</a> -&gt; <a href="file:///usr/share/doc/libghc-crypto-api-doc/html/Crypto-Types.html#t:IV">IV</a> <a href="Crypto-Cipher-AES128.html#t:AESKey256">AESKey256</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString-Lazy.html#t:ByteString">ByteString</a> -&gt; (<a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString-Lazy.html#t:ByteString">ByteString</a>, <a href="file:///usr/share/doc/libghc-crypto-api-doc/html/Crypto-Types.html#t:IV">IV</a> <a href="Crypto-Cipher-AES128.html#t:AESKey256">AESKey256</a>) <a href="#v:unCfbLazy" class="selflink">#</a></p><p class="src"><a href="#v:ofbLazy">ofbLazy</a> :: <a href="Crypto-Cipher-AES128.html#t:AESKey256">AESKey256</a> -&gt; <a href="file:///usr/share/doc/libghc-crypto-api-doc/html/Crypto-Types.html#t:IV">IV</a> <a href="Crypto-Cipher-AES128.html#t:AESKey256">AESKey256</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString-Lazy.html#t:ByteString">ByteString</a> -&gt; (<a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString-Lazy.html#t:ByteString">ByteString</a>, <a href="file:///usr/share/doc/libghc-crypto-api-doc/html/Crypto-Types.html#t:IV">IV</a> <a href="Crypto-Cipher-AES128.html#t:AESKey256">AESKey256</a>) <a href="#v:ofbLazy" class="selflink">#</a></p><p class="src"><a href="#v:unOfbLazy">unOfbLazy</a> :: <a href="Crypto-Cipher-AES128.html#t:AESKey256">AESKey256</a> -&gt; <a href="file:///usr/share/doc/libghc-crypto-api-doc/html/Crypto-Types.html#t:IV">IV</a> <a href="Crypto-Cipher-AES128.html#t:AESKey256">AESKey256</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString-Lazy.html#t:ByteString">ByteString</a> -&gt; (<a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString-Lazy.html#t:ByteString">ByteString</a>, <a href="file:///usr/share/doc/libghc-crypto-api-doc/html/Crypto-Types.html#t:IV">IV</a> <a href="Crypto-Cipher-AES128.html#t:AESKey256">AESKey256</a>) <a href="#v:unOfbLazy" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:o:ic:BlockCipher:BlockCipher:5" class="instance expander" onclick="toggleSection('i:o:ic:BlockCipher:BlockCipher:5')"></span> <a href="Crypto-Cipher-AES128.html#t:BlockCipher">BlockCipher</a> <a href="Crypto-Cipher-AES128.html#t:AESKey192">AESKey192</a></span> <a href="src/Crypto-Cipher-AES128.html#line-101" class="link">Source</a> <a href="#v:-36-fBlockCipherAESKey192" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:o:ic:BlockCipher:BlockCipher:5" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:blockSize">blockSize</a> :: <a href="file:///usr/share/doc/libghc-tagged-doc/html/Data-Tagged.html#t:Tagged">Tagged</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> <a href="Crypto-Cipher-AES128.html#t:AESKey192">AESKey192</a> <a href="file:///usr/share/doc/libghc-crypto-api-doc/html/Crypto-Types.html#t:BitLength">BitLength</a> <a href="#v:blockSize" class="selflink">#</a></p><p class="src"><a href="#v:encryptBlock">encryptBlock</a> :: <a href="Crypto-Cipher-AES128.html#t:AESKey192">AESKey192</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString.html#t:ByteString">ByteString</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString.html#t:ByteString">ByteString</a> <a href="#v:encryptBlock" class="selflink">#</a></p><p class="src"><a href="#v:decryptBlock">decryptBlock</a> :: <a href="Crypto-Cipher-AES128.html#t:AESKey192">AESKey192</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString.html#t:ByteString">ByteString</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString.html#t:ByteString">ByteString</a> <a href="#v:decryptBlock" class="selflink">#</a></p><p class="src"><a href="#v:buildKey">buildKey</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString.html#t:ByteString">ByteString</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Crypto-Cipher-AES128.html#t:AESKey192">AESKey192</a> <a href="#v:buildKey" class="selflink">#</a></p><p class="src"><a href="#v:keyLength">keyLength</a> :: <a href="file:///usr/share/doc/libghc-tagged-doc/html/Data-Tagged.html#t:Tagged">Tagged</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> <a href="Crypto-Cipher-AES128.html#t:AESKey192">AESKey192</a> <a href="file:///usr/share/doc/libghc-crypto-api-doc/html/Crypto-Types.html#t:BitLength">BitLength</a> <a href="#v:keyLength" class="selflink">#</a></p><p class="src"><a href="#v:ecb">ecb</a> :: <a href="Crypto-Cipher-AES128.html#t:AESKey192">AESKey192</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString.html#t:ByteString">ByteString</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString.html#t:ByteString">ByteString</a> <a href="#v:ecb" class="selflink">#</a></p><p class="src"><a href="#v:unEcb">unEcb</a> :: <a href="Crypto-Cipher-AES128.html#t:AESKey192">AESKey192</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString.html#t:ByteString">ByteString</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString.html#t:ByteString">ByteString</a> <a href="#v:unEcb" class="selflink">#</a></p><p class="src"><a href="#v:cbc">cbc</a> :: <a href="Crypto-Cipher-AES128.html#t:AESKey192">AESKey192</a> -&gt; <a href="file:///usr/share/doc/libghc-crypto-api-doc/html/Crypto-Types.html#t:IV">IV</a> <a href="Crypto-Cipher-AES128.html#t:AESKey192">AESKey192</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString.html#t:ByteString">ByteString</a> -&gt; (<a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString.html#t:ByteString">ByteString</a>, <a href="file:///usr/share/doc/libghc-crypto-api-doc/html/Crypto-Types.html#t:IV">IV</a> <a href="Crypto-Cipher-AES128.html#t:AESKey192">AESKey192</a>) <a href="#v:cbc" class="selflink">#</a></p><p class="src"><a href="#v:unCbc">unCbc</a> :: <a href="Crypto-Cipher-AES128.html#t:AESKey192">AESKey192</a> -&gt; <a href="file:///usr/share/doc/libghc-crypto-api-doc/html/Crypto-Types.html#t:IV">IV</a> <a href="Crypto-Cipher-AES128.html#t:AESKey192">AESKey192</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString.html#t:ByteString">ByteString</a> -&gt; (<a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString.html#t:ByteString">ByteString</a>, <a href="file:///usr/share/doc/libghc-crypto-api-doc/html/Crypto-Types.html#t:IV">IV</a> <a href="Crypto-Cipher-AES128.html#t:AESKey192">AESKey192</a>) <a href="#v:unCbc" class="selflink">#</a></p><p class="src"><a href="#v:ctr">ctr</a> :: <a href="Crypto-Cipher-AES128.html#t:AESKey192">AESKey192</a> -&gt; <a href="file:///usr/share/doc/libghc-crypto-api-doc/html/Crypto-Types.html#t:IV">IV</a> <a href="Crypto-Cipher-AES128.html#t:AESKey192">AESKey192</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString.html#t:ByteString">ByteString</a> -&gt; (<a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString.html#t:ByteString">ByteString</a>, <a href="file:///usr/share/doc/libghc-crypto-api-doc/html/Crypto-Types.html#t:IV">IV</a> <a href="Crypto-Cipher-AES128.html#t:AESKey192">AESKey192</a>) <a href="#v:ctr" class="selflink">#</a></p><p class="src"><a href="#v:unCtr">unCtr</a> :: <a href="Crypto-Cipher-AES128.html#t:AESKey192">AESKey192</a> -&gt; <a href="file:///usr/share/doc/libghc-crypto-api-doc/html/Crypto-Types.html#t:IV">IV</a> <a href="Crypto-Cipher-AES128.html#t:AESKey192">AESKey192</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString.html#t:ByteString">ByteString</a> -&gt; (<a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString.html#t:ByteString">ByteString</a>, <a href="file:///usr/share/doc/libghc-crypto-api-doc/html/Crypto-Types.html#t:IV">IV</a> <a href="Crypto-Cipher-AES128.html#t:AESKey192">AESKey192</a>) <a href="#v:unCtr" class="selflink">#</a></p><p class="src"><a href="#v:ctrLazy">ctrLazy</a> :: <a href="Crypto-Cipher-AES128.html#t:AESKey192">AESKey192</a> -&gt; <a href="file:///usr/share/doc/libghc-crypto-api-doc/html/Crypto-Types.html#t:IV">IV</a> <a href="Crypto-Cipher-AES128.html#t:AESKey192">AESKey192</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString-Lazy.html#t:ByteString">ByteString</a> -&gt; (<a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString-Lazy.html#t:ByteString">ByteString</a>, <a href="file:///usr/share/doc/libghc-crypto-api-doc/html/Crypto-Types.html#t:IV">IV</a> <a href="Crypto-Cipher-AES128.html#t:AESKey192">AESKey192</a>) <a href="#v:ctrLazy" class="selflink">#</a></p><p class="src"><a href="#v:unCtrLazy">unCtrLazy</a> :: <a href="Crypto-Cipher-AES128.html#t:AESKey192">AESKey192</a> -&gt; <a href="file:///usr/share/doc/libghc-crypto-api-doc/html/Crypto-Types.html#t:IV">IV</a> <a href="Crypto-Cipher-AES128.html#t:AESKey192">AESKey192</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString-Lazy.html#t:ByteString">ByteString</a> -&gt; (<a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString-Lazy.html#t:ByteString">ByteString</a>, <a href="file:///usr/share/doc/libghc-crypto-api-doc/html/Crypto-Types.html#t:IV">IV</a> <a href="Crypto-Cipher-AES128.html#t:AESKey192">AESKey192</a>) <a href="#v:unCtrLazy" class="selflink">#</a></p><p class="src"><a href="#v:cfb">cfb</a> :: <a href="Crypto-Cipher-AES128.html#t:AESKey192">AESKey192</a> -&gt; <a href="file:///usr/share/doc/libghc-crypto-api-doc/html/Crypto-Types.html#t:IV">IV</a> <a href="Crypto-Cipher-AES128.html#t:AESKey192">AESKey192</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString.html#t:ByteString">ByteString</a> -&gt; (<a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString.html#t:ByteString">ByteString</a>, <a href="file:///usr/share/doc/libghc-crypto-api-doc/html/Crypto-Types.html#t:IV">IV</a> <a href="Crypto-Cipher-AES128.html#t:AESKey192">AESKey192</a>) <a href="#v:cfb" class="selflink">#</a></p><p class="src"><a href="#v:unCfb">unCfb</a> :: <a href="Crypto-Cipher-AES128.html#t:AESKey192">AESKey192</a> -&gt; <a href="file:///usr/share/doc/libghc-crypto-api-doc/html/Crypto-Types.html#t:IV">IV</a> <a href="Crypto-Cipher-AES128.html#t:AESKey192">AESKey192</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString.html#t:ByteString">ByteString</a> -&gt; (<a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString.html#t:ByteString">ByteString</a>, <a href="file:///usr/share/doc/libghc-crypto-api-doc/html/Crypto-Types.html#t:IV">IV</a> <a href="Crypto-Cipher-AES128.html#t:AESKey192">AESKey192</a>) <a href="#v:unCfb" class="selflink">#</a></p><p class="src"><a href="#v:ofb">ofb</a> :: <a href="Crypto-Cipher-AES128.html#t:AESKey192">AESKey192</a> -&gt; <a href="file:///usr/share/doc/libghc-crypto-api-doc/html/Crypto-Types.html#t:IV">IV</a> <a href="Crypto-Cipher-AES128.html#t:AESKey192">AESKey192</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString.html#t:ByteString">ByteString</a> -&gt; (<a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString.html#t:ByteString">ByteString</a>, <a href="file:///usr/share/doc/libghc-crypto-api-doc/html/Crypto-Types.html#t:IV">IV</a> <a href="Crypto-Cipher-AES128.html#t:AESKey192">AESKey192</a>) <a href="#v:ofb" class="selflink">#</a></p><p class="src"><a href="#v:unOfb">unOfb</a> :: <a href="Crypto-Cipher-AES128.html#t:AESKey192">AESKey192</a> -&gt; <a href="file:///usr/share/doc/libghc-crypto-api-doc/html/Crypto-Types.html#t:IV">IV</a> <a href="Crypto-Cipher-AES128.html#t:AESKey192">AESKey192</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString.html#t:ByteString">ByteString</a> -&gt; (<a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString.html#t:ByteString">ByteString</a>, <a href="file:///usr/share/doc/libghc-crypto-api-doc/html/Crypto-Types.html#t:IV">IV</a> <a href="Crypto-Cipher-AES128.html#t:AESKey192">AESKey192</a>) <a href="#v:unOfb" class="selflink">#</a></p><p class="src"><a href="#v:cbcLazy">cbcLazy</a> :: <a href="Crypto-Cipher-AES128.html#t:AESKey192">AESKey192</a> -&gt; <a href="file:///usr/share/doc/libghc-crypto-api-doc/html/Crypto-Types.html#t:IV">IV</a> <a href="Crypto-Cipher-AES128.html#t:AESKey192">AESKey192</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString-Lazy.html#t:ByteString">ByteString</a> -&gt; (<a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString-Lazy.html#t:ByteString">ByteString</a>, <a href="file:///usr/share/doc/libghc-crypto-api-doc/html/Crypto-Types.html#t:IV">IV</a> <a href="Crypto-Cipher-AES128.html#t:AESKey192">AESKey192</a>) <a href="#v:cbcLazy" class="selflink">#</a></p><p class="src"><a href="#v:unCbcLazy">unCbcLazy</a> :: <a href="Crypto-Cipher-AES128.html#t:AESKey192">AESKey192</a> -&gt; <a href="file:///usr/share/doc/libghc-crypto-api-doc/html/Crypto-Types.html#t:IV">IV</a> <a href="Crypto-Cipher-AES128.html#t:AESKey192">AESKey192</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString-Lazy.html#t:ByteString">ByteString</a> -&gt; (<a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString-Lazy.html#t:ByteString">ByteString</a>, <a href="file:///usr/share/doc/libghc-crypto-api-doc/html/Crypto-Types.html#t:IV">IV</a> <a href="Crypto-Cipher-AES128.html#t:AESKey192">AESKey192</a>) <a href="#v:unCbcLazy" class="selflink">#</a></p><p class="src"><a href="#v:sivLazy">sivLazy</a> :: <a href="Crypto-Cipher-AES128.html#t:AESKey192">AESKey192</a> -&gt; <a href="Crypto-Cipher-AES128.html#t:AESKey192">AESKey192</a> -&gt; [<a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString-Lazy.html#t:ByteString">ByteString</a>] -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString-Lazy.html#t:ByteString">ByteString</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString-Lazy.html#t:ByteString">ByteString</a> <a href="#v:sivLazy" class="selflink">#</a></p><p class="src"><a href="#v:unSivLazy">unSivLazy</a> :: <a href="Crypto-Cipher-AES128.html#t:AESKey192">AESKey192</a> -&gt; <a href="Crypto-Cipher-AES128.html#t:AESKey192">AESKey192</a> -&gt; [<a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString-Lazy.html#t:ByteString">ByteString</a>] -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString-Lazy.html#t:ByteString">ByteString</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString-Lazy.html#t:ByteString">ByteString</a> <a href="#v:unSivLazy" class="selflink">#</a></p><p class="src"><a href="#v:siv">siv</a> :: <a href="Crypto-Cipher-AES128.html#t:AESKey192">AESKey192</a> -&gt; <a href="Crypto-Cipher-AES128.html#t:AESKey192">AESKey192</a> -&gt; [<a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString.html#t:ByteString">ByteString</a>] -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString.html#t:ByteString">ByteString</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString.html#t:ByteString">ByteString</a> <a href="#v:siv" class="selflink">#</a></p><p class="src"><a href="#v:unSiv">unSiv</a> :: <a href="Crypto-Cipher-AES128.html#t:AESKey192">AESKey192</a> -&gt; <a href="Crypto-Cipher-AES128.html#t:AESKey192">AESKey192</a> -&gt; [<a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString.html#t:ByteString">ByteString</a>] -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString.html#t:ByteString">ByteString</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString.html#t:ByteString">ByteString</a> <a href="#v:unSiv" class="selflink">#</a></p><p class="src"><a href="#v:ecbLazy">ecbLazy</a> :: <a href="Crypto-Cipher-AES128.html#t:AESKey192">AESKey192</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString-Lazy.html#t:ByteString">ByteString</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString-Lazy.html#t:ByteString">ByteString</a> <a href="#v:ecbLazy" class="selflink">#</a></p><p class="src"><a href="#v:unEcbLazy">unEcbLazy</a> :: <a href="Crypto-Cipher-AES128.html#t:AESKey192">AESKey192</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString-Lazy.html#t:ByteString">ByteString</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString-Lazy.html#t:ByteString">ByteString</a> <a href="#v:unEcbLazy" class="selflink">#</a></p><p class="src"><a href="#v:cfbLazy">cfbLazy</a> :: <a href="Crypto-Cipher-AES128.html#t:AESKey192">AESKey192</a> -&gt; <a href="file:///usr/share/doc/libghc-crypto-api-doc/html/Crypto-Types.html#t:IV">IV</a> <a href="Crypto-Cipher-AES128.html#t:AESKey192">AESKey192</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString-Lazy.html#t:ByteString">ByteString</a> -&gt; (<a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString-Lazy.html#t:ByteString">ByteString</a>, <a href="file:///usr/share/doc/libghc-crypto-api-doc/html/Crypto-Types.html#t:IV">IV</a> <a href="Crypto-Cipher-AES128.html#t:AESKey192">AESKey192</a>) <a href="#v:cfbLazy" class="selflink">#</a></p><p class="src"><a href="#v:unCfbLazy">unCfbLazy</a> :: <a href="Crypto-Cipher-AES128.html#t:AESKey192">AESKey192</a> -&gt; <a href="file:///usr/share/doc/libghc-crypto-api-doc/html/Crypto-Types.html#t:IV">IV</a> <a href="Crypto-Cipher-AES128.html#t:AESKey192">AESKey192</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString-Lazy.html#t:ByteString">ByteString</a> -&gt; (<a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString-Lazy.html#t:ByteString">ByteString</a>, <a href="file:///usr/share/doc/libghc-crypto-api-doc/html/Crypto-Types.html#t:IV">IV</a> <a href="Crypto-Cipher-AES128.html#t:AESKey192">AESKey192</a>) <a href="#v:unCfbLazy" class="selflink">#</a></p><p class="src"><a href="#v:ofbLazy">ofbLazy</a> :: <a href="Crypto-Cipher-AES128.html#t:AESKey192">AESKey192</a> -&gt; <a href="file:///usr/share/doc/libghc-crypto-api-doc/html/Crypto-Types.html#t:IV">IV</a> <a href="Crypto-Cipher-AES128.html#t:AESKey192">AESKey192</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString-Lazy.html#t:ByteString">ByteString</a> -&gt; (<a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString-Lazy.html#t:ByteString">ByteString</a>, <a href="file:///usr/share/doc/libghc-crypto-api-doc/html/Crypto-Types.html#t:IV">IV</a> <a href="Crypto-Cipher-AES128.html#t:AESKey192">AESKey192</a>) <a href="#v:ofbLazy" class="selflink">#</a></p><p class="src"><a href="#v:unOfbLazy">unOfbLazy</a> :: <a href="Crypto-Cipher-AES128.html#t:AESKey192">AESKey192</a> -&gt; <a href="file:///usr/share/doc/libghc-crypto-api-doc/html/Crypto-Types.html#t:IV">IV</a> <a href="Crypto-Cipher-AES128.html#t:AESKey192">AESKey192</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString-Lazy.html#t:ByteString">ByteString</a> -&gt; (<a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString-Lazy.html#t:ByteString">ByteString</a>, <a href="file:///usr/share/doc/libghc-crypto-api-doc/html/Crypto-Types.html#t:IV">IV</a> <a href="Crypto-Cipher-AES128.html#t:AESKey192">AESKey192</a>) <a href="#v:unOfbLazy" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:o:ic:BlockCipher:BlockCipher:6" class="instance expander" onclick="toggleSection('i:o:ic:BlockCipher:BlockCipher:6')"></span> <a href="Crypto-Cipher-AES128.html#t:BlockCipher">BlockCipher</a> <a href="Crypto-Cipher-AES128.html#t:AESKey128">AESKey128</a></span> <a href="src/Crypto-Cipher-AES128.html#line-68" class="link">Source</a> <a href="#v:-36-fBlockCipherAESKey128" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:o:ic:BlockCipher:BlockCipher:6" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:blockSize">blockSize</a> :: <a href="file:///usr/share/doc/libghc-tagged-doc/html/Data-Tagged.html#t:Tagged">Tagged</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> <a href="Crypto-Cipher-AES128.html#t:AESKey128">AESKey128</a> <a href="file:///usr/share/doc/libghc-crypto-api-doc/html/Crypto-Types.html#t:BitLength">BitLength</a> <a href="#v:blockSize" class="selflink">#</a></p><p class="src"><a href="#v:encryptBlock">encryptBlock</a> :: <a href="Crypto-Cipher-AES128.html#t:AESKey128">AESKey128</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString.html#t:ByteString">ByteString</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString.html#t:ByteString">ByteString</a> <a href="#v:encryptBlock" class="selflink">#</a></p><p class="src"><a href="#v:decryptBlock">decryptBlock</a> :: <a href="Crypto-Cipher-AES128.html#t:AESKey128">AESKey128</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString.html#t:ByteString">ByteString</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString.html#t:ByteString">ByteString</a> <a href="#v:decryptBlock" class="selflink">#</a></p><p class="src"><a href="#v:buildKey">buildKey</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString.html#t:ByteString">ByteString</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Crypto-Cipher-AES128.html#t:AESKey128">AESKey128</a> <a href="#v:buildKey" class="selflink">#</a></p><p class="src"><a href="#v:keyLength">keyLength</a> :: <a href="file:///usr/share/doc/libghc-tagged-doc/html/Data-Tagged.html#t:Tagged">Tagged</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> <a href="Crypto-Cipher-AES128.html#t:AESKey128">AESKey128</a> <a href="file:///usr/share/doc/libghc-crypto-api-doc/html/Crypto-Types.html#t:BitLength">BitLength</a> <a href="#v:keyLength" class="selflink">#</a></p><p class="src"><a href="#v:ecb">ecb</a> :: <a href="Crypto-Cipher-AES128.html#t:AESKey128">AESKey128</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString.html#t:ByteString">ByteString</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString.html#t:ByteString">ByteString</a> <a href="#v:ecb" class="selflink">#</a></p><p class="src"><a href="#v:unEcb">unEcb</a> :: <a href="Crypto-Cipher-AES128.html#t:AESKey128">AESKey128</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString.html#t:ByteString">ByteString</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString.html#t:ByteString">ByteString</a> <a href="#v:unEcb" class="selflink">#</a></p><p class="src"><a href="#v:cbc">cbc</a> :: <a href="Crypto-Cipher-AES128.html#t:AESKey128">AESKey128</a> -&gt; <a href="file:///usr/share/doc/libghc-crypto-api-doc/html/Crypto-Types.html#t:IV">IV</a> <a href="Crypto-Cipher-AES128.html#t:AESKey128">AESKey128</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString.html#t:ByteString">ByteString</a> -&gt; (<a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString.html#t:ByteString">ByteString</a>, <a href="file:///usr/share/doc/libghc-crypto-api-doc/html/Crypto-Types.html#t:IV">IV</a> <a href="Crypto-Cipher-AES128.html#t:AESKey128">AESKey128</a>) <a href="#v:cbc" class="selflink">#</a></p><p class="src"><a href="#v:unCbc">unCbc</a> :: <a href="Crypto-Cipher-AES128.html#t:AESKey128">AESKey128</a> -&gt; <a href="file:///usr/share/doc/libghc-crypto-api-doc/html/Crypto-Types.html#t:IV">IV</a> <a href="Crypto-Cipher-AES128.html#t:AESKey128">AESKey128</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString.html#t:ByteString">ByteString</a> -&gt; (<a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString.html#t:ByteString">ByteString</a>, <a href="file:///usr/share/doc/libghc-crypto-api-doc/html/Crypto-Types.html#t:IV">IV</a> <a href="Crypto-Cipher-AES128.html#t:AESKey128">AESKey128</a>) <a href="#v:unCbc" class="selflink">#</a></p><p class="src"><a href="#v:ctr">ctr</a> :: <a href="Crypto-Cipher-AES128.html#t:AESKey128">AESKey128</a> -&gt; <a href="file:///usr/share/doc/libghc-crypto-api-doc/html/Crypto-Types.html#t:IV">IV</a> <a href="Crypto-Cipher-AES128.html#t:AESKey128">AESKey128</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString.html#t:ByteString">ByteString</a> -&gt; (<a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString.html#t:ByteString">ByteString</a>, <a href="file:///usr/share/doc/libghc-crypto-api-doc/html/Crypto-Types.html#t:IV">IV</a> <a href="Crypto-Cipher-AES128.html#t:AESKey128">AESKey128</a>) <a href="#v:ctr" class="selflink">#</a></p><p class="src"><a href="#v:unCtr">unCtr</a> :: <a href="Crypto-Cipher-AES128.html#t:AESKey128">AESKey128</a> -&gt; <a href="file:///usr/share/doc/libghc-crypto-api-doc/html/Crypto-Types.html#t:IV">IV</a> <a href="Crypto-Cipher-AES128.html#t:AESKey128">AESKey128</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString.html#t:ByteString">ByteString</a> -&gt; (<a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString.html#t:ByteString">ByteString</a>, <a href="file:///usr/share/doc/libghc-crypto-api-doc/html/Crypto-Types.html#t:IV">IV</a> <a href="Crypto-Cipher-AES128.html#t:AESKey128">AESKey128</a>) <a href="#v:unCtr" class="selflink">#</a></p><p class="src"><a href="#v:ctrLazy">ctrLazy</a> :: <a href="Crypto-Cipher-AES128.html#t:AESKey128">AESKey128</a> -&gt; <a href="file:///usr/share/doc/libghc-crypto-api-doc/html/Crypto-Types.html#t:IV">IV</a> <a href="Crypto-Cipher-AES128.html#t:AESKey128">AESKey128</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString-Lazy.html#t:ByteString">ByteString</a> -&gt; (<a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString-Lazy.html#t:ByteString">ByteString</a>, <a href="file:///usr/share/doc/libghc-crypto-api-doc/html/Crypto-Types.html#t:IV">IV</a> <a href="Crypto-Cipher-AES128.html#t:AESKey128">AESKey128</a>) <a href="#v:ctrLazy" class="selflink">#</a></p><p class="src"><a href="#v:unCtrLazy">unCtrLazy</a> :: <a href="Crypto-Cipher-AES128.html#t:AESKey128">AESKey128</a> -&gt; <a href="file:///usr/share/doc/libghc-crypto-api-doc/html/Crypto-Types.html#t:IV">IV</a> <a href="Crypto-Cipher-AES128.html#t:AESKey128">AESKey128</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString-Lazy.html#t:ByteString">ByteString</a> -&gt; (<a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString-Lazy.html#t:ByteString">ByteString</a>, <a href="file:///usr/share/doc/libghc-crypto-api-doc/html/Crypto-Types.html#t:IV">IV</a> <a href="Crypto-Cipher-AES128.html#t:AESKey128">AESKey128</a>) <a href="#v:unCtrLazy" class="selflink">#</a></p><p class="src"><a href="#v:cfb">cfb</a> :: <a href="Crypto-Cipher-AES128.html#t:AESKey128">AESKey128</a> -&gt; <a href="file:///usr/share/doc/libghc-crypto-api-doc/html/Crypto-Types.html#t:IV">IV</a> <a href="Crypto-Cipher-AES128.html#t:AESKey128">AESKey128</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString.html#t:ByteString">ByteString</a> -&gt; (<a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString.html#t:ByteString">ByteString</a>, <a href="file:///usr/share/doc/libghc-crypto-api-doc/html/Crypto-Types.html#t:IV">IV</a> <a href="Crypto-Cipher-AES128.html#t:AESKey128">AESKey128</a>) <a href="#v:cfb" class="selflink">#</a></p><p class="src"><a href="#v:unCfb">unCfb</a> :: <a href="Crypto-Cipher-AES128.html#t:AESKey128">AESKey128</a> -&gt; <a href="file:///usr/share/doc/libghc-crypto-api-doc/html/Crypto-Types.html#t:IV">IV</a> <a href="Crypto-Cipher-AES128.html#t:AESKey128">AESKey128</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString.html#t:ByteString">ByteString</a> -&gt; (<a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString.html#t:ByteString">ByteString</a>, <a href="file:///usr/share/doc/libghc-crypto-api-doc/html/Crypto-Types.html#t:IV">IV</a> <a href="Crypto-Cipher-AES128.html#t:AESKey128">AESKey128</a>) <a href="#v:unCfb" class="selflink">#</a></p><p class="src"><a href="#v:ofb">ofb</a> :: <a href="Crypto-Cipher-AES128.html#t:AESKey128">AESKey128</a> -&gt; <a href="file:///usr/share/doc/libghc-crypto-api-doc/html/Crypto-Types.html#t:IV">IV</a> <a href="Crypto-Cipher-AES128.html#t:AESKey128">AESKey128</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString.html#t:ByteString">ByteString</a> -&gt; (<a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString.html#t:ByteString">ByteString</a>, <a href="file:///usr/share/doc/libghc-crypto-api-doc/html/Crypto-Types.html#t:IV">IV</a> <a href="Crypto-Cipher-AES128.html#t:AESKey128">AESKey128</a>) <a href="#v:ofb" class="selflink">#</a></p><p class="src"><a href="#v:unOfb">unOfb</a> :: <a href="Crypto-Cipher-AES128.html#t:AESKey128">AESKey128</a> -&gt; <a href="file:///usr/share/doc/libghc-crypto-api-doc/html/Crypto-Types.html#t:IV">IV</a> <a href="Crypto-Cipher-AES128.html#t:AESKey128">AESKey128</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString.html#t:ByteString">ByteString</a> -&gt; (<a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString.html#t:ByteString">ByteString</a>, <a href="file:///usr/share/doc/libghc-crypto-api-doc/html/Crypto-Types.html#t:IV">IV</a> <a href="Crypto-Cipher-AES128.html#t:AESKey128">AESKey128</a>) <a href="#v:unOfb" class="selflink">#</a></p><p class="src"><a href="#v:cbcLazy">cbcLazy</a> :: <a href="Crypto-Cipher-AES128.html#t:AESKey128">AESKey128</a> -&gt; <a href="file:///usr/share/doc/libghc-crypto-api-doc/html/Crypto-Types.html#t:IV">IV</a> <a href="Crypto-Cipher-AES128.html#t:AESKey128">AESKey128</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString-Lazy.html#t:ByteString">ByteString</a> -&gt; (<a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString-Lazy.html#t:ByteString">ByteString</a>, <a href="file:///usr/share/doc/libghc-crypto-api-doc/html/Crypto-Types.html#t:IV">IV</a> <a href="Crypto-Cipher-AES128.html#t:AESKey128">AESKey128</a>) <a href="#v:cbcLazy" class="selflink">#</a></p><p class="src"><a href="#v:unCbcLazy">unCbcLazy</a> :: <a href="Crypto-Cipher-AES128.html#t:AESKey128">AESKey128</a> -&gt; <a href="file:///usr/share/doc/libghc-crypto-api-doc/html/Crypto-Types.html#t:IV">IV</a> <a href="Crypto-Cipher-AES128.html#t:AESKey128">AESKey128</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString-Lazy.html#t:ByteString">ByteString</a> -&gt; (<a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString-Lazy.html#t:ByteString">ByteString</a>, <a href="file:///usr/share/doc/libghc-crypto-api-doc/html/Crypto-Types.html#t:IV">IV</a> <a href="Crypto-Cipher-AES128.html#t:AESKey128">AESKey128</a>) <a href="#v:unCbcLazy" class="selflink">#</a></p><p class="src"><a href="#v:sivLazy">sivLazy</a> :: <a href="Crypto-Cipher-AES128.html#t:AESKey128">AESKey128</a> -&gt; <a href="Crypto-Cipher-AES128.html#t:AESKey128">AESKey128</a> -&gt; [<a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString-Lazy.html#t:ByteString">ByteString</a>] -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString-Lazy.html#t:ByteString">ByteString</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString-Lazy.html#t:ByteString">ByteString</a> <a href="#v:sivLazy" class="selflink">#</a></p><p class="src"><a href="#v:unSivLazy">unSivLazy</a> :: <a href="Crypto-Cipher-AES128.html#t:AESKey128">AESKey128</a> -&gt; <a href="Crypto-Cipher-AES128.html#t:AESKey128">AESKey128</a> -&gt; [<a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString-Lazy.html#t:ByteString">ByteString</a>] -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString-Lazy.html#t:ByteString">ByteString</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString-Lazy.html#t:ByteString">ByteString</a> <a href="#v:unSivLazy" class="selflink">#</a></p><p class="src"><a href="#v:siv">siv</a> :: <a href="Crypto-Cipher-AES128.html#t:AESKey128">AESKey128</a> -&gt; <a href="Crypto-Cipher-AES128.html#t:AESKey128">AESKey128</a> -&gt; [<a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString.html#t:ByteString">ByteString</a>] -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString.html#t:ByteString">ByteString</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString.html#t:ByteString">ByteString</a> <a href="#v:siv" class="selflink">#</a></p><p class="src"><a href="#v:unSiv">unSiv</a> :: <a href="Crypto-Cipher-AES128.html#t:AESKey128">AESKey128</a> -&gt; <a href="Crypto-Cipher-AES128.html#t:AESKey128">AESKey128</a> -&gt; [<a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString.html#t:ByteString">ByteString</a>] -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString.html#t:ByteString">ByteString</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString.html#t:ByteString">ByteString</a> <a href="#v:unSiv" class="selflink">#</a></p><p class="src"><a href="#v:ecbLazy">ecbLazy</a> :: <a href="Crypto-Cipher-AES128.html#t:AESKey128">AESKey128</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString-Lazy.html#t:ByteString">ByteString</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString-Lazy.html#t:ByteString">ByteString</a> <a href="#v:ecbLazy" class="selflink">#</a></p><p class="src"><a href="#v:unEcbLazy">unEcbLazy</a> :: <a href="Crypto-Cipher-AES128.html#t:AESKey128">AESKey128</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString-Lazy.html#t:ByteString">ByteString</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString-Lazy.html#t:ByteString">ByteString</a> <a href="#v:unEcbLazy" class="selflink">#</a></p><p class="src"><a href="#v:cfbLazy">cfbLazy</a> :: <a href="Crypto-Cipher-AES128.html#t:AESKey128">AESKey128</a> -&gt; <a href="file:///usr/share/doc/libghc-crypto-api-doc/html/Crypto-Types.html#t:IV">IV</a> <a href="Crypto-Cipher-AES128.html#t:AESKey128">AESKey128</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString-Lazy.html#t:ByteString">ByteString</a> -&gt; (<a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString-Lazy.html#t:ByteString">ByteString</a>, <a href="file:///usr/share/doc/libghc-crypto-api-doc/html/Crypto-Types.html#t:IV">IV</a> <a href="Crypto-Cipher-AES128.html#t:AESKey128">AESKey128</a>) <a href="#v:cfbLazy" class="selflink">#</a></p><p class="src"><a href="#v:unCfbLazy">unCfbLazy</a> :: <a href="Crypto-Cipher-AES128.html#t:AESKey128">AESKey128</a> -&gt; <a href="file:///usr/share/doc/libghc-crypto-api-doc/html/Crypto-Types.html#t:IV">IV</a> <a href="Crypto-Cipher-AES128.html#t:AESKey128">AESKey128</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString-Lazy.html#t:ByteString">ByteString</a> -&gt; (<a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString-Lazy.html#t:ByteString">ByteString</a>, <a href="file:///usr/share/doc/libghc-crypto-api-doc/html/Crypto-Types.html#t:IV">IV</a> <a href="Crypto-Cipher-AES128.html#t:AESKey128">AESKey128</a>) <a href="#v:unCfbLazy" class="selflink">#</a></p><p class="src"><a href="#v:ofbLazy">ofbLazy</a> :: <a href="Crypto-Cipher-AES128.html#t:AESKey128">AESKey128</a> -&gt; <a href="file:///usr/share/doc/libghc-crypto-api-doc/html/Crypto-Types.html#t:IV">IV</a> <a href="Crypto-Cipher-AES128.html#t:AESKey128">AESKey128</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString-Lazy.html#t:ByteString">ByteString</a> -&gt; (<a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString-Lazy.html#t:ByteString">ByteString</a>, <a href="file:///usr/share/doc/libghc-crypto-api-doc/html/Crypto-Types.html#t:IV">IV</a> <a href="Crypto-Cipher-AES128.html#t:AESKey128">AESKey128</a>) <a href="#v:ofbLazy" class="selflink">#</a></p><p class="src"><a href="#v:unOfbLazy">unOfbLazy</a> :: <a href="Crypto-Cipher-AES128.html#t:AESKey128">AESKey128</a> -&gt; <a href="file:///usr/share/doc/libghc-crypto-api-doc/html/Crypto-Types.html#t:IV">IV</a> <a href="Crypto-Cipher-AES128.html#t:AESKey128">AESKey128</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString-Lazy.html#t:ByteString">ByteString</a> -&gt; (<a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString-Lazy.html#t:ByteString">ByteString</a>, <a href="file:///usr/share/doc/libghc-crypto-api-doc/html/Crypto-Types.html#t:IV">IV</a> <a href="Crypto-Cipher-AES128.html#t:AESKey128">AESKey128</a>) <a href="#v:unOfbLazy" class="selflink">#</a></p></div></div></td></tr></table></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.17.3</p></div></body></html>