การบ้าน Cryptography

ไม่ได้ได้การบ้านมาจากไหน แต่ตั้งโจทย์การบ้านเล่นๆ

Blognone ได้รับของมาฟรีๆ เป็น “จตุคอร์แรมเทพ” Core i7 Extreme + DDR3 16GB เป็นของแจกในเว็บ ปัญหาเริ่มเกิดขึ้นว่าจะแจกกันอย่างไร

ลิ่วเสนอว่าให้แอบสุ่มเลขขึ้นมาแล้วให้สมาชิกทายเลขใน UINT64 ให้ใกล้ที่สุด แต่เนื่องจากสมาชิก Blognone เชื่อว่าลิ่วอาจจะมั่วนิ่มแอบเปลี่ยนเลขเพื่อให้สาวๆ ได้รางวัลจึงเรียกร้องให้มีกระบวนการตรวจสอบ

งานของท่านคือออกแบบโปรโตคอลเพื่อให้มีข้อมูลที่สามารถใช้ตรวจตัวเลขที่ลิ่วเฉลยมาภายหลังว่าเป็นเลขที่สุ่มไว้ล่วงหน้า และไม่สามารถเปลี่ยนแปลงได้ ข้อมูลนี้จะถูกประกาศบนหน้าเว็บ Blognone โดยโปรโตคอลนี้ต้อง

1. โปรโตคอลนี้ต้องเปิดเผยสู่สาธารณะ ดังนั้นห้ามมั่วนิ่มแบบ [Security through obscurity](http://en.wikipedia.org/wiki/Security_through_obscurity)
2. อย่าลืมว่าใน Blognone มีผู้เชี่ยวชาญด้านการคำนวณประสิทธิภาพสูง และมีหลายคนเข้าถึงเครื่องซุปเปอร์คอมพิวเตอร์ได้ ดังนั้นอย่าประมาทการ brute force

BONUS: เขียน script ตามโปรโตคอลที่ออกแบบ

ส่วนนี่ไม่เกี่ยวกับเนื้อหา