Subversion Repositories Applications.framework

Rev

Rev 300 | Go to most recent revision | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 300 Rev 302
1
<?xml version="1.0" encoding="UTF-8"?>
-
 
2
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
  <html xmlns="http://www.w3.org/1999/xhtml">
2
  <html xmlns="http://www.w3.org/1999/xhtml">
4
		<head>
3
		<head>
5
			<!-- template designed by Marco Von Ballmoos  -->
4
			<!-- template designed by Marco Von Ballmoos  -->
6
			<title>Docs For Class DiffieHellmanUtil</title>
5
			<title>Docs For Class DiffieHellmanUtil</title>
7
			<meta http-equiv='Content-Type' content='text/html; charset=UTF-8'/>
6
			<meta http-equiv='Content-Type' content='text/html; charset=UTF-8'/>
8
			<link rel="stylesheet" href="../media/stylesheet.css" />
7
			<link rel="stylesheet" href="../media/stylesheet.css" />
9
						<script src="../media/lib/classTree.js"></script>
8
						<script src="../media/lib/classTree.js"></script>
10
												<script language="javascript" type="text/javascript">
9
												<script language="javascript" type="text/javascript">
11
				var imgPlus = new Image();
10
				var imgPlus = new Image();
12
				var imgMinus = new Image();
11
				var imgMinus = new Image();
13
				imgPlus.src = "../media/images/plus.png";
12
				imgPlus.src = "../media/images/plus.png";
14
				imgMinus.src = "../media/images/minus.png";
13
				imgMinus.src = "../media/images/minus.png";
15
				
14
				
16
				function showNode(Node){
15
				function showNode(Node){
17
							switch(navigator.family){
16
							switch(navigator.family){
18
								case 'nn4':
17
								case 'nn4':
19
									// Nav 4.x code fork...
18
									// Nav 4.x code fork...
20
							var oTable = document.layers["span" + Node];
19
							var oTable = document.layers["span" + Node];
21
							var oImg = document.layers["img" + Node];
20
							var oImg = document.layers["img" + Node];
22
									break;
21
									break;
23
								case 'ie4':
22
								case 'ie4':
24
									// IE 4/5 code fork...
23
									// IE 4/5 code fork...
25
							var oTable = document.all["span" + Node];
24
							var oTable = document.all["span" + Node];
26
							var oImg = document.all["img" + Node];
25
							var oImg = document.all["img" + Node];
27
									break;
26
									break;
28
								case 'gecko':
27
								case 'gecko':
29
									// Standards Compliant code fork...
28
									// Standards Compliant code fork...
30
							var oTable = document.getElementById("span" + Node);
29
							var oTable = document.getElementById("span" + Node);
31
							var oImg = document.getElementById("img" + Node);
30
							var oImg = document.getElementById("img" + Node);
32
									break;
31
									break;
33
							}
32
							}
34
					oImg.src = imgMinus.src;
33
					oImg.src = imgMinus.src;
35
					oTable.style.display = "block";
34
					oTable.style.display = "block";
36
				}
35
				}
37
				
36
				
38
				function hideNode(Node){
37
				function hideNode(Node){
39
							switch(navigator.family){
38
							switch(navigator.family){
40
								case 'nn4':
39
								case 'nn4':
41
									// Nav 4.x code fork...
40
									// Nav 4.x code fork...
42
							var oTable = document.layers["span" + Node];
41
							var oTable = document.layers["span" + Node];
43
							var oImg = document.layers["img" + Node];
42
							var oImg = document.layers["img" + Node];
44
									break;
43
									break;
45
								case 'ie4':
44
								case 'ie4':
46
									// IE 4/5 code fork...
45
									// IE 4/5 code fork...
47
							var oTable = document.all["span" + Node];
46
							var oTable = document.all["span" + Node];
48
							var oImg = document.all["img" + Node];
47
							var oImg = document.all["img" + Node];
49
									break;
48
									break;
50
								case 'gecko':
49
								case 'gecko':
51
									// Standards Compliant code fork...
50
									// Standards Compliant code fork...
52
							var oTable = document.getElementById("span" + Node);
51
							var oTable = document.getElementById("span" + Node);
53
							var oImg = document.getElementById("img" + Node);
52
							var oImg = document.getElementById("img" + Node);
54
									break;
53
									break;
55
							}
54
							}
56
					oImg.src = imgPlus.src;
55
					oImg.src = imgPlus.src;
57
					oTable.style.display = "none";
56
					oTable.style.display = "none";
58
				}
57
				}
59
				
58
				
60
				function nodeIsVisible(Node){
59
				function nodeIsVisible(Node){
61
							switch(navigator.family){
60
							switch(navigator.family){
62
								case 'nn4':
61
								case 'nn4':
63
									// Nav 4.x code fork...
62
									// Nav 4.x code fork...
64
							var oTable = document.layers["span" + Node];
63
							var oTable = document.layers["span" + Node];
65
									break;
64
									break;
66
								case 'ie4':
65
								case 'ie4':
67
									// IE 4/5 code fork...
66
									// IE 4/5 code fork...
68
							var oTable = document.all["span" + Node];
67
							var oTable = document.all["span" + Node];
69
									break;
68
									break;
70
								case 'gecko':
69
								case 'gecko':
71
									// Standards Compliant code fork...
70
									// Standards Compliant code fork...
72
							var oTable = document.getElementById("span" + Node);
71
							var oTable = document.getElementById("span" + Node);
73
									break;
72
									break;
74
							}
73
							}
75
					return (oTable && oTable.style.display == "block");
74
					return (oTable && oTable.style.display == "block");
76
				}
75
				}
