4.1 Prior Euclidean-Distance Protocols A basic version of the protocol begins by having the client publish a public key pkC for a homomorphic encryp-tion scheme. The client computes J 2v01 K , . . . , J 2v0N K and cJSo3mKpaunteds sends these ciphertexts to the server. The server computes JSi;1 K (for 1 i M) by herself. The server then mula: JSi;2 K (for 1 i M) using the following for-JSi;2 K = N
Õ
j=1
q 2v0j y vi; j = t åN
j=1
2vi; j v j0 |:
Finally, for 1 i M the server chooses random ri from some appropriate range and computes: qdi0 y = Jdi + ri K = JSi;1 + Si;2 + S3 + ri K
= JSi;1 K JSi;2 K JS3 K Jri K : dT10h;e: :f:J;ddi0M0K g; tahree sseernvtetrootuhtepcultisenrt, who decrypts and recovers 1 ; : : : ; rM .
As noted by Sadeghi et al. [20], packing can be ap-plied to save bandwidth in the second round of the proto-col. The basic idea is to send M` ciphertexts of the form qdi0 kdi0+1 k kdi0+` y instead of M ciphertexts of the form Jdi0 K , where the maximum value of ` depends on the max-imum range of the di0 and the bit-length of plaintexts in the encryption scheme being used. If each di0 satisfies 0 di0 < 2s , then ciphertexts of the required form can be computed as, qd10 kd20 k kd`0 +1 y = `Õ+1 j=1
qd 0j y 2(`+1 j)s :
Note that this method of packing cannot be applied to the initial message from the client to the server in the basic pro-tocol described above, hence it only reduces the bandwidth required for the final response from the server to the client.
4Improved Privacy-Preserving Euclidean-Distance Protocol Input to the server: a matrix fvi; j gMN .
Input to the client: a vector v0 = [v0 1 ; : : : ; v0 N ].
Output of the server: M random integers [d 0 1 ; : : : ; d 0 M ], where di0 = di + ri .
Output of the client: M integers [r1 ; : : : ; rM ].
Preparation: 1. The server generates a key pair hpkS ; skS i. 2. For 1 j N , the server computes q2c j ypkS . 34.. The server computes JS1 K = qS1;1 kS2;1 k kSM;1 y .
The server sends J2c1 K , . . . , J2cN K , and JS1 K to the client.
Execution:
Server Client
® The server decrypts to get [d 0 1 ; : : : ; d 0 M ].
Send Jd10 kd20 kkdM0 K :
¬ The client chooses [r1 ; : : : ; rM ], and computes Jd0 K = qd10 kd20 k kdM0 y .
Figure 2. Improved Euclidean-distance protocol. 4.2 Improved Euclidean-Distance Protocol Our improved protocol, summarized in Figure 2, uses packing more aggressively throughout the protocol to re-duce both computation and bandwidth. One key idea is to move as much computation as possible to a pre-processing step that can be done by the server alone (independent of the client’s input). Since we expect in most applica-tions the database changes infrequently, the costs of this step are amortized over a series of queries on the same, fixed database. Second, we slice the fingerprint database in columns (that cross-cut individual fingerprint vectors) in-stead of rows. This enables more efficient use of packing throughout the protocol.
In contrast to the protocol from the previous section, in our protocol most of the computation is done on the client and data is encrypted with the server’s public key pkS . The protocol begins by having the server pack an entire column vector into a single ciphertext. (Here, for simplicity, we assume that M is small enough to pack M scalars of suffi-cient bit-length into a single ciphertext. If not, the protocol is repeated on sub-matrices of the server’s original matrix.) Namely, if c j = v1; j ; v2; j ; ; vM; j is the jth column of the server’s input matrix, the server computes an encryption of c j as J2c j K d=ef q 2v1; j k 2v2; j k k (2vM; j )y : Note that this involves only a single encryption, as the server can concatenate the values (padded as necessary) be-
fore encrypting. The server also computes JS1 K = JS1;1 kS2;1 k kSM;1 K : The server sends J2c1 K , . . . , J2cN K , and JS1 K to the client.
The client computes JS3 K d=ef JS3 kS3 k kS3 K , followed by r2v0j c j z = J2c j Kv0j for 1 j N . Multiplying these latter ciphertexts together, the client obtains a packed en-cryption of the fSi;2 g: JS2 K d=ef JS1;2 kS2;2 k kSM;2 K = q2v01 c1 y q2v02 c2 y q2v0N cN y : The client then chooses values r1 ; : : : ; rM from some appro-cplriieantet sraentsge, and computes JrK d=ef Jr1 k krM K . Finally, the
qd0 y = JS1 K JS2 K 1 JS3 K JrK
= Jd1 + r1k kdM + r + MK and sends this to the server.
Table 1 compares the online computation and commu-nication required for the two protocols. Compared to the protocol from Section 4.1 (even when using packing there), our protocol has several advantages: 1. The initial round of our protocol can be pre-computed by the server based only on its database. 2. Our protocol saves substantial computation because it performs arithmetic over several packed scalars using
5Protocol Encryptions Decryptions Exponentiations Bandwidth Previous (4.1) N + M + 1 M M(N + 1) N +
4.1 ก่อนระยะทางแบบยุคลิดโพรโทคอลโพรโทคอลรุ่นพื้นฐานเริ่มต้นโดยไคลเอนต์ประกาศ pkC คีย์สาธารณะสำหรับแบบ homomorphic encryp-ทางการค้า ไคลเอ็นต์คำนวณ J 2v01 K,... J 2v0N K และ cJSo3mKpaunteds ส่ง ciphertexts เหล่านี้ไปยังเซิร์ฟเวอร์ เซิร์ฟเวอร์การคำนวณ JSi; 1 K (1 ฉัน M) ด้วยตัวเอง เซิร์ฟเวอร์แล้วมูล่าของเล่น: JSi; 2 K (สำหรับ 1 ฉัน M) ใช้ต่อไปนี้สำหรับ JSi; 2 K = Nรายปีj = 1q 2v0j y vi j = t åNj = 12vi j v j0 |:ในที่สุด สำหรับฉัน M เซิร์ฟเวอร์เลือก ri สุ่มจากบางช่วงที่เหมาะสม และคำนวณ: qdi0 y = Jdi + ri K = JSi; 1 + ศรี 2 + S3 + ri K= 2 K JS3 K Jri K; JSi; 1 K JSi: dT10h; e:: f:J; ddi0M0K g tahree sseernvtetrootuhtepcultisenrt ถอดรหัสลับ และกู้ 1 : : : ; rMตามที่ระบุไว้โดย Sadeghi et al. [20], บรรจุสามารถล่า ap การประหยัดแบนด์วิธในรอบสองของโปรโตคอลัมน์ แนวคิดพื้นฐานคือการ ส่ง M' ciphertexts kdi0 qdi0 ฟอร์ม + 1 kdi0 k +' y แทน ciphertexts M ของฟอร์ม Jdi0 K ที่ค่าสูงสุดของ ' ขึ้นอยู่กับช่วงสูงสุด imum di0 และความยาวบิตของ plaintexts ในแบบเข้ารหัสลับที่ใช้ ถ้า di0 แต่ละยอด 0 di0 < 2s แล้ว ciphertexts ของรูปแบบที่ต้องคำนวณเป็น qd10 kd20 k'0 kd + 1 y = ' j รายปี + 1 = 1qd 0j y 2 (' + 1 j) s:หมายเหตุว่า วิธีการบรรจุนี้ไม่สามารถใช้กับข้อความเริ่มต้นจากไคลเอนต์ไปยังเซิร์ฟเวอร์ใน tocol โปพื้นฐานที่อธิบายข้างต้น ดังนั้น มันเป็นเพียงลดแบนด์วิดท์จำเป็นสำหรับการพิจารณาการตอบสนองจากเซิร์ฟเวอร์ไปยังไคลเอนต์4Improved รักษาความเป็นส่วนตัวระยะทางแบบยุคลิดโพรโทคอลเข้าไปยังเซิร์ฟเวอร์: fvi เมตริกซ์ จีเอ็ม j Nป้อนข้อมูลไปยังไคลเอนต์: v0 เวกเตอร์ = [v0 1;:::; v0 N]ผลลัพธ์ของเซิร์ฟเวอร์: M แบบสุ่มจำนวนเต็ม [d 0 1;:::; d 0 M], ที่ di0 = di + riผลลัพธ์ของไคลเอนต์: จำนวนเต็ม M [r1;:::; rM]การเตรียมการ: 1. server ที่สร้าง hpkS คู่คีย์ skS i. 2 1 j N เซิร์ฟเวอร์คำนวณ q2c เจ ypkS 34 ... เวอร์คำนวณ JS1 K = 1 k kSM; qS1; 1 kS2; 1 yเซิร์ฟเวอร์จะส่ง J2c1 K,..., J2cN K และ JS1 K ไปยังไคลเอนต์การดำเนินการ:ไคลเอ็นต์เซิร์ฟเวอร์® ถอดรหัสลับที่เซิร์ฟเวอร์จะได้รับ [d 0 1;:::; d 0 M] ส่ง Jd10 kd20 k kdM0 K:¬ เลือกไคลเอ็นต์ [r1;:::; rM], และคำนวณ Jd0 K = qd10 kd20 k kdM0 yรูปที่ 2 ปรับปรุงโพรโทคอลระยะทางแบบยุคลิด 4.2 ปรับปรุงระยะทางแบบยุคลิดโพรโทคอลของเราปรับปรุงโพรโทคอ สรุปในรูปที่ 2 ใช้จัดมากจังทั้งโพรโทคอลการ duce เรื่องการคำนวณและแบนด์วิธ อีกหนึ่งแนวคิดที่สำคัญคือการ คำนวณมากที่สุดไปที่ขั้นตอนก่อนการประมวลผลที่สามารถทำได้ โดยเซิร์ฟเวอร์เดียว (อิสระของการป้อนข้อมูลของไคลเอ็นต์) เนื่องจากเราคาดว่าในส่วนใหญ่อย่างหลากทุกระดับการเปลี่ยนแปลงฐานข้อมูลนาน ๆ ครั้ง ต้นทุนของขั้นตอนนี้มีคผ่านชุดของแบบสอบถามบนฐานข้อมูลเดียวกัน fixed ที่สอง เราหั่นฐานข้อมูลคุณสมบัติคอลัมน์ (ที่ตัดข้ามโดยคุณสมบัติแต่ละเวกเตอร์) ส่วนในผลของแถว นี้ช่วยเพิ่มประสิทธิผลการใช้บรรจุภัณฑ์ทั้งโพรโทคอลตรงข้ามกับโพรโทคอลจากส่วนก่อนหน้า โพรโทคอของเรามากที่สุดของการคำนวณจะทำบนไคลเอนต์ และข้อมูลที่เข้ารหัสลับ ด้วยของเซิร์ฟเวอร์ครั้ง pkS คีย์สาธารณะ โพรโทคอลเริ่มต้น โดยมี server ชุดเวกเตอร์คอลัมน์ทั้งหมดที่เป็น ciphertext เดียว (นี่ สำหรับความเรียบง่าย เราสมมติว่า M เล็ก scalars M ชุดความยาวบิตเพียงพอแก่ครัว cient เป็น ciphertext เดียว ถ้าไม่ โพรโทคอลคือซ้ำบนเมทริกซ์ย่อยของเมทริกซ์เดิมของเซิร์ฟเวอร์) คือ ถ้า c j = v1 j v2 j ; vM j คือ คอลัมน์ jth ของเซิร์ฟเวอร์ป้อนเมทริกซ์ เซิร์ฟเวอร์คำนวณการเข้ารหัสของ j c เป็น d j K J2c = ef ข้อ q 2v1 j k 2v2 j k k (2vM; j) y: หมายเหตุว่า นี้เกี่ยวข้องกับเฉพาะการเข้ารหัสเดียว กับเซิร์ฟเวอร์ concatenate ค่า (เบาะจำเป็น) ได้-การเข้ารหัสลับไม่รู้ เซิร์ฟเวอร์ยังคำนวณ JS1 K = JS1; 1 kS2; 1 k kSM; 1 K: เซิร์ฟเวอร์ส่ง J2c1 K,..., J2cN K และ JS1 K ไคลเอ็นต์ไคลเอ็นต์คำนวณ JS3 K d = ef JS3 kS3 k K kS3 ตาม ด้วย z r2v0j c j = J2c j Kv0j 1 j N คูณ ciphertexts หลังเหล่านี้กัน ไคลเอนต์ได้รับการบรรจุ cryption สั้นของ fSi; 2 g: JS2 K d = ef JS1; 2 kS2; 2 k kSM; 2 K = q2v01 c1 y q2v02 c2 y q2v0N cN y: ไคลเอ็นต์แล้วเลือกค่า r1 : : : ; rM sraentsge appro cplriieantet บาง และ computes JrK d = krM ef Jr1 k K ในที่สุด การqd0 y = JS1 K JS2 K 1 JS3 K JrK= Jd1 + r1k kdM + r + MK และส่งข้อมูลนี้ไปยังเซิร์ฟเวอร์ตารางที่ 1 เปรียบเทียบการคำนวณออนไลน์และ nication สารสนเทศที่จำเป็นสำหรับโพรโทคอลที่สอง เมื่อเทียบกับโพรโทคอลจาก 4.1 ส่วน (แม้ว่าการใช้บรรจุภัณฑ์มี), โพรโทคอลของเรามีข้อดี: 1. ในรอบแรกของโพรโทคอลเราอาจคำนวณ โดยเซิร์ฟเวอร์จากฐานข้อมูลก่อนได้ 2. โพรโทคอลเราบันทึกคำนวณพบเนื่องจากมันทำเลขคณิตผ่านหลาย scalars ที่บรรจุโดยใช้5Protocol เข้า Decryptions Exponentiations แบนด์วิดธ์ก่อนหน้านี้ (4.1) N + M + ม. 1 (N + 1) N +
การแปล กรุณารอสักครู่..

