ชาวเน็ตถอดสมการ QR Code บัตรสีเขียว อึ้งอาจเช็กได้ถึงต้นขั้วบัตร!
กลายประเด็นที่สังคมตั้งข้อสังเกตไปยัง กกต. กรณีบัตรเลือกตั้ง สส.แบบบัญชีรายชื่อ (บัตรสีชมพู) มีบาร์โค้ด ที่เมื่อสแกนดูจะพบกับข้อมูลเป็น A ตามด้วยเลข 8 ตัว ซึ่งมีรูปแบบคล้ายคลึงกับชุดตัวเลขที่ต้นขั้วบัตรเลือกตั้ง จนทำให้เกิดความกังวลว่า ชุดตัวเลขดังกล่าวอาจจะสามารถตรวจสอบย้อนกลับไปได้ว่าใครลงคะแนนอะไรหรือไม่นั้น
ล่าสุดในโลกโซเชียลมีการตั้งข้อสังเกตุว่าอาจจะถอดรหัวจาก QR Code ที่อยู่ในบัตรเลือกตั้ง สส.แบบแบ่งเขต (บัตรสีเขียว) ได้เช่นเดียวกัน
โดยเรื่องดังกล่าว เพจ “ณัฐมาคุย” โพสต์ตั้งข้อสังเกตุไว้อย่างน่าสนใจว่า “Cracking the Code: ภารกิจถอดรหัสลับ "บัตรเลือกตั้งสีเขียว" ที่ (ไม่) ลับอย่างที่คิด! (ป.ล. มีคนทักว่าตัวเลขอาจจะใช้ไม่ได้ในทุกเคสนะครับ ขอดูก่อน อาจจะมีผิด)
วันนี้ผมมาเล่าให้ฟังกันสั้นๆ ว่า เขาสามารถถอดรหัส QR Code บัตรสีเขียวได้อย่างไร เรื่องนี้เริ่มต้นขึ้นเมื่อมีคนช่างสังเกตเห็นความผิดปกติบางอย่างบนบัตรเลือกตั้ง 2 ใบ บัตรสีชมพู (บัญชีรายชื่อ) นั้นตรงไปตรงมา มีเลขรหัสกำกับชัดเจน แต่ "บัตรสีเขียว" (แบ่งเขต) กลับดูมีลับลมคมในกว่านั้น เพราะแทนที่จะพิมพ์ตัวเลขตรงๆ มันกลับพิมพ์เป็น QR Code ภาษาต่างดาว เช่น EH1RQ หรือ W2231 แทน
คำถามคือรหัสพวกนี้คืออะไร? มันคือการสุ่มเพื่อรักษาความปลอดภัย หรือเป็นแค่ "หน้ากาก" ที่ปิดบังความจริงบางอย่างไว้? วันนี้เราจะสวมหมวกนักสืบไซเบอร์ มาไขปริศนานี้ไปด้วยกันครับ!
จุดเริ่มต้นของการไขคดีอยู่ที่ภาพหลุดภาพหนึ่งตั้งแต่เมื่อวาน ที่บังเอิญเฉลยความสัมพันธ์ระหว่างรหัส QR กับเลขบัตรไว้โต้งๆ ว่า EH1RQ = 14399212 นี่คือ กุญแจดอกแรกของเรา! เมื่อเห็นแบบนี้ นักคณิตศาสตร์จะรู้ทันทีว่ามันไม่ใช่การสุ่ม (Random) แต่มันคือ "การแปลงเลขฐาน" (Base Conversion) บางอย่าง
เลข 14,399,212 เป็นเลขฐาน 10 (ที่เราใช้กันปกติ) แต่รหัส EH1RQ ดูเหมือนเลขฐาน 36 (ที่มีตัวเลข 0-9 และตัวอักษร A-Z) แต่พอลองแปลงค่าจริงๆ กลับไม่ตรงกันเป๊ะๆ… แสดงว่าระบบนี้ต้องมี "สูตรลับ" ซ่อนอยู่ มันไม่ได้ตรงไปตรงมาขนาดนั้น
ทีนี้เราลองมาหาว่า สูตรลับ มันคืออะไร
1. เริ่มจากสังเกตว่า QR code ทั้งหมด มี 5 หลัก มีตัวเลข 0-9, A-Z ซึ่งมี ความเป็นไปได้ 36 ตัวเลข/อักษร ถ้ามี 5 ตัวอักษร แปลว่า ตัวเลขที่เป็นไปได้คือ 36 x 36 x 36 x 36 x 36 = 60,466,176
2. จากข้อมูลดิบที่มี 20516201 -> W2231, 01735041 -> JBTCL, 39783745 -> P4RYT, 14399212 -> EH1RQ เราก็เปลี่ยนภาษาต่างดาวเป็นตัวเลข (Base-36 Conversion)
คอมพิวเตอร์คำนวณตัวอักษรไม่ได้ เราต้องแปลงรหัสฝั่งขวา (QR) ซึ่งเป็นเลขฐาน 36 (0-9, A-Z) ให้เป็นตัวเลขฐาน 10 ก่อนครับ 20,516,201 -> W2231 -> 53,966,893 หรือ 14,399,212 -> EH1RQ -> 24,310,070
3. หาความชัน (A) และ จุดเริ่มต้น (C) ถ้าเราสมมติว่าระบบนี้ใช้สมการเส้นตรง (Linear Equation) แบบง่ายๆ Y = (A x X) + C เรามีสมการ 2 ตัวแปร จากข้อมูล 2 คู่ที่เราแปลงมาเมื่อกี้
53,966,893 ≡ (A x 20,516,201) + C (mod M)
24,310,070 ≡ (A x 14,399,212) + C (mod M)
เอาสมการมา "ลบกัน" เพื่อกำจัดตัว C ทิ้งครับ ส่วนต่างผลลัพธ์
ΔY = 53,966,893 - 24,310,070 = 29,656,823
ΔX = 20,516,201 - 14,399,212 = 6,116,989
จากนั้นหาค่า A (ความชัน) โดยเอา ΔY หารด้วย ΔX แต่ในทางคณิตศาสตร์ Modular เราจะไม่หารตรงๆ แต่จะคูณด้วย "Modular Inverse" เมื่อคำนวณออกมา เราจะได้ค่า A = 35,477,987 เป๊ะๆ ตอนนี้เราเลยได้ค่า A ออกมาแล้ว พอเอาไปแทนในสมการ ก็สามารถหาค่า C ได้ คือ C = 46,913,010 นั่นเอง ถ้าอยากถอดกลับ ก็ต้องหาค่า A^(-1) ซึ่งก็จะได้สมการใหม่เป็น X = (46,213,067 x (X - 46,913,010) (mod 60,466,176)
ดังนั้น จากข้อมูลดิบเพียง 4 บรรทัด เราสามารถพิสูจน์ทางคณิตศาสตร์ได้ไม่ยากว่า ระบบนี้เป็นเส้นตรง (Linear) เพราะเราสามารถใช้สมการเส้นตรงทำนายค่าอื่นๆ ได้ถูกต้องทั้งหมดไม่มีความลับ ค่าคงที่ A และ C ที่ดูเหมือนเป็นความลับ สามารถถูกคำนวณออกมาได้ง่ายๆ ด้วยการเทียบข้อมูลแค่ 2 จุด
ความเสี่ยงใครก็ตามที่มีข้อมูลชุดนี้ สามารถสร้าง "เครื่องคิดเลขย้อนกลับ" เพื่อระบุตัวตนเจ้าของบัตรเลือกตั้งใบอื่นๆ ทั้งประเทศได้ทันทีครับ
สำหรับคนที่สนใจ สมการในลักษณะแบบนี้เป็น algorihm ที่เรียกว่า Linear Congruent Aggregator ที่นิยมใช้ในการสร้างตัวเลขสุ่มเทียม แต่ตัวเลขแบบนี้มีจุดอ่อนมากมาย อาจจะไม่สามารถอธิบายได้หมด โดยเฉพาะเรื่องของการเลือกตัวเลข A, C, M ในหลายๆ กรณีจึงสามารถทำกระบวนการย้อนกลับได้ อย่างในเคสนี้ พอเรารู้ตัวเลข A, C, M ก็สามารถแปลงจากเลขรหัสต้นขั้วไปเป็นรหัสบน QR code และจาก QR code ก็สามารถถอดกลับไปเป็นรหัสบัตรต้นขั้วได้อย่างง่ายดาย
นอกจากนั้นผู้สื่อข่าวรายงานว่า ล่าสุดมีการเปิดเว็บไซต์ https://verify.election.in.th/ ที่คำนวณผลชุดรหัสจาก เป็นชุดตัวเลขต้นขั้วบัตร
อย่างไรก็ตามในเว็บไซต์ดังกล่าวระบุว่า “เครื่องมือนี้จัดทำขึ้นเพื่อการศึกษาวิธีการ encode/decode ของ QR Code บนบัตรเลือกตั้งเท่านั้น มีวัตถุประสงค์เพื่อตรวจสอบว่าบัตรเลือกตั้งกับต้นขั้วตรงกันหรือไม่ ไม่ได้มีเจตนาใช้ในทางที่ผิดกฎหมายหรือทุจริตการเลือกตั้งแต่อย่างใด”
และยังระบุอีกว่า “ผลลัพธ์อาจไม่ถูกต้อง 100% เนื่องจาก sampling ข้อมูลบัตรจริงมีจำนวนน้อย ค่า K table ที่ใช้ถอดรหัสยังไม่ครบทุกกรณี หาก QR Code ของท่านไม่สามารถถอดรหัสได้ อาจเป็นเพราะยังไม่มีข้อมูล K สำหรับรหัสดังกล่าว”
ข่าวที่เกี่ยวข้อง
ทดสอบสแกนบาร์โค้ดบนบัตรเลือกตั้ง 2569 หลัง กกต.แจงเป็นเลขล็อตสำหรับการจัดพิมพ์
เปิดชื่อ 3 บริษัทรับงานพิมพ์บัตรเลือกตั้ง รวม 168 ล้านฉบับ!
อ่านข่าวต้นฉบับได้ที่ : ชาวเน็ตถอดสมการ QR Code บัตรสีเขียว อึ้งอาจเช็กได้ถึงต้นขั้วบัตร!
ติดตามข่าวล่าสุดได้ทุกวัน ที่นี่
- Website : https://www.pptvhd36.com