Auth_OpenID_DiffieHellman Klassenreferenz


Öffentliche Methoden

 Auth_OpenID_DiffieHellman ($mod=null, $gen=null, $private=null, $lib=null)
 getSharedSecret ($composite)
 getPublicKey ()
 usingDefaultValues ()
 xorSecret ($composite, $secret, $hash_func)

Datenfelder

 $mod
 $gen
 $private
 $lib = null

Ausführliche Beschreibung

Definiert in Zeile 43 der Datei DiffieHellman.php.


Dokumentation der Elementfunktionen

Auth_OpenID_DiffieHellman ( mod = null,
gen = null,
private = null,
lib = null 
)

Definiert in Zeile 50 der Datei DiffieHellman.php.

00052     {
00053         if ($lib === null) {
00054             $this->lib =& Auth_OpenID_getMathLib();
00055         } else {
00056             $this->lib =& $lib;
00057         }
00058 
00059         if ($mod === null) {
00060             $this->mod = $this->lib->init(Auth_OpenID_getDefaultMod());
00061         } else {
00062             $this->mod = $mod;
00063         }
00064 
00065         if ($gen === null) {
00066             $this->gen = $this->lib->init(Auth_OpenID_getDefaultGen());
00067         } else {
00068             $this->gen = $gen;
00069         }
00070 
00071         if ($private === null) {
00072             $r = $this->lib->rand($this->mod);
00073             $this->private = $this->lib->add($r, 1);
00074         } else {
00075             $this->private = $private;
00076         }
00077 
00078         $this->public = $this->lib->powmod($this->gen, $this->private,
00079                                            $this->mod);
00080     }

getPublicKey (  ) 

Definiert in Zeile 87 der Datei DiffieHellman.php.

00088     {
00089         return $this->public;
00090     }

getSharedSecret ( composite  ) 

Definiert in Zeile 82 der Datei DiffieHellman.php.

00083     {
00084         return $this->lib->powmod($composite, $this->private, $this->mod);
00085     }

usingDefaultValues (  ) 

Definiert in Zeile 92 der Datei DiffieHellman.php.

00093     {
00094         return ($this->mod == Auth_OpenID_getDefaultMod() &&
00095                 $this->gen == Auth_OpenID_getDefaultGen());
00096     }

xorSecret ( composite,
secret,
hash_func 
)

Definiert in Zeile 98 der Datei DiffieHellman.php.

00099     {
00100         $dh_shared = $this->getSharedSecret($composite);
00101         $dh_shared_str = $this->lib->longToBinary($dh_shared);
00102         $hash_dh_shared = $hash_func($dh_shared_str);
00103 
00104         $xsecret = "";
00105         for ($i = 0; $i < Auth_OpenID::bytes($secret); $i++) {
00106             $xsecret .= chr(ord($secret[$i]) ^ ord($hash_dh_shared[$i]));
00107         }
00108 
00109         return $xsecret;
00110     }


Dokumentation der Datenelemente

$gen

Definiert in Zeile 46 der Datei DiffieHellman.php.

$lib = null

Definiert in Zeile 48 der Datei DiffieHellman.php.

$mod

Definiert in Zeile 45 der Datei DiffieHellman.php.

$private

Definiert in Zeile 47 der Datei DiffieHellman.php.


Die Dokumentation für diese Klasse wurde erzeugt aufgrund der Datei:
Copyright © 2003 - 2009 MyOOS [Shopsystem]. All rights reserved.
MyOOS [Shopsystem] is Free Software released under the GNU/GPL License.

Webmaster: info@r23.de (Impressum)
doxygen