includes/rijndael.php
author Dan
Sun, 25 Jan 2009 20:35:06 -0500
changeset 823 4596c40aaa94
parent 801 eb8b23f11744
child 832 7152ca0a0ce9
permissions -rw-r--r--
AJAX core library: possible breaking change, readystatechange functions are now called with the XHR instance as the first parameter, to allow requests to run in parallel. This means much better stability but may break some applets (compatibility hack is included)
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
458
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
     1
<?php
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
     2
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
     3
/**
595
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
     4
 * AES (Rijndael)
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
     5
 * EBC and CBC modes
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
     6
 * 
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
     7
 * Flash port by:
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
     8
 * André S. Barbosa <andre@infolink.com.br>
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
     9
 * http://www.codecta.com.br/rijndael.html
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
    10
 * This is free code!
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
    11
 *
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
    12
 * Original code from OpenSSL Library.
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
    13
 * Use is very closed to OpenSSL.
458
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
    14
 */
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
    15
595
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
    16
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
    17
/**
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
    18
 * rijndael-alg-fst.c
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
    19
 *
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
    20
 * @version 3.0 (December 2000)
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
    21
 *
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
    22
 * Optimised ANSI C code for the Rijndael cipher (now AES)
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
    23
 *
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
    24
 * @author Vincent Rijmen <vincent.rijmen@esat.kuleuven.ac.be>
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
    25
 * @author Antoon Bosselaers <antoon.bosselaers@esat.kuleuven.ac.be>
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
    26
 * @author Paulo Barreto <paulo.barreto@terra.com.br>
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
    27
 *
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
    28
 * The original C code is released into the public domain. The Enano
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
    29
 * Project has relicensed this port under the GNU General Public
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
    30
 * License for license compatibility reasons.
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
    31
 *
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
    32
 * THIS SOFTWARE IS PROVIDED BY THE AUTHORS ''AS IS'' AND ANY EXPRESS
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
    33
 * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
    34
 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
    35
 * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
    36
 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
    37
 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
    38
 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
    39
 * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
    40
 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
    41
 * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
    42
 * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
    43
 */
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
    44
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
    45
461
717e71109645 Fixed a number of IE6 bugs
Dan
parents: 458
diff changeset
    46
define ('ENC_HEX', 201);
458
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
    47
define ('ENC_BASE64', 202);
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
    48
define ('ENC_BINARY', 203);
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
    49
595
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
    50
