คำถามติดแท็ก cryptography

คำถามเกี่ยวกับการสร้างและวิเคราะห์โปรโตคอลและอัลกอริทึมสำหรับการคำนวณและการสื่อสารที่ปลอดภัย (รวมถึงการตรวจสอบความถูกต้องความสมบูรณ์และความเป็นส่วนตัว)

6
ทำไมไม่มีอัลกอริธึมการเข้ารหัสที่ใช้ปัญหา NP-Hard ที่รู้จักกันดี
การเข้ารหัสของวันนี้ส่วนใหญ่เช่น RSA อาศัยการแยกตัวประกอบจำนวนเต็มซึ่งไม่เชื่อว่าเป็นปัญหา NP-hard แต่เป็นของ BQP ซึ่งทำให้เสี่ยงต่อคอมพิวเตอร์ควอนตัม ฉันสงสัยว่าทำไมไม่มีอัลกอริธึมการเข้ารหัสซึ่งมาจากปัญหา NP-hard ที่เป็นที่รู้จัก ฟังดู (อย่างน้อยก็ในทางทฤษฎี) เหมือนว่ามันจะสร้างอัลกอริธึมการเข้ารหัสที่ดีกว่าแบบที่ไม่ได้พิสูจน์ว่าเป็นแบบ NP-hard

12
วิธีตรวจสอบหมายเลขกับ Bob โดยไม่ต้องรู้ว่าอีฟ
คุณต้องตรวจสอบว่าบ๊อบเพื่อนของคุณมีหมายเลขโทรศัพท์ที่ถูกต้อง แต่คุณไม่สามารถถามเขาได้โดยตรง คุณต้องเขียนคำถามลงบนบัตรที่มอบให้อีฟซึ่งจะนำบัตรไปให้บ๊อบและส่งคำตอบกลับมาให้คุณ คุณต้องเขียนอะไรลงบนการ์ดนอกเหนือจากคำถามเพื่อให้แน่ใจว่าบ๊อบสามารถเข้ารหัสข้อความเพื่อให้อีฟไม่สามารถอ่านหมายเลขโทรศัพท์ของคุณได้? หมายเหตุ:คำถามนี้อยู่ในรายการของ "คำถามสัมภาษณ์ Google" ด้วยเหตุนี้จึงมีคำถามมากมายหลายคำถามในเว็บและหลายคำถามยังไม่มีคำตอบที่ชัดเจนหรือแม้แต่คำตอบที่ถูกต้อง หมายเหตุ 2:คำตอบที่น่ารำคาญสำหรับคำถามนี้คือบ๊อบควรเขียน "โทรหาฉัน" ใช่มันฉลาดมาก 'นอกกรอบ' และทุกอย่าง แต่ไม่ได้ใช้เทคนิคใด ๆ ของ CS ที่เราเรียกฮีโร่ของเราว่า "บ๊อบ" และศัตรูที่แอบดักฟัง "อีฟ" ของเขา อัปเดต: คะแนนโบนัสสำหรับอัลกอริทึมที่คุณและบ๊อบทำได้ด้วยมืออย่างสมเหตุสมผล อัปเดต 2: โปรดทราบว่าบ๊อบไม่จำเป็นต้องส่งข้อความใด ๆ ถึงคุณ แต่ยืนยันว่าเขามีหมายเลขโทรศัพท์ที่ถูกต้องของคุณโดยไม่ต้องส่งให้อีฟสามารถถอดรหัสได้ซึ่งอาจนำไปสู่การแก้ปัญหาที่ง่ายกว่า

4
รหัสตัวเลขไม่สมมาตรขั้นพื้นฐานที่สุดที่ฉันสามารถนำเสนอได้ที่ผับคืออะไร
ฉันพยายามอธิบายพื้นฐานของ Bitcoin ให้กับผู้ปกครองของฉัน หนึ่งในองค์ประกอบหลักของ bitcoin คือการลงนามในการทำธุรกรรมเพื่อให้แน่ใจว่าตัวตนของคุณไม่สามารถถูกเลียนแบบได้และดังนั้นจึงจำเป็นต้องอธิบายการเข้ารหัสแบบไม่สมมาตร รหัสตัวเลขแบบไม่สมมาตรอย่างง่ายที่สุดที่ฉันสามารถใช้เป็นตัวอย่างคืออะไร การเข้ารหัสแบบง่ายนี้สามารถใช้สำหรับการเซ็นชื่อได้อย่างไร

