--- a/src/eric7/Documentation/Source/eric7.Utilities.crypto.py3AES.html Thu Jan 04 17:16:15 2024 +0100 +++ b/src/eric7/Documentation/Source/eric7.Utilities.crypto.py3AES.html Thu Jan 04 18:02:25 2024 +0100 @@ -7,20 +7,18 @@ <body> <a NAME="top" ID="top"></a> <h1>eric7.Utilities.crypto.py3AES</h1> - <p> Module implementing classes for encryption according Advanced Encryption Standard. </p> + <h3>Global Attributes</h3> - <table> <tr><td>None</td></tr> </table> + <h3>Classes</h3> - <table> - <tr> <td><a href="#AES">AES</a></td> <td>Class implementing the Advanced Encryption Standard algorithm.</td> @@ -30,10 +28,9 @@ <td>Class implementing the different AES mode of operations.</td> </tr> </table> + <h3>Functions</h3> - <table> - <tr> <td><a href="#append_PKCS7_padding">append_PKCS7_padding</a></td> <td>Function to pad the given data to a multiple of 16-bytes by PKCS7 padding.</td> @@ -51,30 +48,32 @@ <td>Function to strip off PKCS7 padding.</td> </tr> </table> + <hr /> <hr /> <a NAME="AES" ID="AES"></a> <h2>AES</h2> - <p> Class implementing the Advanced Encryption Standard algorithm. </p> + <h3>Derived from</h3> None <h3>Class Attributes</h3> +<table> +<tr><td>KeySize</td></tr> +<tr><td>Rcon</td></tr> +<tr><td>rsbox</td></tr> +<tr><td>sbox</td></tr> +</table> -<table> -<tr><td>KeySize</td></tr><tr><td>Rcon</td></tr><tr><td>rsbox</td></tr><tr><td>sbox</td></tr> -</table> <h3>Class Methods</h3> - <table> <tr><td>None</td></tr> </table> + <h3>Methods</h3> - <table> - <tr> <td><a href="#AES.__addRoundKey">__addRoundKey</a></td> <td>Private method to add (XORs) the round key to the state.</td> @@ -156,19 +155,20 @@ <td>Public method to encrypt a 128 bit input block against the given key of size specified.</td> </tr> </table> + <h3>Static Methods</h3> - <table> <tr><td>None</td></tr> </table> + <a NAME="AES.__addRoundKey" ID="AES.__addRoundKey"></a> <h4>AES.__addRoundKey</h4> <b>__addRoundKey</b>(<i>state, roundKey</i>) - <p> Private method to add (XORs) the round key to the state. </p> + <dl> <dt><i>state</i> (bytearray)</dt> @@ -195,7 +195,6 @@ <a NAME="AES.__aes_invMain" ID="AES.__aes_invMain"></a> <h4>AES.__aes_invMain</h4> <b>__aes_invMain</b>(<i>state, expandedKey, nbrRounds</i>) - <p> Private method to do the inverse AES encryption for one round. </p> @@ -204,6 +203,7 @@ final operations of the inverse AES, creating a round key for each round. </p> + <dl> <dt><i>state</i> (bytearray)</dt> @@ -234,11 +234,11 @@ <a NAME="AES.__aes_invRound" ID="AES.__aes_invRound"></a> <h4>AES.__aes_invRound</h4> <b>__aes_invRound</b>(<i>state, roundKey</i>) - <p> Private method to apply the 4 operations of the inverse round in sequence. </p> + <dl> <dt><i>state</i> (bytearray)</dt> @@ -265,7 +265,6 @@ <a NAME="AES.__aes_main" ID="AES.__aes_main"></a> <h4>AES.__aes_main</h4> <b>__aes_main</b>(<i>state, expandedKey, nbrRounds</i>) - <p> Private method to do the AES encryption for one round. </p> @@ -274,6 +273,7 @@ final operations of the forward AES, creating a round key for each round. </p> + <dl> <dt><i>state</i> (bytearray)</dt> @@ -304,11 +304,11 @@ <a NAME="AES.__aes_round" ID="AES.__aes_round"></a> <h4>AES.__aes_round</h4> <b>__aes_round</b>(<i>state, roundKey</i>) - <p> Private method to apply the 4 operations of the forward round in sequence. </p> + <dl> <dt><i>state</i> (bytearray)</dt> @@ -335,10 +335,10 @@ <a NAME="AES.__core" ID="AES.__core"></a> <h4>AES.__core</h4> <b>__core</b>(<i>data, iteration</i>) - <p> Private method performing the key schedule core operation. </p> + <dl> <dt><i>data</i> (bytearray)</dt> @@ -365,10 +365,10 @@ <a NAME="AES.__createRoundKey" ID="AES.__createRoundKey"></a> <h4>AES.__createRoundKey</h4> <b>__createRoundKey</b>(<i>expandedKey, roundKeyPointer</i>) - <p> Private method to create a round key. </p> + <dl> <dt><i>expandedKey</i> (bytearray)</dt> @@ -395,13 +395,13 @@ <a NAME="AES.__expandKey" ID="AES.__expandKey"></a> <h4>AES.__expandKey</h4> <b>__expandKey</b>(<i>key, size, expandedKeySize</i>) - <p> Private method performing Rijndael's key expansion. </p> <p> Expands a 128, 192 or 256 bit key into a 176, 208 or 240 bit key. </p> + <dl> <dt><i>key</i> (bytes or bytearray)</dt> @@ -432,11 +432,11 @@ <a NAME="AES.__galois_multiplication" ID="AES.__galois_multiplication"></a> <h4>AES.__galois_multiplication</h4> <b>__galois_multiplication</b>(<i>a, b</i>) - <p> Private method to perform a Galois multiplication of 8 bit characters a and b. </p> + <dl> <dt><i>a</i> (bytes)</dt> @@ -463,10 +463,10 @@ <a NAME="AES.__getRconValue" ID="AES.__getRconValue"></a> <h4>AES.__getRconValue</h4> <b>__getRconValue</b>(<i>num</i>) - <p> Private method to retrieve a given Rcon value. </p> + <dl> <dt><i>num</i> (int)</dt> @@ -489,10 +489,10 @@ <a NAME="AES.__getSBoxInvert" ID="AES.__getSBoxInvert"></a> <h4>AES.__getSBoxInvert</h4> <b>__getSBoxInvert</b>(<i>num</i>) - <p> Private method to retrieve a given Inverted S-Box value. </p> + <dl> <dt><i>num</i> (int)</dt> @@ -515,10 +515,10 @@ <a NAME="AES.__getSBoxValue" ID="AES.__getSBoxValue"></a> <h4>AES.__getSBoxValue</h4> <b>__getSBoxValue</b>(<i>num</i>) - <p> Private method to retrieve a given S-Box value. </p> + <dl> <dt><i>num</i> (int)</dt> @@ -541,11 +541,11 @@ <a NAME="AES.__mixColumn" ID="AES.__mixColumn"></a> <h4>AES.__mixColumn</h4> <b>__mixColumn</b>(<i>column, isInv</i>) - <p> Private method to perform a galois multiplication of 1 column the 4x4 matrix. </p> + <dl> <dt><i>column</i> (bytearray)</dt> @@ -572,10 +572,10 @@ <a NAME="AES.__mixColumns" ID="AES.__mixColumns"></a> <h4>AES.__mixColumns</h4> <b>__mixColumns</b>(<i>state, isInv</i>) - <p> Private method to perform a galois multiplication of the 4x4 matrix. </p> + <dl> <dt><i>state</i> (bytearray)</dt> @@ -602,7 +602,6 @@ <a NAME="AES.__rotate" ID="AES.__rotate"></a> <h4>AES.__rotate</h4> <b>__rotate</b>(<i>data</i>) - <p> Private method performing Rijndael's key schedule rotate operation. </p> @@ -610,6 +609,7 @@ Rotate the data word eight bits to the left: eg, rotate(1d2c3a4f) == 2c3a4f1d. </p> + <dl> <dt><i>data</i> (bytearray)</dt> @@ -632,10 +632,10 @@ <a NAME="AES.__shiftRow" ID="AES.__shiftRow"></a> <h4>AES.__shiftRow</h4> <b>__shiftRow</b>(<i>state, statePointer, nbr, isInv</i>) - <p> Private method to shift the bytes of a row to the left. </p> + <dl> <dt><i>state</i> (bytearray)</dt> @@ -670,11 +670,11 @@ <a NAME="AES.__shiftRows" ID="AES.__shiftRows"></a> <h4>AES.__shiftRows</h4> <b>__shiftRows</b>(<i>state, isInv</i>) - <p> Private method to iterate over the 4 rows and call __shiftRow() with that row. </p> + <dl> <dt><i>state</i> (bytearray)</dt> @@ -701,11 +701,11 @@ <a NAME="AES.__subBytes" ID="AES.__subBytes"></a> <h4>AES.__subBytes</h4> <b>__subBytes</b>(<i>state, isInv</i>) - <p> Private method to substitute all the values from the state with the value in the SBox using the state value as index for the SBox. </p> + <dl> <dt><i>state</i> (bytearray)</dt> @@ -732,11 +732,11 @@ <a NAME="AES.decrypt" ID="AES.decrypt"></a> <h4>AES.decrypt</h4> <b>decrypt</b>(<i>iput, key, size</i>) - <p> Public method to decrypt a 128 bit input block against the given key of size specified. </p> + <dl> <dt><i>iput</i> (bytearray)</dt> @@ -774,11 +774,11 @@ <a NAME="AES.encrypt" ID="AES.encrypt"></a> <h4>AES.encrypt</h4> <b>encrypt</b>(<i>iput, key, size</i>) - <p> Public method to encrypt a 128 bit input block against the given key of size specified. </p> + <dl> <dt><i>iput</i> (bytearray)</dt> @@ -818,26 +818,25 @@ <hr /> <a NAME="AESModeOfOperation" ID="AESModeOfOperation"></a> <h2>AESModeOfOperation</h2> - <p> Class implementing the different AES mode of operations. </p> + <h3>Derived from</h3> None <h3>Class Attributes</h3> +<table> +<tr><td>ModeOfOperation</td></tr> +<tr><td>aes</td></tr> +</table> -<table> -<tr><td>ModeOfOperation</td></tr><tr><td>aes</td></tr> -</table> <h3>Class Methods</h3> - <table> <tr><td>None</td></tr> </table> + <h3>Methods</h3> - <table> - <tr> <td><a href="#AESModeOfOperation.__extractBytes">__extractBytes</a></td> <td>Private method to extract a range of bytes from the input.</td> @@ -851,19 +850,20 @@ <td>Public method to perform the encryption operation.</td> </tr> </table> + <h3>Static Methods</h3> - <table> <tr><td>None</td></tr> </table> + <a NAME="AESModeOfOperation.__extractBytes" ID="AESModeOfOperation.__extractBytes"></a> <h4>AESModeOfOperation.__extractBytes</h4> <b>__extractBytes</b>(<i>inputData, start, end, mode</i>) - <p> Private method to extract a range of bytes from the input. </p> + <dl> <dt><i>inputData</i> (bytes)</dt> @@ -898,10 +898,10 @@ <a NAME="AESModeOfOperation.decrypt" ID="AESModeOfOperation.decrypt"></a> <h4>AESModeOfOperation.decrypt</h4> <b>decrypt</b>(<i>cipherIn, originalsize, mode, key, size, IV</i>) - <p> Public method to perform the decryption operation. </p> + <dl> <dt><i>cipherIn</i> (bytes)</dt> @@ -951,10 +951,10 @@ <a NAME="AESModeOfOperation.encrypt" ID="AESModeOfOperation.encrypt"></a> <h4>AESModeOfOperation.encrypt</h4> <b>encrypt</b>(<i>inputData, mode, key, size, IV</i>) - <p> Public method to perform the encryption operation. </p> + <dl> <dt><i>inputData</i> (bytes)</dt> @@ -1004,10 +1004,10 @@ <a NAME="append_PKCS7_padding" ID="append_PKCS7_padding"></a> <h2>append_PKCS7_padding</h2> <b>append_PKCS7_padding</b>(<i>b</i>) - <p> Function to pad the given data to a multiple of 16-bytes by PKCS7 padding. </p> + <dl> <dt><i>b</i> (bytes)</dt> @@ -1033,10 +1033,10 @@ <a NAME="decryptData" ID="decryptData"></a> <h2>decryptData</h2> <b>decryptData</b>(<i>key, data, mode=AESModeOfOperation.ModeOfOperation["CBC"]</i>) - <p> Module function to decrypt the given data with the given key. </p> + <dl> <dt><i>key</i> (bytes)</dt> @@ -1077,10 +1077,10 @@ <a NAME="encryptData" ID="encryptData"></a> <h2>encryptData</h2> <b>encryptData</b>(<i>key, data, mode=AESModeOfOperation.ModeOfOperation["CBC"]</i>) - <p> Module function to encrypt the given data with the given key. </p> + <dl> <dt><i>key</i> (bytes)</dt> @@ -1121,10 +1121,10 @@ <a NAME="strip_PKCS7_padding" ID="strip_PKCS7_padding"></a> <h2>strip_PKCS7_padding</h2> <b>strip_PKCS7_padding</b>(<i>b</i>) - <p> Function to strip off PKCS7 padding. </p> + <dl> <dt><i>b</i> (bytes)</dt> @@ -1153,4 +1153,4 @@ </dl> <div align="right"><a href="#top">Up</a></div> <hr /> -</body></html> \ No newline at end of file +</body></html>