Subversion Repositories Applications.framework

Rev

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

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