77
				
76
				
78
				function toggleNodeVisibility(Node){
77
				function toggleNodeVisibility(Node){
79
					if (nodeIsVisible(Node)){
78
					if (nodeIsVisible(Node)){
80
						hideNode(Node);
79
						hideNode(Node);
81
					}else{
80
					}else{
82
						showNode(Node);
81
						showNode(Node);
83
					}
82
					}
84
				}
83
				}
85
			</script>
84
			</script>
86
					</head>
85
					</head>
87
		<body>
86
		<body>
88
			<div class="page-body">			
87
			<div class="page-body">			
89
<h2 class="class-name">Class DiffieHellmanUtil</h2>
88
<h2 class="class-name">Class DiffieHellmanUtil</h2>
90
 
89
 
91
<a name="sec-description"></a>
90
<a name="sec-description"></a>
92
<div class="info-box">
91
<div class="info-box">
93
	<div class="info-box-title">Description</div>
92
	<div class="info-box-title">Description</div>
94
	<div class="nav-bar">
93
	<div class="nav-bar">
95
					<span class="disabled">Description</span> |
94
					<span class="disabled">Description</span> |
96
															<a href="#sec-method-summary">Methods</a> (<a href="#sec-methods">details</a>)
95
															<a href="#sec-method-summary">Methods</a> (<a href="#sec-methods">details</a>)
97
						
96
						
98
											<a href="#sec-const-summary">Constants</a> (<a href="#sec-consts">details</a>)
97
											<a href="#sec-const-summary">Constants</a> (<a href="#sec-consts">details</a>)
99
						
98
						
100
			</div>
99
			</div>
101
	<div class="info-box-body">
100
	<div class="info-box-body">
102
        		<!-- ========== Info from phpDoc block ========= -->
101
        		<!-- ========== Info from phpDoc block ========= -->