4.1 ก่อนระยะทางแบบยุคลิดโปรโตคอลรุ่นพื้นฐานของโพรโทคอลเริ่มต้นโดยมีลูกค้าเผยแพร่คีย์สาธารณะสำหรับ homomorphic encryp PKC , โครงการ ลูกค้า 2v01 K . J . . . . . . . . , J 2v0n K และ cjso3mkpaunteds ส่ง ciphertexts เหล่านี้ไปยังเซิร์ฟเวอร์ เซิร์ฟเวอร์คอมพิวเตอร์ jsi 1 K ( 1 ) ด้วยตัวเอง เซิร์ฟเวอร์ แล้วจาก : jsi 2 K ( 1 เมตร ) ใช้ตาม jsi 2 k = -ÕJ = 1Q 2v0j Y 6 J = t n ปีJ = 12vi J V j0 | :สุดท้าย ผม M เซิร์ฟเวอร์เลือกสุ่มรีจากที่ช่วงและคำนวณ : qdi0 Y = jdi + รี jsi K = 1 + ศรี 2 + S3 K + รี= jsi 1 K jsi 2 K K K : js3 jri dt10h ; E : F : J ; ddi0m0k g ; tahree sseernvtetrootuhtepcultisenrt , ถอดรหัสและกู้คืน 1 ; : : : ; RM .ตามที่ระบุไว้โดย Sadeghi et al . [ 20 ] บรรจุสามารถ AP plied เพื่อประหยัดแบนด์วิดธ์ในรอบที่สองของ proto-col. ความคิดพื้นฐานคือการส่ง M ` ciphertexts ของแบบฟอร์ม qdi0 kdi0 + 1 K + ` kdi0 Y แทน M ciphertexts ของแบบฟอร์ม jdi0 K ที่มูลค่าสูงสุดของ " ขึ้นอยู่กับแม็กซ์ imum ช่วงของ di0 และความยาวบิตของ plaintexts ในรูปแบบการเข้ารหัสที่ใช้ ถ้าแต่ละ di0 พอจึง es 0 di0 < 2s แล้ว ciphertexts ของความต้องการรูปแบบสามารถคำนวณเป็น qd10 kd20 KD ` 0 K + ` 1 Y = Õ + 1 j = 1ควอนตัมด็อต 0j Y ( ` + 1 J ) S :โปรดทราบว่าวิธีการบรรจุ ไม่สามารถนำไปใช้กับข้อความแรกจากลูกค้าไปยังเซิร์ฟเวอร์ในเบื้องต้นโปรโทคอลที่อธิบายข้างต้นนี้ จึงเพียงแต่ลดแบนด์วิธที่จำเป็นสำหรับจึง นัล การตอบสนองจากเซิร์ฟเวอร์ไปยังไคลเอ็นต์4improved รักษาความเป็นส่วนตัวระยะทางแบบยุคลิดโปรโตคอลข้อมูลไปยังเซิร์ฟเวอร์ : เมทริกซ์ fvi J gmn .ใส่ให้ลูกค้า : เวกเตอร์การผลิ = [ การผลิ 1 ; : : : ; การผลิ n ]ผลผลิตของเซิร์ฟเวอร์ : สุ่มจำนวนเต็ม [ d 0 1 ; : : : ; D 0 M ] ที่ di0 = di + รีผลผลิตของลูกค้า : จำนวนเต็ม [ R1 m ; : : : ; RM ]เตรียม : 1 เซิร์ฟเวอร์สร้างคู่คีย์ hpks ; SKS ผม 2 1 J N เซิร์ฟเวอร์คอมพิวเตอร์ q2c J ypks . 34 . . . . . . . เซิร์ฟเวอร์คอมพิวเตอร์ js1 K = qs1 ; 1 ks2 1 K ksm 1 yเซิร์ฟเวอร์จะส่ง j2c1 K . . . . . . . . j2cn js1 K , K และกับลูกค้าการดำเนินการ :เซิร์ฟเวอร์ของลูกค้า®เซิร์ฟเวอร์ถอดรหัสรับ [ d 0 1 ; : : : ; D 0 M ]องส่ง jd10 kd20 kkdm0 K :¬ลูกค้าเลือก [ R1 ; : : : ; RM ] . jd0 K = qd10 kd20 K kdm0 yรูปที่ 2 การปรับปรุงระยะทางแบบยุคลิดโปรโตคอล 4.2 ปรับปรุงระยะทางแบบยุคลิดโปรโตคอลโปรโตคอลของเราดีขึ้น สรุปไว้ในรูปที่ 2 ที่ใช้บรรจุได้มากขึ้นตลอดขั้นตอนอีกครั้ง duce ทั้งการคำนวณและแบนด์วิดธ์ แนวคิดหนึ่งที่สำคัญคือการย้ายการคำนวณมากที่สุดในการประมวลผลขั้นตอนที่สามารถทำได้โดยเซิร์ฟเวอร์เดียว ( อิสระของข้อมูลของลูกค้า ) เพราะเราคาดหวังในสิ่งที่เห็นทั้งหมดส่วนใหญ่ใช้งานฐานข้อมูลการเปลี่ยนแปลงไม่บ่อย ค่าใช้จ่ายของขั้นตอนนี้เป็นมากกว่าของขวัญชุดแบบสอบถามเดียวกันจึง xed ฐานข้อมูล ชิ้นที่สอง เราจึง ngerprint ฐานข้อมูลในคอลัมน์ ( ที่ตัดข้ามเวกเตอร์จึง ngerprint บุคคล ) แทนแถว นี้จะช่วยให้มากขึ้นจึง cient EF ใช้บรรจุตลอดขั้นตอนในทางตรงกันข้ามกับโปรโตคอลจากส่วนก่อนหน้านี้ในโปรโตคอลของเรามากที่สุดของการคำนวณจะทำบนไคลเอนต์และเซิร์ฟเวอร์ของข้อมูลที่ถูกเข้ารหัสด้วยกุญแจสาธารณะ pks . ขั้นตอนเริ่มต้น โดยมีเซิร์ฟเวอร์แพ็คเวกเตอร์คอลัมน์ทั้งหมดในแพทเดียว ( ตรงนี้ พูดง่ายๆ เราสมมติว่า M มีขนาดเล็กพอที่จะแพ็ค M scalars ของซุฟจึง - cient ความยาวเป็นบิตแพทเดียว ถ้าไม่รับซ้ำในเมทริกซ์ย่อยของเซิร์ฟเวอร์เดิมเมทริกซ์ ) คือ ถ้า C J = v1 J ; V2 J ; VM J เป็น jth คอลัมน์ของเมตริกซ์การป้อนข้อมูลของเซิร์ฟเวอร์ เซิร์ฟเวอร์คอมพิวเตอร์การเข้ารหัสของ C J เป็น j2c J K D = EF Q 2V1 ; J K 2v2 J K K ( 2vm J ) Y : ทราบว่า เดียวนี้เกี่ยวข้องกับการเข้ารหัสเป็นเซิร์ฟเวอร์สามารถ concatenate ค่า ( เบาะเท่าที่จำเป็น ) -ก่อนการเข้ารหัส . เซิร์ฟเวอร์ยังคำนวณ js1 K = js1 ; 1 ks2 1 K ksm 1 K : เซิร์ฟเวอร์ส่ง j2c1 K . . . . . . . . j2cn js1 K , K และกับลูกค้าลูกค้าคำนวณ js3 K D = EF js3 K K มัธยมศึกษามัธยมศึกษา ตามด้วย r2v0j C J Z = j2c J kv0j 1 J n . คูณ ciphertexts หลังเหล่านี้ด้วยกันลูกค้าได้รับบริการใน cryption ของ FSI ; 2 g : js2 K D = EF js1 2 ks2 ; ksm 2 K ; k = 2 q2v01 C1 C2 Y Y q2v02 q2v0n CN Y : ไคลเอ็นต์แล้วเลือก R1 ค่า ; : : : ; RM จากบางส่วน ขนาดประมาณ cplriieantet sraentsge และคำนวณ jrk D = EF jr1 K krm K . ในที่สุดqd0 Y = js1 K K K jrk js3 js2 1= jd1 + r1k KDM + R + MK และส่งสัญญาณนี้ไปยังเซิร์ฟเวอร์ตารางที่ 1 เปรียบเทียบออนไลน์และการคำนวณ nication commu ที่จําเป็นสําหรับสองโปรโตคอล เมื่อเทียบกับโปรโตคอลจากส่วน 4.1 ( แม้ว่าจะใช้บรรจุมี ) , โปรโตคอลของเรามีข้อดีหลายประการ : 1 . รอบแรกของโปรโตคอลของเราสามารถก่อนคำนวณโดยเซิร์ฟเวอร์เฉพาะในฐานข้อมูลของ 2 . โปรโตคอลของเราบันทึกการคำนวณอย่างมากเพราะมันแสดงจำนวนกว่า scalars บริการหลายใช้5protocol การเข้ารหัส decryptions exponentiations แบนด์วิดธ์ก่อนหน้านี้ ( 4.1 ) n
การแปล กรุณารอสักครู่..