class librijndael2
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
    51
{
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
    52
  //////////////////// CONVERSION FUNCTIONS ///////////////////////////
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
    53
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
    54
  // Byte to hex
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
    55
  static function byte2hex($byte)
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
    56
  {
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
    57
    if ( strlen(dechex(ord($byte))) < 2 )
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
    58
      return ( "0" . dechex(ord($byte)) );
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
    59
    else 
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
    60
      return ( dechex(ord($byte)) );
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
    61
  }
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
    62
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
    63
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
    64
  /* Convert String to Hex String 
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
    65
   * Null byte cannot appear in middle of String.
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
    66
   * this function is necessary because toString(16) does not 
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
    67
   * produces two hex caracters for 0 to 15.
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
    68
   */
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
    69
  static function string2hex ($s) {
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
    70
    $hex = '';
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
    71
    for ($x = 0; $x < strlen($s); $x++) {
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
    72
      $byte = $s{$x};
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
    73
      $hex .= librijndael2::byte2hex($byte);
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
    74
    }
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
    75
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
    76
    return $hex;
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
    77
  }
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
    78
           
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
    79
  /* Convert Hex String to String  
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
    80
   * 00 (NULL)  is not converted!
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
    81
   * Hex String must be even number of chars (A must be 0A, F must be 0F, etc)
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
    82
   */
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
    83
  static function hex2string($hex) {
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
    84
    $s = '';
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
    85
    if (strlen($hex) % 2 == 1) {
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
    86
      librijndael2::trace("Error: Hex String must be even number of chars");
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
    87
      return -1;
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
    88
    }
458
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
    89
595
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
    90
    for ( $i = 0; $i < strlen($hex); $i+=2 )
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
    91
    {
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
    92
      $byte = $hex{$i} . $hex{$i+1};
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
    93
      $s .= chr(hexdec($byte));
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
    94
    }
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
    95
          
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
    96
    return $s;
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
    97
  }
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
    98
  
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
    99
  static function trace($error)
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   100
  {
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   101
    //$bt = debug_backtrace();
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   102
    echo("$error\n");
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   103
    //echo(print_r($bt, true));
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   104
    
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   105
    exit();
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   106
  }
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   107
  
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   108
  static function parseInt($str)
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   109
  {
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   110
    if ( is_int($str) )
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   111
      return $str;
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   112
    if ( !is_string($str) )
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   113
      librijndael2::trace('Error: non-string (' . gettype($str) . ') passed to librijndael2::parseInt(' . $str . ')');
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   114
    if ( substr($str, 0, 2) == '0x' )
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   115
    {
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   116
      return ( preg_match('/^0x([a-f0-9][a-f0-9])+$/i', $str) ) ? eval("return $str;") : intval($str);
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   117
    }
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   118
    return intval($str);
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   119
  }
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   120
  
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   121
  static function ord2hex($byte)
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   122
  {
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   123
    if ( !is_int($byte) )
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   124
      librijndael2::trace('Error: non-integer passed to ord2hex()');
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   125
    $result = strval(dechex($byte));
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   126
    if ( strlen($result) < 2 )
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   127
      $result = "0$result";
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   128
    return $result;
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   129
  }
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   130
}
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   131
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   132
class Crypt_Rijndael
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   133
{
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   134
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   135
 //////////////////// TABLES, STRUCTURES... ////////////////////////
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   136
   
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   137
  var $Te0 = array(
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   138
    0xc66363a5, 0xf87c7c84, 0xee777799, 0xf67b7b8d,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   139
    0xfff2f20d, 0xd66b6bbd, 0xde6f6fb1, 0x91c5c554,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   140
    0x60303050, 0x02010103, 0xce6767a9, 0x562b2b7d,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   141
    0xe7fefe19, 0xb5d7d762, 0x4dababe6, 0xec76769a,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   142
    0x8fcaca45, 0x1f82829d, 0x89c9c940, 0xfa7d7d87,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   143
    0xeffafa15, 0xb25959eb, 0x8e4747c9, 0xfbf0f00b,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   144
    0x41adadec, 0xb3d4d467, 0x5fa2a2fd, 0x45afafea,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   145
    0x239c9cbf, 0x53a4a4f7, 0xe4727296, 0x9bc0c05b,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   146
    0x75b7b7c2, 0xe1fdfd1c, 0x3d9393ae, 0x4c26266a,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   147
    0x6c36365a, 0x7e3f3f41, 0xf5f7f702, 0x83cccc4f,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   148
    0x6834345c, 0x51a5a5f4, 0xd1e5e534, 0xf9f1f108,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   149
    0xe2717193, 0xabd8d873, 0x62313153, 0x2a15153f,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   150
    0x0804040c, 0x95c7c752, 0x46232365, 0x9dc3c35e,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   151
    0x30181828, 0x379696a1, 0x0a05050f, 0x2f9a9ab5,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   152
    0x0e070709, 0x24121236, 0x1b80809b, 0xdfe2e23d,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   153
    0xcdebeb26, 0x4e272769, 0x7fb2b2cd, 0xea75759f,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   154
    0x1209091b, 0x1d83839e, 0x582c2c74, 0x341a1a2e,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   155
    0x361b1b2d, 0xdc6e6eb2, 0xb45a5aee, 0x5ba0a0fb,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   156
    0xa45252f6, 0x763b3b4d, 0xb7d6d661, 0x7db3b3ce,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   157
    0x5229297b, 0xdde3e33e, 0x5e2f2f71, 0x13848497,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   158
    0xa65353f5, 0xb9d1d168, 0x00000000, 0xc1eded2c,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   159
    0x40202060, 0xe3fcfc1f, 0x79b1b1c8, 0xb65b5bed,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   160
    0xd46a6abe, 0x8dcbcb46, 0x67bebed9, 0x7239394b,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   161
    0x944a4ade, 0x984c4cd4, 0xb05858e8, 0x85cfcf4a,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   162
    0xbbd0d06b, 0xc5efef2a, 0x4faaaae5, 0xedfbfb16,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   163
    0x864343c5, 0x9a4d4dd7, 0x66333355, 0x11858594,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   164
    0x8a4545cf, 0xe9f9f910, 0x04020206, 0xfe7f7f81,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   165
    0xa05050f0, 0x783c3c44, 0x259f9fba, 0x4ba8a8e3,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   166
    0xa25151f3, 0x5da3a3fe, 0x804040c0, 0x058f8f8a,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   167
    0x3f9292ad, 0x219d9dbc, 0x70383848, 0xf1f5f504,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   168
    0x63bcbcdf, 0x77b6b6c1, 0xafdada75, 0x42212163,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   169
    0x20101030, 0xe5ffff1a, 0xfdf3f30e, 0xbfd2d26d,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   170
    0x81cdcd4c, 0x180c0c14, 0x26131335, 0xc3ecec2f,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   171
    0xbe5f5fe1, 0x359797a2, 0x884444cc, 0x2e171739,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   172
    0x93c4c457, 0x55a7a7f2, 0xfc7e7e82, 0x7a3d3d47,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   173
    0xc86464ac, 0xba5d5de7, 0x3219192b, 0xe6737395,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   174
    0xc06060a0, 0x19818198, 0x9e4f4fd1, 0xa3dcdc7f,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   175
    0x44222266, 0x542a2a7e, 0x3b9090ab, 0x0b888883,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   176
    0x8c4646ca, 0xc7eeee29, 0x6bb8b8d3, 0x2814143c,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   177
    0xa7dede79, 0xbc5e5ee2, 0x160b0b1d, 0xaddbdb76,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   178
    0xdbe0e03b, 0x64323256, 0x743a3a4e, 0x140a0a1e,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   179
    0x924949db, 0x0c06060a, 0x4824246c, 0xb85c5ce4,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   180
    0x9fc2c25d, 0xbdd3d36e, 0x43acacef, 0xc46262a6,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   181
    0x399191a8, 0x319595a4, 0xd3e4e437, 0xf279798b,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   182
    0xd5e7e732, 0x8bc8c843, 0x6e373759, 0xda6d6db7,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   183
    0x018d8d8c, 0xb1d5d564, 0x9c4e4ed2, 0x49a9a9e0,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   184
    0xd86c6cb4, 0xac5656fa, 0xf3f4f407, 0xcfeaea25,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   185
    0xca6565af, 0xf47a7a8e, 0x47aeaee9, 0x10080818,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   186
    0x6fbabad5, 0xf0787888, 0x4a25256f, 0x5c2e2e72,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   187
    0x381c1c24, 0x57a6a6f1, 0x73b4b4c7, 0x97c6c651,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   188
    0xcbe8e823, 0xa1dddd7c, 0xe874749c, 0x3e1f1f21,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   189
    0x964b4bdd, 0x61bdbddc, 0x0d8b8b86, 0x0f8a8a85,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   190
    0xe0707090, 0x7c3e3e42, 0x71b5b5c4, 0xcc6666aa,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   191
    0x904848d8, 0x06030305, 0xf7f6f601, 0x1c0e0e12,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   192
    0xc26161a3, 0x6a35355f, 0xae5757f9, 0x69b9b9d0,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   193
    0x17868691, 0x99c1c158, 0x3a1d1d27, 0x279e9eb9,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   194
    0xd9e1e138, 0xebf8f813, 0x2b9898b3, 0x22111133,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   195
    0xd26969bb, 0xa9d9d970, 0x078e8e89, 0x339494a7,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   196
    0x2d9b9bb6, 0x3c1e1e22, 0x15878792, 0xc9e9e920,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   197
    0x87cece49, 0xaa5555ff, 0x50282878, 0xa5dfdf7a,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   198
    0x038c8c8f, 0x59a1a1f8, 0x09898980, 0x1a0d0d17,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   199
    0x65bfbfda, 0xd7e6e631, 0x844242c6, 0xd06868b8,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   200
    0x824141c3, 0x299999b0, 0x5a2d2d77, 0x1e0f0f11,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   201
    0x7bb0b0cb, 0xa85454fc, 0x6dbbbbd6, 0x2c16163a
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   202
  );
458
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
   203
  
595
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   204
  var $Te1 = array(
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   205
    0xa5c66363, 0x84f87c7c, 0x99ee7777, 0x8df67b7b,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   206
    0x0dfff2f2, 0xbdd66b6b, 0xb1de6f6f, 0x5491c5c5,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   207
    0x50603030, 0x03020101, 0xa9ce6767, 0x7d562b2b,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   208
    0x19e7fefe, 0x62b5d7d7, 0xe64dabab, 0x9aec7676,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   209
    0x458fcaca, 0x9d1f8282, 0x4089c9c9, 0x87fa7d7d,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   210
    0x15effafa, 0xebb25959, 0xc98e4747, 0x0bfbf0f0,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   211
    0xec41adad, 0x67b3d4d4, 0xfd5fa2a2, 0xea45afaf,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   212
    0xbf239c9c, 0xf753a4a4, 0x96e47272, 0x5b9bc0c0,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   213
    0xc275b7b7, 0x1ce1fdfd, 0xae3d9393, 0x6a4c2626,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   214
    0x5a6c3636, 0x417e3f3f, 0x02f5f7f7, 0x4f83cccc,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   215
    0x5c683434, 0xf451a5a5, 0x34d1e5e5, 0x08f9f1f1,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   216
    0x93e27171, 0x73abd8d8, 0x53623131, 0x3f2a1515,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   217
    0x0c080404, 0x5295c7c7, 0x65462323, 0x5e9dc3c3,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   218
    0x28301818, 0xa1379696, 0x0f0a0505, 0xb52f9a9a,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   219
    0x090e0707, 0x36241212, 0x9b1b8080, 0x3ddfe2e2,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   220
    0x26cdebeb, 0x694e2727, 0xcd7fb2b2, 0x9fea7575,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   221
    0x1b120909, 0x9e1d8383, 0x74582c2c, 0x2e341a1a,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   222
    0x2d361b1b, 0xb2dc6e6e, 0xeeb45a5a, 0xfb5ba0a0,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   223
    0xf6a45252, 0x4d763b3b, 0x61b7d6d6, 0xce7db3b3,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   224
    0x7b522929, 0x3edde3e3, 0x715e2f2f, 0x97138484,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   225
    0xf5a65353, 0x68b9d1d1, 0x00000000, 0x2cc1eded,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   226
    0x60402020, 0x1fe3fcfc, 0xc879b1b1, 0xedb65b5b,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   227
    0xbed46a6a, 0x468dcbcb, 0xd967bebe, 0x4b723939,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   228
    0xde944a4a, 0xd4984c4c, 0xe8b05858, 0x4a85cfcf,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   229
    0x6bbbd0d0, 0x2ac5efef, 0xe54faaaa, 0x16edfbfb,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   230
    0xc5864343, 0xd79a4d4d, 0x55663333, 0x94118585,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   231
    0xcf8a4545, 0x10e9f9f9, 0x06040202, 0x81fe7f7f,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   232
    0xf0a05050, 0x44783c3c, 0xba259f9f, 0xe34ba8a8,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   233
    0xf3a25151, 0xfe5da3a3, 0xc0804040, 0x8a058f8f,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   234
    0xad3f9292, 0xbc219d9d, 0x48703838, 0x04f1f5f5,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   235
    0xdf63bcbc, 0xc177b6b6, 0x75afdada, 0x63422121,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   236
    0x30201010, 0x1ae5ffff, 0x0efdf3f3, 0x6dbfd2d2,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   237
    0x4c81cdcd, 0x14180c0c, 0x35261313, 0x2fc3ecec,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   238
    0xe1be5f5f, 0xa2359797, 0xcc884444, 0x392e1717,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   239
    0x5793c4c4, 0xf255a7a7, 0x82fc7e7e, 0x477a3d3d,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   240
    0xacc86464, 0xe7ba5d5d, 0x2b321919, 0x95e67373,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   241
    0xa0c06060, 0x98198181, 0xd19e4f4f, 0x7fa3dcdc,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   242
    0x66442222, 0x7e542a2a, 0xab3b9090, 0x830b8888,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   243
    0xca8c4646, 0x29c7eeee, 0xd36bb8b8, 0x3c281414,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   244
    0x79a7dede, 0xe2bc5e5e, 0x1d160b0b, 0x76addbdb,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   245
    0x3bdbe0e0, 0x56643232, 0x4e743a3a, 0x1e140a0a,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   246
    0xdb924949, 0x0a0c0606, 0x6c482424, 0xe4b85c5c,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   247
    0x5d9fc2c2, 0x6ebdd3d3, 0xef43acac, 0xa6c46262,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   248
    0xa8399191, 0xa4319595, 0x37d3e4e4, 0x8bf27979,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   249
    0x32d5e7e7, 0x438bc8c8, 0x596e3737, 0xb7da6d6d,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   250
    0x8c018d8d, 0x64b1d5d5, 0xd29c4e4e, 0xe049a9a9,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   251
    0xb4d86c6c, 0xfaac5656, 0x07f3f4f4, 0x25cfeaea,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   252
    0xafca6565, 0x8ef47a7a, 0xe947aeae, 0x18100808,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   253
    0xd56fbaba, 0x88f07878, 0x6f4a2525, 0x725c2e2e,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   254
    0x24381c1c, 0xf157a6a6, 0xc773b4b4, 0x5197c6c6,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   255
    0x23cbe8e8, 0x7ca1dddd, 0x9ce87474, 0x213e1f1f,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   256
    0xdd964b4b, 0xdc61bdbd, 0x860d8b8b, 0x850f8a8a,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   257
    0x90e07070, 0x427c3e3e, 0xc471b5b5, 0xaacc6666,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   258
    0xd8904848, 0x05060303, 0x01f7f6f6, 0x121c0e0e,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   259
    0xa3c26161, 0x5f6a3535, 0xf9ae5757, 0xd069b9b9,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   260
    0x91178686, 0x5899c1c1, 0x273a1d1d, 0xb9279e9e,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   261
    0x38d9e1e1, 0x13ebf8f8, 0xb32b9898, 0x33221111,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   262
    0xbbd26969, 0x70a9d9d9, 0x89078e8e, 0xa7339494,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   263
    0xb62d9b9b, 0x223c1e1e, 0x92158787, 0x20c9e9e9,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   264
    0x4987cece, 0xffaa5555, 0x78502828, 0x7aa5dfdf,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   265
    0x8f038c8c, 0xf859a1a1, 0x80098989, 0x171a0d0d,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   266
    0xda65bfbf, 0x31d7e6e6, 0xc6844242, 0xb8d06868,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   267
    0xc3824141, 0xb0299999, 0x775a2d2d, 0x111e0f0f,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   268
    0xcb7bb0b0, 0xfca85454, 0xd66dbbbb, 0x3a2c1616     
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   269
  );
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   270
  
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   271
  var $Te2 = array(
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   272
    0x63a5c663, 0x7c84f87c, 0x7799ee77, 0x7b8df67b,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   273
    0xf20dfff2, 0x6bbdd66b, 0x6fb1de6f, 0xc55491c5,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   274
    0x30506030, 0x01030201, 0x67a9ce67, 0x2b7d562b,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   275
    0xfe19e7fe, 0xd762b5d7, 0xabe64dab, 0x769aec76,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   276
    0xca458fca, 0x829d1f82, 0xc94089c9, 0x7d87fa7d,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   277
    0xfa15effa, 0x59ebb259, 0x47c98e47, 0xf00bfbf0,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   278
    0xadec41ad, 0xd467b3d4, 0xa2fd5fa2, 0xafea45af,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   279
    0x9cbf239c, 0xa4f753a4, 0x7296e472, 0xc05b9bc0,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   280
    0xb7c275b7, 0xfd1ce1fd, 0x93ae3d93, 0x266a4c26,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   281
    0x365a6c36, 0x3f417e3f, 0xf702f5f7, 0xcc4f83cc,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   282
    0x345c6834, 0xa5f451a5, 0xe534d1e5, 0xf108f9f1,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   283
    0x7193e271, 0xd873abd8, 0x31536231, 0x153f2a15,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   284
    0x040c0804, 0xc75295c7, 0x23654623, 0xc35e9dc3,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   285
    0x18283018, 0x96a13796, 0x050f0a05, 0x9ab52f9a,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   286
    0x07090e07, 0x12362412, 0x809b1b80, 0xe23ddfe2,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   287
    0xeb26cdeb, 0x27694e27, 0xb2cd7fb2, 0x759fea75,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   288
    0x091b1209, 0x839e1d83, 0x2c74582c, 0x1a2e341a,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   289
    0x1b2d361b, 0x6eb2dc6e, 0x5aeeb45a, 0xa0fb5ba0,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   290
    0x52f6a452, 0x3b4d763b, 0xd661b7d6, 0xb3ce7db3,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   291
    0x297b5229, 0xe33edde3, 0x2f715e2f, 0x84971384,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   292
    0x53f5a653, 0xd168b9d1, 0x00000000, 0xed2cc1ed,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   293
    0x20604020, 0xfc1fe3fc, 0xb1c879b1, 0x5bedb65b,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   294
    0x6abed46a, 0xcb468dcb, 0xbed967be, 0x394b7239,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   295
    0x4ade944a, 0x4cd4984c, 0x58e8b058, 0xcf4a85cf,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   296
    0xd06bbbd0, 0xef2ac5ef, 0xaae54faa, 0xfb16edfb,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   297
    0x43c58643, 0x4dd79a4d, 0x33556633, 0x85941185,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   298
    0x45cf8a45, 0xf910e9f9, 0x02060402, 0x7f81fe7f,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   299
    0x50f0a050, 0x3c44783c, 0x9fba259f, 0xa8e34ba8,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   300
    0x51f3a251, 0xa3fe5da3, 0x40c08040, 0x8f8a058f,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   301
    0x92ad3f92, 0x9dbc219d, 0x38487038, 0xf504f1f5,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   302
    0xbcdf63bc, 0xb6c177b6, 0xda75afda, 0x21634221,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   303
    0x10302010, 0xff1ae5ff, 0xf30efdf3, 0xd26dbfd2,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   304
    0xcd4c81cd, 0x0c14180c, 0x13352613, 0xec2fc3ec,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   305
    0x5fe1be5f, 0x97a23597, 0x44cc8844, 0x17392e17,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   306
    0xc45793c4, 0xa7f255a7, 0x7e82fc7e, 0x3d477a3d,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   307
    0x64acc864, 0x5de7ba5d, 0x192b3219, 0x7395e673,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   308
    0x60a0c060, 0x81981981, 0x4fd19e4f, 0xdc7fa3dc,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   309
    0x22664422, 0x2a7e542a, 0x90ab3b90, 0x88830b88,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   310
    0x46ca8c46, 0xee29c7ee, 0xb8d36bb8, 0x143c2814,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   311
    0xde79a7de, 0x5ee2bc5e, 0x0b1d160b, 0xdb76addb,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   312
    0xe03bdbe0, 0x32566432, 0x3a4e743a, 0x0a1e140a,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   313
    0x49db9249, 0x060a0c06, 0x246c4824, 0x5ce4b85c,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   314
    0xc25d9fc2, 0xd36ebdd3, 0xacef43ac, 0x62a6c462,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   315
    0x91a83991, 0x95a43195, 0xe437d3e4, 0x798bf279,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   316
    0xe732d5e7, 0xc8438bc8, 0x37596e37, 0x6db7da6d,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   317
    0x8d8c018d, 0xd564b1d5, 0x4ed29c4e, 0xa9e049a9,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   318
    0x6cb4d86c, 0x56faac56, 0xf407f3f4, 0xea25cfea,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   319
    0x65afca65, 0x7a8ef47a, 0xaee947ae, 0x08181008,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   320
    0xbad56fba, 0x7888f078, 0x256f4a25, 0x2e725c2e,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   321
    0x1c24381c, 0xa6f157a6, 0xb4c773b4, 0xc65197c6,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   322
    0xe823cbe8, 0xdd7ca1dd, 0x749ce874, 0x1f213e1f,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   323
    0x4bdd964b, 0xbddc61bd, 0x8b860d8b, 0x8a850f8a,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   324
    0x7090e070, 0x3e427c3e, 0xb5c471b5, 0x66aacc66,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   325
    0x48d89048, 0x03050603, 0xf601f7f6, 0x0e121c0e,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   326
    0x61a3c261, 0x355f6a35, 0x57f9ae57, 0xb9d069b9,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   327
    0x86911786, 0xc15899c1, 0x1d273a1d, 0x9eb9279e,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   328
    0xe138d9e1, 0xf813ebf8, 0x98b32b98, 0x11332211,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   329
    0x69bbd269, 0xd970a9d9, 0x8e89078e, 0x94a73394,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   330
    0x9bb62d9b, 0x1e223c1e, 0x87921587, 0xe920c9e9,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   331
    0xce4987ce, 0x55ffaa55, 0x28785028, 0xdf7aa5df,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   332
    0x8c8f038c, 0xa1f859a1, 0x89800989, 0x0d171a0d,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   333
    0xbfda65bf, 0xe631d7e6, 0x42c68442, 0x68b8d068,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   334
    0x41c38241, 0x99b02999, 0x2d775a2d, 0x0f111e0f,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   335
    0xb0cb7bb0, 0x54fca854, 0xbbd66dbb, 0x163a2c16
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   336
  );
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   337
  
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   338
  var $Te3 = array(
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   339
    0x6363a5c6, 0x7c7c84f8, 0x777799ee, 0x7b7b8df6,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   340
    0xf2f20dff, 0x6b6bbdd6, 0x6f6fb1de, 0xc5c55491,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   341
    0x30305060, 0x01010302, 0x6767a9ce, 0x2b2b7d56,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   342
    0xfefe19e7, 0xd7d762b5, 0xababe64d, 0x76769aec,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   343
    0xcaca458f, 0x82829d1f, 0xc9c94089, 0x7d7d87fa,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   344
    0xfafa15ef, 0x5959ebb2, 0x4747c98e, 0xf0f00bfb,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   345
    0xadadec41, 0xd4d467b3, 0xa2a2fd5f, 0xafafea45,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   346
    0x9c9cbf23, 0xa4a4f753, 0x727296e4, 0xc0c05b9b,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   347
    0xb7b7c275, 0xfdfd1ce1, 0x9393ae3d, 0x26266a4c,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   348
    0x36365a6c, 0x3f3f417e, 0xf7f702f5, 0xcccc4f83,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   349
    0x34345c68, 0xa5a5f451, 0xe5e534d1, 0xf1f108f9,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   350
    0x717193e2, 0xd8d873ab, 0x31315362, 0x15153f2a,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   351
    0x04040c08, 0xc7c75295, 0x23236546, 0xc3c35e9d,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   352
    0x18182830, 0x9696a137, 0x05050f0a, 0x9a9ab52f,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   353
    0x0707090e, 0x12123624, 0x80809b1b, 0xe2e23ddf,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   354
    0xebeb26cd, 0x2727694e, 0xb2b2cd7f, 0x75759fea,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   355
    0x09091b12, 0x83839e1d, 0x2c2c7458, 0x1a1a2e34,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   356
    0x1b1b2d36, 0x6e6eb2dc, 0x5a5aeeb4, 0xa0a0fb5b,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   357
    0x5252f6a4, 0x3b3b4d76, 0xd6d661b7, 0xb3b3ce7d,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   358
    0x29297b52, 0xe3e33edd, 0x2f2f715e, 0x84849713,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   359
    0x5353f5a6, 0xd1d168b9, 0x00000000, 0xeded2cc1,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   360
    0x20206040, 0xfcfc1fe3, 0xb1b1c879, 0x5b5bedb6,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   361
    0x6a6abed4, 0xcbcb468d, 0xbebed967, 0x39394b72,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   362
    0x4a4ade94, 0x4c4cd498, 0x5858e8b0, 0xcfcf4a85,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   363
    0xd0d06bbb, 0xefef2ac5, 0xaaaae54f, 0xfbfb16ed,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   364
    0x4343c586, 0x4d4dd79a, 0x33335566, 0x85859411,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   365
    0x4545cf8a, 0xf9f910e9, 0x02020604, 0x7f7f81fe,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   366
    0x5050f0a0, 0x3c3c4478, 0x9f9fba25, 0xa8a8e34b,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   367
    0x5151f3a2, 0xa3a3fe5d, 0x4040c080, 0x8f8f8a05,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   368
    0x9292ad3f, 0x9d9dbc21, 0x38384870, 0xf5f504f1,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   369
    0xbcbcdf63, 0xb6b6c177, 0xdada75af, 0x21216342,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   370
    0x10103020, 0xffff1ae5, 0xf3f30efd, 0xd2d26dbf,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   371
    0xcdcd4c81, 0x0c0c1418, 0x13133526, 0xecec2fc3,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   372
    0x5f5fe1be, 0x9797a235, 0x4444cc88, 0x1717392e,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   373
    0xc4c45793, 0xa7a7f255, 0x7e7e82fc, 0x3d3d477a,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   374
    0x6464acc8, 0x5d5de7ba, 0x19192b32, 0x737395e6,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   375
    0x6060a0c0, 0x81819819, 0x4f4fd19e, 0xdcdc7fa3,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   376
    0x22226644, 0x2a2a7e54, 0x9090ab3b, 0x8888830b,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   377
    0x4646ca8c, 0xeeee29c7, 0xb8b8d36b, 0x14143c28,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   378
    0xdede79a7, 0x5e5ee2bc, 0x0b0b1d16, 0xdbdb76ad,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   379
    0xe0e03bdb, 0x32325664, 0x3a3a4e74, 0x0a0a1e14,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   380
    0x4949db92, 0x06060a0c, 0x24246c48, 0x5c5ce4b8,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   381
    0xc2c25d9f, 0xd3d36ebd, 0xacacef43, 0x6262a6c4,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   382
    0x9191a839, 0x9595a431, 0xe4e437d3, 0x79798bf2,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   383
    0xe7e732d5, 0xc8c8438b, 0x3737596e, 0x6d6db7da,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   384
    0x8d8d8c01, 0xd5d564b1, 0x4e4ed29c, 0xa9a9e049,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   385
    0x6c6cb4d8, 0x5656faac, 0xf4f407f3, 0xeaea25cf,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   386
    0x6565afca, 0x7a7a8ef4, 0xaeaee947, 0x08081810,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   387
    0xbabad56f, 0x787888f0, 0x25256f4a, 0x2e2e725c,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   388
    0x1c1c2438, 0xa6a6f157, 0xb4b4c773, 0xc6c65197,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   389
    0xe8e823cb, 0xdddd7ca1, 0x74749ce8, 0x1f1f213e,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   390
    0x4b4bdd96, 0xbdbddc61, 0x8b8b860d, 0x8a8a850f,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   391
    0x707090e0, 0x3e3e427c, 0xb5b5c471, 0x6666aacc,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   392
    0x4848d890, 0x03030506, 0xf6f601f7, 0x0e0e121c,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   393
    0x6161a3c2, 0x35355f6a, 0x5757f9ae, 0xb9b9d069,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   394
    0x86869117, 0xc1c15899, 0x1d1d273a, 0x9e9eb927,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   395
    0xe1e138d9, 0xf8f813eb, 0x9898b32b, 0x11113322,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   396
    0x6969bbd2, 0xd9d970a9, 0x8e8e8907, 0x9494a733,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   397
    0x9b9bb62d, 0x1e1e223c, 0x87879215, 0xe9e920c9,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   398
    0xcece4987, 0x5555ffaa, 0x28287850, 0xdfdf7aa5,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   399
    0x8c8c8f03, 0xa1a1f859, 0x89898009, 0x0d0d171a,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   400
    0xbfbfda65, 0xe6e631d7, 0x4242c684, 0x6868b8d0,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   401
    0x4141c382, 0x9999b029, 0x2d2d775a, 0x0f0f111e,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   402
    0xb0b0cb7b, 0x5454fca8, 0xbbbbd66d, 0x16163a2c
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   403
  );
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   404
  
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   405
  var $Te4 = array(
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   406
    0x63636363, 0x7c7c7c7c, 0x77777777, 0x7b7b7b7b,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   407
    0xf2f2f2f2, 0x6b6b6b6b, 0x6f6f6f6f, 0xc5c5c5c5,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   408
    0x30303030, 0x01010101, 0x67676767, 0x2b2b2b2b,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   409
    0xfefefefe, 0xd7d7d7d7, 0xabababab, 0x76767676,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   410
    0xcacacaca, 0x82828282, 0xc9c9c9c9, 0x7d7d7d7d,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   411
    0xfafafafa, 0x59595959, 0x47474747, 0xf0f0f0f0,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   412
    0xadadadad, 0xd4d4d4d4, 0xa2a2a2a2, 0xafafafaf,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   413
    0x9c9c9c9c, 0xa4a4a4a4, 0x72727272, 0xc0c0c0c0,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   414
    0xb7b7b7b7, 0xfdfdfdfd, 0x93939393, 0x26262626,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   415
    0x36363636, 0x3f3f3f3f, 0xf7f7f7f7, 0xcccccccc,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   416
    0x34343434, 0xa5a5a5a5, 0xe5e5e5e5, 0xf1f1f1f1,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   417
    0x71717171, 0xd8d8d8d8, 0x31313131, 0x15151515,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   418
    0x04040404, 0xc7c7c7c7, 0x23232323, 0xc3c3c3c3,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   419
    0x18181818, 0x96969696, 0x05050505, 0x9a9a9a9a,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   420
    0x07070707, 0x12121212, 0x80808080, 0xe2e2e2e2,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   421
    0xebebebeb, 0x27272727, 0xb2b2b2b2, 0x75757575,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   422
    0x09090909, 0x83838383, 0x2c2c2c2c, 0x1a1a1a1a,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   423
    0x1b1b1b1b, 0x6e6e6e6e, 0x5a5a5a5a, 0xa0a0a0a0,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   424
    0x52525252, 0x3b3b3b3b, 0xd6d6d6d6, 0xb3b3b3b3,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   425
    0x29292929, 0xe3e3e3e3, 0x2f2f2f2f, 0x84848484,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   426
    0x53535353, 0xd1d1d1d1, 0x00000000, 0xedededed,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   427
    0x20202020, 0xfcfcfcfc, 0xb1b1b1b1, 0x5b5b5b5b,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   428
    0x6a6a6a6a, 0xcbcbcbcb, 0xbebebebe, 0x39393939,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   429
    0x4a4a4a4a, 0x4c4c4c4c, 0x58585858, 0xcfcfcfcf,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   430
    0xd0d0d0d0, 0xefefefef, 0xaaaaaaaa, 0xfbfbfbfb,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   431
    0x43434343, 0x4d4d4d4d, 0x33333333, 0x85858585,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   432
    0x45454545, 0xf9f9f9f9, 0x02020202, 0x7f7f7f7f,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   433
    0x50505050, 0x3c3c3c3c, 0x9f9f9f9f, 0xa8a8a8a8,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   434
    0x51515151, 0xa3a3a3a3, 0x40404040, 0x8f8f8f8f,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   435
    0x92929292, 0x9d9d9d9d, 0x38383838, 0xf5f5f5f5,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   436
    0xbcbcbcbc, 0xb6b6b6b6, 0xdadadada, 0x21212121,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   437
    0x10101010, 0xffffffff, 0xf3f3f3f3, 0xd2d2d2d2,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   438
    0xcdcdcdcd, 0x0c0c0c0c, 0x13131313, 0xecececec,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   439
    0x5f5f5f5f, 0x97979797, 0x44444444, 0x17171717,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   440
    0xc4c4c4c4, 0xa7a7a7a7, 0x7e7e7e7e, 0x3d3d3d3d,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   441
    0x64646464, 0x5d5d5d5d, 0x19191919, 0x73737373,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   442
    0x60606060, 0x81818181, 0x4f4f4f4f, 0xdcdcdcdc,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   443
    0x22222222, 0x2a2a2a2a, 0x90909090, 0x88888888,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   444
    0x46464646, 0xeeeeeeee, 0xb8b8b8b8, 0x14141414,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   445
    0xdededede, 0x5e5e5e5e, 0x0b0b0b0b, 0xdbdbdbdb,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   446
    0xe0e0e0e0, 0x32323232, 0x3a3a3a3a, 0x0a0a0a0a,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   447
    0x49494949, 0x06060606, 0x24242424, 0x5c5c5c5c,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   448
    0xc2c2c2c2, 0xd3d3d3d3, 0xacacacac, 0x62626262,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   449
    0x91919191, 0x95959595, 0xe4e4e4e4, 0x79797979,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   450
    0xe7e7e7e7, 0xc8c8c8c8, 0x37373737, 0x6d6d6d6d,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   451
    0x8d8d8d8d, 0xd5d5d5d5, 0x4e4e4e4e, 0xa9a9a9a9,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   452
    0x6c6c6c6c, 0x56565656, 0xf4f4f4f4, 0xeaeaeaea,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   453
    0x65656565, 0x7a7a7a7a, 0xaeaeaeae, 0x08080808,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   454
    0xbabababa, 0x78787878, 0x25252525, 0x2e2e2e2e,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   455
    0x1c1c1c1c, 0xa6a6a6a6, 0xb4b4b4b4, 0xc6c6c6c6,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   456
    0xe8e8e8e8, 0xdddddddd, 0x74747474, 0x1f1f1f1f,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   457
    0x4b4b4b4b, 0xbdbdbdbd, 0x8b8b8b8b, 0x8a8a8a8a,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   458
    0x70707070, 0x3e3e3e3e, 0xb5b5b5b5, 0x66666666,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   459
    0x48484848, 0x03030303, 0xf6f6f6f6, 0x0e0e0e0e,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   460
    0x61616161, 0x35353535, 0x57575757, 0xb9b9b9b9,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   461
    0x86868686, 0xc1c1c1c1, 0x1d1d1d1d, 0x9e9e9e9e,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   462
    0xe1e1e1e1, 0xf8f8f8f8, 0x98989898, 0x11111111,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   463
    0x69696969, 0xd9d9d9d9, 0x8e8e8e8e, 0x94949494,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   464
    0x9b9b9b9b, 0x1e1e1e1e, 0x87878787, 0xe9e9e9e9,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   465
    0xcececece, 0x55555555, 0x28282828, 0xdfdfdfdf,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   466
    0x8c8c8c8c, 0xa1a1a1a1, 0x89898989, 0x0d0d0d0d,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   467
    0xbfbfbfbf, 0xe6e6e6e6, 0x42424242, 0x68686868,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   468
    0x41414141, 0x99999999, 0x2d2d2d2d, 0x0f0f0f0f,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   469
    0xb0b0b0b0, 0x54545454, 0xbbbbbbbb, 0x16161616
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   470
  );
458
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
   471
  
595
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   472
  var $Td0 = array(
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   473
    0x51f4a750, 0x7e416553, 0x1a17a4c3, 0x3a275e96,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   474
    0x3bab6bcb, 0x1f9d45f1, 0xacfa58ab, 0x4be30393,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   475
    0x2030fa55, 0xad766df6, 0x88cc7691, 0xf5024c25,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   476
    0x4fe5d7fc, 0xc52acbd7, 0x26354480, 0xb562a38f,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   477
    0xdeb15a49, 0x25ba1b67, 0x45ea0e98, 0x5dfec0e1,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   478
    0xc32f7502, 0x814cf012, 0x8d4697a3, 0x6bd3f9c6,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   479
    0x038f5fe7, 0x15929c95, 0xbf6d7aeb, 0x955259da,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   480
    0xd4be832d, 0x587421d3, 0x49e06929, 0x8ec9c844,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   481
    0x75c2896a, 0xf48e7978, 0x99583e6b, 0x27b971dd,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   482
    0xbee14fb6, 0xf088ad17, 0xc920ac66, 0x7dce3ab4,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   483
    0x63df4a18, 0xe51a3182, 0x97513360, 0x62537f45,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   484
    0xb16477e0, 0xbb6bae84, 0xfe81a01c, 0xf9082b94,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   485
    0x70486858, 0x8f45fd19, 0x94de6c87, 0x527bf8b7,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   486
    0xab73d323, 0x724b02e2, 0xe31f8f57, 0x6655ab2a,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   487
    0xb2eb2807, 0x2fb5c203, 0x86c57b9a, 0xd33708a5,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   488
    0x302887f2, 0x23bfa5b2, 0x02036aba, 0xed16825c,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   489
    0x8acf1c2b, 0xa779b492, 0xf307f2f0, 0x4e69e2a1,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   490
    0x65daf4cd, 0x0605bed5, 0xd134621f, 0xc4a6fe8a,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   491
    0x342e539d, 0xa2f355a0, 0x058ae132, 0xa4f6eb75,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   492
    0x0b83ec39, 0x4060efaa, 0x5e719f06, 0xbd6e1051,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   493
    0x3e218af9, 0x96dd063d, 0xdd3e05ae, 0x4de6bd46,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   494
    0x91548db5, 0x71c45d05, 0x0406d46f, 0x605015ff,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   495
    0x1998fb24, 0xd6bde997, 0x894043cc, 0x67d99e77,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   496
    0xb0e842bd, 0x07898b88, 0xe7195b38, 0x79c8eedb,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   497
    0xa17c0a47, 0x7c420fe9, 0xf8841ec9, 0x00000000,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   498
    0x09808683, 0x322bed48, 0x1e1170ac, 0x6c5a724e,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   499
    0xfd0efffb, 0x0f853856, 0x3daed51e, 0x362d3927,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   500
    0x0a0fd964, 0x685ca621, 0x9b5b54d1, 0x24362e3a,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   501
    0x0c0a67b1, 0x9357e70f, 0xb4ee96d2, 0x1b9b919e,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   502
    0x80c0c54f, 0x61dc20a2, 0x5a774b69, 0x1c121a16,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   503
    0xe293ba0a, 0xc0a02ae5, 0x3c22e043, 0x121b171d,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   504
    0x0e090d0b, 0xf28bc7ad, 0x2db6a8b9, 0x141ea9c8,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   505
    0x57f11985, 0xaf75074c, 0xee99ddbb, 0xa37f60fd,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   506
    0xf701269f, 0x5c72f5bc, 0x44663bc5, 0x5bfb7e34,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   507
    0x8b432976, 0xcb23c6dc, 0xb6edfc68, 0xb8e4f163,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   508
    0xd731dcca, 0x42638510, 0x13972240, 0x84c61120,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   509
    0x854a247d, 0xd2bb3df8, 0xaef93211, 0xc729a16d,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   510
    0x1d9e2f4b, 0xdcb230f3, 0x0d8652ec, 0x77c1e3d0,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   511
    0x2bb3166c, 0xa970b999, 0x119448fa, 0x47e96422,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   512
    0xa8fc8cc4, 0xa0f03f1a, 0x567d2cd8, 0x223390ef,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   513
    0x87494ec7, 0xd938d1c1, 0x8ccaa2fe, 0x98d40b36,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   514
    0xa6f581cf, 0xa57ade28, 0xdab78e26, 0x3fadbfa4,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   515
    0x2c3a9de4, 0x5078920d, 0x6a5fcc9b, 0x547e4662,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   516
    0xf68d13c2, 0x90d8b8e8, 0x2e39f75e, 0x82c3aff5,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   517
    0x9f5d80be, 0x69d0937c, 0x6fd52da9, 0xcf2512b3,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   518
    0xc8ac993b, 0x10187da7, 0xe89c636e, 0xdb3bbb7b,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   519
    0xcd267809, 0x6e5918f4, 0xec9ab701, 0x834f9aa8,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   520
    0xe6956e65, 0xaaffe67e, 0x21bccf08, 0xef15e8e6,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   521
    0xbae79bd9, 0x4a6f36ce, 0xea9f09d4, 0x29b07cd6,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   522
    0x31a4b2af, 0x2a3f2331, 0xc6a59430, 0x35a266c0,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   523
    0x744ebc37, 0xfc82caa6, 0xe090d0b0, 0x33a7d815,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   524
    0xf104984a, 0x41ecdaf7, 0x7fcd500e, 0x1791f62f,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   525
    0x764dd68d, 0x43efb04d, 0xccaa4d54, 0xe49604df,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   526
    0x9ed1b5e3, 0x4c6a881b, 0xc12c1fb8, 0x4665517f,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   527
    0x9d5eea04, 0x018c355d, 0xfa877473, 0xfb0b412e,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   528
    0xb3671d5a, 0x92dbd252, 0xe9105633, 0x6dd64713,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   529
    0x9ad7618c, 0x37a10c7a, 0x59f8148e, 0xeb133c89,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   530
    0xcea927ee, 0xb761c935, 0xe11ce5ed, 0x7a47b13c,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   531
    0x9cd2df59, 0x55f2733f, 0x1814ce79, 0x73c737bf,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   532
    0x53f7cdea, 0x5ffdaa5b, 0xdf3d6f14, 0x7844db86,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   533
    0xcaaff381, 0xb968c43e, 0x3824342c, 0xc2a3405f,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   534
    0x161dc372, 0xbce2250c, 0x283c498b, 0xff0d9541,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   535
    0x39a80171, 0x080cb3de, 0xd8b4e49c, 0x6456c190,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   536
    0x7bcb8461, 0xd532b670, 0x486c5c74, 0xd0b85742
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   537
  );
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   538
  
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   539
  var $Td1 = array(
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   540
    0x5051f4a7, 0x537e4165, 0xc31a17a4, 0x963a275e,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   541
    0xcb3bab6b, 0xf11f9d45, 0xabacfa58, 0x934be303,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   542
    0x552030fa, 0xf6ad766d, 0x9188cc76, 0x25f5024c,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   543
    0xfc4fe5d7, 0xd7c52acb, 0x80263544, 0x8fb562a3,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   544
    0x49deb15a, 0x6725ba1b, 0x9845ea0e, 0xe15dfec0,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   545
    0x02c32f75, 0x12814cf0, 0xa38d4697, 0xc66bd3f9,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   546
    0xe7038f5f, 0x9515929c, 0xebbf6d7a, 0xda955259,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   547
    0x2dd4be83, 0xd3587421, 0x2949e069, 0x448ec9c8,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   548
    0x6a75c289, 0x78f48e79, 0x6b99583e, 0xdd27b971,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   549
    0xb6bee14f, 0x17f088ad, 0x66c920ac, 0xb47dce3a,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   550
    0x1863df4a, 0x82e51a31, 0x60975133, 0x4562537f,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   551
    0xe0b16477, 0x84bb6bae, 0x1cfe81a0, 0x94f9082b,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   552
    0x58704868, 0x198f45fd, 0x8794de6c, 0xb7527bf8,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   553
    0x23ab73d3, 0xe2724b02, 0x57e31f8f, 0x2a6655ab,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   554
    0x07b2eb28, 0x032fb5c2, 0x9a86c57b, 0xa5d33708,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   555
    0xf2302887, 0xb223bfa5, 0xba02036a, 0x5ced1682,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   556
    0x2b8acf1c, 0x92a779b4, 0xf0f307f2, 0xa14e69e2,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   557
    0xcd65daf4, 0xd50605be, 0x1fd13462, 0x8ac4a6fe,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   558
    0x9d342e53, 0xa0a2f355, 0x32058ae1, 0x75a4f6eb,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   559
    0x390b83ec, 0xaa4060ef, 0x065e719f, 0x51bd6e10,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   560
    0xf93e218a, 0x3d96dd06, 0xaedd3e05, 0x464de6bd,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   561
    0xb591548d, 0x0571c45d, 0x6f0406d4, 0xff605015,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   562
    0x241998fb, 0x97d6bde9, 0xcc894043, 0x7767d99e,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   563
    0xbdb0e842, 0x8807898b, 0x38e7195b, 0xdb79c8ee,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   564
    0x47a17c0a, 0xe97c420f, 0xc9f8841e, 0x00000000,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   565
    0x83098086, 0x48322bed, 0xac1e1170, 0x4e6c5a72,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   566
    0xfbfd0eff, 0x560f8538, 0x1e3daed5, 0x27362d39,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   567
    0x640a0fd9, 0x21685ca6, 0xd19b5b54, 0x3a24362e,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   568
    0xb10c0a67, 0x0f9357e7, 0xd2b4ee96, 0x9e1b9b91,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   569
    0x4f80c0c5, 0xa261dc20, 0x695a774b, 0x161c121a,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   570
    0x0ae293ba, 0xe5c0a02a, 0x433c22e0, 0x1d121b17,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   571
    0x0b0e090d, 0xadf28bc7, 0xb92db6a8, 0xc8141ea9,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   572
    0x8557f119, 0x4caf7507, 0xbbee99dd, 0xfda37f60,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   573
    0x9ff70126, 0xbc5c72f5, 0xc544663b, 0x345bfb7e,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   574
    0x768b4329, 0xdccb23c6, 0x68b6edfc, 0x63b8e4f1,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   575
    0xcad731dc, 0x10426385, 0x40139722, 0x2084c611,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   576
    0x7d854a24, 0xf8d2bb3d, 0x11aef932, 0x6dc729a1,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   577
    0x4b1d9e2f, 0xf3dcb230, 0xec0d8652, 0xd077c1e3,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   578
    0x6c2bb316, 0x99a970b9, 0xfa119448, 0x2247e964,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   579
    0xc4a8fc8c, 0x1aa0f03f, 0xd8567d2c, 0xef223390,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   580
    0xc787494e, 0xc1d938d1, 0xfe8ccaa2, 0x3698d40b,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   581
    0xcfa6f581, 0x28a57ade, 0x26dab78e, 0xa43fadbf,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   582
    0xe42c3a9d, 0x0d507892, 0x9b6a5fcc, 0x62547e46,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   583
    0xc2f68d13, 0xe890d8b8, 0x5e2e39f7, 0xf582c3af,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   584
    0xbe9f5d80, 0x7c69d093, 0xa96fd52d, 0xb3cf2512,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   585
    0x3bc8ac99, 0xa710187d, 0x6ee89c63, 0x7bdb3bbb,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   586
    0x09cd2678, 0xf46e5918, 0x01ec9ab7, 0xa8834f9a,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   587
    0x65e6956e, 0x7eaaffe6, 0x0821bccf, 0xe6ef15e8,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   588
    0xd9bae79b, 0xce4a6f36, 0xd4ea9f09, 0xd629b07c,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   589
    0xaf31a4b2, 0x312a3f23, 0x30c6a594, 0xc035a266,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   590
    0x37744ebc, 0xa6fc82ca, 0xb0e090d0, 0x1533a7d8,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   591
    0x4af10498, 0xf741ecda, 0x0e7fcd50, 0x2f1791f6,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   592
    0x8d764dd6, 0x4d43efb0, 0x54ccaa4d, 0xdfe49604,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   593
    0xe39ed1b5, 0x1b4c6a88, 0xb8c12c1f, 0x7f466551,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   594
    0x049d5eea, 0x5d018c35, 0x73fa8774, 0x2efb0b41,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   595
    0x5ab3671d, 0x5292dbd2, 0x33e91056, 0x136dd647,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   596
    0x8c9ad761, 0x7a37a10c, 0x8e59f814, 0x89eb133c,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   597
    0xeecea927, 0x35b761c9, 0xede11ce5, 0x3c7a47b1,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   598
    0x599cd2df, 0x3f55f273, 0x791814ce, 0xbf73c737,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   599
    0xea53f7cd, 0x5b5ffdaa, 0x14df3d6f, 0x867844db,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   600
    0x81caaff3, 0x3eb968c4, 0x2c382434, 0x5fc2a340,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   601
    0x72161dc3, 0x0cbce225, 0x8b283c49, 0x41ff0d95,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   602
    0x7139a801, 0xde080cb3, 0x9cd8b4e4, 0x906456c1,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   603
    0x617bcb84, 0x70d532b6, 0x74486c5c, 0x42d0b857
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   604
  );
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   605
  
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   606
  var $Td2 = array(
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   607
    0xa75051f4, 0x65537e41, 0xa4c31a17, 0x5e963a27,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   608
    0x6bcb3bab, 0x45f11f9d, 0x58abacfa, 0x03934be3,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   609
    0xfa552030, 0x6df6ad76, 0x769188cc, 0x4c25f502,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   610
    0xd7fc4fe5, 0xcbd7c52a, 0x44802635, 0xa38fb562,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   611
    0x5a49deb1, 0x1b6725ba, 0x0e9845ea, 0xc0e15dfe,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   612
    0x7502c32f, 0xf012814c, 0x97a38d46, 0xf9c66bd3,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   613
    0x5fe7038f, 0x9c951592, 0x7aebbf6d, 0x59da9552,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   614
    0x832dd4be, 0x21d35874, 0x692949e0, 0xc8448ec9,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   615
    0x896a75c2, 0x7978f48e, 0x3e6b9958, 0x71dd27b9,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   616
    0x4fb6bee1, 0xad17f088, 0xac66c920, 0x3ab47dce,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   617
    0x4a1863df, 0x3182e51a, 0x33609751, 0x7f456253,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   618
    0x77e0b164, 0xae84bb6b, 0xa01cfe81, 0x2b94f908,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   619
    0x68587048, 0xfd198f45, 0x6c8794de, 0xf8b7527b,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   620
    0xd323ab73, 0x02e2724b, 0x8f57e31f, 0xab2a6655,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   621
    0x2807b2eb, 0xc2032fb5, 0x7b9a86c5, 0x08a5d337,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   622
    0x87f23028, 0xa5b223bf, 0x6aba0203, 0x825ced16,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   623
    0x1c2b8acf, 0xb492a779, 0xf2f0f307, 0xe2a14e69,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   624
    0xf4cd65da, 0xbed50605, 0x621fd134, 0xfe8ac4a6,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   625
    0x539d342e, 0x55a0a2f3, 0xe132058a, 0xeb75a4f6,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   626
    0xec390b83, 0xefaa4060, 0x9f065e71, 0x1051bd6e,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   627
    0x8af93e21, 0x063d96dd, 0x05aedd3e, 0xbd464de6,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   628
    0x8db59154, 0x5d0571c4, 0xd46f0406, 0x15ff6050,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   629
    0xfb241998, 0xe997d6bd, 0x43cc8940, 0x9e7767d9,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   630
    0x42bdb0e8, 0x8b880789, 0x5b38e719, 0xeedb79c8,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   631
    0x0a47a17c, 0x0fe97c42, 0x1ec9f884, 0x00000000,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   632
    0x86830980, 0xed48322b, 0x70ac1e11, 0x724e6c5a,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   633
    0xfffbfd0e, 0x38560f85, 0xd51e3dae, 0x3927362d,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   634
    0xd9640a0f, 0xa621685c, 0x54d19b5b, 0x2e3a2436,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   635
    0x67b10c0a, 0xe70f9357, 0x96d2b4ee, 0x919e1b9b,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   636
    0xc54f80c0, 0x20a261dc, 0x4b695a77, 0x1a161c12,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   637
    0xba0ae293, 0x2ae5c0a0, 0xe0433c22, 0x171d121b,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   638
    0x0d0b0e09, 0xc7adf28b, 0xa8b92db6, 0xa9c8141e,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   639
    0x198557f1, 0x074caf75, 0xddbbee99, 0x60fda37f,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   640
    0x269ff701, 0xf5bc5c72, 0x3bc54466, 0x7e345bfb,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   641
    0x29768b43, 0xc6dccb23, 0xfc68b6ed, 0xf163b8e4,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   642
    0xdccad731, 0x85104263, 0x22401397, 0x112084c6,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   643
    0x247d854a, 0x3df8d2bb, 0x3211aef9, 0xa16dc729,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   644
    0x2f4b1d9e, 0x30f3dcb2, 0x52ec0d86, 0xe3d077c1,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   645
    0x166c2bb3, 0xb999a970, 0x48fa1194, 0x642247e9,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   646
    0x8cc4a8fc, 0x3f1aa0f0, 0x2cd8567d, 0x90ef2233,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   647
    0x4ec78749, 0xd1c1d938, 0xa2fe8cca, 0x0b3698d4,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   648
    0x81cfa6f5, 0xde28a57a, 0x8e26dab7, 0xbfa43fad,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   649
    0x9de42c3a, 0x920d5078, 0xcc9b6a5f, 0x4662547e,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   650
    0x13c2f68d, 0xb8e890d8, 0xf75e2e39, 0xaff582c3,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   651
    0x80be9f5d, 0x937c69d0, 0x2da96fd5, 0x12b3cf25,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   652
    0x993bc8ac, 0x7da71018, 0x636ee89c, 0xbb7bdb3b,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   653
    0x7809cd26, 0x18f46e59, 0xb701ec9a, 0x9aa8834f,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   654
    0x6e65e695, 0xe67eaaff, 0xcf0821bc, 0xe8e6ef15,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   655
    0x9bd9bae7, 0x36ce4a6f, 0x09d4ea9f, 0x7cd629b0,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   656
    0xb2af31a4, 0x23312a3f, 0x9430c6a5, 0x66c035a2,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   657
    0xbc37744e, 0xcaa6fc82, 0xd0b0e090, 0xd81533a7,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   658
    0x984af104, 0xdaf741ec, 0x500e7fcd, 0xf62f1791,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   659
    0xd68d764d, 0xb04d43ef, 0x4d54ccaa, 0x04dfe496,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   660
    0xb5e39ed1, 0x881b4c6a, 0x1fb8c12c, 0x517f4665,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   661
    0xea049d5e, 0x355d018c, 0x7473fa87, 0x412efb0b,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   662
    0x1d5ab367, 0xd25292db, 0x5633e910, 0x47136dd6,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   663
    0x618c9ad7, 0x0c7a37a1, 0x148e59f8, 0x3c89eb13,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   664
    0x27eecea9, 0xc935b761, 0xe5ede11c, 0xb13c7a47,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   665
    0xdf599cd2, 0x733f55f2, 0xce791814, 0x37bf73c7,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   666
    0xcdea53f7, 0xaa5b5ffd, 0x6f14df3d, 0xdb867844,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   667
    0xf381caaf, 0xc43eb968, 0x342c3824, 0x405fc2a3,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   668
    0xc372161d, 0x250cbce2, 0x498b283c, 0x9541ff0d,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   669
    0x017139a8, 0xb3de080c, 0xe49cd8b4, 0xc1906456,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   670
    0x84617bcb, 0xb670d532, 0x5c74486c, 0x5742d0b8
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   671
  );
458
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
   672
  
595
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   673
  var $Td3 = array(
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   674
    0xf4a75051, 0x4165537e, 0x17a4c31a, 0x275e963a,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   675
    0xab6bcb3b, 0x9d45f11f, 0xfa58abac, 0xe303934b,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   676
    0x30fa5520, 0x766df6ad, 0xcc769188, 0x024c25f5,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   677
    0xe5d7fc4f, 0x2acbd7c5, 0x35448026, 0x62a38fb5,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   678
    0xb15a49de, 0xba1b6725, 0xea0e9845, 0xfec0e15d,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   679
    0x2f7502c3, 0x4cf01281, 0x4697a38d, 0xd3f9c66b,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   680
    0x8f5fe703, 0x929c9515, 0x6d7aebbf, 0x5259da95,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   681
    0xbe832dd4, 0x7421d358, 0xe0692949, 0xc9c8448e,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   682
    0xc2896a75, 0x8e7978f4, 0x583e6b99, 0xb971dd27,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   683
    0xe14fb6be, 0x88ad17f0, 0x20ac66c9, 0xce3ab47d,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   684
    0xdf4a1863, 0x1a3182e5, 0x51336097, 0x537f4562,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   685
    0x6477e0b1, 0x6bae84bb, 0x81a01cfe, 0x082b94f9,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   686
    0x48685870, 0x45fd198f, 0xde6c8794, 0x7bf8b752,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   687
    0x73d323ab, 0x4b02e272, 0x1f8f57e3, 0x55ab2a66,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   688
    0xeb2807b2, 0xb5c2032f, 0xc57b9a86, 0x3708a5d3,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   689
    0x2887f230, 0xbfa5b223, 0x036aba02, 0x16825ced,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   690
    0xcf1c2b8a, 0x79b492a7, 0x07f2f0f3, 0x69e2a14e,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   691
    0xdaf4cd65, 0x05bed506, 0x34621fd1, 0xa6fe8ac4,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   692
    0x2e539d34, 0xf355a0a2, 0x8ae13205, 0xf6eb75a4,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   693
    0x83ec390b, 0x60efaa40, 0x719f065e, 0x6e1051bd,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   694
    0x218af93e, 0xdd063d96, 0x3e05aedd, 0xe6bd464d,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   695
    0x548db591, 0xc45d0571, 0x06d46f04, 0x5015ff60,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   696
    0x98fb2419, 0xbde997d6, 0x4043cc89, 0xd99e7767,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   697
    0xe842bdb0, 0x898b8807, 0x195b38e7, 0xc8eedb79,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   698
    0x7c0a47a1, 0x420fe97c, 0x841ec9f8, 0x00000000,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   699
    0x80868309, 0x2bed4832, 0x1170ac1e, 0x5a724e6c,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   700
    0x0efffbfd, 0x8538560f, 0xaed51e3d, 0x2d392736,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   701
    0x0fd9640a, 0x5ca62168, 0x5b54d19b, 0x362e3a24,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   702
    0x0a67b10c, 0x57e70f93, 0xee96d2b4, 0x9b919e1b,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   703
    0xc0c54f80, 0xdc20a261, 0x774b695a, 0x121a161c,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   704
    0x93ba0ae2, 0xa02ae5c0, 0x22e0433c, 0x1b171d12,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   705
    0x090d0b0e, 0x8bc7adf2, 0xb6a8b92d, 0x1ea9c814,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   706
    0xf1198557, 0x75074caf, 0x99ddbbee, 0x7f60fda3,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   707
    0x01269ff7, 0x72f5bc5c, 0x663bc544, 0xfb7e345b,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   708
    0x4329768b, 0x23c6dccb, 0xedfc68b6, 0xe4f163b8,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   709
    0x31dccad7, 0x63851042, 0x97224013, 0xc6112084,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   710
    0x4a247d85, 0xbb3df8d2, 0xf93211ae, 0x29a16dc7,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   711
    0x9e2f4b1d, 0xb230f3dc, 0x8652ec0d, 0xc1e3d077,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   712
    0xb3166c2b, 0x70b999a9, 0x9448fa11, 0xe9642247,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   713
    0xfc8cc4a8, 0xf03f1aa0, 0x7d2cd856, 0x3390ef22,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   714
    0x494ec787, 0x38d1c1d9, 0xcaa2fe8c, 0xd40b3698,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   715
    0xf581cfa6, 0x7ade28a5, 0xb78e26da, 0xadbfa43f,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   716
    0x3a9de42c, 0x78920d50, 0x5fcc9b6a, 0x7e466254,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   717
    0x8d13c2f6, 0xd8b8e890, 0x39f75e2e, 0xc3aff582,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   718
    0x5d80be9f, 0xd0937c69, 0xd52da96f, 0x2512b3cf,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   719
    0xac993bc8, 0x187da710, 0x9c636ee8, 0x3bbb7bdb,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   720
    0x267809cd, 0x5918f46e, 0x9ab701ec, 0x4f9aa883,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   721
    0x956e65e6, 0xffe67eaa, 0xbccf0821, 0x15e8e6ef,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   722
    0xe79bd9ba, 0x6f36ce4a, 0x9f09d4ea, 0xb07cd629,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   723
    0xa4b2af31, 0x3f23312a, 0xa59430c6, 0xa266c035,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   724
    0x4ebc3774, 0x82caa6fc, 0x90d0b0e0, 0xa7d81533,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   725
    0x04984af1, 0xecdaf741, 0xcd500e7f, 0x91f62f17,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   726
    0x4dd68d76, 0xefb04d43, 0xaa4d54cc, 0x9604dfe4,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   727
    0xd1b5e39e, 0x6a881b4c, 0x2c1fb8c1, 0x65517f46,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   728
    0x5eea049d, 0x8c355d01, 0x877473fa, 0x0b412efb,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   729
    0x671d5ab3, 0xdbd25292, 0x105633e9, 0xd647136d,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   730
    0xd7618c9a, 0xa10c7a37, 0xf8148e59, 0x133c89eb,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   731
    0xa927eece, 0x61c935b7, 0x1ce5ede1, 0x47b13c7a,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   732
    0xd2df599c, 0xf2733f55, 0x14ce7918, 0xc737bf73,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   733
    0xf7cdea53, 0xfdaa5b5f, 0x3d6f14df, 0x44db8678,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   734
    0xaff381ca, 0x68c43eb9, 0x24342c38, 0xa3405fc2,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   735
    0x1dc37216, 0xe2250cbc, 0x3c498b28, 0x0d9541ff,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   736
    0xa8017139, 0x0cb3de08, 0xb4e49cd8, 0x56c19064,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   737
    0xcb84617b, 0x32b670d5, 0x6c5c7448, 0xb85742d0
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   738
  );
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   739
  
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   740
  var $Td4 = array(
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   741
    0x52525252, 0x09090909, 0x6a6a6a6a, 0xd5d5d5d5,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   742
    0x30303030, 0x36363636, 0xa5a5a5a5, 0x38383838,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   743
    0xbfbfbfbf, 0x40404040, 0xa3a3a3a3, 0x9e9e9e9e,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   744
    0x81818181, 0xf3f3f3f3, 0xd7d7d7d7, 0xfbfbfbfb,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   745
    0x7c7c7c7c, 0xe3e3e3e3, 0x39393939, 0x82828282,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   746
    0x9b9b9b9b, 0x2f2f2f2f, 0xffffffff, 0x87878787,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   747
    0x34343434, 0x8e8e8e8e, 0x43434343, 0x44444444,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   748
    0xc4c4c4c4, 0xdededede, 0xe9e9e9e9, 0xcbcbcbcb,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   749
    0x54545454, 0x7b7b7b7b, 0x94949494, 0x32323232,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   750
    0xa6a6a6a6, 0xc2c2c2c2, 0x23232323, 0x3d3d3d3d,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   751
    0xeeeeeeee, 0x4c4c4c4c, 0x95959595, 0x0b0b0b0b,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   752
    0x42424242, 0xfafafafa, 0xc3c3c3c3, 0x4e4e4e4e,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   753
    0x08080808, 0x2e2e2e2e, 0xa1a1a1a1, 0x66666666,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   754
    0x28282828, 0xd9d9d9d9, 0x24242424, 0xb2b2b2b2,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   755
    0x76767676, 0x5b5b5b5b, 0xa2a2a2a2, 0x49494949,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   756
    0x6d6d6d6d, 0x8b8b8b8b, 0xd1d1d1d1, 0x25252525,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   757
    0x72727272, 0xf8f8f8f8, 0xf6f6f6f6, 0x64646464,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   758
    0x86868686, 0x68686868, 0x98989898, 0x16161616,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   759
    0xd4d4d4d4, 0xa4a4a4a4, 0x5c5c5c5c, 0xcccccccc,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   760
    0x5d5d5d5d, 0x65656565, 0xb6b6b6b6, 0x92929292,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   761
    0x6c6c6c6c, 0x70707070, 0x48484848, 0x50505050,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   762
    0xfdfdfdfd, 0xedededed, 0xb9b9b9b9, 0xdadadada,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   763
    0x5e5e5e5e, 0x15151515, 0x46464646, 0x57575757,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   764
    0xa7a7a7a7, 0x8d8d8d8d, 0x9d9d9d9d, 0x84848484,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   765
    0x90909090, 0xd8d8d8d8, 0xabababab, 0x00000000,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   766
    0x8c8c8c8c, 0xbcbcbcbc, 0xd3d3d3d3, 0x0a0a0a0a,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   767
    0xf7f7f7f7, 0xe4e4e4e4, 0x58585858, 0x05050505,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   768
    0xb8b8b8b8, 0xb3b3b3b3, 0x45454545, 0x06060606,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   769
    0xd0d0d0d0, 0x2c2c2c2c, 0x1e1e1e1e, 0x8f8f8f8f,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   770
    0xcacacaca, 0x3f3f3f3f, 0x0f0f0f0f, 0x02020202,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   771
    0xc1c1c1c1, 0xafafafaf, 0xbdbdbdbd, 0x03030303,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   772
    0x01010101, 0x13131313, 0x8a8a8a8a, 0x6b6b6b6b,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   773
    0x3a3a3a3a, 0x91919191, 0x11111111, 0x41414141,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   774
    0x4f4f4f4f, 0x67676767, 0xdcdcdcdc, 0xeaeaeaea,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   775
    0x97979797, 0xf2f2f2f2, 0xcfcfcfcf, 0xcececece,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   776
    0xf0f0f0f0, 0xb4b4b4b4, 0xe6e6e6e6, 0x73737373,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   777
    0x96969696, 0xacacacac, 0x74747474, 0x22222222,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   778
    0xe7e7e7e7, 0xadadadad, 0x35353535, 0x85858585,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   779
    0xe2e2e2e2, 0xf9f9f9f9, 0x37373737, 0xe8e8e8e8,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   780
    0x1c1c1c1c, 0x75757575, 0xdfdfdfdf, 0x6e6e6e6e,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   781
    0x47474747, 0xf1f1f1f1, 0x1a1a1a1a, 0x71717171,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   782
    0x1d1d1d1d, 0x29292929, 0xc5c5c5c5, 0x89898989,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   783
    0x6f6f6f6f, 0xb7b7b7b7, 0x62626262, 0x0e0e0e0e,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   784
    0xaaaaaaaa, 0x18181818, 0xbebebebe, 0x1b1b1b1b,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   785
    0xfcfcfcfc, 0x56565656, 0x3e3e3e3e, 0x4b4b4b4b,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   786
    0xc6c6c6c6, 0xd2d2d2d2, 0x79797979, 0x20202020,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   787
    0x9a9a9a9a, 0xdbdbdbdb, 0xc0c0c0c0, 0xfefefefe,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   788
    0x78787878, 0xcdcdcdcd, 0x5a5a5a5a, 0xf4f4f4f4,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   789
    0x1f1f1f1f, 0xdddddddd, 0xa8a8a8a8, 0x33333333,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   790
    0x88888888, 0x07070707, 0xc7c7c7c7, 0x31313131,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   791
    0xb1b1b1b1, 0x12121212, 0x10101010, 0x59595959,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   792
    0x27272727, 0x80808080, 0xecececec, 0x5f5f5f5f,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   793
    0x60606060, 0x51515151, 0x7f7f7f7f, 0xa9a9a9a9,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   794
    0x19191919, 0xb5b5b5b5, 0x4a4a4a4a, 0x0d0d0d0d,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   795
    0x2d2d2d2d, 0xe5e5e5e5, 0x7a7a7a7a, 0x9f9f9f9f,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   796
    0x93939393, 0xc9c9c9c9, 0x9c9c9c9c, 0xefefefef,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   797
    0xa0a0a0a0, 0xe0e0e0e0, 0x3b3b3b3b, 0x4d4d4d4d,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   798
    0xaeaeaeae, 0x2a2a2a2a, 0xf5f5f5f5, 0xb0b0b0b0,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   799
    0xc8c8c8c8, 0xebebebeb, 0xbbbbbbbb, 0x3c3c3c3c,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   800
    0x83838383, 0x53535353, 0x99999999, 0x61616161,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   801
    0x17171717, 0x2b2b2b2b, 0x04040404, 0x7e7e7e7e,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   802
    0xbabababa, 0x77777777, 0xd6d6d6d6, 0x26262626,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   803
    0xe1e1e1e1, 0x69696969, 0x14141414, 0x63636363,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   804
    0x55555555, 0x21212121, 0x0c0c0c0c, 0x7d7d7d7d
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   805
  );
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   806
  
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   807
  var $rcon = array(
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   808
    0x01000000, 0x02000000, 0x04000000, 0x08000000,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   809
    0x10000000, 0x20000000, 0x40000000, 0x80000000,
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   810
    0x1B000000, 0x36000000
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   811
  );
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   812
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   813
  //////////////////// CORE FUNCTIONS ///////////////////////////
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   814
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   815
  // Encrypt a single block (bin) and return (bout)
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   816
  function AES_encrypt($bin, $key)
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   817
  {
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   818
    $rk = 0;
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   819
    
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   820
    if ($bin == '' || $key == '') {
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   821
      librijndael2::trace("AES_encrypt: bin/key undefined");
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   822
      return;
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   823
    }
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   824
    
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   825
    // FIXME: BAD: we need rd_key
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   826
  
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   827
    // map byte array block to cipher state
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   828
    // and add initial round key:
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   829
    
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   830
    $s0 = librijndael2::parseInt("0x" . substr($bin, 0 , 8)) ^ $key->rd_key[0];
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   831
    $s1 = librijndael2::parseInt("0x" . substr($bin, 8 , 8)) ^ $key->rd_key[1];
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   832
    $s2 = librijndael2::parseInt("0x" . substr($bin, 16, 8)) ^ $key->rd_key[2];
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   833
    $s3 = librijndael2::parseInt("0x" . substr($bin, 24, 8)) ^ $key->rd_key[3];
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   834
    
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   835
    // Using Full Unroll (Bigger more a bit faster :) )
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   836
    // round 1:
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   837
    $t0 = $this->Te0[($s0 >> 24) & 0xff] ^ $this->Te1[($s1 >> 16) & 0xff] ^ $this->Te2[($s2 >>  8) & 0xff] ^ $this->Te3[$s3 & 0xff] ^ $key->rd_key[4];
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   838
    $t1 = $this->Te0[($s1 >> 24) & 0xff] ^ $this->Te1[($s2 >> 16) & 0xff] ^ $this->Te2[($s3 >>  8) & 0xff] ^ $this->Te3[$s0 & 0xff] ^ $key->rd_key[5];
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   839
    $t2 = $this->Te0[($s2 >> 24) & 0xff] ^ $this->Te1[($s3 >> 16) & 0xff] ^ $this->Te2[($s0 >>  8) & 0xff] ^ $this->Te3[$s1 & 0xff] ^ $key->rd_key[6];
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   840
    $t3 = $this->Te0[($s3 >> 24) & 0xff] ^ $this->Te1[($s0 >> 16) & 0xff] ^ $this->Te2[($s1 >>  8) & 0xff] ^ $this->Te3[$s2 & 0xff] ^ $key->rd_key[7];
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   841
    $s0 = $this->Te0[($t0 >> 24) & 0xff] ^ $this->Te1[($t1 >> 16) & 0xff] ^ $this->Te2[($t2 >>  8) & 0xff] ^ $this->Te3[$t3 & 0xff] ^ $key->rd_key[8];
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   842
    $s1 = $this->Te0[($t1 >> 24) & 0xff] ^ $this->Te1[($t2 >> 16) & 0xff] ^ $this->Te2[($t3 >>  8) & 0xff] ^ $this->Te3[$t0 & 0xff] ^ $key->rd_key[9];
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   843
    $s2 = $this->Te0[($t2 >> 24) & 0xff] ^ $this->Te1[($t3 >> 16) & 0xff] ^ $this->Te2[($t0 >>  8) & 0xff] ^ $this->Te3[$t1 & 0xff] ^ $key->rd_key[10];
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   844
    $s3 = $this->Te0[($t3 >> 24) & 0xff] ^ $this->Te1[($t0 >> 16) & 0xff] ^ $this->Te2[($t1 >>  8) & 0xff] ^ $this->Te3[$t2 & 0xff] ^ $key->rd_key[11];
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   845
    $t0 = $this->Te0[($s0 >> 24) & 0xff] ^ $this->Te1[($s1 >> 16) & 0xff] ^ $this->Te2[($s2 >>  8) & 0xff] ^ $this->Te3[$s3 & 0xff] ^ $key->rd_key[12];
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   846
    $t1 = $this->Te0[($s1 >> 24) & 0xff] ^ $this->Te1[($s2 >> 16) & 0xff] ^ $this->Te2[($s3 >>  8) & 0xff] ^ $this->Te3[$s0 & 0xff] ^ $key->rd_key[13];
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   847
    $t2 = $this->Te0[($s2 >> 24) & 0xff] ^ $this->Te1[($s3 >> 16) & 0xff] ^ $this->Te2[($s0 >>  8) & 0xff] ^ $this->Te3[$s1 & 0xff] ^ $key->rd_key[14];
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   848
    $t3 = $this->Te0[($s3 >> 24) & 0xff] ^ $this->Te1[($s0 >> 16) & 0xff] ^ $this->Te2[($s1 >>  8) & 0xff] ^ $this->Te3[$s2 & 0xff] ^ $key->rd_key[15];
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   849
    $s0 = $this->Te0[($t0 >> 24) & 0xff] ^ $this->Te1[($t1 >> 16) & 0xff] ^ $this->Te2[($t2 >>  8) & 0xff] ^ $this->Te3[$t3 & 0xff] ^ $key->rd_key[16];
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   850
    $s1 = $this->Te0[($t1 >> 24) & 0xff] ^ $this->Te1[($t2 >> 16) & 0xff] ^ $this->Te2[($t3 >>  8) & 0xff] ^ $this->Te3[$t0 & 0xff] ^ $key->rd_key[17];
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   851
    $s2 = $this->Te0[($t2 >> 24) & 0xff] ^ $this->Te1[($t3 >> 16) & 0xff] ^ $this->Te2[($t0 >>  8) & 0xff] ^ $this->Te3[$t1 & 0xff] ^ $key->rd_key[18];
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   852
    $s3 = $this->Te0[($t3 >> 24) & 0xff] ^ $this->Te1[($t0 >> 16) & 0xff] ^ $this->Te2[($t1 >>  8) & 0xff] ^ $this->Te3[$t2 & 0xff] ^ $key->rd_key[19];
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   853
    $t0 = $this->Te0[($s0 >> 24) & 0xff] ^ $this->Te1[($s1 >> 16) & 0xff] ^ $this->Te2[($s2 >>  8) & 0xff] ^ $this->Te3[$s3 & 0xff] ^ $key->rd_key[20];
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   854
    $t1 = $this->Te0[($s1 >> 24) & 0xff] ^ $this->Te1[($s2 >> 16) & 0xff] ^ $this->Te2[($s3 >>  8) & 0xff] ^ $this->Te3[$s0 & 0xff] ^ $key->rd_key[21];
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   855
    $t2 = $this->Te0[($s2 >> 24) & 0xff] ^ $this->Te1[($s3 >> 16) & 0xff] ^ $this->Te2[($s0 >>  8) & 0xff] ^ $this->Te3[$s1 & 0xff] ^ $key->rd_key[22];
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   856
    $t3 = $this->Te0[($s3 >> 24) & 0xff] ^ $this->Te1[($s0 >> 16) & 0xff] ^ $this->Te2[($s1 >>  8) & 0xff] ^ $this->Te3[$s2 & 0xff] ^ $key->rd_key[23];
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   857
    $s0 = $this->Te0[($t0 >> 24) & 0xff] ^ $this->Te1[($t1 >> 16) & 0xff] ^ $this->Te2[($t2 >>  8) & 0xff] ^ $this->Te3[$t3 & 0xff] ^ $key->rd_key[24];
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   858
    $s1 = $this->Te0[($t1 >> 24) & 0xff] ^ $this->Te1[($t2 >> 16) & 0xff] ^ $this->Te2[($t3 >>  8) & 0xff] ^ $this->Te3[$t0 & 0xff] ^ $key->rd_key[25];
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   859
    $s2 = $this->Te0[($t2 >> 24) & 0xff] ^ $this->Te1[($t3 >> 16) & 0xff] ^ $this->Te2[($t0 >>  8) & 0xff] ^ $this->Te3[$t1 & 0xff] ^ $key->rd_key[26];
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   860
    $s3 = $this->Te0[($t3 >> 24) & 0xff] ^ $this->Te1[($t0 >> 16) & 0xff] ^ $this->Te2[($t1 >>  8) & 0xff] ^ $this->Te3[$t2 & 0xff] ^ $key->rd_key[27];
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   861
    $t0 = $this->Te0[($s0 >> 24) & 0xff] ^ $this->Te1[($s1 >> 16) & 0xff] ^ $this->Te2[($s2 >>  8) & 0xff] ^ $this->Te3[$s3 & 0xff] ^ $key->rd_key[28];
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   862
    $t1 = $this->Te0[($s1 >> 24) & 0xff] ^ $this->Te1[($s2 >> 16) & 0xff] ^ $this->Te2[($s3 >>  8) & 0xff] ^ $this->Te3[$s0 & 0xff] ^ $key->rd_key[29];
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   863
    $t2 = $this->Te0[($s2 >> 24) & 0xff] ^ $this->Te1[($s3 >> 16) & 0xff] ^ $this->Te2[($s0 >>  8) & 0xff] ^ $this->Te3[$s1 & 0xff] ^ $key->rd_key[30];
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   864
    $t3 = $this->Te0[($s3 >> 24) & 0xff] ^ $this->Te1[($s0 >> 16) & 0xff] ^ $this->Te2[($s1 >>  8) & 0xff] ^ $this->Te3[$s2 & 0xff] ^ $key->rd_key[31];
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   865
    $s0 = $this->Te0[($t0 >> 24) & 0xff] ^ $this->Te1[($t1 >> 16) & 0xff] ^ $this->Te2[($t2 >>  8) & 0xff] ^ $this->Te3[$t3 & 0xff] ^ $key->rd_key[32];
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   866
    $s1 = $this->Te0[($t1 >> 24) & 0xff] ^ $this->Te1[($t2 >> 16) & 0xff] ^ $this->Te2[($t3 >>  8) & 0xff] ^ $this->Te3[$t0 & 0xff] ^ $key->rd_key[33];
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   867
    $s2 = $this->Te0[($t2 >> 24) & 0xff] ^ $this->Te1[($t3 >> 16) & 0xff] ^ $this->Te2[($t0 >>  8) & 0xff] ^ $this->Te3[$t1 & 0xff] ^ $key->rd_key[34];
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   868
    $s3 = $this->Te0[($t3 >> 24) & 0xff] ^ $this->Te1[($t0 >> 16) & 0xff] ^ $this->Te2[($t1 >>  8) & 0xff] ^ $this->Te3[$t2 & 0xff] ^ $key->rd_key[35];
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   869
    $t0 = $this->Te0[($s0 >> 24) & 0xff] ^ $this->Te1[($s1 >> 16) & 0xff] ^ $this->Te2[($s2 >>  8) & 0xff] ^ $this->Te3[$s3 & 0xff] ^ $key->rd_key[36];
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   870
    $t1 = $this->Te0[($s1 >> 24) & 0xff] ^ $this->Te1[($s2 >> 16) & 0xff] ^ $this->Te2[($s3 >>  8) & 0xff] ^ $this->Te3[$s0 & 0xff] ^ $key->rd_key[37];
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   871
    $t2 = $this->Te0[($s2 >> 24) & 0xff] ^ $this->Te1[($s3 >> 16) & 0xff] ^ $this->Te2[($s0 >>  8) & 0xff] ^ $this->Te3[$s1 & 0xff] ^ $key->rd_key[38];
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   872
    $t3 = $this->Te0[($s3 >> 24) & 0xff] ^ $this->Te1[($s0 >> 16) & 0xff] ^ $this->Te2[($s1 >>  8) & 0xff] ^ $this->Te3[$s2 & 0xff] ^ $key->rd_key[39];
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   873
    
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   874
    // FIXME: BAD: need $key->rounds
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   875
    
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   876
    if ($key->rounds > 10) {
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   877
        // round 10:
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   878
        $s0 = $this->Te0[($t0 >> 24) & 0xff] ^ $this->Te1[($t1 >> 16) & 0xff] ^ $this->Te2[($t2 >>  8) & 0xff] ^ $this->Te3[$t3 & 0xff] ^ $key->rd_key[40];
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   879
        $s1 = $this->Te0[($t1 >> 24) & 0xff] ^ $this->Te1[($t2 >> 16) & 0xff] ^ $this->Te2[($t3 >>  8) & 0xff] ^ $this->Te3[$t0 & 0xff] ^ $key->rd_key[41];
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   880
        $s2 = $this->Te0[($t2 >> 24) & 0xff] ^ $this->Te1[($t3 >> 16) & 0xff] ^ $this->Te2[($t0 >>  8) & 0xff] ^ $this->Te3[$t1 & 0xff] ^ $key->rd_key[42];
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   881
        $s3 = $this->Te0[($t3 >> 24) & 0xff] ^ $this->Te1[($t0 >> 16) & 0xff] ^ $this->Te2[($t1 >>  8) & 0xff] ^ $this->Te3[$t2 & 0xff] ^ $key->rd_key[43];
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   882
        $t0 = $this->Te0[($s0 >> 24) & 0xff] ^ $this->Te1[($s1 >> 16) & 0xff] ^ $this->Te2[($s2 >>  8) & 0xff] ^ $this->Te3[$s3 & 0xff] ^ $key->rd_key[44];
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   883
        $t1 = $this->Te0[($s1 >> 24) & 0xff] ^ $this->Te1[($s2 >> 16) & 0xff] ^ $this->Te2[($s3 >>  8) & 0xff] ^ $this->Te3[$s0 & 0xff] ^ $key->rd_key[45];
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   884
        $t2 = $this->Te0[($s2 >> 24) & 0xff] ^ $this->Te1[($s3 >> 16) & 0xff] ^ $this->Te2[($s0 >>  8) & 0xff] ^ $this->Te3[$s1 & 0xff] ^ $key->rd_key[46];
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   885
        $t3 = $this->Te0[($s3 >> 24) & 0xff] ^ $this->Te1[($s0 >> 16) & 0xff] ^ $this->Te2[($s1 >>  8) & 0xff] ^ $this->Te3[$s2 & 0xff] ^ $key->rd_key[47];
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   886
        
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   887
      if ($key->rounds > 12) {
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   888
            $s0 = $this->Te0[($t0 >> 24) & 0xff] ^ $this->Te1[($t1 >> 16) & 0xff] ^ $this->Te2[($t2 >>  8) & 0xff] ^ $this->Te3[$t3 & 0xff] ^ $key->rd_key[48];
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   889
            $s1 = $this->Te0[($t1 >> 24) & 0xff] ^ $this->Te1[($t2 >> 16) & 0xff] ^ $this->Te2[($t3 >>  8) & 0xff] ^ $this->Te3[$t0 & 0xff] ^ $key->rd_key[49];
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   890
            $s2 = $this->Te0[($t2 >> 24) & 0xff] ^ $this->Te1[($t3 >> 16) & 0xff] ^ $this->Te2[($t0 >>  8) & 0xff] ^ $this->Te3[$t1 & 0xff] ^ $key->rd_key[50];
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   891
            $s3 = $this->Te0[($t3 >> 24) & 0xff] ^ $this->Te1[($t0 >> 16) & 0xff] ^ $this->Te2[($t1 >>  8) & 0xff] ^ $this->Te3[$t2 & 0xff] ^ $key->rd_key[51];
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   892
            $t0 = $this->Te0[($s0 >> 24) & 0xff] ^ $this->Te1[($s1 >> 16) & 0xff] ^ $this->Te2[($s2 >>  8) & 0xff] ^ $this->Te3[$s3 & 0xff] ^ $key->rd_key[52];
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   893
            $t1 = $this->Te0[($s1 >> 24) & 0xff] ^ $this->Te1[($s2 >> 16) & 0xff] ^ $this->Te2[($s3 >>  8) & 0xff] ^ $this->Te3[$s0 & 0xff] ^ $key->rd_key[53];
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   894
            $t2 = $this->Te0[($s2 >> 24) & 0xff] ^ $this->Te1[($s3 >> 16) & 0xff] ^ $this->Te2[($s0 >>  8) & 0xff] ^ $this->Te3[$s1 & 0xff] ^ $key->rd_key[54];
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   895
            $t3 = $this->Te0[($s3 >> 24) & 0xff] ^ $this->Te1[($s0 >> 16) & 0xff] ^ $this->Te2[($s1 >>  8) & 0xff] ^ $this->Te3[$s2 & 0xff] ^ $key->rd_key[55];   
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   896
        }
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   897
    }
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   898
   
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   899
    // This is correct
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   900
    $rk = $key->rounds << 2;
458
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
   901
  
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
   902
  
595
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   903
    /*
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   904
    // No Full Unroll 
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   905
    */
458
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
   906
  
595
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   907
    // Apply last round and
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   908
    // map cipher state to byte array block:
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   909
     
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   910
    $s0 =  ($this->Te4[($t0 >> 24) & 0xff] & 0xff000000) ^
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   911
           ($this->Te4[($t1 >> 16) & 0xff] & 0x00ff0000) ^
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   912
           ($this->Te4[($t2 >>  8) & 0xff] & 0x0000ff00) ^
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   913
           ($this->Te4[($t3      ) & 0xff] & 0x000000ff) ^
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   914
            $key->rd_key[$rk];
458
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
   915
  
595
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   916
    $out  = librijndael2::ord2hex(($s0 >> 24) & 0xff);
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   917
    $out .= librijndael2::ord2hex(($s0 >> 16) & 0xff);
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   918
    $out .= librijndael2::ord2hex(($s0 >> 8) & 0xff);
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   919
    $out .= librijndael2::ord2hex($s0 & 0xff);
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   920
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   921
    $s1 =  ($this->Te4[($t1 >> 24) & 0xff] & 0xff000000) ^
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   922
           ($this->Te4[($t2 >> 16) & 0xff] & 0x00ff0000) ^
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   923
           ($this->Te4[($t3 >>  8) & 0xff] & 0x0000ff00) ^
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   924
           ($this->Te4[($t0      ) & 0xff] & 0x000000ff) ^
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   925
           $key->rd_key[$rk+1];
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   926
      
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   927
    $out .= librijndael2::ord2hex(($s1 >> 24) & 0xff);
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   928
    $out .= librijndael2::ord2hex(($s1 >> 16) & 0xff);
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   929
    $out .= librijndael2::ord2hex(($s1 >> 8) & 0xff);
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   930
    $out .= librijndael2::ord2hex($s1 & 0xff);
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   931
    
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   932
    $s2 =  ($this->Te4[($t2 >> 24) & 0xff] & 0xff000000) ^
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   933
           ($this->Te4[($t3 >> 16) & 0xff] & 0x00ff0000) ^
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   934
           ($this->Te4[($t0 >>  8) & 0xff] & 0x0000ff00) ^
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   935
           ($this->Te4[($t1      ) & 0xff] & 0x000000ff) ^
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   936
           $key->rd_key[$rk+2];
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   937
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   938
    $out .= librijndael2::ord2hex(($s2 >> 24) & 0xff);
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   939
    $out .= librijndael2::ord2hex(($s2 >> 16) & 0xff);
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   940
    $out .= librijndael2::ord2hex(($s2 >> 8) & 0xff); 
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   941
    $out .= librijndael2::ord2hex($s2 & 0xff);
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   942
    
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   943
    $s3 =  ($this->Te4[($t3 >> 24) & 0xff] & 0xff000000) ^
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   944
           ($this->Te4[($t0 >> 16) & 0xff] & 0x00ff0000) ^
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   945
           ($this->Te4[($t1 >>  8) & 0xff] & 0x0000ff00) ^
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   946
           ($this->Te4[($t2      ) & 0xff] & 0x000000ff) ^
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   947
           $key->rd_key[$rk+3];
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   948
    
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   949
    $out .= librijndael2::ord2hex(($s3 >> 24) & 0xff);
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   950
    $out .= librijndael2::ord2hex(($s3 >> 16) & 0xff);
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   951
    $out .= librijndael2::ord2hex(($s3 >> 8) & 0xff);
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   952
    $out .= librijndael2::ord2hex($s3 & 0xff);
458
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
   953
  
595
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   954
    return $out;
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   955
  }
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   956
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   957
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   958
  // Decrypt a single block (bin) and return (bout)
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   959
  function AES_decrypt($bin, $key)
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   960
  {
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   961
    $rk = 0;
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   962
    // var r;  // No Full Unroll
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   963
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   964
    if ($bin == '' || $key == '')
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   965
    {
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   966
      librijndael2::trace("AES_decrypt: bin/key undefined");
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   967
      return;
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   968
    }
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   969
    
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   970
    // FIXME: BAD: need $key->rd_key
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   971
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   972
    // map byte array block to cipher state
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   973
    // and add initial round key:
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   974
    $s0 = librijndael2::parseInt("0x" . substr($bin, 0 , 8)) ^ $key->rd_key[0];
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   975
    $s1 = librijndael2::parseInt("0x" . substr($bin, 8 , 8)) ^ $key->rd_key[1];
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   976
    $s2 = librijndael2::parseInt("0x" . substr($bin, 16, 8)) ^ $key->rd_key[2];
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   977
    $s3 = librijndael2::parseInt("0x" . substr($bin, 24, 8)) ^ $key->rd_key[3];
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   978
   
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   979
    // Using Full Unroll (Bigger more a bit faster :) )
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   980
    $t0 = $this->Td0[($s0 >> 24) & 0xff] ^ $this->Td1[($s3 >> 16) & 0xff] ^ $this->Td2[($s2 >>  8) & 0xff] ^ $this->Td3[$s1 & 0xff] ^ $key->rd_key[4];  // ROUND 1
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   981
    $t1 = $this->Td0[($s1 >> 24) & 0xff] ^ $this->Td1[($s0 >> 16) & 0xff] ^ $this->Td2[($s3 >>  8) & 0xff] ^ $this->Td3[$s2 & 0xff] ^ $key->rd_key[5];
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   982
    $t2 = $this->Td0[($s2 >> 24) & 0xff] ^ $this->Td1[($s1 >> 16) & 0xff] ^ $this->Td2[($s0 >>  8) & 0xff] ^ $this->Td3[$s3 & 0xff] ^ $key->rd_key[6];
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   983
    $t3 = $this->Td0[($s3 >> 24) & 0xff] ^ $this->Td1[($s2 >> 16) & 0xff] ^ $this->Td2[($s1 >>  8) & 0xff] ^ $this->Td3[$s0 & 0xff] ^ $key->rd_key[7];
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   984
    $s0 = $this->Td0[($t0 >> 24) & 0xff] ^ $this->Td1[($t3 >> 16) & 0xff] ^ $this->Td2[($t2 >>  8) & 0xff] ^ $this->Td3[$t1 & 0xff] ^ $key->rd_key[8];  // ROUND 2
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   985
    $s1 = $this->Td0[($t1 >> 24) & 0xff] ^ $this->Td1[($t0 >> 16) & 0xff] ^ $this->Td2[($t3 >>  8) & 0xff] ^ $this->Td3[$t2 & 0xff] ^ $key->rd_key[9];
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   986
    $s2 = $this->Td0[($t2 >> 24) & 0xff] ^ $this->Td1[($t1 >> 16) & 0xff] ^ $this->Td2[($t0 >>  8) & 0xff] ^ $this->Td3[$t3 & 0xff] ^ $key->rd_key[10];
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   987
    $s3 = $this->Td0[($t3 >> 24) & 0xff] ^ $this->Td1[($t2 >> 16) & 0xff] ^ $this->Td2[($t1 >>  8) & 0xff] ^ $this->Td3[$t0 & 0xff] ^ $key->rd_key[11];
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   988
    $t0 = $this->Td0[($s0 >> 24) & 0xff] ^ $this->Td1[($s3 >> 16) & 0xff] ^ $this->Td2[($s2 >>  8) & 0xff] ^ $this->Td3[$s1 & 0xff] ^ $key->rd_key[12]; // ROUND 3
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   989
    $t1 = $this->Td0[($s1 >> 24) & 0xff] ^ $this->Td1[($s0 >> 16) & 0xff] ^ $this->Td2[($s3 >>  8) & 0xff] ^ $this->Td3[$s2 & 0xff] ^ $key->rd_key[13];
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   990
    $t2 = $this->Td0[($s2 >> 24) & 0xff] ^ $this->Td1[($s1 >> 16) & 0xff] ^ $this->Td2[($s0 >>  8) & 0xff] ^ $this->Td3[$s3 & 0xff] ^ $key->rd_key[14];
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   991
    $t3 = $this->Td0[($s3 >> 24) & 0xff] ^ $this->Td1[($s2 >> 16) & 0xff] ^ $this->Td2[($s1 >>  8) & 0xff] ^ $this->Td3[$s0 & 0xff] ^ $key->rd_key[15];
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   992
    $s0 = $this->Td0[($t0 >> 24) & 0xff] ^ $this->Td1[($t3 >> 16) & 0xff] ^ $this->Td2[($t2 >>  8) & 0xff] ^ $this->Td3[$t1 & 0xff] ^ $key->rd_key[16]; // ROUND 4
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   993
    $s1 = $this->Td0[($t1 >> 24) & 0xff] ^ $this->Td1[($t0 >> 16) & 0xff] ^ $this->Td2[($t3 >>  8) & 0xff] ^ $this->Td3[$t2 & 0xff] ^ $key->rd_key[17];
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   994
    $s2 = $this->Td0[($t2 >> 24) & 0xff] ^ $this->Td1[($t1 >> 16) & 0xff] ^ $this->Td2[($t0 >>  8) & 0xff] ^ $this->Td3[$t3 & 0xff] ^ $key->rd_key[18];
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   995
    $s3 = $this->Td0[($t3 >> 24) & 0xff] ^ $this->Td1[($t2 >> 16) & 0xff] ^ $this->Td2[($t1 >>  8) & 0xff] ^ $this->Td3[$t0 & 0xff] ^ $key->rd_key[19];
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   996
    $t0 = $this->Td0[($s0 >> 24) & 0xff] ^ $this->Td1[($s3 >> 16) & 0xff] ^ $this->Td2[($s2 >>  8) & 0xff] ^ $this->Td3[$s1 & 0xff] ^ $key->rd_key[20]; // ROUND 5
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   997
    $t1 = $this->Td0[($s1 >> 24) & 0xff] ^ $this->Td1[($s0 >> 16) & 0xff] ^ $this->Td2[($s3 >>  8) & 0xff] ^ $this->Td3[$s2 & 0xff] ^ $key->rd_key[21];
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   998
    $t2 = $this->Td0[($s2 >> 24) & 0xff] ^ $this->Td1[($s1 >> 16) & 0xff] ^ $this->Td2[($s0 >>  8) & 0xff] ^ $this->Td3[$s3 & 0xff] ^ $key->rd_key[22];
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
   999
    $t3 = $this->Td0[($s3 >> 24) & 0xff] ^ $this->Td1[($s2 >> 16) & 0xff] ^ $this->Td2[($s1 >>  8) & 0xff] ^ $this->Td3[$s0 & 0xff] ^ $key->rd_key[23];
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1000
    $s0 = $this->Td0[($t0 >> 24) & 0xff] ^ $this->Td1[($t3 >> 16) & 0xff] ^ $this->Td2[($t2 >>  8) & 0xff] ^ $this->Td3[$t1 & 0xff] ^ $key->rd_key[24]; // ROUND 6
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1001
    $s1 = $this->Td0[($t1 >> 24) & 0xff] ^ $this->Td1[($t0 >> 16) & 0xff] ^ $this->Td2[($t3 >>  8) & 0xff] ^ $this->Td3[$t2 & 0xff] ^ $key->rd_key[25];
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1002
    $s2 = $this->Td0[($t2 >> 24) & 0xff] ^ $this->Td1[($t1 >> 16) & 0xff] ^ $this->Td2[($t0 >>  8) & 0xff] ^ $this->Td3[$t3 & 0xff] ^ $key->rd_key[26];
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1003
    $s3 = $this->Td0[($t3 >> 24) & 0xff] ^ $this->Td1[($t2 >> 16) & 0xff] ^ $this->Td2[($t1 >>  8) & 0xff] ^ $this->Td3[$t0 & 0xff] ^ $key->rd_key[27];
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1004
    $t0 = $this->Td0[($s0 >> 24) & 0xff] ^ $this->Td1[($s3 >> 16) & 0xff] ^ $this->Td2[($s2 >>  8) & 0xff] ^ $this->Td3[$s1 & 0xff] ^ $key->rd_key[28]; // ROUND 7
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1005
    $t1 = $this->Td0[($s1 >> 24) & 0xff] ^ $this->Td1[($s0 >> 16) & 0xff] ^ $this->Td2[($s3 >>  8) & 0xff] ^ $this->Td3[$s2 & 0xff] ^ $key->rd_key[29];
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1006
    $t2 = $this->Td0[($s2 >> 24) & 0xff] ^ $this->Td1[($s1 >> 16) & 0xff] ^ $this->Td2[($s0 >>  8) & 0xff] ^ $this->Td3[$s3 & 0xff] ^ $key->rd_key[30];
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1007
    $t3 = $this->Td0[($s3 >> 24) & 0xff] ^ $this->Td1[($s2 >> 16) & 0xff] ^ $this->Td2[($s1 >>  8) & 0xff] ^ $this->Td3[$s0 & 0xff] ^ $key->rd_key[31];
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1008
    $s0 = $this->Td0[($t0 >> 24) & 0xff] ^ $this->Td1[($t3 >> 16) & 0xff] ^ $this->Td2[($t2 >>  8) & 0xff] ^ $this->Td3[$t1 & 0xff] ^ $key->rd_key[32]; // ROUND 8
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1009
    $s1 = $this->Td0[($t1 >> 24) & 0xff] ^ $this->Td1[($t0 >> 16) & 0xff] ^ $this->Td2[($t3 >>  8) & 0xff] ^ $this->Td3[$t2 & 0xff] ^ $key->rd_key[33];
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1010
    $s2 = $this->Td0[($t2 >> 24) & 0xff] ^ $this->Td1[($t1 >> 16) & 0xff] ^ $this->Td2[($t0 >>  8) & 0xff] ^ $this->Td3[$t3 & 0xff] ^ $key->rd_key[34];
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1011
    $s3 = $this->Td0[($t3 >> 24) & 0xff] ^ $this->Td1[($t2 >> 16) & 0xff] ^ $this->Td2[($t1 >>  8) & 0xff] ^ $this->Td3[$t0 & 0xff] ^ $key->rd_key[35];
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1012
    $t0 = $this->Td0[($s0 >> 24) & 0xff] ^ $this->Td1[($s3 >> 16) & 0xff] ^ $this->Td2[($s2 >>  8) & 0xff] ^ $this->Td3[$s1 & 0xff] ^ $key->rd_key[36]; // ROUND 9
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1013
    $t1 = $this->Td0[($s1 >> 24) & 0xff] ^ $this->Td1[($s0 >> 16) & 0xff] ^ $this->Td2[($s3 >>  8) & 0xff] ^ $this->Td3[$s2 & 0xff] ^ $key->rd_key[37];
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1014
    $t2 = $this->Td0[($s2 >> 24) & 0xff] ^ $this->Td1[($s1 >> 16) & 0xff] ^ $this->Td2[($s0 >>  8) & 0xff] ^ $this->Td3[$s3 & 0xff] ^ $key->rd_key[38];
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1015
    $t3 = $this->Td0[($s3 >> 24) & 0xff] ^ $this->Td1[($s2 >> 16) & 0xff] ^ $this->Td2[($s1 >>  8) & 0xff] ^ $this->Td3[$s0 & 0xff] ^ $key->rd_key[39];
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1016
    
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1017
    // FIXME: BAD: need $key->rounds
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1018
    
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1019
    if ($key->rounds > 10)
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1020
    {
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1021
      $s0 = $this->Td0[($t0 >> 24) & 0xff] ^ $this->Td1[($t3 >> 16) & 0xff] ^ $this->Td2[($t2 >>  8) & 0xff] ^ $this->Td3[$t1 & 0xff] ^ $key->rd_key[40]; // ROUND 10
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1022
      $s1 = $this->Td0[($t1 >> 24) & 0xff] ^ $this->Td1[($t0 >> 16) & 0xff] ^ $this->Td2[($t3 >>  8) & 0xff] ^ $this->Td3[$t2 & 0xff] ^ $key->rd_key[41];
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1023
      $s2 = $this->Td0[($t2 >> 24) & 0xff] ^ $this->Td1[($t1 >> 16) & 0xff] ^ $this->Td2[($t0 >>  8) & 0xff] ^ $this->Td3[$t3 & 0xff] ^ $key->rd_key[42];
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1024
      $s3 = $this->Td0[($t3 >> 24) & 0xff] ^ $this->Td1[($t2 >> 16) & 0xff] ^ $this->Td2[($t1 >>  8) & 0xff] ^ $this->Td3[$t0 & 0xff] ^ $key->rd_key[43];
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1025
      $t0 = $this->Td0[($s0 >> 24) & 0xff] ^ $this->Td1[($s3 >> 16) & 0xff] ^ $this->Td2[($s2 >>  8) & 0xff] ^ $this->Td3[$s1 & 0xff] ^ $key->rd_key[44]; // ROUND 11
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1026
      $t1 = $this->Td0[($s1 >> 24) & 0xff] ^ $this->Td1[($s0 >> 16) & 0xff] ^ $this->Td2[($s3 >>  8) & 0xff] ^ $this->Td3[$s2 & 0xff] ^ $key->rd_key[45];
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1027
      $t2 = $this->Td0[($s2 >> 24) & 0xff] ^ $this->Td1[($s1 >> 16) & 0xff] ^ $this->Td2[($s0 >>  8) & 0xff] ^ $this->Td3[$s3 & 0xff] ^ $key->rd_key[46];
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1028
      $t3 = $this->Td0[($s3 >> 24) & 0xff] ^ $this->Td1[($s2 >> 16) & 0xff] ^ $this->Td2[($s1 >>  8) & 0xff] ^ $this->Td3[$s0 & 0xff] ^ $key->rd_key[47];  
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1029
        
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1030
      if ($key->rounds > 12)
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1031
      {
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1032
        $s0 = $this->Td0[($t0 >> 24) & 0xff] ^ $this->Td1[($t3 >> 16) & 0xff] ^ $this->Td2[($t2 >>  8) & 0xff] ^ $this->Td3[$t1 & 0xff] ^ $key->rd_key[48]; // ROUND 12
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1033
        $s1 = $this->Td0[($t1 >> 24) & 0xff] ^ $this->Td1[($t0 >> 16) & 0xff] ^ $this->Td2[($t3 >>  8) & 0xff] ^ $this->Td3[$t2 & 0xff] ^ $key->rd_key[49];
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1034
        $s2 = $this->Td0[($t2 >> 24) & 0xff] ^ $this->Td1[($t1 >> 16) & 0xff] ^ $this->Td2[($t0 >>  8) & 0xff] ^ $this->Td3[$t3 & 0xff] ^ $key->rd_key[50];
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1035
        $s3 = $this->Td0[($t3 >> 24) & 0xff] ^ $this->Td1[($t2 >> 16) & 0xff] ^ $this->Td2[($t1 >>  8) & 0xff] ^ $this->Td3[$t0 & 0xff] ^ $key->rd_key[51];
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1036
        $t0 = $this->Td0[($s0 >> 24) & 0xff] ^ $this->Td1[($s3 >> 16) & 0xff] ^ $this->Td2[($s2 >>  8) & 0xff] ^ $this->Td3[$s1 & 0xff] ^ $key->rd_key[52]; // ROUND 13
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1037
        $t1 = $this->Td0[($s1 >> 24) & 0xff] ^ $this->Td1[($s0 >> 16) & 0xff] ^ $this->Td2[($s3 >>  8) & 0xff] ^ $this->Td3[$s2 & 0xff] ^ $key->rd_key[53];
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1038
        $t2 = $this->Td0[($s2 >> 24) & 0xff] ^ $this->Td1[($s1 >> 16) & 0xff] ^ $this->Td2[($s0 >>  8) & 0xff] ^ $this->Td3[$s3 & 0xff] ^ $key->rd_key[54];
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1039
        $t3 = $this->Td0[($s3 >> 24) & 0xff] ^ $this->Td1[($s2 >> 16) & 0xff] ^ $this->Td2[($s1 >>  8) & 0xff] ^ $this->Td3[$s0 & 0xff] ^ $key->rd_key[55];
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1040
      }
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1041
    }
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1042
    
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1043
    // This is correct
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1044
    $rk = $key->rounds << 2;
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1045
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1046
    /*
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1047
    // No Full Unroll 
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1048
    */
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1049
  
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1050
    // Apply last round and
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1051
    // map cipher state to byte array block:
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1052
     
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1053
    $s0 =  ($this->Td4[($t0 >> 24) & 0xff] & 0xff000000) ^
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1054
           ($this->Td4[($t3 >> 16) & 0xff] & 0x00ff0000) ^
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1055
           ($this->Td4[($t2 >>  8) & 0xff] & 0x0000ff00) ^
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1056
           ($this->Td4[($t1      ) & 0xff] & 0x000000ff) ^
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1057
           $key->rd_key[$rk];
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1058
  
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1059
    $out  = librijndael2::ord2hex(($s0 >> 24) & 0xff);
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1060
    $out .= librijndael2::ord2hex(($s0 >> 16) & 0xff);
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1061
    $out .= librijndael2::ord2hex(($s0 >> 8) & 0xff);
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1062
    $out .= librijndael2::ord2hex($s0 & 0xff);
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1063
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1064
    $s1 =  ($this->Td4[($t1 >> 24) & 0xff] & 0xff000000) ^
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1065
           ($this->Td4[($t0 >> 16) & 0xff] & 0x00ff0000) ^
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1066
           ($this->Td4[($t3 >>  8) & 0xff] & 0x0000ff00) ^
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1067
           ($this->Td4[($t2      ) & 0xff] & 0x000000ff) ^
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1068
           $key->rd_key[$rk+1];
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1069
      
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1070
    $out .= librijndael2::ord2hex(($s1 >> 24) & 0xff);
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1071
    $out .= librijndael2::ord2hex(($s1 >> 16) & 0xff);
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1072
    $out .= librijndael2::ord2hex(($s1 >> 8) & 0xff);
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1073
    $out .= librijndael2::ord2hex($s1 & 0xff);
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1074
    
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1075
    $s2 =  ($this->Td4[($t2 >> 24) & 0xff] & 0xff000000) ^
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1076
           ($this->Td4[($t1 >> 16) & 0xff] & 0x00ff0000) ^
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1077
           ($this->Td4[($t0 >>  8) & 0xff] & 0x0000ff00) ^
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1078
           ($this->Td4[($t3      ) & 0xff] & 0x000000ff) ^
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1079
           $key->rd_key[$rk+2];
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1080
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1081
    $out .= librijndael2::ord2hex(($s2 >> 24) & 0xff);
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1082
    $out .= librijndael2::ord2hex(($s2 >> 16) & 0xff);
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1083
    $out .= librijndael2::ord2hex(($s2 >> 8) & 0xff);
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1084
    $out .= librijndael2::ord2hex($s2 & 0xff);
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1085
  
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1086
    $s3 =  ($this->Td4[($t3 >> 24) & 0xff] & 0xff000000) ^
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1087
           ($this->Td4[($t2 >> 16) & 0xff] & 0x00ff0000) ^
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1088
           ($this->Td4[($t1 >>  8) & 0xff] & 0x0000ff00) ^
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1089
           ($this->Td4[($t0      ) & 0xff] & 0x000000ff) ^
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1090
           $key->rd_key[$rk+3];
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1091
    
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1092
    $out .= librijndael2::ord2hex(($s3 >> 24) & 0xff);
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1093
    $out .= librijndael2::ord2hex(($s3 >> 16) & 0xff);
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1094
    $out .= librijndael2::ord2hex(($s3 >> 8) & 0xff);
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1095
    $out .= librijndael2::ord2hex($s3 & 0xff);
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1096
  
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1097
    return $out;
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1098
  }
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1099
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1100
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1101
  /////////////////////////////// MODES //////////////////////////////////
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1102
   
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1103
  /* ECB MODE (AES_ecb_encrypt) 
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1104
   * bin:  128 bit block (32 hex digits)
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1105
   * key:  AES_KEY object (use AES_set_encrypt_key or AES_set_decrypt_key)
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1106
   * enc:  "AES_ENCRYPT" or "AES_DECRYPT"
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1107
   * Return value: 128 bit block (32 hex digits) 
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1108
   */
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1109
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1110
  function AES_ecb_encrypt($bin, $key, $enc)
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1111
  {
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1112
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1113
    if ($bin == '' || $key == '')
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1114
    {
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1115
      librijndael2::trace("AES_ecb_encrypt: bin/key undefined");
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1116
      return;
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1117
    }
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1118
    
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1119
    if ($enc !== "AES_ENCRYPT" && $enc !== "AES_DECRYPT")
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1120
    {
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1121
      librijndael2::trace("AES_ecb_encrypt: enc isn't AES_ENCRYPT/AES_DECRYPT");
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1122
      return;
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1123
    }
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1124
    
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1125
    if ($enc == "AES_ENCRYPT")
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1126
        $bout = $this->AES_encrypt($bin, $key);
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1127
    else
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1128
        $bout = $this->AES_decrypt($bin, $key);
458
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
  1129
  
595
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1130
    return $bout;
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1131
  }
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1132
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1133
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1134
  /* CBC MODE (AES_cbc_encrypt) 
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1135
   * bin:  128 bit block (32 hex digits)
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1136
   * key:  AES_KEY object (use AES_set_encrypt_key or AES_set_decrypt_key)
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1137
   * ivec: Initialization Vector (32 hex digits)
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1138
   * enc:  "AES_ENCRYPT" or "AES_DECRYPT"
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1139
   * Return value: 128 bit block (32 hex digits) 
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1140
   */
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1141
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1142
  function AES_cbc_encrypt($bin, $key, $ivec, $enc)
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1143
  {
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1144
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1145
    // if ($bin == '' || $key == '' || $ivec == '')
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1146
    // {
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1147
    //   librijndael2::trace("AES_cbc_encrypt: bin/key/ivec undefined.");
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1148
    //   return;
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1149
    // }
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1150
        
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1151
    $len = strlen($bin);
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1152
    
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1153
    if ($len % 32 != 0)
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1154
    {
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1155
      librijndael2::trace("AES_cbc_encrypt: data isn't multiple of 32 (32 hex = 128bits).");
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1156
      return;
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1157
    }
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1158
        
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1159
    if ($enc !== "AES_ENCRYPT" && $enc !== "AES_DECRYPT")
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1160
    {
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1161
      librijndael2::trace("AES_ecb_encrypt: enc isn't AES_ENCRYPT/AES_DECRYPT");
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1162
      return;
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1163
    }
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1164
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1165
    $tin = $bin;
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1166
    $tmp = '';
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1167
    $bout = '';
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1168
    
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1169
    if ($enc == "AES_ENCRYPT")
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1170
      while ($len > 0)
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1171
      {
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1172
        $tmp = "";
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1173
        for($n=0; $n < 32; $n += 2)
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1174
        {
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1175
          $aux  = librijndael2::parseInt("0x" . substr($tin, $n , 2)) ^ librijndael2::parseInt("0x" . substr($ivec, $n, 2));
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1176
          $tmp .= librijndael2::ord2hex($aux);
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1177
        }
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1178
        
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1179
        $tout = $this->AES_encrypt($tmp, $key);
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1180
        $ivec = $tout; 
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1181
        $len -= 32;
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1182
        $tin = substr($tin, 32);
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1183
        $bout .= $tout;
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1184
      }
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1185
    else
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1186
      while ($len > 0) {
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1187
        $tmp = $this->AES_decrypt($tin, $key);
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1188
        $tout = "";
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1189
        for($n=0; $n < 32; $n+=2)
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1190
        {
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1191
          $aux   = librijndael2::parseInt("0x" . substr($tmp, $n , 2)) ^ librijndael2::parseInt("0x" . substr($ivec, $n, 2)); 
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1192
          $tout .= librijndael2::ord2hex($aux);
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1193
        }
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1194
          
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1195
        $ivec = $tin;
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1196
        $len -= 32;
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1197
        $tin = substr($tin, 32);
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1198
        $bout .= $tout;
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1199
      }
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1200
  
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1201
    return $bout;
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1202
  }
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1203
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1204
}
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1205
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1206
class Crypt_Rijndael_Key extends Crypt_Rijndael
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1207
{
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1208
  var $rounds = 12;
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1209
  var $rd_key = array();
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1210
  var $key = '';
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1211
  var $bits = 0;
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1212
  var $key_state = 'none';
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1213
  
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1214
  function __construct($key)
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1215
  {
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1216
    $this->key = $key;
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1217
    $this->bits = ( strlen($key) * 4 );
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1218
  }
458
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
  1219
  
595
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1220
  // Expand the cipher key into the encryption key schedule.
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1221
  function set_encrypt()
458
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
  1222
  {
595
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1223
    $i = 0;
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1224
    $rk = 0;
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1225
    
602
ecbc8d202058 Fixed missing randkey() method in rijndael.php
Dan
parents: 595
diff changeset
  1226
    if ( $this->key_state === 'encrypt' )
ecbc8d202058 Fixed missing randkey() method in rijndael.php
Dan
parents: 595
diff changeset
  1227
    {
595
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1228
      return 0;
602
ecbc8d202058 Fixed missing randkey() method in rijndael.php
Dan
parents: 595
diff changeset
  1229
    }
458
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
  1230
    
595
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1231
    $this->key_state = 'encrypt';
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1232
    
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1233
    $userkey =& $this->key;
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1234
    $bits =& $this->bits;
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1235
    
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1236
    if ($bits != 128 && $bits != 192 && $bits != 256)
458
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
  1237
    {
595
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1238
      librijndael2::trace("AES_set_encrypt_key: key size isn't 128/192/256");
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1239
      return -2;
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1240
    }
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1241
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1242
    if ($bits==128)
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1243
      $this->rounds = 10;
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1244
    else if ($bits==192)
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1245
      $this->rounds = 12;
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1246
    else
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1247
      $this->rounds = 14;
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1248
        
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1249
    
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1250
    $this->rd_key = array();
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1251
    $this->rd_key[0] = librijndael2::parseInt("0x" . substr($userkey, 0 , 8));
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1252
    $this->rd_key[1] = librijndael2::parseInt("0x" . substr($userkey, 8 , 8));
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1253
    $this->rd_key[2] = librijndael2::parseInt("0x" . substr($userkey, 16, 8));
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1254
    $this->rd_key[3] = librijndael2::parseInt("0x" . substr($userkey, 24, 8));
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1255
    
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1256
    if ($bits == 128) {
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1257
        for (;;) {
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1258
            $temp  = $this->rd_key[3+$rk];
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1259
        // (temp >> 24) & 0xff was difficult bug to tracking...
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1260
            $this->rd_key[4+$rk] = $this->rd_key[$rk] ^
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1261
              ($this->Te4[($temp >> 16) & 0xff] & 0xff000000) ^
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1262
              ($this->Te4[($temp >>  8) & 0xff] & 0x00ff0000) ^
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1263
              ($this->Te4[ $temp        & 0xff] & 0x0000ff00) ^
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1264
              ($this->Te4[($temp >> 24) & 0xff] & 0x000000ff) ^
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1265
              $this->rcon[$i];
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1266
           
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1267
      $this->rd_key[5+$rk] = $this->rd_key[1+$rk] ^ $this->rd_key[4+$rk];
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1268
            $this->rd_key[6+$rk] = $this->rd_key[2+$rk] ^ $this->rd_key[5+$rk];
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1269
            $this->rd_key[7+$rk] = $this->rd_key[3+$rk] ^ $this->rd_key[6+$rk];
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1270
            if (++$i == 10) return 0;
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1271
          $rk += 4;
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1272
        }
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1273
    }
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1274
 
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1275
    $this->rd_key[4] = librijndael2::parseInt("0x" . @substr($userkey, 32, 8));
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1276
    $this->rd_key[5] = librijndael2::parseInt("0x" . @substr($userkey, 40, 8));
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1277
    
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1278
    if ($bits == 192) {
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1279
        for (;;) {
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1280
            $temp  = $this->rd_key[5+$rk];
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1281
            $this->rd_key[6+$rk] = $this->rd_key[$rk] ^
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1282
            ($this->Te4[($temp >> 16) & 0xff] & 0xff000000) ^
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1283
            ($this->Te4[($temp >>  8) & 0xff] & 0x00ff0000) ^
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1284
            ($this->Te4[($temp      ) & 0xff] & 0x0000ff00) ^
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1285
            ($this->Te4[($temp >> 24) & 0xff] & 0x000000ff) ^
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1286
            $this->rcon[$i];
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1287
    
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1288
        $this->rd_key[7+$rk] = $this->rd_key[1+$rk] ^ $this->rd_key[6 + $rk];
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1289
            $this->rd_key[8+$rk] = $this->rd_key[2 + $rk] ^ $this->rd_key[7 + $rk];
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1290
            $this->rd_key[9+$rk] = $this->rd_key[3 + $rk] ^ $this->rd_key[8 + $rk];
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1291
            if (++$i == 8) {
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1292
                return 0;
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1293
            }
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1294
        $this->rd_key[10 + $rk] = $this->rd_key[4 + $rk] ^ $this->rd_key[9 + $rk];
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1295
            $this->rd_key[11 + $rk] = $this->rd_key[5 + $rk] ^ $this->rd_key[10 + $rk];
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1296
            $rk += 6;
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1297
        }
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1298
    }
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1299
    
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1300
    $this->rd_key[6] = librijndael2::parseInt("0x" . @substr($userkey, 48, 8));
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1301
    $this->rd_key[7] = librijndael2::parseInt("0x" . @substr($userkey, 56, 8));
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1302
    
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1303
    if ($bits == 256) {
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1304
        for (;;) {
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1305
            $temp  = $this->rd_key[7+$rk];
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1306
            $this->rd_key[8+$rk] = $this->rd_key[$rk] ^
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1307
            ($this->Te4[($temp >> 16) & 0xff] & 0xff000000) ^
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1308
            ($this->Te4[($temp >>  8) & 0xff] & 0x00ff0000) ^
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1309
            ($this->Te4[($temp      ) & 0xff] & 0x0000ff00) ^
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1310
            ($this->Te4[($temp >> 24) & 0xff] & 0x000000ff) ^
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1311
            $this->rcon[$i];
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1312
      
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1313
            $this->rd_key[9 + $rk] = $this->rd_key[1 + $rk] ^ $this->rd_key[8 + $rk];
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1314
            $this->rd_key[10 + $rk] = $this->rd_key[2 + $rk] ^ $this->rd_key[9 + $rk];
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1315
            $this->rd_key[11 + $rk] = $this->rd_key[3 + $rk] ^ $this->rd_key[10 + $rk];
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1316
            if (++$i == 7) {
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1317
                return 0;
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1318
            }
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1319
            
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1320
            $temp  = $this->rd_key[11 + $rk];
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1321
            $this->rd_key[12 + $rk] = $this->rd_key[4 + $rk] ^
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1322
            ($this->Te4[($temp >> 24) & 0xff] & 0xff000000) ^
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1323
            ($this->Te4[($temp >> 16) & 0xff] & 0x00ff0000) ^
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1324
            ($this->Te4[($temp >>  8) & 0xff] & 0x0000ff00) ^
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1325
            ($this->Te4[($temp      ) & 0xff] & 0x000000ff);
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1326
      
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1327
      $this->rd_key[13 + $rk] = $this->rd_key[5 + $rk] ^ $this->rd_key[12 + $rk];
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1328
            $this->rd_key[14 + $rk] = $this->rd_key[6 + $rk] ^ $this->rd_key[13 + $rk];
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1329
            $this->rd_key[15 + $rk] = $this->rd_key[7 + $rk] ^ $this->rd_key[14 + $rk];
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1330
            $rk += 8;
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1331
        }
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1332
    }
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1333
    return 0;
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1334
  }
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1335
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1336
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1337
  // Expand the cipher key into the decryption key schedule. 
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1338
  function set_decrypt()
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1339
  {
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1340
    $i = 0;
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1341
    $j = 0;
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1342
    $rk = 0;
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1343
    $bits =& $this->bits;
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1344
    
602
ecbc8d202058 Fixed missing randkey() method in rijndael.php
Dan
parents: 595
diff changeset
  1345
    if ( $this->key_state === 'decrypt' )
ecbc8d202058 Fixed missing randkey() method in rijndael.php
Dan
parents: 595
diff changeset
  1346
    {
595
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1347
      return 0;
602
ecbc8d202058 Fixed missing randkey() method in rijndael.php
Dan
parents: 595
diff changeset
  1348
    }
595
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1349
    
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1350
    $this->key_state = 'decrypt';
602
ecbc8d202058 Fixed missing randkey() method in rijndael.php
Dan
parents: 595
diff changeset
  1351
    
595
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1352
    // first, start with an encryption schedule 
602
ecbc8d202058 Fixed missing randkey() method in rijndael.php
Dan
parents: 595
diff changeset
  1353
    $status = $this->set_encrypt();
ecbc8d202058 Fixed missing randkey() method in rijndael.php
Dan
parents: 595
diff changeset
  1354
    
ecbc8d202058 Fixed missing randkey() method in rijndael.php
Dan
parents: 595
diff changeset
  1355
    // set the state again because set_encrypt() will change it
ecbc8d202058 Fixed missing randkey() method in rijndael.php
Dan
parents: 595
diff changeset
  1356
    $this->key_state = 'decrypt';
595
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1357
    
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1358
    if ($status < 0) {
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1359
      librijndael2::trace("AES_set_decrypt_key: AES_set_encrypt_key error");
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1360
      return;
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1361
    }
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1362
  
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1363
    // invert the order of the round keys: 
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1364
    for ($i = 0, $j = 4*($this->rounds); $i < $j; $i += 4, $j -= 4) {
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1365
      $temp = $this->rd_key[$i];   $this->rd_key[$i]   = $this->rd_key[$j];   $this->rd_key[$j]   = $temp;
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1366
      $temp = $this->rd_key[$i+1]; $this->rd_key[$i+1] = $this->rd_key[$j+1]; $this->rd_key[$j+1] = $temp;
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1367
      $temp = $this->rd_key[$i+2]; $this->rd_key[$i+2] = $this->rd_key[$j+2]; $this->rd_key[$j+2] = $temp;
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1368
      $temp = $this->rd_key[$i+3]; $this->rd_key[$i+3] = $this->rd_key[$j+3]; $this->rd_key[$j+3] = $temp;
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1369
    }
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1370
    
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1371
    // apply the inverse MixColumn transform to all round keys but the first and the last: 
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1372
    for ($i = 1; $i < ($this->rounds); $i++) {
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1373
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1374
        $rk += 4;
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1375
        $this->rd_key[$rk] =
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1376
        $this->Td0[$this->Te4[($this->rd_key[$rk] >> 24) & 0xff] & 0xff] ^
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1377
        $this->Td1[$this->Te4[($this->rd_key[$rk] >> 16) & 0xff] & 0xff] ^
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1378
        $this->Td2[$this->Te4[($this->rd_key[$rk] >>  8) & 0xff] & 0xff] ^
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1379
        $this->Td3[$this->Te4[($this->rd_key[$rk]      ) & 0xff] & 0xff];
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1380
       
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1381
        $this->rd_key[1+$rk] =
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1382
        $this->Td0[$this->Te4[($this->rd_key[1+$rk] >> 24) & 0xff] & 0xff] ^
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1383
        $this->Td1[$this->Te4[($this->rd_key[1+$rk] >> 16) & 0xff] & 0xff] ^
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1384
        $this->Td2[$this->Te4[($this->rd_key[1+$rk] >>  8) & 0xff] & 0xff] ^
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1385
        $this->Td3[$this->Te4[($this->rd_key[1+$rk]      ) & 0xff] & 0xff];
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1386
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1387
        $this->rd_key[2+$rk] =
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1388
        $this->Td0[$this->Te4[($this->rd_key[2+$rk] >> 24) & 0xff] & 0xff] ^
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1389
        $this->Td1[$this->Te4[($this->rd_key[2+$rk] >> 16) & 0xff] & 0xff] ^
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1390
        $this->Td2[$this->Te4[($this->rd_key[2+$rk] >>  8) & 0xff] & 0xff] ^
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1391
        $this->Td3[$this->Te4[($this->rd_key[2+$rk]      ) & 0xff] & 0xff];
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1392
 
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1393
        $this->rd_key[3+$rk] =
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1394
        $this->Td0[$this->Te4[($this->rd_key[3+$rk] >> 24) & 0xff] & 0xff] ^
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1395
        $this->Td1[$this->Te4[($this->rd_key[3+$rk] >> 16) & 0xff] & 0xff] ^
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1396
        $this->Td2[$this->Te4[($this->rd_key[3+$rk] >>  8) & 0xff] & 0xff] ^
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1397
        $this->Td3[$this->Te4[($this->rd_key[3+$rk]      ) & 0xff] & 0xff];
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1398
    } 
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1399
    return 0;
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1400
  }
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1401
}
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1402
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1403
/**
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1404
 * Frontend for Crypt_Rijndael, ABI-compatible with the old Rijndael framework.
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1405
 * @package Enano
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1406
 * @subpackage Crypto
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1407
 * @author Dan Fuhry
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1408
 * @license GNU General Public License
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1409
 */
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1410
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1411
class AESCrypt
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1412
{
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1413
  
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1414
  /**
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1415
   * Fetches a Crypt_Rijndael_Key object for the given hex or binary key.
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1416
   * @param string Key, binary or hex format
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1417
   * @return object
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1418
   * @access protected
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1419
   */
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1420
   
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1421
  protected static function fetch_key($key)
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1422
  {
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1423
    static $objects = array();
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1424
    
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1425
    if ( !preg_match('/^[a-f0-9]+$/i', $key) )
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1426
      $key = librijndael2::string2hex($key);
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1427
    
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1428
    if ( isset($objects[$key]) )
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1429
    {
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1430
      return $objects[$key];
458
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
  1431
    }
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
  1432
    else
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
  1433
    {
595
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1434
      $objects[$key] = new Crypt_Rijndael_Key($key);
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1435
      $ret =& $objects[$key];
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1436
      return $ret;
458
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
  1437
    }
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
  1438
  }
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
  1439
  
595
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1440
  /**
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1441
   * Fetches a Crypt_Rijndael object.
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1442
   * @return object
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1443
   * @access protected
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1444
   */
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1445
   
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1446
  protected static function fetch_cr_singleton()
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1447
  {
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1448
    static $o = null;
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1449
    
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1450
    if ( is_object($o) )
458
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
  1451
    {
595
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1452
      return $o;
458
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
  1453
    }
595
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1454
    else
458
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
  1455
    {
595
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1456
      $o = new Crypt_Rijndael();
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1457
      $r =& $o;
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1458
      return $r;
458
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
  1459
    }
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
  1460
  }
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
  1461
  
595
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1462
  /**
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1463
   * Pads a string with nul bytes until it reaches a multiple of 16 bytes.
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1464
   * @param string
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1465
   * @return string
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1466
   */
458
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
  1467
  
602
ecbc8d202058 Fixed missing randkey() method in rijndael.php
Dan
parents: 595
diff changeset
  1468
  protected function pad_string($string)
458
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
  1469
  {
595
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1470
    while ( strlen($string) % 32 > 0 )
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1471
    {
602
ecbc8d202058 Fixed missing randkey() method in rijndael.php
Dan
parents: 595
diff changeset
  1472
      $string .= "00";
595
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1473
    }
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1474
    return $string;
458
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
  1475
  }
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
  1476
  
595
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1477
  /**
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1478
   * Constructor. Currently does not take parameters and ignores options from the old API.
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1479
   */
458
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
  1480
  
595
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1481
  public function __construct($key_size = 192, $block_size = 128, $debug = false)
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1482
  {
458
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
  1483
  }
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
  1484
  
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
  1485
  /**
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
  1486
   * Wrapper for encryption.
595
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1487
   * @param string Plain text to encrypt
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1488
   * @param string Binary or hex key
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1489
   * @param int Format to return result in - ENC_BINARY, ENC_HEX, or ENC_BASE64
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1490
   * @return string
458
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
  1491
   */
595
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1492
  
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1493
  public function encrypt($plaintext, $key, $return_format = ENC_HEX)
458
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
  1494
  {
595
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1495
    return $this->encrypt_cbc($plaintext, $key, '00000000000000000000000000000000', ENC_HEX);
458
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
  1496
  }
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
  1497
  
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
  1498
  /**
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
  1499
   * Wrapper for decryption.
595
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1500
   * @param string Encrypted text
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1501
   * @param string Binary or hex key
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1502
   * @param int Format that the encrypted text is in - ENC_BINARY, ENC_HEX, or ENC_BASE64
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1503
   * @param bool If true, avoids caching the decryption result.
458
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
  1504
   * @return string
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
  1505
   */
595
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1506
  
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1507
  public function decrypt($cryptext, $key, $input_format = ENC_HEX, $no_cache = false)
458
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
  1508
  {
595
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1509
    return $this->decrypt_cbc($cryptext, $key, '00000000000000000000000000000000', ENC_HEX, $no_cache);
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1510
  }
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1511
  
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1512
  /**
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1513
   * Wrapper for CBC encryption.
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1514
   * @param string Plain text to encrypt
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1515
   * @param string Binary or hex key
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1516
   * @param string 128-bit initialization vector, either hex or binary will do
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1517
   * @param int Format to return result in - ENC_BINARY, ENC_HEX, or ENC_BASE64
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1518
   */
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1519
  
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1520
  public function encrypt_cbc($plaintext, $key, $ivec, $return_format = ENC_HEX)
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1521
  {
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1522
    $okey = self::fetch_key($key);
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1523
    $okey->set_encrypt();
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1524
    $aes = self::fetch_cr_singleton();
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1525
    $plaintext = librijndael2::string2hex($plaintext);
458
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
  1526
    
595
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1527
    // init ivec
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1528
    if ( strlen($ivec) == '16' )
458
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
  1529
    {
595
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1530
      $ivec = librijndael2::string2hex($ivec);
458
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
  1531
    }
595
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1532
    else if ( preg_match('/^[a-f0-9]+$/i', $ivec) && strlen($ivec) == 32 )
458
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
  1533
    {
595
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1534
      // ivec is good
458
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
  1535
    }
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
  1536
    else
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
  1537
    {
595
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1538
      // invalid ivec
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1539
      return false;
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1540
    }
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1541
    
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1542
    $result = '';
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1543
    $plaintext = str_split($this->pad_string($plaintext), 32);
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1544
    foreach ( $plaintext as $block )
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1545
    {
602
ecbc8d202058 Fixed missing randkey() method in rijndael.php
Dan
parents: 595
diff changeset
  1546
      $block = $aes->AES_cbc_encrypt($block, $okey, $ivec, 'AES_ENCRYPT');
ecbc8d202058 Fixed missing randkey() method in rijndael.php
Dan
parents: 595
diff changeset
  1547
      $result .= $block;
458
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
  1548
    }
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
  1549
    
595
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1550
    switch ( $return_format )
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1551
    {
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1552
      case ENC_BINARY:
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1553
        return librijndael2::hex2string($result);
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1554
      case ENC_HEX:
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1555
      default:
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1556
        return $result;
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1557
      case ENC_BASE64:
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1558
        return base64_encode(librijndael2::hex2string($result));
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1559
    }
458
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
  1560
  }
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
  1561
  
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
  1562
  /**
595
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1563
   * Wrapper for CBC decryption.
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1564
   * @param string Encrypted text
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1565
   * @param string Binary or hex key
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1566
   * @param string 128-bit initialization vector, either hex or binary will do
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1567
   * @param int Format that the encrypted text is in - ENC_BINARY, ENC_HEX, or ENC_BASE64
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1568
   * @param bool If true, avoids caching the decryption result.
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1569
   * @return string
458
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
  1570
   */
595
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1571
  
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1572
  public function decrypt_cbc($cryptext, $key, $ivec, $input_format = ENC_HEX, $no_cache = false)
458
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
  1573
  {
595
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1574
    // AES_cbc_encrypt() expects hex
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1575
    switch ( $input_format )
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1576
    {
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1577
      case ENC_BINARY:
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1578
        $cryptext = librijndael2::string2hex($cryptext);
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1579
        break;
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1580
      case ENC_BASE64:
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1581
        $cryptext = librijndael2::string2hex(base64_decode($cryptext));
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1582
        break;
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1583
    }
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1584
    
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1585
    $hash = sha1("{$cryptext}::{$key}");
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1586
    if ( $cache_result = aes_decrypt_cache_fetch($hash) )
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1587
      return $cache_result;
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1588
    
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1589
    // load objects
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1590
    profiler_log("AES: Started decryption of string $hash");
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1591
    $okey = self::fetch_key($key);
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1592
    $okey->set_decrypt();
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1593
    $aes = self::fetch_cr_singleton();
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1594
    
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1595
    // init ivec
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1596
    if ( strlen($ivec) == '16' )
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1597
    {
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1598
      $ivec = librijndael2::string2hex($ivec);
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1599
    }
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1600
    else if ( preg_match('/^[a-f0-9]+$/i', $ivec) && strlen($ivec) == 32 )
458
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
  1601
    {
595
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1602
      // ivec is good
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1603
    }
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1604
    else
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1605
    {
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1606
      // invalid ivec
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1607
      return false;
458
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
  1608
    }
595
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1609
    
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1610
    // perform decryption
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1611
    $result = '';
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1612
    $cryptext_orig = $cryptext;
602
ecbc8d202058 Fixed missing randkey() method in rijndael.php
Dan
parents: 595
diff changeset
  1613
    $cryptext = enano_str_split($cryptext, 32);
595
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1614
    foreach ( $cryptext as $block )
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1615
    {
602
ecbc8d202058 Fixed missing randkey() method in rijndael.php
Dan
parents: 595
diff changeset
  1616
      $block = $aes->AES_cbc_encrypt($block, $okey, $ivec, 'AES_DECRYPT');
ecbc8d202058 Fixed missing randkey() method in rijndael.php
Dan
parents: 595
diff changeset
  1617
      $result .= $block;
595
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1618
    }
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1619
    
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1620
    // decode result and trim nul bytes
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1621
    $result = librijndael2::hex2string($result);
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1622
    $result = rtrim($result, "\000");
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1623
    
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1624
    if ( !$no_cache )
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1625
      aes_decrypt_cache_store($cryptext_orig, $result, $key);
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1626
    
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1627
    profiler_log("AES: Finished decryption of string $hash");
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1628
    
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1629
    // done! :)
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1630
    return $result;
458
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
  1631
  }
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
  1632
  
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
  1633
  /**
595
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1634
   * Factory.
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1635
   * @param int Key size in bits
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1636
   * @param int Block size in bits - ONLY 128-bit supported.
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1637
   * @return object Instance of AESCrypt
458
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
  1638
   */
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
  1639
  
595
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1640
  public static function singleton($key_size = AES_BITS, $block_size = 128)
458
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
  1641
  {
595
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1642
    static $instance = false;
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1643
    if ( !$instance )
458
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
  1644
    {
595
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1645
      $class = __CLASS__;
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1646
      $instance = new $class();
458
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
  1647
    }
595
b051eb79b158 As promised, dropped in the new librijndael. Benchmarks say about 3 times faster, but more performance testing will be done.
Dan
parents: 518
diff changeset
  1648
    return $instance;
458
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
  1649
  }
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
  1650
  
602
ecbc8d202058 Fixed missing randkey() method in rijndael.php
Dan
parents: 595
diff changeset
  1651
  #
ecbc8d202058 Fixed missing randkey() method in rijndael.php
Dan
parents: 595
diff changeset
  1652
  # Utility functions
ecbc8d202058 Fixed missing randkey() method in rijndael.php
Dan
parents: 595
diff changeset
  1653
  #
ecbc8d202058 Fixed missing randkey() method in rijndael.php
Dan
parents: 595
diff changeset
  1654
  
ecbc8d202058 Fixed missing randkey() method in rijndael.php
Dan
parents: 595
diff changeset
  1655
  /**
ecbc8d202058 Fixed missing randkey() method in rijndael.php
Dan
parents: 595
diff changeset
  1656
   * Generates a random key suitable for encryption
ecbc8d202058 Fixed missing randkey() method in rijndael.php
Dan
parents: 595
diff changeset
  1657
   * @param int $len the length of the key, in bytes
ecbc8d202058 Fixed missing randkey() method in rijndael.php
Dan
parents: 595
diff changeset
  1658
   * @return string a BINARY key
ecbc8d202058 Fixed missing randkey() method in rijndael.php
Dan
parents: 595
diff changeset
  1659
   */
ecbc8d202058 Fixed missing randkey() method in rijndael.php
Dan
parents: 595
diff changeset
  1660
  
801
eb8b23f11744 Two big commits in one day I know, but redid password storage to use HMAC-SHA1. Consolidated much AES processing to three core methods in session that should handle everything automagically. Installation works; upgrades should. Rebranded as 1.1.6.
Dan
parents: 613
diff changeset
  1661
  static function randkey($len = 32)
eb8b23f11744 Two big commits in one day I know, but redid password storage to use HMAC-SHA1. Consolidated much AES processing to three core methods in session that should handle everything automagically. Installation works; upgrades should. Rebranded as 1.1.6.
Dan
parents: 613
diff changeset
  1662
  {
eb8b23f11744 Two big commits in one day I know, but redid password storage to use HMAC-SHA1. Consolidated much AES processing to three core methods in session that should handle everything automagically. Installation works; upgrades should. Rebranded as 1.1.6.
Dan
parents: 613
diff changeset
  1663
    if ( @file_exists('/dev/urandom') && @is_readable('/dev/urandom') )
eb8b23f11744 Two big commits in one day I know, but redid password storage to use HMAC-SHA1. Consolidated much AES processing to three core methods in session that should handle everything automagically. Installation works; upgrades should. Rebranded as 1.1.6.
Dan
parents: 613
diff changeset
  1664
    {
eb8b23f11744 Two big commits in one day I know, but redid password storage to use HMAC-SHA1. Consolidated much AES processing to three core methods in session that should handle everything automagically. Installation works; upgrades should. Rebranded as 1.1.6.
Dan
parents: 613
diff changeset
  1665
      // Let's use something a little more secure
eb8b23f11744 Two big commits in one day I know, but redid password storage to use HMAC-SHA1. Consolidated much AES processing to three core methods in session that should handle everything automagically. Installation works; upgrades should. Rebranded as 1.1.6.
Dan
parents: 613
diff changeset
  1666
      $ur = @fopen('/dev/urandom', 'r');
eb8b23f11744 Two big commits in one day I know, but redid password storage to use HMAC-SHA1. Consolidated much AES processing to three core methods in session that should handle everything automagically. Installation works; upgrades should. Rebranded as 1.1.6.
Dan
parents: 613
diff changeset
  1667
      if ( !$ur )
eb8b23f11744 Two big commits in one day I know, but redid password storage to use HMAC-SHA1. Consolidated much AES processing to three core methods in session that should handle everything automagically. Installation works; upgrades should. Rebranded as 1.1.6.
Dan
parents: 613
diff changeset
  1668
        return self::randkey_safe($len);
eb8b23f11744 Two big commits in one day I know, but redid password storage to use HMAC-SHA1. Consolidated much AES processing to three core methods in session that should handle everything automagically. Installation works; upgrades should. Rebranded as 1.1.6.
Dan
parents: 613
diff changeset
  1669
      $ukey = @fread($ur, $len);
eb8b23f11744 Two big commits in one day I know, but redid password storage to use HMAC-SHA1. Consolidated much AES processing to three core methods in session that should handle everything automagically. Installation works; upgrades should. Rebranded as 1.1.6.
Dan
parents: 613
diff changeset
  1670
      fclose($ur);
eb8b23f11744 Two big commits in one day I know, but redid password storage to use HMAC-SHA1. Consolidated much AES processing to three core methods in session that should handle everything automagically. Installation works; upgrades should. Rebranded as 1.1.6.
Dan
parents: 613
diff changeset
  1671
      if ( strlen($ukey) != $len )
eb8b23f11744 Two big commits in one day I know, but redid password storage to use HMAC-SHA1. Consolidated much AES processing to three core methods in session that should handle everything automagically. Installation works; upgrades should. Rebranded as 1.1.6.
Dan
parents: 613
diff changeset
  1672
        return self::randkey_safe($len);
eb8b23f11744 Two big commits in one day I know, but redid password storage to use HMAC-SHA1. Consolidated much AES processing to three core methods in session that should handle everything automagically. Installation works; upgrades should. Rebranded as 1.1.6.
Dan
parents: 613
diff changeset
  1673
      return $ukey;
eb8b23f11744 Two big commits in one day I know, but redid password storage to use HMAC-SHA1. Consolidated much AES processing to three core methods in session that should handle everything automagically. Installation works; upgrades should. Rebranded as 1.1.6.
Dan
parents: 613
diff changeset
  1674
    }
eb8b23f11744 Two big commits in one day I know, but redid password storage to use HMAC-SHA1. Consolidated much AES processing to three core methods in session that should handle everything automagically. Installation works; upgrades should. Rebranded as 1.1.6.
Dan
parents: 613
diff changeset
  1675
    return self::randkey_safe($len);
eb8b23f11744 Two big commits in one day I know, but redid password storage to use HMAC-SHA1. Consolidated much AES processing to three core methods in session that should handle everything automagically. Installation works; upgrades should. Rebranded as 1.1.6.
Dan
parents: 613
diff changeset
  1676
  }
eb8b23f11744 Two big commits in one day I know, but redid password storage to use HMAC-SHA1. Consolidated much AES processing to three core methods in session that should handle everything automagically. Installation works; upgrades should. Rebranded as 1.1.6.
Dan
parents: 613
diff changeset
  1677
  
eb8b23f11744 Two big commits in one day I know, but redid password storage to use HMAC-SHA1. Consolidated much AES processing to three core methods in session that should handle everything automagically. Installation works; upgrades should. Rebranded as 1.1.6.
Dan
parents: 613
diff changeset
  1678
  static function randkey_safe($len = 32)
602
ecbc8d202058 Fixed missing randkey() method in rijndael.php
Dan
parents: 595
diff changeset
  1679
  {
ecbc8d202058 Fixed missing randkey() method in rijndael.php
Dan
parents: 595
diff changeset
  1680
    $key = '';
ecbc8d202058 Fixed missing randkey() method in rijndael.php
Dan
parents: 595
diff changeset
  1681
    for($i=0;$i<$len;$i++)
ecbc8d202058 Fixed missing randkey() method in rijndael.php
Dan
parents: 595
diff changeset
  1682
    {
ecbc8d202058 Fixed missing randkey() method in rijndael.php
Dan
parents: 595
diff changeset
  1683
      $key .= chr(mt_rand(0, 255));
ecbc8d202058 Fixed missing randkey() method in rijndael.php
Dan
parents: 595
diff changeset
  1684
    }
ecbc8d202058 Fixed missing randkey() method in rijndael.php
Dan
parents: 595
diff changeset
  1685
    return $key;
ecbc8d202058 Fixed missing randkey() method in rijndael.php
Dan
parents: 595
diff changeset
  1686
  }
ecbc8d202058 Fixed missing randkey() method in rijndael.php
Dan
parents: 595
diff changeset
  1687
  
ecbc8d202058 Fixed missing randkey() method in rijndael.php
Dan
parents: 595
diff changeset
  1688
  function gen_readymade_key()
ecbc8d202058 Fixed missing randkey() method in rijndael.php
Dan
parents: 595
diff changeset
  1689
  {
ecbc8d202058 Fixed missing randkey() method in rijndael.php
Dan
parents: 595
diff changeset
  1690
    $key = librijndael2::string2hex($this->randkey(AES_BITS / 8));
ecbc8d202058 Fixed missing randkey() method in rijndael.php
Dan
parents: 595
diff changeset
  1691
    return $key;
ecbc8d202058 Fixed missing randkey() method in rijndael.php
Dan
parents: 595
diff changeset
  1692
  }
458
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
  1693
}
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
  1694
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
  1695