5
ความหมายของ:“ 'หากการแยกเลขจำนวนเต็มขนาดใหญ่ยากแล้วการแตก RSA นั้นยาก' จะพิสูจน์ได้ "
ฉันอ่าน CLRS และพูดว่า: หากการแยกจำนวนเต็มขนาดใหญ่นั้นง่ายแล้วการทำลายระบบเข้ารหัส RSA นั้นเป็นเรื่องง่าย ซึ่งเหมาะสมกับฉันเพราะด้วยความรู้ของและqมันเป็นเรื่องง่ายที่จะสร้างรหัสลับซึ่งเป็นความรู้เกี่ยวกับกุญแจสาธารณะ แม้ว่ามันจะอธิบายถึงการสนทนาที่ฉันไม่เข้าใจ:qpppqqq คำสั่งสนทนาว่าหากการแยกจำนวนเต็มจำนวนมากนั้นยากการแบ่ง RSA นั้นยากจะพิสูจน์ได้ ข้อความข้างต้นอย่างเป็นทางการหมายถึงอะไร? หากเราถือว่าแฟคตอริ่งนั้นยาก (ในทางที่เป็นทางการ) ทำไมมันไม่ได้หมายความว่าการทำลายระบบการเข้ารหัส RSA นั้นยาก? ตอนนี้ให้พิจารณาว่าหากเราสันนิษฐานว่าแฟคตอริ่งนั้นยาก ... และเราค้นพบว่านั่นหมายความว่าระบบเข้ารหัส RSA นั้นยากที่จะทำลาย นั่นหมายความว่าอย่างเป็นทางการหมายความว่าอย่างไร

3
ได้รับ RSA แล้วทำไมเราไม่ทราบว่าการเข้ารหัสคีย์สาธารณะเป็นไปได้หรือไม่
ฉันอยู่ในวิกิพีเดียในรายการปัญหาวิทยาศาสตร์คอมพิวเตอร์ที่ยังไม่ได้แก้ไขและพบสิ่งนี้: การเข้ารหัสรหัสสาธารณะเป็นไปได้หรือไม่ ฉันคิดว่าการเข้ารหัส RSA เป็นรูปแบบของการเข้ารหัสคีย์สาธารณะหรือไม่ เหตุใดจึงเป็นปัญหา

5
สามารถใช้พับลิกคีย์เพื่อถอดรหัสข้อความที่เข้ารหัสโดยไพรเวตคีย์ที่เกี่ยวข้องได้หรือไม่?
จากสิ่งที่ฉันได้เห็นเกี่ยวกับการใช้คู่ของกุญแจสาธารณะและกุญแจส่วนตัวกุญแจสาธารณะนั้นใช้สำหรับเข้ารหัสข้อความและใช้กุญแจส่วนตัวเพื่อถอดรหัสข้อความที่เข้ารหัส หากข้อความถูกเข้ารหัสโดยไพรเวตคีย์มันจะถูกถอดรหัสโดยคีย์สาธารณะที่เกี่ยวข้องหรือไม่? ถ้าใช่คุณสามารถยกตัวอย่างบางส่วนของกรณีที่ใช้ในกรณีนี้ ขอบคุณ

