พิจารณาสถานการณ์ต่อไปนี้: Alice มีรหัสลับและคู่รหัสสาธารณะสำหรับ RSA หนังสือเรียน (แสดงแทน $\text{sk}$ และ $\text{pk}$ ตามลำดับ). Bob มีสำเนาของแท้ของ $\text{pk}$. ฝ่ายตรงข้ามมีสำเนาที่แท้จริง $\text{pk}$.
ตอนนี้ Bob ต้องการส่งของเขา $\text{PIN}$ ถึงอลิซซึ่งเป็นตัวเลขสี่หลัก เขาเข้ารหัสดังนี้: อันดับแรก เขาเลือก nonce $N_0$ (หมายเลขที่สุ่มเลือกจากโดเมนขนาดใหญ่มาก) จากนั้นเขาก็ส่งการเข้ารหัส:
$c = N_0 \mathbin\| \operatorname{RSA}(\text{pk}, [\text{PIN}\mathbin\| N_0]) = N_0 \mathbin\| [\text{PIN} \mathbin\| N_0]^e \bmod N$ ที่ไหน $(จ,น)$ เป็นรหัสสาธารณะ RSA
กล่าวอีกนัยหนึ่ง เขาสร้างข้อความใหม่ $â\text{PIN} \mathbin\| N_0â$ (คุณอาจคิดว่าเขาสามารถฝัง $[\text{PIN}\mathbin\|N_0]$ เป็นตัวเลขใน $\{1, 2, ⦠, N-1\}$) และเข้ารหัสโดยใช้ RSA แบบเรียน เขาส่งเบอร์มาให้ด้วย $N_0$ ถึงอลิซ âชัดเจนâ
แสดงการโจมตีซึ่งช่วยให้ฝ่ายตรงข้ามเรียนรู้ $\text{PIN}$ โดยใช้เพียงการดักฟังการโจมตีเท่านั้น
ฉันไม่แน่ใจว่าจะเริ่มต้นอย่างไรกับปัญหานี้ ฉันเข้าใจว่าตำรา rsa สร้างไซเฟอร์เท็กซ์ด้วย $\operatorname{Enc}(e, m) = m^e\bmod N$แต่ฉันไม่รู้ว่าฉันจะได้รับ $\text{PIN}$ ถ้าฉันยุ่งกับข้อความไม่ได้ ความช่วยเหลือใด ๆ ที่จะได้รับการชื่นชม
ฉันพยายามทำงานบางอย่างออกมา และพบปัญหาที่แตกต่างออกไป เนื่องจาก PIN มีความเป็นไปได้ค่อนข้างน้อย ฉันสามารถใช้การโจมตีด้วยกำลังเดรัจฉานได้ไหม เนื่องจากฝ่ายตรงข้ามรู้ข้อความเข้ารหัส, e, N0 และสามารถเข้าถึงคีย์สาธารณะได้ ฉันจึงสามารถลองใช้ PINS ต่างๆ ต่อไปได้ถูกต้องหรือไม่