regenerated documentation

This commit is contained in:
Frank Morgner
2021-04-28 02:13:40 +02:00
parent 29a818c69a
commit 27b3dfb62b
216 changed files with 26154 additions and 24712 deletions

View File

@@ -1,45 +1,29 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>CryptoUtils Module &mdash; vsmartcard 2017-01-16 documentation</title>
<link rel="stylesheet" href="../../_static/basic.css" type="text/css" />
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>CryptoUtils Module &#8212; vsmartcard 2021-04-28 documentation</title>
<link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
<link rel="stylesheet" href="../../_static/bootswatch-3.3.4/flatly/bootstrap.min.css" type="text/css" />
<link rel="stylesheet" href="../../_static/bootstrap-sphinx.css" type="text/css" />
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT: '../../',
VERSION: '2017-01-16',
COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html',
HAS_SOURCE: true
};
</script>
<script type="text/javascript" src="../../_static/jquery.js"></script>
<script type="text/javascript" src="../../_static/underscore.js"></script>
<script type="text/javascript" src="../../_static/doctools.js"></script>
<script type="text/javascript" src="../../_static/js/jquery-1.11.0.min.js"></script>
<script type="text/javascript" src="../../_static/js/jquery-fix.js"></script>
<script type="text/javascript" src="../../_static/bootstrap-3.3.4/js/bootstrap.min.js"></script>
<script type="text/javascript" src="../../_static/bootstrap-sphinx.js"></script>
<link rel="stylesheet" type="text/css" href="../../_static/graphviz.css" />
<script id="documentation_options" data-url_root="../../" src="../../_static/documentation_options.js"></script>
<script src="../../_static/jquery.js"></script>
<script src="../../_static/underscore.js"></script>
<script src="../../_static/doctools.js"></script>
<script src="../../_static/js/jquery-1.11.0.min.js"></script>
<script src="../../_static/js/jquery-fix.js"></script>
<script src="../../_static/bootstrap-3.3.7/js/bootstrap.min.js"></script>
<script src="../../_static/bootstrap-sphinx.js"></script>
<link rel="shortcut icon" href="../../_static/chip.ico"/>
<link rel="top" title="vsmartcard 2017-01-16 documentation" href="../../index.html" />
<link rel="up" title="virtualsmartcard Package" href="virtualsmartcard.html" />
<link rel="next" title="SEutils Module" href="virtualsmartcard.SEutils.html" />
<link rel="prev" title="ConstantDefinitions Module" href="virtualsmartcard.ConstantDefinitions.html" />
<link rel="search" title="Search" href="../../search.html" />
<meta charset='utf-8'>
<meta http-equiv='X-UA-Compatible' content='IE=edge,chrome=1'>
<meta name='viewport' content='width=device-width, initial-scale=1.0, maximum-scale=1'>
<meta name="apple-mobile-web-app-capable" content="yes">
</head>
<body>
</head><body>
<a href="https://github.com/frankmorgner/vsmartcard"
class="visible-desktop hidden-xs"><img
@@ -90,8 +74,8 @@
<li class="toctree-l1"><a class="reference internal" href="../../pcsc-relay/README.html">PC/SC Relay</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../ccid/README.html">USB CCID Emulator</a></li>
</ul>
<ul class="current">
<li class="toctree-l1 current"><a class="reference internal" href="../api.html">Creating a Virtual Smart Card</a></li>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../api.html">Creating a Virtual Smart Card</a></li>
</ul>
</ul>
</li>
@@ -114,14 +98,6 @@
<li>
<a href="virtualsmartcard.ConstantDefinitions.html" title="Previous Chapter: ConstantDefinitions Module"><span class="glyphicon glyphicon-chevron-left visible-sm"></span><span class="hidden-sm hidden-tablet">&laquo; ConstantDefiniti...</span>
</a>
</li>
<li>
<a href="virtualsmartcard.SEutils.html" title="Next Chapter: SEutils Module"><span class="glyphicon glyphicon-chevron-right visible-sm"></span><span class="hidden-sm hidden-tablet">SEutils Module &raquo;</span>
</a>
</li>
@@ -151,98 +127,94 @@
<div class="section" id="cryptoutils-module">
<h1>CryptoUtils Module<a class="headerlink" href="#cryptoutils-module" title="Permalink to this headline"></a></h1>
<span class="target" id="module-virtualsmartcard.CryptoUtils"></span><dl class="function">
<span class="target" id="module-virtualsmartcard.CryptoUtils"></span><dl class="py function">
<dt id="virtualsmartcard.CryptoUtils._makesalt">
<tt class="descclassname">virtualsmartcard.CryptoUtils.</tt><tt class="descname">_makesalt</tt><big>(</big><big>)</big><a class="headerlink" href="#virtualsmartcard.CryptoUtils._makesalt" title="Permalink to this definition"></a></dt>
<code class="sig-prename descclassname"><span class="pre">virtualsmartcard.CryptoUtils.</span></code><code class="sig-name descname"><span class="pre">_makesalt</span></code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#virtualsmartcard.CryptoUtils._makesalt" title="Permalink to this definition"></a></dt>
<dd><p>Return a 48-bit pseudorandom salt for crypt().</p>
<p>This function is not suitable for generating cryptographic secrets.</p>
</dd></dl>
<dl class="function">
<dl class="py function">
<dt id="virtualsmartcard.CryptoUtils.append_padding">
<tt class="descclassname">virtualsmartcard.CryptoUtils.</tt><tt class="descname">append_padding</tt><big>(</big><em>blocklen</em>, <em>data</em>, <em>padding_class=1</em><big>)</big><a class="headerlink" href="#virtualsmartcard.CryptoUtils.append_padding" title="Permalink to this definition"></a></dt>
<code class="sig-prename descclassname"><span class="pre">virtualsmartcard.CryptoUtils.</span></code><code class="sig-name descname"><span class="pre">append_padding</span></code><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">blocklen</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">data</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">padding_class</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">1</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#virtualsmartcard.CryptoUtils.append_padding" title="Permalink to this definition"></a></dt>
<dd><p>Append padding to the data.
Length of padding depends on length of data and the block size of the
specified encryption algorithm.
Different types of padding may be selected via the padding_class parameter</p>
</dd></dl>
<dl class="function">
<dl class="py function">
<dt id="virtualsmartcard.CryptoUtils.calculate_MAC">
<tt class="descclassname">virtualsmartcard.CryptoUtils.</tt><tt class="descname">calculate_MAC</tt><big>(</big><em>session_key</em>, <em>message</em>, <em>iv='\x00\x00\x00\x00\x00\x00\x00\x00'</em><big>)</big><a class="headerlink" href="#virtualsmartcard.CryptoUtils.calculate_MAC" title="Permalink to this definition"></a></dt>
<code class="sig-prename descclassname"><span class="pre">virtualsmartcard.CryptoUtils.</span></code><code class="sig-name descname"><span class="pre">calculate_MAC</span></code><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">session_key</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">message</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">iv</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">b'\x00\x00\x00\x00\x00\x00\x00\x00'</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#virtualsmartcard.CryptoUtils.calculate_MAC" title="Permalink to this definition"></a></dt>
<dd><p>Cyberflex MAC is the last Block of the input encrypted with DES3-CBC</p>
</dd></dl>
<dl class="function">
<dl class="py function">
<dt id="virtualsmartcard.CryptoUtils.cipher">
<tt class="descclassname">virtualsmartcard.CryptoUtils.</tt><tt class="descname">cipher</tt><big>(</big><em>do_encrypt</em>, <em>cipherspec</em>, <em>key</em>, <em>data</em>, <em>iv=None</em><big>)</big><a class="headerlink" href="#virtualsmartcard.CryptoUtils.cipher" title="Permalink to this definition"></a></dt>
<code class="sig-prename descclassname"><span class="pre">virtualsmartcard.CryptoUtils.</span></code><code class="sig-name descname"><span class="pre">cipher</span></code><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">do_encrypt</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">cipherspec</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">key</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">data</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">iv</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#virtualsmartcard.CryptoUtils.cipher" title="Permalink to this definition"></a></dt>
<dd><p>Do a cryptographic operation.
operation = do_encrypt ? encrypt : decrypt,
cipherspec must be of the form &#8220;cipher-mode&#8221;, or &#8220;cipher&#8221;</p>
cipherspec must be of the form cipher-mode”, or “cipher”</p>
</dd></dl>
<dl class="function">
<dl class="py function">
<dt id="virtualsmartcard.CryptoUtils.crypto_checksum">
<tt class="descclassname">virtualsmartcard.CryptoUtils.</tt><tt class="descname">crypto_checksum</tt><big>(</big><em>algo</em>, <em>key</em>, <em>data</em>, <em>iv=None</em>, <em>ssc=None</em><big>)</big><a class="headerlink" href="#virtualsmartcard.CryptoUtils.crypto_checksum" title="Permalink to this definition"></a></dt>
<code class="sig-prename descclassname"><span class="pre">virtualsmartcard.CryptoUtils.</span></code><code class="sig-name descname"><span class="pre">crypto_checksum</span></code><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">algo</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">key</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">data</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">iv</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">ssc</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#virtualsmartcard.CryptoUtils.crypto_checksum" title="Permalink to this definition"></a></dt>
<dd><p>Compute various types of cryptographic checksums.</p>
<table class="docutils field-list" frame="void" rules="none">
<col class="field-name" />
<col class="field-body" />
<tbody valign="top">
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
<li><strong>algo</strong> &#8211; A string specifying the algorithm to use. Currently supported
algorithms are &#8220;MAX&#8221; &#8220;HMAC&#8221; and &#8220;CC&#8221; (Meaning a cryptographic
checksum as used by the ICAO passports)</li>
<li><strong>key</strong> &#8211; They key used to computed the cryptographic checksum</li>
<li><strong>data</strong> &#8211; The data for which to calculate the checksum</li>
<li><strong>iv</strong> &#8211; Optional. An initialization vector. Only used by the &#8220;MAC&#8221; algorithm</li>
<li><strong>ssc</strong> &#8211; Optional. A send sequence counter to be prepended to the data.
Only used by the &#8220;CC&#8221; algorithm</li>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>algo</strong> A string specifying the algorithm to use. Currently supported
algorithms are “MAX” “HMAC” and “CC” (Meaning a cryptographic
checksum as used by the ICAO passports)</p></li>
<li><p><strong>key</strong> They key used to computed the cryptographic checksum</p></li>
<li><p><strong>data</strong> The data for which to calculate the checksum</p></li>
<li><p><strong>iv</strong> Optional. An initialization vector. Only used by the “MAC” algorithm</p></li>
<li><p><strong>ssc</strong> Optional. A send sequence counter to be prepended to the data.
Only used by the “CC” algorithm</p></li>
</ul>
</td>
</tr>
</tbody>
</table>
</dd>
</dl>
</dd></dl>
<dl class="function">
<dl class="py function">
<dt id="virtualsmartcard.CryptoUtils.decrypt">
<tt class="descclassname">virtualsmartcard.CryptoUtils.</tt><tt class="descname">decrypt</tt><big>(</big><em>cipherspec</em>, <em>key</em>, <em>data</em>, <em>iv=None</em><big>)</big><a class="headerlink" href="#virtualsmartcard.CryptoUtils.decrypt" title="Permalink to this definition"></a></dt>
<code class="sig-prename descclassname"><span class="pre">virtualsmartcard.CryptoUtils.</span></code><code class="sig-name descname"><span class="pre">decrypt</span></code><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">cipherspec</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">key</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">data</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">iv</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#virtualsmartcard.CryptoUtils.decrypt" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="function">
<dl class="py function">
<dt id="virtualsmartcard.CryptoUtils.encrypt">
<tt class="descclassname">virtualsmartcard.CryptoUtils.</tt><tt class="descname">encrypt</tt><big>(</big><em>cipherspec</em>, <em>key</em>, <em>data</em>, <em>iv=None</em><big>)</big><a class="headerlink" href="#virtualsmartcard.CryptoUtils.encrypt" title="Permalink to this definition"></a></dt>
<code class="sig-prename descclassname"><span class="pre">virtualsmartcard.CryptoUtils.</span></code><code class="sig-name descname"><span class="pre">encrypt</span></code><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">cipherspec</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">key</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">data</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">iv</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#virtualsmartcard.CryptoUtils.encrypt" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="function">
<dl class="py function">
<dt id="virtualsmartcard.CryptoUtils.get_cipher">
<tt class="descclassname">virtualsmartcard.CryptoUtils.</tt><tt class="descname">get_cipher</tt><big>(</big><em>cipherspec</em>, <em>key</em>, <em>iv=None</em><big>)</big><a class="headerlink" href="#virtualsmartcard.CryptoUtils.get_cipher" title="Permalink to this definition"></a></dt>
<code class="sig-prename descclassname"><span class="pre">virtualsmartcard.CryptoUtils.</span></code><code class="sig-name descname"><span class="pre">get_cipher</span></code><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">cipherspec</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">key</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">iv</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#virtualsmartcard.CryptoUtils.get_cipher" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="function">
<dl class="py function">
<dt id="virtualsmartcard.CryptoUtils.get_cipher_blocklen">
<tt class="descclassname">virtualsmartcard.CryptoUtils.</tt><tt class="descname">get_cipher_blocklen</tt><big>(</big><em>cipherspec</em><big>)</big><a class="headerlink" href="#virtualsmartcard.CryptoUtils.get_cipher_blocklen" title="Permalink to this definition"></a></dt>
<code class="sig-prename descclassname"><span class="pre">virtualsmartcard.CryptoUtils.</span></code><code class="sig-name descname"><span class="pre">get_cipher_blocklen</span></code><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">cipherspec</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#virtualsmartcard.CryptoUtils.get_cipher_blocklen" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="function">
<dl class="py function">
<dt id="virtualsmartcard.CryptoUtils.get_cipher_keylen">
<tt class="descclassname">virtualsmartcard.CryptoUtils.</tt><tt class="descname">get_cipher_keylen</tt><big>(</big><em>cipherspec</em><big>)</big><a class="headerlink" href="#virtualsmartcard.CryptoUtils.get_cipher_keylen" title="Permalink to this definition"></a></dt>
<code class="sig-prename descclassname"><span class="pre">virtualsmartcard.CryptoUtils.</span></code><code class="sig-name descname"><span class="pre">get_cipher_keylen</span></code><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">cipherspec</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#virtualsmartcard.CryptoUtils.get_cipher_keylen" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="function">
<dl class="py function">
<dt id="virtualsmartcard.CryptoUtils.hash">
<tt class="descclassname">virtualsmartcard.CryptoUtils.</tt><tt class="descname">hash</tt><big>(</big><em>hashmethod</em>, <em>data</em><big>)</big><a class="headerlink" href="#virtualsmartcard.CryptoUtils.hash" title="Permalink to this definition"></a></dt>
<code class="sig-prename descclassname"><span class="pre">virtualsmartcard.CryptoUtils.</span></code><code class="sig-name descname"><span class="pre">hash</span></code><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">hashmethod</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">data</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#virtualsmartcard.CryptoUtils.hash" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="function">
<dl class="py function">
<dt id="virtualsmartcard.CryptoUtils.operation_on_string">
<tt class="descclassname">virtualsmartcard.CryptoUtils.</tt><tt class="descname">operation_on_string</tt><big>(</big><em>string1</em>, <em>string2</em>, <em>op</em><big>)</big><a class="headerlink" href="#virtualsmartcard.CryptoUtils.operation_on_string" title="Permalink to this definition"></a></dt>
<code class="sig-prename descclassname"><span class="pre">virtualsmartcard.CryptoUtils.</span></code><code class="sig-name descname"><span class="pre">operation_on_string</span></code><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">string1</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">string2</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">op</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#virtualsmartcard.CryptoUtils.operation_on_string" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="function">
<dl class="py function">
<dt id="virtualsmartcard.CryptoUtils.strip_padding">
<tt class="descclassname">virtualsmartcard.CryptoUtils.</tt><tt class="descname">strip_padding</tt><big>(</big><em>blocklen</em>, <em>data</em>, <em>padding_class=1</em><big>)</big><a class="headerlink" href="#virtualsmartcard.CryptoUtils.strip_padding" title="Permalink to this definition"></a></dt>
<code class="sig-prename descclassname"><span class="pre">virtualsmartcard.CryptoUtils.</span></code><code class="sig-name descname"><span class="pre">strip_padding</span></code><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">blocklen</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">data</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">padding_class</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">1</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#virtualsmartcard.CryptoUtils.strip_padding" title="Permalink to this definition"></a></dt>
<dd><p>Strip the padding of decrypted data. Returns data without padding</p>
</dd></dl>
@@ -260,7 +232,7 @@ Only used by the &#8220;CC&#8221; algorithm</li>
</p>
<p>
&copy; Copyright 2009-2017 by Dominik Oepen and Frank Morgner.<br/>
&copy; Copyright 2009-2021 by Dominik Oepen and Frank Morgner.<br/>
</p>
</div>
</footer>