function aes_decrypt_cache_store($encrypted, $decrypted, $key)
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
  1696
{
613
c08670a77871 Completed work (we hope) on CacheManager admin page
Dan
parents: 602
diff changeset
  1697
  if ( getConfig('cache_thumbs') != '1' )
c08670a77871 Completed work (we hope) on CacheManager admin page
Dan
parents: 602
diff changeset
  1698
    return false;
c08670a77871 Completed work (we hope) on CacheManager admin page
Dan
parents: 602
diff changeset
  1699
  
458
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
  1700
  $cache_file = ENANO_ROOT . '/cache/aes_decrypt.php';
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
  1701
  // only cache if $decrypted is long enough to actually warrant caching
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
  1702
  if ( strlen($decrypted) < 32 )
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
  1703
  {
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
  1704
    profiler_log("AES: Skipped caching a string (probably a password, we dunno) because it's too short");
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
  1705
    return false;
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
  1706
  }
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
  1707
  if ( file_exists($cache_file) )
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
  1708
  {
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
  1709
    require_once($cache_file);
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
  1710
    global $aes_decrypt_cache;
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
  1711
    $cachekey = sha1($encrypted . '::' . $key);
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
  1712
    $aes_decrypt_cache[$cachekey] = $decrypted;
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
  1713
    
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
  1714
    if ( count($aes_decrypt_cache) > 5000 )
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
  1715
    {
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
  1716
      // we've got a lot of strings in the cache, clear out a few
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
  1717
      $keys = array_keys($aes_decrypt_cache);
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
  1718
      for ( $i = 0; $i < 2500; $i++ )
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
  1719
      {
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
  1720
        unset($aes_decrypt_cache[$keys[$i]]);
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
  1721
        unset($aes_decrypt_cache[$keys[$i]]);
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
  1722
      }
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
  1723
    }
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
  1724
  }
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
  1725
  else
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
  1726
  {
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
  1727
    $aes_decrypt_cache = array(
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
  1728
      sha1($encrypted . '::' . $key) => $decrypted
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
  1729
    );
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
  1730
  }
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
  1731
  // call var_export and collect contents
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
  1732
  ob_start();
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
  1733
  var_export($aes_decrypt_cache);
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
  1734
  $dec_cache_string = ob_get_contents();
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
  1735
  ob_end_clean();
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
  1736
  $f = @fopen($cache_file, 'w');
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
  1737
  if ( !$f )
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
  1738
    return false;
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
  1739
  fwrite($f, "<?php
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
  1740
\$GLOBALS['aes_decrypt_cache'] = $dec_cache_string;
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
  1741
");
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
  1742
  fclose($f);
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
  1743
  return true;
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
  1744
}
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
  1745
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
  1746
function aes_decrypt_cache_fetch($hash)
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
  1747
{
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
  1748
  $cache_file = ENANO_ROOT . '/cache/aes_decrypt.php';
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
  1749
  if ( !file_exists($cache_file) )
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
  1750
    return false;
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
  1751
  
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
  1752
  require_once($cache_file);
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
  1753
  global $aes_decrypt_cache;
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
  1754
  if ( isset($aes_decrypt_cache[$hash]) )
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
  1755
  {
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
  1756
    profiler_log("AES: Loaded cached decrypted string, hash is $hash");
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
  1757
    return $aes_decrypt_cache[$hash];
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
  1758
  }
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
  1759
  
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
  1760
  return false;
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
  1761
}
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
  1762
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
  1763
function aes_decrypt_cache_destroy($hash)
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
  1764
{
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
  1765
  $cache_file = ENANO_ROOT . '/cache/aes_decrypt.php';
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
  1766
  if ( !file_exists($cache_file) )
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
  1767
    return false;
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
  1768
  
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
  1769
  require_once($cache_file);
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
  1770
  global $aes_decrypt_cache;
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
  1771
  
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
  1772
  if ( isset($aes_decrypt_cache[$hash]) )
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
  1773
    unset($aes_decrypt_cache[$hash]);
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
  1774
  
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
  1775
  // call var_export and collect contents
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
  1776
  ob_start();
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
  1777
  var_export($aes_decrypt_cache);
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
  1778
  $dec_cache_string = ob_get_contents();
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
  1779
  ob_end_clean();
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
  1780
  $f = @fopen($cache_file, 'w');
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
  1781
  if ( !$f )
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
  1782
    return false;
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
  1783
  fwrite($f, "<?php
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
  1784
\$GLOBALS['aes_decrypt_cache'] = $dec_cache_string;
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
  1785
");
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
  1786
  fclose($f);
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
  1787
  return true;
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
  1788
}
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
  1789
c433348f3628 Merging fixes and updates from stable branch
Dan
parents: 378 440
diff changeset
  1790
?>