@@ -70,7 +70,7 @@ function generateWireToLabelsMap(circuit) {
70
70
* @param {Object } wToLs - Mapping from each wire index to two labels
71
71
* @returns {Object } Garbled gate
72
72
*/
73
- function garbleGate ( gateFromCircuit , wToLs ) {
73
+ function garbleGate ( gate_id , gateFromCircuit , wToLs ) {
74
74
const i = gateFromCircuit . wire_in_index [ 0 ] ;
75
75
const j = ( gateFromCircuit . wire_in_index . length === 2 ) ? gateFromCircuit . wire_in_index [ 1 ] : i ;
76
76
const k = gateFromCircuit . wire_out_index [ 0 ] ;
@@ -82,16 +82,16 @@ function garbleGate(gateFromCircuit, wToLs) {
82
82
} else if ( gateFromCircuit . operation === 'and' ) {
83
83
var t = [ 0 , 0 , 0 , 1 ] ;
84
84
var values = [
85
- [ crypto . encrypt ( wToLs . get ( i ) [ 0 ] , wToLs . get ( j ) [ 0 ] , k , wToLs . get ( k ) [ t [ 0 ] ] )
85
+ [ crypto . encrypt ( wToLs . get ( i ) [ 0 ] , wToLs . get ( j ) [ 0 ] , gate_id , wToLs . get ( k ) [ t [ 0 ] ] )
86
86
. toJSON ( ) ,
87
87
( 2 * wToLs . get ( i ) [ 0 ] . pointer ( ) ) + wToLs . get ( j ) [ 0 ] . pointer ( ) ] ,
88
- [ crypto . encrypt ( wToLs . get ( i ) [ 0 ] , wToLs . get ( j ) [ 1 ] , k , wToLs . get ( k ) [ t [ 1 ] ] )
88
+ [ crypto . encrypt ( wToLs . get ( i ) [ 0 ] , wToLs . get ( j ) [ 1 ] , gate_id , wToLs . get ( k ) [ t [ 1 ] ] )
89
89
. toJSON ( ) ,
90
90
( 2 * wToLs . get ( i ) [ 0 ] . pointer ( ) ) + wToLs . get ( j ) [ 1 ] . pointer ( ) ] ,
91
- [ crypto . encrypt ( wToLs . get ( i ) [ 1 ] , wToLs . get ( j ) [ 0 ] , k , wToLs . get ( k ) [ t [ 2 ] ] )
91
+ [ crypto . encrypt ( wToLs . get ( i ) [ 1 ] , wToLs . get ( j ) [ 0 ] , gate_id , wToLs . get ( k ) [ t [ 2 ] ] )
92
92
. toJSON ( ) ,
93
93
( 2 * wToLs . get ( i ) [ 1 ] . pointer ( ) ) + wToLs . get ( j ) [ 0 ] . pointer ( ) ] ,
94
- [ crypto . encrypt ( wToLs . get ( i ) [ 1 ] , wToLs . get ( j ) [ 1 ] , k , wToLs . get ( k ) [ t [ 3 ] ] )
94
+ [ crypto . encrypt ( wToLs . get ( i ) [ 1 ] , wToLs . get ( j ) [ 1 ] , gate_id , wToLs . get ( k ) [ t [ 3 ] ] )
95
95
. toJSON ( ) ,
96
96
( 2 * wToLs . get ( i ) [ 1 ] . pointer ( ) ) + wToLs . get ( j ) [ 1 ] . pointer ( ) ]
97
97
] ;
@@ -105,20 +105,6 @@ function garbleGate(gateFromCircuit, wToLs) {
105
105
// Define cases for any other gate operations here.
106
106
}
107
107
108
- /**
109
- * Garble all the gates (stateless version).
110
- * @param {Object } circuit - Circuit in which to garble the gates
111
- * @param {Object } wireToLabels - Mapping from each wire index to two labels
112
- * @returns {Object } Ordered collection of garbled gates
113
- */
114
- function garbleGates ( circuit , wireToLabels ) {
115
- var gatesGarbled = new gate . GatesGarbled ( ) ;
116
- for ( var i = 0 ; i < circuit . gate_count ; i ++ ) {
117
- gatesGarbled . set ( i , garbleGate ( circuit . gate [ i ] , wireToLabels ) ) ;
118
- }
119
- return gatesGarbled ;
120
- }
121
-
122
108
/**
123
109
* Send mapping from input wires to their label pairs.
124
110
* @param {Object } channel - Communication channel to use
@@ -176,7 +162,6 @@ function outputLabelsToBits(circuit, wireToLabels, outputWireToLabels) {
176
162
module . exports = {
177
163
generateWireToLabelsMap : generateWireToLabelsMap ,
178
164
garbleGate : garbleGate ,
179
- garbleGates : garbleGates ,
180
165
sendInputWireToLabelsMap : sendInputWireToLabelsMap ,
181
166
outputLabelsToBits : outputLabelsToBits
182
167
} ;
0 commit comments