5
ทำไมการเข้ารหัสด้วยแผ่นแบบครั้งเดียวเหมือนกันไม่ดี?
การเข้ารหัสข้อความมีเพียงครั้งแป้นkคุณทำ E n ค( ม. 1 , k ) = ม. 1 ⊕ kม.1ม.1m_1kkkEn c ( m1, k ) = m1⊕ kEnค(ม.1,k)=ม.1⊕kEnc(m_1,k) = m_1 \oplus k หากคุณใช้เดียวกันในการเข้ารหัสข้อความที่แตกต่างm 2คุณจะได้รับ E n c ( m 2 , k ) = m 2 ⊕ kและถ้าคุณทำ Xor ของ crypttext ทั้งสองคุณจะได้รับ ( m 1 ⊕ …

2
ระบบปฏิบัติการสร้างเอนโทรปีสำหรับเมล็ดสุ่มอย่างไร
บน Linux ไฟล์/dev/randomและ/dev/urandomไฟล์คือแหล่งข้อมูลการบล็อกและไม่บล็อก (ตามลำดับ) ของการสุ่มหลอก พวกเขาสามารถอ่านเป็นไฟล์ปกติ: $ hexdump /dev/random 0000000 28eb d9e7 44bb 1ac9 d06f b943 f904 8ffa 0000010 5652 1f08 ccb8 9ee2 d85c 7c6b ddb2 bcbe 0000020 f841 bd90 9e7c 5be2 eecc e395 5971 ab7f 0000030 864f d402 74dd 1aa8 925d 8a80 de75 a0e3 0000040 cb64 4422 02f7 0c50 …

2
การคำนวณควอนตัมในที่สุดสามารถนำมาใช้เพื่อให้ทันสมัยวัน hashing เล็กน้อยที่จะทำลาย?
พูดง่ายๆก็คือถ้าใครจะสร้างอุปกรณ์คำนวณควอนตัมด้วยพลังของมันบอกว่า 20 qubits คอมพิวเตอร์นั้นจะถูกนำมาใช้เพื่อสร้างอัลกอริธึมการแฮ็กที่ทันสมัยชนิดใดไร้ประโยชน์หรือไม่? มันจะเป็นไปได้ไหมที่จะควบคุมพลังของการคำนวณควอนตัมในแอพพลิเคชั่นการคำนวณแบบดั้งเดิม?

4
ทำไมการเข้ารหัส RSA จึงเป็นที่นิยมสำหรับการแลกเปลี่ยนคีย์
นี่เป็นคำถามที่อ่อนนุ่ม ฉันไม่รู้เรื่องการเข้ารหัสหรือประวัติของมันมากนัก แต่ดูเหมือนว่าการใช้งานทั่วไปสำหรับ RSA คือการแลกเปลี่ยนคีย์โดยการเข้ารหัสคีย์สมมาตรเพื่อส่งข้อความที่ยาวขึ้น (เช่นคำอธิบายของ iMessage ที่นี่ ) นี่ไม่ใช่สิ่งที่การแลกเปลี่ยนคีย์ Diffie-Hellman ซึ่งเก่ากว่า (และสำหรับฉันดูเหมือนง่ายกว่า) นั้นใช่หรือไม่ เมื่อมองที่ Wikipedia พวกเขาทั้งสองได้รับการจดสิทธิบัตรดังนั้นสิ่งนี้จะไม่รับผิดชอบต่อการเลือก เพื่อความชัดเจนฉันไม่ได้ถามว่ามันมีความสำคัญทางทฤษฎีหรือไม่ที่การเข้ารหัสคีย์สาธารณะเป็นไปได้ ฉันถามว่าทำไมมันจึงกลายเป็นวิธีมาตรฐานในการฝึกเพื่อแลกเปลี่ยนคีย์ (สำหรับนักเขียนที่ไม่เข้ารหัส DH ดูจะง่ายกว่าในการนำไปใช้และยังไม่เชื่อมโยงกับรายละเอียดของกลุ่มที่ใช้)

1
ขอบเขตที่ต่ำกว่าซีมโทติคเกี่ยวข้องกับการเข้ารหัสหรือไม่
ขอบเขตล่างแบบเชิงเส้นกำกับเช่นความแข็งเลขชี้กำลังโดยทั่วไปมักคิดว่าบ่งบอกว่าปัญหาคือ "ยากโดยเนื้อแท้" การเข้ารหัสที่ "ยากโดยเนื้อแท้" ในการทำลายถือว่าเป็นความปลอดภัย อย่างไรก็ตามขอบเขตล่างแบบอะซิมโทติกไม่ได้ตัดทอนความเป็นไปได้ที่อินสแตนซ์ของปัญหาที่มีขนาดใหญ่ แต่มีจำนวน จำกัด นั้นเป็นเรื่องง่าย (เช่นทุกกรณีที่มีขนาดน้อยกว่า )10100010100010^{1000} มีเหตุผลใดบ้างที่คิดว่าการเข้ารหัสที่อิงตามขอบเขตล่างของซีมโทติคจะทำให้เกิดความปลอดภัยในระดับใดระดับหนึ่งหรือไม่? ผู้เชี่ยวชาญด้านความปลอดภัยพิจารณาความเป็นไปได้ดังกล่าวหรือไม่หรือไม่ก็เพิกเฉย ตัวอย่างคือการใช้ฟังก์ชั่นประตูกับดักตามการสลายตัวของจำนวนมากเป็นปัจจัยสำคัญ มีอยู่ช่วงหนึ่งที่คิดว่าเป็นเรื่องยากโดยเนื้อแท้ (ฉันคิดว่าเลขชี้กำลังเป็นการคาดเดา) แต่ตอนนี้หลายคนเชื่อว่าอาจมีอัลกอริทึมพหุนาม (เช่นเดียวกับการทดสอบแบบดั้งเดิม) ดูเหมือนว่าไม่มีใครสนใจเป็นอย่างมากเกี่ยวกับการขาดขอบเขตล่างแบบเอ็กซ์โปเนนเชียล ฉันเชื่อว่าฟังก์ชั่นประตูกับดักอื่น ๆ ได้รับการเสนอชื่อซึ่งคิดว่าเป็น NP-hard (ดูคำถามที่เกี่ยวข้อง ) และบางคนอาจมีขอบเขตล่างที่พิสูจน์แล้ว คำถามของฉันเป็นพื้นฐานมากขึ้น: มันเป็นสิ่งสำคัญขอบเขต asymptotic คืออะไร? ถ้าไม่เป็นเช่นนั้นความปลอดภัยในทางปฏิบัติของรหัสการเข้ารหัสใด ๆ ที่เกี่ยวข้องกับผลลัพธ์ความซับซ้อนแบบอะซิมโทติคหรือไม่?

2
วิธีการสร้างกราฟตัวขยายปกติ
ฉันจำเป็นต้องสร้างกราฟตัวขยาย d-regular สำหรับ d คงที่ขนาดเล็ก (เช่น 3 หรือ 4) ของจุดยอด n วิธีที่ง่ายที่สุดในการทำสิ่งนี้ในทางปฏิบัติคืออะไร? สร้างกราฟสุ่ม d-regular ซึ่งพิสูจน์แล้วว่าเป็นตัวขยายหรือไม่ ฉันยังอ่านเกี่ยวกับการก่อสร้าง Margulis และกราฟ Ramanujan ที่เป็นส่วนขยายและการก่อสร้างโดยใช้ผลิตภัณฑ์ซิกแซก วิกิพีเดียให้ภาพรวมที่ดี แต่สั้นมาก: http://en.wikipedia.org/wiki/Expander_graph#cite_note-10 แต่ฉันเลือกวิธีไหนในทางปฏิบัติ สำหรับฉันวิธีการเหล่านี้ดูเหมือนจะซับซ้อนมากในการใช้งานและโดยเฉพาะอย่างยิ่งในการทำความเข้าใจและอาจจะค่อนข้างเฉพาะเจาะจง ไม่มีวิธีที่ง่ายกว่านี้อาจเป็นไปตามวิธีเรียงสับเปลี่ยนหรือวิธีการสร้างลำดับของกราฟตัวขยาย d-regular มันอาจจะง่ายกว่าในการสร้างกราฟตัวขยาย b-dart ปกติ? ฉันยังมีคำถามอื่น: สิ่งที่เกี่ยวกับครอบครัวของตัวขยาย d-regular ที่ไม่ดี? แนวคิดเช่นนี้สมเหตุสมผลหรือไม่? หนึ่งสามารถสร้างครอบครัวของกราฟปกติ d- (ที่มีการเชื่อมต่อแน่นอน) ที่ไม่ดีเท่าที่จะทำได้ในแง่ของการขยาย? ขอบคุณล่วงหน้า.

4
เป็นไปได้ไหมที่จะสร้าง“ Time Capsule” โดยใช้การเข้ารหัส?
ฉันต้องการสร้างแคปซูลเวลาแบบดิจิทัลซึ่งจะไม่สามารถอ่านได้ในช่วงระยะเวลาหนึ่งจากนั้นอ่านได้ ฉันไม่ต้องการพึ่งพาบริการภายนอกใด ๆ เช่นเก็บความลับหลักและเปิดเผยในเวลาที่กำหนด เป็นไปได้ไหม ถ้าไม่ใช่มีหลักฐานบางอย่างที่เป็นไปได้หรือไม่? กลยุทธ์หนึ่งจะขึ้นอยู่กับการคาดการณ์ความสามารถในการคำนวณในอนาคต แต่นั่นไม่น่าเชื่อถือและทำให้สมมติฐานเกี่ยวกับจำนวนทรัพยากรที่จะนำไปใช้กับงาน

2
หาก P = NP จะมี cryptosystems ที่จะต้องใช้เวลา n ^ 2 ในการทำลายหรือไม่?
ถ้า P ทำตัวเท่ากับ NP มันจะเป็นไปได้ไหมที่จะออกแบบระบบเข้ารหัสโดยใช้อัลกอริธึมการเข้ารหัสที่ดีที่สุดใช้เวลาเป็นสองเท่าของอัลกอริธึมการเข้ารหัสและถอดรหัสที่ถูกต้องหรือไม่ มีอัลกอริทึมดังกล่าวอยู่แล้วหรือไม่?

1
การเลือกก๊อกน้ำสำหรับการลงทะเบียน Feedback Feedback เชิงเส้น
ฉันสับสนเกี่ยวกับวิธีเลือกก๊อกสำหรับการลงทะเบียนการตอบรับเชิงเส้น ฉันมีแผนภาพซึ่งแสดงให้เห็น LFSR กับการเชื่อมต่อพหุนามเป็น 1 ห้าขั้นตอนจะมีป้ายกำกับ: R 4 , R 3 , R 2 , R 1และR 0และก๊อกน้ำออกมาจากR 0และR 3ค( X) = X5+ X2+ 1C(X)=X5+X2+1C(X) = X^5 + X^2 + 1R 4 , R 3 , R 2 , R 1R4,R3,R2,R1R4, R3, R2, R1R 0R0R0R 0R0R0R 3R3R3 ก๊อกเหล่านี้มีวิธีการตัดสินใจอย่างไร เมื่อฉันได้รับพหุนามการเชื่อมต่อ แต่ไม่มีไดอะแกรมฉันจะรู้ได้อย่างไรว่าควรใช้ค่า …

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.