diff options
Diffstat (limited to 'raw-wiki-dump/GitRepositories%2Fuser%2Fsra%2Faes-keywrap')
-rw-r--r-- | raw-wiki-dump/GitRepositories%2Fuser%2Fsra%2Faes-keywrap | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/raw-wiki-dump/GitRepositories%2Fuser%2Fsra%2Faes-keywrap b/raw-wiki-dump/GitRepositories%2Fuser%2Fsra%2Faes-keywrap new file mode 100644 index 0000000..1d12681 --- /dev/null +++ b/raw-wiki-dump/GitRepositories%2Fuser%2Fsra%2Faes-keywrap @@ -0,0 +1,43 @@ +{{{ +#!htmlcomment + +This page is maintained automatically by a script. Don't modify this page by hand, +your changes will just be overwritten the next time the script runs. Talk to your +Friendly Neighborhood Repository Maintainer if you need to change something here. + +}}} + +{{{ +#!html +<h1>AES key wrap</h1> + +<p>A preliminary implementation of AES Key Wrap, RFC 5649 flavor, using +Cryptlib to supply the AES ECB transformations.</p> + +<p>aes_keywrap.py contains two different Python implementations:</p> + +<ol> +<li><p>An implementation using Python longs as 64-bit integers; and</p></li> +<li><p>An implementation using Python arrays.</p></li> +</ol> + +<p>The first of these is the easiest to understand, as it can just do +(long) integer arithmetic and follow the specification very closely. +The second is closer to what one would do to implement this in an +assembly language like C.</p> + +<p>aes_keywrap.[ch] is a C implementation. The API for this is not yet +set in stone.</p> + +<p>All three implementations include test vectors.</p> + +<p>The two implementations based on byte arrays use shift and mask +operations to handle the two numerical values ("m" and "t") which +require byte swapping on little endian hardware; this is not the most +efficient implementation possible, but it's portable, and will almost +certainly be lost in the noise under the AES operations.</p> +}}} + +[[RepositoryIndex(format=table,glob=user/sra/aes-keywrap)]] + +|| Clone `https://git.cryptech.is/user/sra/aes-keywrap.git` || |