หากฉันมีทั้งข้อความที่เข้ารหัสและข้อความดั้งเดิมเป็นไปได้หรือไม่ที่จะอนุมานคีย์ส่วนตัว
หากฉันมีทั้งข้อความที่เข้ารหัสและข้อความดั้งเดิมเป็นไปได้หรือไม่ที่จะอนุมานคีย์ส่วนตัว
คำตอบ:
ไม่นั่นคือจุดของคีย์ไม่สมมาตร (สาธารณะและส่วนตัว) เนื่องจากคุณสามารถเข้ารหัสข้อความได้อย่างง่ายดายด้วยกุญแจสาธารณะ (นั่นคือสิ่งที่ใช้) คุณมีข้อความที่เข้ารหัสและเข้ารหัส แต่การถอดรหัสข้อความที่เข้ารหัสนั้นทำได้ด้วยไพรเวตคีย์เท่านั้น ไม่สามารถสร้างรหัสส่วนตัวได้
เนื่องจากยังไม่ได้รับการกล่าวถึง: สิ่งนี้เรียกว่าการโจมตีแบบธรรมดาที่รู้จักกันดีและจะเป็นช่องโหว่ที่ไม่ดีอย่างมากสำหรับการเข้ารหัส ในความเป็นจริงในรหัสสาธารณะกุญแจการโจมตีครั้งนี้เทียบเท่ากับการโจมตีแบบธรรมดาเพราะทุกคนสามารถเข้ารหัสข้อความใด ๆ !
มีได้ในความเป็นจริงบางโจมตีกัน / ได้รับการแต่งตั้งธรรมดากับอาร์เอส(การเข้ารหัสคีย์สาธารณะส่วนใหญ่มักจะใช้โดย PGP การเข้ารหัสแบบสมมาตรที่สำคัญ)แต่พวกเขามักจะเกี่ยวข้องกับการโจมตีด้านช่องทางกับการใช้งานที่ไม่ดีหรือต้องมีจำนวนบ้า ของไซเฟอร์เท็กซ์หรือทำงานกับคีย์ที่หายากบางตัวเท่านั้น
อย่างไรก็ตามโดยทั่วไปคำตอบสำหรับคำถามของคุณคือ "ไม่" - นั่นคือสิ่งที่ทำให้ตัวเลขนั้นปลอดภัย
ไม่มันจะแย่มาก การเข้ารหัส PGP ใช้การผสมผสานแบบอนุกรมของการแฮชการบีบอัดข้อมูลการเข้ารหัสคีย์สมมาตรและการเข้ารหัสคีย์สาธารณะในที่สุด Hashing ทำให้การใช้ฟังก์ชั่นทางเดียว ฟังก์ชั่นทางเดียวคือฟังก์ชั่นที่คำนวณได้ง่าย แต่ยากที่จะกลับด้าน การเข้ารหัสคีย์สาธารณะใช้อัลกอริธึมแบบอสมมาตร
อัลกอริธึมที่ใช้สำหรับการเข้ารหัสแบบพับลิกคีย์จะขึ้นอยู่กับความสัมพันธ์ทางคณิตศาสตร์ (สิ่งที่น่าสังเกตมากที่สุดคือการแยกตัวประกอบจำนวนเต็มและปัญหาลอการิทึมแบบแยก) ซึ่งสันนิษฐานว่าไม่มีวิธีแก้ปัญหาที่มีประสิทธิภาพ แม้ว่าจะเป็นการง่ายสำหรับผู้รับที่ต้องการสร้างคีย์สาธารณะและส่วนตัวในการถอดรหัสข้อความโดยใช้คีย์ส่วนตัวและง่ายสำหรับผู้ส่งในการเข้ารหัสข้อความโดยใช้กุญแจสาธารณะมันเป็นเรื่องยากมาก (หรือเป็นไปไม่ได้อย่างมีประสิทธิภาพ) สำหรับ ใครก็ตามที่ได้รับคีย์ส่วนตัวนั้นจะขึ้นอยู่กับความรู้เกี่ยวกับกุญแจสาธารณะของพวกเขาเท่านั้น
เพียงแค่มีข้อความต้นฉบับไม่เพียงพอที่จะอนุมานคีย์ส่วนตัว
มีสองคำตอบสำหรับเรื่องนี้
เป็นไปได้ในทางทฤษฎีหรือไม่ ใช่. คุณสามารถสร้างรหัสปลอมลองใช้การเข้ารหัสดูว่าตรงกันหรือไม่ ถ้าไม่ลองรหัสใหม่ปลอมเข้ารหัสดูว่าผลลัพธ์ที่ตรงกัน สิ่งนี้เรียกว่าการโจมตีด้วยกำลังดุร้าย
ในทางปฏิบัติสิ่งนี้ไม่สามารถทำได้ ต้องใช้เวลาและกำลังประมวลผลที่ไม่เป็นศูนย์ในการลอง การเข้ารหัส PGP มักจะใช้คีย์ขนาดที่เหมาะสมอาจเป็น 512, 1024, 2048 หรือบิตเพิ่มเติม คีย์ - สเปซ (จำนวนของคีย์ที่คุณอาจมี) มีขนาดใหญ่มากจนคุณจะต้องค้นหาชุดค่าผสมนี้ตลอดไป
ฉันเดาว่าคุณถูกถามว่าคุณสามารถทำได้จริง ๆ ไม่ใช่ทฤษฎี ดังนั้นคำตอบคือไม่ โลกนี้มีพลังในการคำนวณไม่เพียงพอสำหรับเรื่องนี้ ถ้าคุณถามเกี่ยวกับsecurity.stackexchange.comคนที่คุ้นเคยกับอัลกอริทึมและคณิตศาสตร์ดีกว่าสามารถบอกคุณได้ว่าจะใช้เวลานานเท่าไร (อาจเป็นไปได้จนกระทั่งดวงอาทิตย์แพร่กระจายและทำให้โลกของเราเดือด) คำตอบสั้น ๆ ของฉันคือ "ไม่ได้อยู่ในชีวิตของคุณ"
ไม่น่าจะช่วยได้ แต่ก็ไม่ควรทำให้คุณไปไกลเกินไป แบบฟอร์มความปลอดภัยน่าจะเป็นที่ที่ดีกว่าสำหรับสิ่งนี้ แต่:
คุณควรมีหลายขั้นตอนในการเข้ารหัสอย่างน้อยที่สุดก็ควรมีเมล็ดพันธุ์กัญชาและเกลือ
ตัวอย่างเช่นคุณอาจมีเกลือเพื่อให้รหัสผ่านทั้งหมดยาว 64 บิตจากนั้นเรียกใช้ผ่านแฮช ถ้ามันเป็นเพียงแฮชแล้วมันจะแตกง่ายมาก
นี่เป็นเวอร์ชั่นที่ง่ายมาก ... แต่มันไม่ง่ายเลย