103
<p class="short-description">Classe utilitaire proposant des fonctions permettant la réalisation d'un  échange de clé Diffie Hellman</p>
102
<p class="short-description">Classe utilitaire proposant des fonctions permettant la réalisation d'un  échange de clé Diffie Hellman</p>
104
<p class="description"><p>&quot;En cryptographie, l'échange de clés Diffie-Hellman, du nom de ses auteurs   Whitfield Diffie et Martin Hellman, est une méthode par laquelle deux   personnes peuvent se mettre d'accord sur un nombre (qu'ils peuvent utiliser   comme clé pour chiffrer la conversation suivante) sans qu'une troisième   personne appelée Ève puisse découvrir le nombre, même en ayant écouté tous   leurs échanges.&quot;</p><p>Voir http://fr.wikipedia.org/wiki/%C3%89change_de_cl%C3%A9s_Diffie-Hellman</p></p>
103
<p class="description"><p>&quot;En cryptographie, l'échange de clés Diffie-Hellman, du nom de ses auteurs   Whitfield Diffie et Martin Hellman, est une méthode par laquelle deux   personnes peuvent se mettre d'accord sur un nombre (qu'ils peuvent utiliser   comme clé pour chiffrer la conversation suivante) sans qu'une troisième   personne appelée Ève puisse découvrir le nombre, même en ayant écouté tous   leurs échanges.&quot;</p><p>Voir http://fr.wikipedia.org/wiki/%C3%89change_de_cl%C3%A9s_Diffie-Hellman</p></p>
105
		<p class="notes">
104
		<p class="notes">
106
			Located in <a class="field" href="_utilitaires---DiffieHellmanUtil.php.html">/utilitaires/DiffieHellmanUtil.php</a> (line <span class="field"><a href="../__filesource/fsource_Framework__utilitairesDiffieHellmanUtil.php.html#a17">17</a></span>)
105
			Located in <a class="field" href="_utilitaires---DiffieHellmanUtil.php.html">/utilitaires/DiffieHellmanUtil.php</a> (line <span class="field"><a href="../__filesource/fsource_Framework__utilitairesDiffieHellmanUtil.php.html#a17">17</a></span>)
107
		</p>
106
		</p>
108
		
107
		
109
				
108
				
110
		<pre></pre>
109
		<pre></pre>
111
	
110
	
112
			</div>
111
			</div>
113
</div>
112
</div>
114
 
113
 
115
 
114
 
116
	<a name="sec-const-summary"></a>
115
	<a name="sec-const-summary"></a>
117
	<div class="info-box">
116
	<div class="info-box">
118
		<div class="info-box-title">Class Constant Summary</span></div>
117
		<div class="info-box-title">Class Constant Summary</span></div>
119
		<div class="nav-bar">
118
		<div class="nav-bar">
120
			<a href="#sec-description">Description</a> |
119
			<a href="#sec-description">Description</a> |
121
						<span class="disabled">Constants</span> (<a href="#sec-consts">details</a>)
120
						<span class="disabled">Constants</span> (<a href="#sec-consts">details</a>)
122
										| 
121
										| 
123
									<a href="#sec-method-summary">Methods</a> (<a href="#sec-methods">details</a>)
122
									<a href="#sec-method-summary">Methods</a> (<a href="#sec-methods">details</a>)
124
							
123
							
125
					</div>
124
					</div>
126
		<div class="info-box-body">
125
		<div class="info-box-body">
127
			<div class="const-summary">
126
			<div class="const-summary">
128
								<div class="const-title">
127
								<div class="const-title">
129
					<img src="../media/images/Constant.png" alt=" " />
128
					<img src="../media/images/Constant.png" alt=" " />
130
					<a href="#DH_G" title="details" class="const-name">DH_G</a> = 					<span class="var-type"> '02'</span>
129
					<a href="#DH_G" title="details" class="const-name">DH_G</a> = 					<span class="var-type"> '02'</span>
131
 
130
 
132
				</div>
131
				</div>
133
								<div class="const-title">
132
								<div class="const-title">
134
					<img src="../media/images/Constant.png" alt=" " />
133
					<img src="../media/images/Constant.png" alt=" " />
135
					<a href="#DH_P" title="details" class="const-name">DH_P</a> = 					<span class="var-type"> 'dcf93a0b883972ec0e19989ac5a2ce310e1d37717e8d9571bb7623731866e61ef75a2e27898b057f9891c2e27a639c3f29b60814581cd3b2ca3986d2683705577d45c2e7e52dc81c7a171876e5cea74b1448bfdfaf18828efd2519f14e45e3826634af1949e5b535cc829a483b8a76223e5d490a257f05bdff16f2fb22c583ab'</span>
134
					<a href="#DH_P" title="details" class="const-name">DH_P</a> = 					<span class="var-type"> 'dcf93a0b883972ec0e19989ac5a2ce310e1d37717e8d9571bb7623731866e61ef75a2e27898b057f9891c2e27a639c3f29b60814581cd3b2ca3986d2683705577d45c2e7e52dc81c7a171876e5cea74b1448bfdfaf18828efd2519f14e45e3826634af1949e5b535cc829a483b8a76223e5d490a257f05bdff16f2fb22c583ab'</span>
136
 
135
 
137
				</div>
136
				</div>
138
							</div>
137
							</div>
139
		</div>
138
		</div>
140
	</div>
139
	</div>
141
 
140
 
142
 
141
 
143
	<a name="sec-method-summary"></a>
142
	<a name="sec-method-summary"></a>
144
	<div class="info-box">
143
	<div class="info-box">
145
		<div class="info-box-title">Method Summary</span></div>
144
		<div class="info-box-title">Method Summary</span></div>
146
		<div class="nav-bar">
145
		<div class="nav-bar">
147
			<a href="#sec-description">Description</a> |
146
			<a href="#sec-description">Description</a> |
148
															<a href="#sec-const-summary">Constants</a> (<a href="#sec-consts">details</a>)
147
															<a href="#sec-const-summary">Constants</a> (<a href="#sec-consts">details</a>)
149
							
148
							
150
									<span class="disabled">Methods</span> (<a href="#sec-methods">details</a>)
149
									<span class="disabled">Methods</span> (<a href="#sec-methods">details</a>)
151
		</div>
150
		</div>
152
		<div class="info-box-body">			
151
		<div class="info-box-body">			
153
			<div class="method-summary">
152
			<div class="method-summary">
154
																																		
153
																																		
155
				<div class="method-definition">
154
				<div class="method-definition">
156
					static 						<span class="method-result">mixed</span>
155
					static 						<span class="method-result">mixed</span>
157
										<a href="#createDhKey" title="details" class="method-name">createDhKey</a>
156
										<a href="#createDhKey" title="details" class="method-name">createDhKey</a>
158
											(<span class="var-type">string</span>&nbsp;<span class="var-name">$p</span>, <span class="var-type">string</span>&nbsp;<span class="var-name">$g</span>, [<span class="var-type">string</span>&nbsp;<span class="var-name">$priv_key</span> = <span class="var-default">null</span>])
157
											(<span class="var-type">string</span>&nbsp;<span class="var-name">$p</span>, <span class="var-type">string</span>&nbsp;<span class="var-name">$g</span>, [<span class="var-type">string</span>&nbsp;<span class="var-name">$priv_key</span> = <span class="var-default">null</span>])
159
									</div>
158
									</div>
160
														
159
														
161
				<div class="method-definition">
160
				<div class="method-definition">
162
					static 						<span class="method-result">array</span>
161
					static 						<span class="method-result">array</span>
163
										<a href="#getDhKeyDetails" title="details" class="method-name">getDhKeyDetails</a>
162
										<a href="#getDhKeyDetails" title="details" class="method-name">getDhKeyDetails</a>
164
											(<span class="var-type">mixed</span>&nbsp;<span class="var-name">$dh</span>)
163
											(<span class="var-type">mixed</span>&nbsp;<span class="var-name">$dh</span>)
165
									</div>
164
									</div>
166
																						
165
																						
167
				<div class="method-definition">
166
				<div class="method-definition">
168
					static 						<span class="method-result">int</span>
167
					static 						<span class="method-result">int</span>
169
										<a href="#strlen" title="details" class="method-name">strlen</a>
168
										<a href="#strlen" title="details" class="method-name">strlen</a>
170
											(<span class="var-type">string</span>&nbsp;<span class="var-name">$str</span>)
169
											(<span class="var-type">string</span>&nbsp;<span class="var-name">$str</span>)
171
									</div>
170
									</div>
172
																		
171
																		
173
				<div class="method-definition">
172
				<div class="method-definition">
174
											<span class="method-result">mixed</span>
173
											<span class="method-result">mixed</span>
175
										<a href="#binToBigNum" title="details" class="method-name">binToBigNum</a>
174
										<a href="#binToBigNum" title="details" class="method-name">binToBigNum</a>
176
											(<span class="var-type">string</span>&nbsp;<span class="var-name">$bin</span>)
175
											(<span class="var-type">string</span>&nbsp;<span class="var-name">$bin</span>)
177
									</div>
176
									</div>
178
														
177
														
179
				<div class="method-definition">
178
				<div class="method-definition">
180
											<span class="method-result">string</span>
179
											<span class="method-result">string</span>
181
										<a href="#btwoc" title="details" class="method-name">btwoc</a>
180
										<a href="#btwoc" title="details" class="method-name">btwoc</a>
182
											(<span class="var-type">string</span>&nbsp;<span class="var-name">$str</span>)
181
											(<span class="var-type">string</span>&nbsp;<span class="var-name">$str</span>)
183
									</div>
182
									</div>
184
														
183
														
185
				<div class="method-definition">
184
				<div class="method-definition">
186
											<span class="method-result">string</span>
185
											<span class="method-result">string</span>
187
										<a href="#computeDhSecret" title="details" class="method-name">computeDhSecret</a>
186
										<a href="#computeDhSecret" title="details" class="method-name">computeDhSecret</a>
188
											(<span class="var-type">string</span>&nbsp;<span class="var-name">$pub_key</span>, <span class="var-type">mixed</span>&nbsp;<span class="var-name">$dh</span>)
187
											(<span class="var-type">string</span>&nbsp;<span class="var-name">$pub_key</span>, <span class="var-type">mixed</span>&nbsp;<span class="var-name">$dh</span>)
189
									</div>
188
									</div>
190
																														
189
																														
191
				<div class="method-definition">
190
				<div class="method-definition">
192
											<span class="method-result">string</span>
191
											<span class="method-result">string</span>
193
										<a href="#randomBytes" title="details" class="method-name">randomBytes</a>
192
										<a href="#randomBytes" title="details" class="method-name">randomBytes</a>
194
											(<span class="var-type">integer</span>&nbsp;<span class="var-name">$len</span>)
193
											(<span class="var-type">integer</span>&nbsp;<span class="var-name">$len</span>)
195
									</div>
194
									</div>
196
																			</div>
195
																			</div>
197
		</div>
196
		</div>
198
	</div>		
197
	</div>		
199
 
198
 
200
	
199
	
201
	<a name="sec-methods"></a>
200
	<a name="sec-methods"></a>
202
	<div class="info-box">
201
	<div class="info-box">
203
		<div class="info-box-title">Methods</div>
202
		<div class="info-box-title">Methods</div>
204
		<div class="nav-bar">
203
		<div class="nav-bar">
205
			<a href="#sec-description">Description</a> |
204
			<a href="#sec-description">Description</a> |
206
																		<a href="#sec-const-summary">Constants</a> (<a href="#sec-consts">details</a>)
205
																		<a href="#sec-const-summary">Constants</a> (<a href="#sec-consts">details</a>)
207
							
206
							
208
										<a href="#sec-method-summary">Methods</a> (<span class="disabled">details</span>)
207
										<a href="#sec-method-summary">Methods</a> (<span class="disabled">details</span>)
209
						
208
						
210
		</div>
209
		</div>
211
		<div class="info-box-body">
210
		<div class="info-box-body">
212
			<A NAME='method_detail'></A>
211
			<A NAME='method_detail'></A>
213
<a name="methodcreateDhKey" id="createDhKey"><!-- --></a>
212
<a name="methodcreateDhKey" id="createDhKey"><!-- --></a>
214
<div class="evenrow">
213
<div class="evenrow">
215
	
214
	
216
	<div class="method-header">
215
	<div class="method-header">
217
		<span class="method-title">static createDhKey</span> (line <span class="line-number"><a href="../__filesource/fsource_Framework__utilitairesDiffieHellmanUtil.php.html#a40">40</a></span>)
216
		<span class="method-title">static createDhKey</span> (line <span class="line-number"><a href="../__filesource/fsource_Framework__utilitairesDiffieHellmanUtil.php.html#a40">40</a></span>)
218
	</div> 
217
	</div> 
219
	
218
	
220
	<!-- ========== Info from phpDoc block ========= -->
219
	<!-- ========== Info from phpDoc block ========= -->
221
<p class="short-description">Performs the first step of a Diffie-Hellman key exchange by generating</p>
220
<p class="short-description">Performs the first step of a Diffie-Hellman key exchange by generating</p>
222
<p class="description"><p>private and public DH values based on given prime number $p and  generator $g. Both sides of key exchange MUST have the same prime number  and generator. In this case they will able to create a random shared  secret that is never send from one to the other.</p></p>
221
<p class="description"><p>private and public DH values based on given prime number $p and  generator $g. Both sides of key exchange MUST have the same prime number  and generator. In this case they will able to create a random shared  secret that is never send from one to the other.</p></p>
223
	<ul class="tags">
222
	<ul class="tags">
224
				<li><span class="field">access:</span> public</li>
223
				<li><span class="field">access:</span> public</li>
225
			</ul>
224
			</ul>
226
	
225
	
227
	<div class="method-signature">
226
	<div class="method-signature">
228
		static <span class="method-result">mixed</span>
227
		static <span class="method-result">mixed</span>
229
		<span class="method-name">
228
		<span class="method-name">
230
			createDhKey
229
			createDhKey
231
		</span>
230
		</span>
232
					(<span class="var-type">string</span>&nbsp;<span class="var-name">$p</span>, <span class="var-type">string</span>&nbsp;<span class="var-name">$g</span>, [<span class="var-type">string</span>&nbsp;<span class="var-name">$priv_key</span> = <span class="var-default">null</span>])
231
					(<span class="var-type">string</span>&nbsp;<span class="var-name">$p</span>, <span class="var-type">string</span>&nbsp;<span class="var-name">$g</span>, [<span class="var-type">string</span>&nbsp;<span class="var-name">$priv_key</span> = <span class="var-default">null</span>])
233
			</div>
232
			</div>
234
	
233
	
235
			<ul class="parameters">
234
			<ul class="parameters">
236
					<li>
235
					<li>
237
				<span class="var-type">string</span>
236
				<span class="var-type">string</span>
238
				<span class="var-name">$p</span><span class="var-description">: prime number in binary representation</span>			</li>
237
				<span class="var-name">$p</span><span class="var-description">: prime number in binary representation</span>			</li>
239
					<li>
238
					<li>
240
				<span class="var-type">string</span>
239
				<span class="var-type">string</span>
241
				<span class="var-name">$g</span><span class="var-description">: generator in binary representation</span>			</li>
240
				<span class="var-name">$g</span><span class="var-description">: generator in binary representation</span>			</li>
242
					<li>
241
					<li>
243
				<span class="var-type">string</span>
242
				<span class="var-type">string</span>
244
				<span class="var-name">$priv_key</span><span class="var-description">: private key in binary representation</span>			</li>
243
				<span class="var-name">$priv_key</span><span class="var-description">: private key in binary representation</span>			</li>
245
				</ul>
244
				</ul>
246
		
245
		
247
			
246
			
248
	</div>
247
	</div>
249
<a name="methodgetDhKeyDetails" id="getDhKeyDetails"><!-- --></a>
248
<a name="methodgetDhKeyDetails" id="getDhKeyDetails"><!-- --></a>
250
<div class="oddrow">
249
<div class="oddrow">
251
	
250
	
252
	<div class="method-header">
251
	<div class="method-header">
253
		<span class="method-title">static getDhKeyDetails</span> (line <span class="line-number"><a href="../__filesource/fsource_Framework__utilitairesDiffieHellmanUtil.php.html#a87">87</a></span>)
252
		<span class="method-title">static getDhKeyDetails</span> (line <span class="line-number"><a href="../__filesource/fsource_Framework__utilitairesDiffieHellmanUtil.php.html#a87">87</a></span>)
254
	</div> 
253
	</div> 
255
	
254
	
256
	<!-- ========== Info from phpDoc block ========= -->
255
	<!-- ========== Info from phpDoc block ========= -->
257
<p class="short-description">Returns an associative array with Diffie-Hellman key components in  binary representation. The array includes original prime number 'p' and  generator 'g', random private key 'priv_key' and corresponding public  key 'pub_key'.</p>
256
<p class="short-description">Returns an associative array with Diffie-Hellman key components in  binary representation. The array includes original prime number 'p' and  generator 'g', random private key 'priv_key' and corresponding public  key 'pub_key'.</p>
258
	<ul class="tags">
257
	<ul class="tags">
259
				<li><span class="field">access:</span> public</li>
258
				<li><span class="field">access:</span> public</li>
260
			</ul>
259
			</ul>
261
	
260
	
262
	<div class="method-signature">
261
	<div class="method-signature">
263
		static <span class="method-result">array</span>
262
		static <span class="method-result">array</span>
264
		<span class="method-name">
263
		<span class="method-name">
265
			getDhKeyDetails
264
			getDhKeyDetails
266
		</span>
265
		</span>
267
					(<span class="var-type">mixed</span>&nbsp;<span class="var-name">$dh</span>)
266
					(<span class="var-type">mixed</span>&nbsp;<span class="var-name">$dh</span>)
268
			</div>
267
			</div>
269
	
268
	
270
			<ul class="parameters">
269
			<ul class="parameters">
271
					<li>
270
					<li>
272
				<span class="var-type">mixed</span>
271
				<span class="var-type">mixed</span>
273
				<span class="var-name">$dh</span><span class="var-description">: Diffie-Hellman key</span>			</li>
272
				<span class="var-name">$dh</span><span class="var-description">: Diffie-Hellman key</span>			</li>
274
				</ul>
273
				</ul>
275
		
274
		
276
			
275
			
277
	</div>
276
	</div>
278
<a name="methodstrlen" id="strlen"><!-- --></a>
277
<a name="methodstrlen" id="strlen"><!-- --></a>
279
<div class="evenrow">
278
<div class="evenrow">
280
	
279
	
281
	<div class="method-header">
280
	<div class="method-header">
282
		<span class="method-title">static strlen</span> (line <span class="line-number"><a href="../__filesource/fsource_Framework__utilitairesDiffieHellmanUtil.php.html#a183">183</a></span>)
281
		<span class="method-title">static strlen</span> (line <span class="line-number"><a href="../__filesource/fsource_Framework__utilitairesDiffieHellmanUtil.php.html#a183">183</a></span>)
283
	</div> 
282
	</div> 
284
	
283
	
285
	<!-- ========== Info from phpDoc block ========= -->
284
	<!-- ========== Info from phpDoc block ========= -->
286
<p class="short-description">Returns lenght of binary string in bytes</p>
285
<p class="short-description">Returns lenght of binary string in bytes</p>
287
	<ul class="tags">
286
	<ul class="tags">
288
				<li><span class="field">return:</span> the string lenght</li>
287
				<li><span class="field">return:</span> the string lenght</li>
289
				<li><span class="field">access:</span> public</li>
288
				<li><span class="field">access:</span> public</li>
290
			</ul>
289
			</ul>
291
	
290
	
292
	<div class="method-signature">
291
	<div class="method-signature">
293
		static <span class="method-result">int</span>
292
		static <span class="method-result">int</span>
294
		<span class="method-name">
293
		<span class="method-name">
295
			strlen
294
			strlen
296
		</span>
295
		</span>
297
					(<span class="var-type">string</span>&nbsp;<span class="var-name">$str</span>)
296
					(<span class="var-type">string</span>&nbsp;<span class="var-name">$str</span>)
298
			</div>
297
			</div>
299
	
298
	
300
			<ul class="parameters">
299
			<ul class="parameters">
301
					<li>
300
					<li>
302
				<span class="var-type">string</span>
301
				<span class="var-type">string</span>
303
				<span class="var-name">$str</span>			</li>
302
				<span class="var-name">$str</span>			</li>
304
				</ul>
303
				</ul>
305
		
304
		
306
			
305
			
307
	</div>
306
	</div>
308
<a name="methodbinToBigNum" id="binToBigNum"><!-- --></a>
307
<a name="methodbinToBigNum" id="binToBigNum"><!-- --></a>
309
<div class="oddrow">
308
<div class="oddrow">
310
	
309
	
311
	<div class="method-header">
310
	<div class="method-header">
312
		<span class="method-title">binToBigNum</span> (line <span class="line-number"><a href="../__filesource/fsource_Framework__utilitairesDiffieHellmanUtil.php.html#a202">202</a></span>)
311
		<span class="method-title">binToBigNum</span> (line <span class="line-number"><a href="../__filesource/fsource_Framework__utilitairesDiffieHellmanUtil.php.html#a202">202</a></span>)
313
	</div> 
312
	</div> 
314
	
313
	
315
	<!-- ========== Info from phpDoc block ========= -->
314
	<!-- ========== Info from phpDoc block ========= -->
316
<p class="short-description">Converts binary representation into ext/gmp or ext/bcmath big integer  representation.</p>
315
<p class="short-description">Converts binary representation into ext/gmp or ext/bcmath big integer  representation.</p>
317
	<ul class="tags">
316
	<ul class="tags">
318
				<li><span class="field">throws:</span> Zend_OpenId_Exception</li>
317
				<li><span class="field">throws:</span> Zend_OpenId_Exception</li>
319
				<li><span class="field">access:</span> protected</li>
318
				<li><span class="field">access:</span> protected</li>
320
			</ul>
319
			</ul>
321
	
320
	
322
	<div class="method-signature">
321
	<div class="method-signature">
323
		<span class="method-result">mixed</span>
322
		<span class="method-result">mixed</span>
324
		<span class="method-name">
323
		<span class="method-name">
325
			binToBigNum
324
			binToBigNum
326
		</span>
325
		</span>
327
					(<span class="var-type">string</span>&nbsp;<span class="var-name">$bin</span>)
326
					(<span class="var-type">string</span>&nbsp;<span class="var-name">$bin</span>)
328
			</div>
327
			</div>
329
	
328
	
330
			<ul class="parameters">
329
			<ul class="parameters">
331
					<li>
330
					<li>
332
				<span class="var-type">string</span>
331
				<span class="var-type">string</span>
333
				<span class="var-name">$bin</span><span class="var-description">: binary representation of big number</span>			</li>
332
				<span class="var-name">$bin</span><span class="var-description">: binary representation of big number</span>			</li>
334
				</ul>
333
				</ul>
335
		
334
		
336
			
335
			
337
	</div>
336
	</div>
338
<a name="methodbtwoc" id="btwoc"><!-- --></a>
337
<a name="methodbtwoc" id="btwoc"><!-- --></a>
339
<div class="evenrow">
338
<div class="evenrow">
340
	
339
	
341
	<div class="method-header">
340
	<div class="method-header">
342
		<span class="method-title">btwoc</span> (line <span class="line-number"><a href="../__filesource/fsource_Framework__utilitairesDiffieHellmanUtil.php.html#a152">152</a></span>)
341
		<span class="method-title">btwoc</span> (line <span class="line-number"><a href="../__filesource/fsource_Framework__utilitairesDiffieHellmanUtil.php.html#a152">152</a></span>)
343
	</div> 
342
	</div> 
344
	
343
	
345
	<!-- ========== Info from phpDoc block ========= -->
344
	<!-- ========== Info from phpDoc block ========= -->
346
<p class="short-description">Takes an arbitrary precision integer and returns its shortest big-endian  two's complement representation.</p>
345
<p class="short-description">Takes an arbitrary precision integer and returns its shortest big-endian  two's complement representation.</p>
347
<p class="description"><p>Arbitrary precision integers MUST be encoded as big-endian signed two's  complement binary strings. Henceforth, &quot;btwoc&quot; is a function that takes  an arbitrary precision integer and returns its shortest big-endian two's  complement representation. All integers that are used with  Diffie-Hellman Key Exchange are positive. This means that the left-most  bit of the two's complement representation MUST be zero. If it is not,  implementations MUST add a zero byte at the front of the string.</p></p>
346
<p class="description"><p>Arbitrary precision integers MUST be encoded as big-endian signed two's  complement binary strings. Henceforth, &quot;btwoc&quot; is a function that takes  an arbitrary precision integer and returns its shortest big-endian two's  complement representation. All integers that are used with  Diffie-Hellman Key Exchange are positive. This means that the left-most  bit of the two's complement representation MUST be zero. If it is not,  implementations MUST add a zero byte at the front of the string.</p></p>
348
	<ul class="tags">
347
	<ul class="tags">
349
				<li><span class="field">return:</span> big-endian signed representation</li>
348
				<li><span class="field">return:</span> big-endian signed representation</li>
350
				<li><span class="field">access:</span> public</li>
349
				<li><span class="field">access:</span> public</li>
351
			</ul>
350
			</ul>
352
	
351
	
353
	<div class="method-signature">
352
	<div class="method-signature">
354
		<span class="method-result">string</span>
353
		<span class="method-result">string</span>
355
		<span class="method-name">
354
		<span class="method-name">
356
			btwoc
355
			btwoc
357
		</span>
356
		</span>
358
					(<span class="var-type">string</span>&nbsp;<span class="var-name">$str</span>)
357
					(<span class="var-type">string</span>&nbsp;<span class="var-name">$str</span>)
359
			</div>
358
			</div>
360
	
359
	
361
			<ul class="parameters">
360
			<ul class="parameters">
362
					<li>
361
					<li>
363
				<span class="var-type">string</span>
362
				<span class="var-type">string</span>
364
				<span class="var-name">$str</span><span class="var-description">: binary representation of arbitrary precision integer</span>			</li>
363
				<span class="var-name">$str</span><span class="var-description">: binary representation of arbitrary precision integer</span>			</li>
365
				</ul>
364
				</ul>
366
		
365
		
367
			
366
			
368
	</div>
367
	</div>
369
<a name="methodcomputeDhSecret" id="computeDhSecret"><!-- --></a>
368
<a name="methodcomputeDhSecret" id="computeDhSecret"><!-- --></a>
370
<div class="oddrow">
369
<div class="oddrow">
371
	
370
	
372
	<div class="method-header">
371
	<div class="method-header">
373
		<span class="method-title">computeDhSecret</span> (line <span class="line-number"><a href="../__filesource/fsource_Framework__utilitairesDiffieHellmanUtil.php.html#a112">112</a></span>)
372
		<span class="method-title">computeDhSecret</span> (line <span class="line-number"><a href="../__filesource/fsource_Framework__utilitairesDiffieHellmanUtil.php.html#a112">112</a></span>)
374
	</div> 
373
	</div> 
375
	
374
	
376
	<!-- ========== Info from phpDoc block ========= -->
375
	<!-- ========== Info from phpDoc block ========= -->
377
<p class="short-description">Computes the shared secret from the private DH value $dh and the other  party's public value in $pub_key</p>
376
<p class="short-description">Computes the shared secret from the private DH value $dh and the other  party's public value in $pub_key</p>
378
	<ul class="tags">
377
	<ul class="tags">
379
				<li><span class="field">throws:</span> Zend_OpenId_Exception</li>
378
				<li><span class="field">throws:</span> Zend_OpenId_Exception</li>
380
				<li><span class="field">access:</span> public</li>
379
				<li><span class="field">access:</span> public</li>
381
			</ul>
380
			</ul>
382
	
381
	
383
	<div class="method-signature">
382
	<div class="method-signature">
384
		<span class="method-result">string</span>
383
		<span class="method-result">string</span>
385
		<span class="method-name">
384
		<span class="method-name">
386
			computeDhSecret
385
			computeDhSecret
387
		</span>
386
		</span>
388
					(<span class="var-type">string</span>&nbsp;<span class="var-name">$pub_key</span>, <span class="var-type">mixed</span>&nbsp;<span class="var-name">$dh</span>)
387
					(<span class="var-type">string</span>&nbsp;<span class="var-name">$pub_key</span>, <span class="var-type">mixed</span>&nbsp;<span class="var-name">$dh</span>)
389
			</div>
388
			</div>
390
	
389
	
391
			<ul class="parameters">
390
			<ul class="parameters">
392
					<li>
391
					<li>
393
				<span class="var-type">string</span>
392
				<span class="var-type">string</span>
394
				<span class="var-name">$pub_key</span><span class="var-description">: other party's public value</span>			</li>
393
				<span class="var-name">$pub_key</span><span class="var-description">: other party's public value</span>			</li>
395
					<li>
394
					<li>
396
				<span class="var-type">mixed</span>
395
				<span class="var-type">mixed</span>
397
				<span class="var-name">$dh</span><span class="var-description">: Diffie-Hellman key</span>			</li>
396
				<span class="var-name">$dh</span><span class="var-description">: Diffie-Hellman key</span>			</li>
398
				</ul>
397
				</ul>
399
		
398
		
400
			
399
			
401
	</div>
400
	</div>
402
<a name="methodrandomBytes" id="randomBytes"><!-- --></a>
401
<a name="methodrandomBytes" id="randomBytes"><!-- --></a>
403
<div class="evenrow">
402
<div class="evenrow">
404
	
403
	
405
	<div class="method-header">
404
	<div class="method-header">
406
		<span class="method-title">randomBytes</span> (line <span class="line-number"><a href="../__filesource/fsource_Framework__utilitairesDiffieHellmanUtil.php.html#a168">168</a></span>)
405
		<span class="method-title">randomBytes</span> (line <span class="line-number"><a href="../__filesource/fsource_Framework__utilitairesDiffieHellmanUtil.php.html#a168">168</a></span>)
407
	</div> 
406
	</div> 
408
	
407
	
409
	<!-- ========== Info from phpDoc block ========= -->
408
	<!-- ========== Info from phpDoc block ========= -->
410
<p class="short-description">Produces string of random byte of given length.</p>
409
<p class="short-description">Produces string of random byte of given length.</p>
411
	<ul class="tags">
410
	<ul class="tags">
412
				<li><span class="field">return:</span> RAW random binary string</li>
411
				<li><span class="field">return:</span> RAW random binary string</li>
413
				<li><span class="field">access:</span> public</li>
412
				<li><span class="field">access:</span> public</li>
414
			</ul>
413
			</ul>
415
	
414
	
416
	<div class="method-signature">
415
	<div class="method-signature">
417
		<span class="method-result">string</span>
416
		<span class="method-result">string</span>
418
		<span class="method-name">
417
		<span class="method-name">
419
			randomBytes
418
			randomBytes
420
		</span>
419
		</span>
421
					(<span class="var-type">integer</span>&nbsp;<span class="var-name">$len</span>)
420
					(<span class="var-type">integer</span>&nbsp;<span class="var-name">$len</span>)
422
			</div>
421
			</div>
423
	
422
	
424
			<ul class="parameters">
423
			<ul class="parameters">
425
					<li>
424
					<li>
426
				<span class="var-type">integer</span>
425
				<span class="var-type">integer</span>
427
				<span class="var-name">$len</span><span class="var-description">: length of requested string</span>			</li>
426
				<span class="var-name">$len</span><span class="var-description">: length of requested string</span>			</li>
428
				</ul>
427
				</ul>
429
		
428
		
430
			
429
			
431
	</div>
430
	</div>
432
						
431
						
433
		</div>
432
		</div>
434
	</div>
433
	</div>
435
 
434
 
436
	<a name="sec-consts"></a>
435
	<a name="sec-consts"></a>
437
	<div class="info-box">
436
	<div class="info-box">
438
		<div class="info-box-title">Class Constants</div>
437
		<div class="info-box-title">Class Constants</div>
439
		<div class="nav-bar">
438
		<div class="nav-bar">
440
			<a href="#sec-description">Description</a> |
439
			<a href="#sec-description">Description</a> |
441
										<a href="#sec-var-summary">Constants</a> (<span class="disabled">details</span>)
440
										<a href="#sec-var-summary">Constants</a> (<span class="disabled">details</span>)
442
						
441
						
443
			
442
			
444
										| 
443
										| 
445
									<a href="#sec-method-summary">Methods</a> (<a href="#sec-methods">details</a>)
444
									<a href="#sec-method-summary">Methods</a> (<a href="#sec-methods">details</a>)
446
							
445
							
447
					</div>
446
					</div>
448
		<div class="info-box-body">
447
		<div class="info-box-body">
449
			<a name="constDH_G" id="DH_G"><!-- --></A>
448
			<a name="constDH_G" id="DH_G"><!-- --></A>
450
<div class="oddrow">
449
<div class="oddrow">
451
 
450
 
452
	<div class="const-header">
451
	<div class="const-header">
453
		<img src="../media/images/Variable.png" />
452
		<img src="../media/images/Variable.png" />
454
		<span class="const-title">
453
		<span class="const-title">
455
			<span class="const-name">DH_G</span>
454
			<span class="const-name">DH_G</span>
456
			 = <span class="const-default"> '02'</span>
455
			 = <span class="const-default"> '02'</span>
457
			(line <span class="line-number"><a href="../__filesource/fsource_Framework__utilitairesDiffieHellmanUtil.php.html#a23">23</a></span>)
456
			(line <span class="line-number"><a href="../__filesource/fsource_Framework__utilitairesDiffieHellmanUtil.php.html#a23">23</a></span>)
458
		</span>
457
		</span>
459
	</div>
458
	</div>
460
 
459
 
461
	<!-- ========== Info from phpDoc block ========= -->
460
	<!-- ========== Info from phpDoc block ========= -->
462
	
461
	
463
	
462
	
464
</div>
463
</div>
465
<a name="constDH_P" id="DH_P"><!-- --></A>
464
<a name="constDH_P" id="DH_P"><!-- --></A>
466
<div class="evenrow">
465
<div class="evenrow">
467
 
466
 
468
	<div class="const-header">
467
	<div class="const-header">
469
		<img src="../media/images/Variable.png" />
468
		<img src="../media/images/Variable.png" />
470
		<span class="const-title">
469
		<span class="const-title">
471
			<span class="const-name">DH_P</span>
470
			<span class="const-name">DH_P</span>
472
			 = <span class="const-default"> 'dcf93a0b883972ec0e19989ac5a2ce310e1d37717e8d9571bb7623731866e61ef75a2e27898b057f9891c2e27a639c3f29b60814581cd3b2ca3986d2683705577d45c2e7e52dc81c7a171876e5cea74b1448bfdfaf18828efd2519f14e45e3826634af1949e5b535cc829a483b8a76223e5d490a257f05bdff16f2fb22c583ab'</span>
471
			 = <span class="const-default"> 'dcf93a0b883972ec0e19989ac5a2ce310e1d37717e8d9571bb7623731866e61ef75a2e27898b057f9891c2e27a639c3f29b60814581cd3b2ca3986d2683705577d45c2e7e52dc81c7a171876e5cea74b1448bfdfaf18828efd2519f14e45e3826634af1949e5b535cc829a483b8a76223e5d490a257f05bdff16f2fb22c583ab'</span>
473
			(line <span class="line-number"><a href="../__filesource/fsource_Framework__utilitairesDiffieHellmanUtil.php.html#a20">20</a></span>)
472
			(line <span class="line-number"><a href="../__filesource/fsource_Framework__utilitairesDiffieHellmanUtil.php.html#a20">20</a></span>)
474
		</span>
473
		</span>
475
	</div>
474
	</div>
476
 
475
 
477
	<!-- ========== Info from phpDoc block ========= -->
476
	<!-- ========== Info from phpDoc block ========= -->
478
	
477
	
479
	
478
	
480
</div>
479
</div>
481
						
480
						
482
		</div>
481
		</div>
483
	</div>
482
	</div>
484
 
483
 
485
	<p class="notes" id="credit">
484
	<p class="notes" id="credit">
486
		Documentation generated on Tue, 18 Jan 2011 15:13:13 +0100 by <a href="http://www.phpdoc.org" target="_blank">phpDocumentor 1.4.3</a>
485
		Documentation generated on Tue, 18 Jan 2011 15:30:48 +0100 by <a href="http://www.phpdoc.org" target="_blank">phpDocumentor 1.4.3</a>
487
	</p>
486
	</p>
488
	</div></body>
487
	</div></body>
489
</html>
488
</html>