ดาวน์โหลดโปรแกรมฟรี
       
   สมัครสมาชิก   เข้าสู่ระบบ
THAIWARE.COM | ทิปส์ไอที
 

การสุ่มในคอมพิวเตอร์ ซับซ้อนกว่าที่คุณคิด เหตุผลเพราะอะไร ? มาดูกัน

การสุ่มในคอมพิวเตอร์ ซับซ้อนกว่าที่คุณคิด เหตุผลเพราะอะไร ? มาดูกัน

เมื่อ :
|  ผู้เข้าชม : 2,073
เขียนโดย :
0 %E0%B8%81%E0%B8%B2%E0%B8%A3%E0%B8%AA%E0%B8%B8%E0%B9%88%E0%B8%A1%E0%B9%83%E0%B8%99%E0%B8%84%E0%B8%AD%E0%B8%A1%E0%B8%9E%E0%B8%B4%E0%B8%A7%E0%B9%80%E0%B8%95%E0%B8%AD%E0%B8%A3%E0%B9%8C+%E0%B8%8B%E0%B8%B1%E0%B8%9A%E0%B8%8B%E0%B9%89%E0%B8%AD%E0%B8%99%E0%B8%81%E0%B8%A7%E0%B9%88%E0%B8%B2%E0%B8%97%E0%B8%B5%E0%B9%88%E0%B8%84%E0%B8%B8%E0%B8%93%E0%B8%84%E0%B8%B4%E0%B8%94+%E0%B9%80%E0%B8%AB%E0%B8%95%E0%B8%B8%E0%B8%9C%E0%B8%A5%E0%B9%80%E0%B8%9E%E0%B8%A3%E0%B8%B2%E0%B8%B0%E0%B8%AD%E0%B8%B0%E0%B9%84%E0%B8%A3+%3F+%E0%B8%A1%E0%B8%B2%E0%B8%94%E0%B8%B9%E0%B8%81%E0%B8%B1%E0%B8%99
A- A+
แชร์หน้าเว็บนี้ :

การ "สุ่ม" ในคอมพิวเตอร์ ซับซ้อนกว่าที่คุณคิด

แทบทุกภาษาโปรแกรมมิ่งจะมีคำสั่ง "Rand" เอาไว้ใช้ในการ "สุ่มตัวเลข" แต่การ "สุ่ม" ค่าในคอมพิวเตอร์เป็นงานที่ซับซ้อนกว่าที่คุณคิด หากคุณเข้าใจวิธีการทำงานของคอมพิวเตอร์ คุณก็น่าจะรู้อยู่แล้วว่าขั้นตอนการทำงานของมันคือ "ป้อนข้อมูลเข้าไป → ประมวลผล → ได้คำตอบ"

บทความเกี่ยวกับ Algorithm อื่นๆ

คำถามคือ ถ้าเราสั่งให้คอมพิวเตอร์สุ่มค่า เราจะต้องป้อนคำสั่งเข้าไปอย่างไร ? เพราะคอมพิวเตอร์สุ่มไม่ได้ ถ้าเราไม่ได้คิดอะไรมาก เราก็อาจสร้าง อัลกอริทึม ง่าย ๆ ขึ้นมาเช่น เอาค่าอะไรสักอย่างที่ไม่ตายตัว เช่น ค่าวินาทีในระบบไปบวกลบคูณหารจากสูตรที่เตรียมไว้ ตัวอย่างเช่น "สุ่ม = (ค่าวินาที x 2) + 17" 

แต่วิธีการที่ว่ามานี้ จะเรียกว่าเป็นการสุ่มก็ไม่ถูกต้องสักทีเดียว เพราะว่าหากเรารู้หลักการคำนวณ ก็สามารถทำนายผลลัพธ์ได้ล่วงหน้า ว่าการกดสุ่มแต่ละครั้ง จะได้ผลลัพธ์ออกมาเป็นเลขอะไร ?

ข้อมูลเพิ่มเติม : บริการสุ่มตัวเลข สุ่มสี สุ่มวันที่ สุ่มอาหาร สุ่มสถานที่ จาก Thaiware.com

การสุ่มบนคอมพิวเตอร์ก็จะถูกแบ่งออกเป็น 2 รูปแบบ แบบแรกเรียกว่า Pseudo-Random Number Generator (PRNG) ที่ใช้หลักการเหมือนกับที่เราอธิบายไปในย่อหน้าที่แล้ว ส่วนแบบที่สองเรียกว่า True Random Number Generator (TRNG)

สองรูปแบบนี้มีความแตกต่างกันอย่างไร ? มาเรียนรู้เบื้องหลังการสุ่มในคอมพิวเตอร์กัน ...

เนื้อหาภายในบทความ

การสุ่มในคอมพิวเตอร์มีประโยชน์อย่างไร ? (What is the benefits of using Computer Random Number Generator ?)

การสุ่มมีมาหลายพันปี ไม่ว่าจะการโยนเหรียญ หรือทอยลูกเต๋า เป้าหมายก็เหมือนกันตรงที่ คือ การหาผลลัพธ์แบบสุ่ม การสุ่มด้วยคอมพิวเตอร์ก็เฉกเช่นเดียวกัน มีซอฟต์แวร์หลายอย่างที่ใช้ประโยชน์จากการสุ่ม เช่น เกมคอมพิวเตอร์ การสุ่มเพื่อวิทยาการเข้ารหัส (Cryptography) การสุ่มเพื่อการเสี่ยงโชค การสุ่มผลลัพธ์ในฐานข้อมูล ฯลฯ แม้แต่เรื่องใกล้ตัวง่ายๆ อย่างการเล่นเพลงแบบ Shuffle ก็เป็นการสุ่มเช่นกันนะ

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

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

บางคนอาจจะคิดว่าแค่การสุ่ม ทำไมต้องจริงจังขนาดนี้ แต่ในความเป็นจริงการสุ่มมีความสำคัญต่อคอมพิวเตอร์มาก มีกิจกรรมหลายอย่างที่ในการทำงานต้องอาศัยการสุ่มด้วย ตัวอย่างที่น่าสนใจก็อย่างเช่น

การเข้ารหัส Cryptography

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

งานในรูปแบบนี้ แน่นอนว่า PRNG ไม่ตอบโจทย์ จึงมีการพัฒนาเทคนิคที่เรียกว่า Cryptographically-Secure Pseudorandom Number Generation (CSPRNG) ขึ้นมา มันเป็น PRNG ที่มีการดึงข้อมูลที่เกิดขึ้นแบบสุ่มภายในระบบคอมพิวเตอร์มาใช้ในการคำนวณร่วมด้วย เช่น อุณหภูมิของ หน่วยประมวลผลกลาง (CPU) ในขณะนั้น, ค่าบิตจากอะไรสักอย่างในระบบ ฯลฯ

วิดีโอเกม

การสุ่มถือเป็นระบบหนึ่งที่นิยมใช้ในเกมคอมพิวเตอร์ การกระทำต่าง ๆ ภายในเกมหากโปรแกรมล่วงหน้าเอาไว้ตายตัวมันย่อมน่าเบื่อ เพราะผู้เล่นจะคาดเดาได้ง่าย ผู้พัฒนาจึงมีการนำระบบสุ่มมาใช้ในการปรากฏตัวของศัตรู, การกระทำของ NPC ฯลฯ หรือเกมแนวคาสิโน ที่มีทั้งการสุ่มไพ่, การทอยเต๋า, สลอตแมชชีน หรือแม้แต่การหมุนกาชา ก็ต้องใช้ระบบสุ่มเช่นกัน

การสุ่ม (Random)
ภาพจาก : https://codemyui.com/nixie-tube-cold-cathode-display-random-number-generator/

การสุ่มแบบ TRNG คืออะไร ? (What is the TRNG Random Method ?)

การสุ่มแบบ TRNG หรือที่ย่อมาจากคำว่า "True Random Number Generator" เป็นการสุ่มค่าด้วยการใช้กระบวนการที่เรียกว่า "Harvesting Entropy" โดยมันเป็นการเก็บรวบรวมข้อมูลจากสภาพแวดล้อมที่ไม่สามารถคาดเดาเหตุการณ์ล่วงหน้าได้ ซึ่งก็มีทางเลือกอยู่หลายอย่างที่ถูกนำมาใช้ อย่างเช่น การเคลื่อนที่ของอะตอม, ความแปรปรวนในแรงดันไฟฟ้า, การสลายตัวของสารกัมมันตรังสี และ Atmospheric Noise

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

  • Transducer : ทำหน้าที่ในการวัดค่าปรากฏการณ์ เพื่อนำข้อมูลที่ได้ไปแปลงเป็นสัญญาณไฟฟ้า
  • Amplifier : เพิ่มค่าความสูงของคลื่น (Amplitude) ของการแปรผันในตัวสัญญาณ เพื่อให้อุปกรณ์สามารถตรวจจับได้
  • An analog-to-digital converter : ทำหน้าที่ในการแปลงสัญญาณที่ได้มาให้เป็นข้อมูลดิจิทัล

ตัวอย่างของการสุ่มแบบ TRNG (Example of TRNG Random Method)

อย่างที่เราได้อธิบายไปข้างต้นว่าการสุ่มแบบ TRNG จะเก็บเกี่ยวข้อมูลจากสภาพแวดล้อมภายนอกมาใช้ในการสุ่ม ซึ่งเทคนิคที่นิยมใช้ก็อย่างเช่น

Atmospheric Noise

เทคนิคนี้ใช้การจับความเปลี่ยนแปลงที่เกิดขึ้นในชั้นบรรยากาศมาคำนวณการสุ่ม ส่วนใหญ่จะใช้การจับค่าแสงของสายฟ้า ซึ่งเกิดขึ้นประมาณ 40 ครั้งต่อวินาที ซึ่งวิธีการนี้ค่อนข้างยากต่อการคาดเดาผลลัพธ์ เว็บไซต์ Random.org ก็ใช้เทคนิคนี้ในการสุ่ม

Time (เวลา)

สำหรับ TRNG บางระบบเลือกที่จะนำค่าเวลาในระดับนาโนเซคอนด์ (1/1,000,000,000 วินาที) มาใช้ในการสุ่ม ตัวอย่างเช่น หากต้องการสุ่มค่าระหว่าง 1-10 แล้วเรากดคีย์บอร์ดในช่วงเวลาที่ "4:50:52.287503482" คอมพิวเตอร์ก็อาจจะเลือกค่า 2 ซึ่งเป็นหลักสุดท้ายมาเป็นค่าสุ่ม  หรือจะเอาไปเข้าสมการคณิตศาสตร์เพื่อเพิ่มความแปรผันเพิ่มอีกก็ได้ เช่น เอาหลักที่ 7 และหลักสุดท้ายไปคำนวณ แล้วนำผลลัพธ์ที่ได้ 2 ค่า มารวมกันแล้วเข้าสมการอีกครั้ง ก่อนจะได้ผลลัพธ์สุดท้ายออกมาเป็นค่าสุ่ม

การสลายตัวของสารกัมมันตรังสี

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

ภาพของเครื่อง True Random Number Generator ที่ทำมาจากกล้วย
เครื่อง True Random Number Generator ที่ทำมาจากกล้วย
ภาพจาก : https://www.valerionappi.it/brng-en/

การสุ่มแบบ PRNG คืออะไร ? (What is the PRNG Random Method ?)

อันที่จริง Pseudo-Random Number Generator นั้นไม่ใช่การสุ่มที่แท้จริง มันแค่จำลองการสุ่มขึ้นมาเท่านั้น ตามบริบท "Pseudo" ที่แปลว่า "ปลอม" นั่นเอง

โดยโครงสร้างการทำงานของ PRNG จะประกอบด้วย "Seed" และ "อัลกอริทึมที่ถูกเตรียมไว้ล่วงหน้า" ขั้นตอนในการสุ่มจะมีลำดับดังนี้

  1. รับค่าตั้งต้นหรือค่า Seed เพื่อใช้เป็น Input
  2. สร้างค่าตัวเลขใหม่ขึ้นมาด้วยการนำค่า Seed ไปเข้าสมการคณิตศาสตร์หลายต่อหลายครั้ง
  3. นำค่าที่ได้ไปทำการคำนวณซ้ำอีกครั้งเพื่อเพิ่มความแปรผันให้ข้อมูล
  4. ทำซ้ำไปเรื่อย ๆ จนกว่าจะได้ค่าที่พึงพอใจ

จะเห็นได้ว่าเลขที่เกิดจาก Pseudo-Random Number Generator นั้นเกิดจากการวนลูปสมการซ้ำไปซ้ำมาในรูปแบบเดิม ๆ เพราะค่า Seed เริ่มต้น และหลักอัลกอริทึมที่ใช้คำนวณนั้นถูกกำหนดตายตัว ทำให้ค่าสุ่มสามารถคาดการณ์ได้ หากเรารู้ว่ามันใช้หลักอัลกอริทึมแบบไหนในการคำนวณ ดังนั้น PRNG ที่ดี จะต้องมีการคำนวณซ้ำหลายครั้ง เพื่อให้ยากต่อการถูก Reverse-Engineering

PRNG มีหลายรูปแบบ ที่นิยมใช้ก็อย่างเช่น "Linear Congruential" และ "Middle-Square Generator"

ตัวอย่างของการสุ่มแบบ PRNG (Example of PRNG Random Method)

Linear Congruential Generator

Linear Congruential Generator (LGC) ถูกคิดค้นขึ้นมาในปี ค.ศ. 1958 (พ.ศ. 2501) ซึ่งมันยังได้รับความนิยมใช้ในการทำ PRNG มาจนถึงปัจจุบัน

Xn+1 = (aXn + c) mod m

โดย

  • X คือค่า Seed หรือค่าเริ่มต้น (0 ≤ X₀ < m)
  • a คือค่าตัวคูณ (0 ≤ a < m)
  • c คือค่าที่ถูกเพิ่ม (0 ≤ c < m)
  • m คือค่า Modulus (m > 0)
    (Modulus คือการหารเลขตัวหนึ่งด้วยเลขตัวอื่นแล้วเอาเศษที่ได้มาใช้งานต่อ)

ตัวอย่างในการคำนวณ

สมมติให้ X = 235, a = 2,398, c = 8,738 และ m = 1,000,000

ขั้นตอน 1 : เมื่อเรารู้แล้วว่า X = 235 ดังนั้นก็ดำเนินไปยังขั้นตอนถัดไปได้เลย

ขั้นตอน 2 : แทนค่า a, c และ m ลงในสมการ

X1 = (aX0 + c) mod m, ดังนั้น
     = (2,398(235) + 8,738) mod 1,000,000
     = 572,268 mod 1,000,000

แทนค่า 1,000,000 เข้าไปใน 572,268 จำนวน 0 ครั้ง ก็จะได้ค่า 572,268 ดังนั้น

X1  = 572,268

ขั้นตอน 3 : นำค่าที่ได้มาใช้เป็นค่า Seed สำหรับการวนซ้ำในการคำนวณครั้งถัดไป

X1 = 572,268 ดังนั้น ในการหาค่า X2 เราจะคำนวณโดยใช้สูตรเดิมอีกครั้ง

X2 = (aX1 + c) mod m, ดังนั้น
     = (2,398(572,268) + 8,738) mod 1,000,000
     = 1,372,307 mod 1,000,000

แทนค่า 1,000,000 เข้าไปใน 1,372,307,402 จำนวน 1,372 ครั้ง ก็จะได้ค่า 307,402

ขั้นตอน 4 : ทำแบบนี้วนซ้ำไปเรื่อย ๆ จนกว่าจะครบจำนวนที่ต้องการ ผลลัพธ์ที่ได้ก็จะออกมาดังนี้  572268, 307402, 158734, 652870, 590998... ค่าที่ได้มันก็เหมือนกับการสุ่มใช่ไหมครับ

Middle-Square Generator

เทคนิค Middle-Square Generator ถูกคิดค้นขึ้นมาในปี ค.ศ. 1949 (พ.ศ. 2492) โดย Jon von Neumann หลักการทำงานของวิธีนี้ค่อนข้างเรียบง่าย ด้วยการนำค่า Seed มาใส่สูตรอะไรสักอย่าง แล้วนำเฉพาะค่าตรงกลางมาใช้คำนวณในการสร้างค่า Seed ใหม่

อย่างไรก็ตาม เทคนิคนี้เป็นอัลกอริทึมที่ไม่ค่อยมีประสิทธิภาพเท่าไหร่นัก เนื่องจากเมื่อวนซ้ำไปสักระยะ ค่าตรงกลางมักจะจบที่เลข 0 จำนวนมาก

การสุ่มในคอมพิวเตอร์ ซับซ้อนกว่าที่คุณคิด เหตุผลเพราะอะไร ? มาดูกัน
ภาพจาก : https://privacycanada.net/mathematics/pseudo-random-number-generation/

การสุ่มแบบ TRNG หรือ PRNG แบบไหนดีกว่ากัน ? (Which type of Random Generator is better between TRNG and PRNG ?)

คำตอบนั้นก็ขึ้นอยู่กับ เราจะเอาการสุ่มนี้ไปใช้ทำอะไร ?

ถ้าเป็นด้านความสะดวกในการใช้งาน Pseudo-Random Number Generator (PRNG) จะได้เปรียบกว่ามาก เพราะ True Random Number Generator (TRNG) มีต้นทุนทั้งเครื่องมือ และทรัพยากรที่ค่อนข้างสูง นอกจากนี้ ยังต้องมีการบำรุงรักษาอย่างสม่ำเสมอ

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

ตารางเปรียบเทียบระหว่าง การสุ่มแบบ TRNG และ PRNG (TRNG and PRNG Comparison Table)

  TRNG

PRNG

นิยาม

สุ่มค่าโดยอาศัยปัจจัยภายนอก

สุ่มค่าจากอัลกอริทึมที่เตรียมไว้ล่วงหน้า

ส่วนประกอบ

  • Transducer
  • Amplifier
  • Analog to Digital Converter
  • ค่า Seed
  • อัลกอริทึม

 

คุณลักษณะ
  • ไร้รูปแบบ
  • ไม่สามารถคาดเดาได้
  • เหมือนเดิม
  • มีโอกาสถูกคาดเดาได้
ตัวอย่าง
  • Atmospheric Noise
  • เวลา
  • การสลายตัวของสารกัมมันตรังสี
  • Linear Congruential Generator
  • Middle-square generator

ระบบสุ่ม Intel Hardware Random Number Generator

ไม่ว่าจะเป็นการสุ่มด้วย TRNG หรือ PRNG ก็จะมีข้อจำกัดในการใช้งานกันคนละแบบ ไม่ได้พัฒนาขึ้นมาง่าย ๆ เพื่อให้นักพัฒนาซอฟต์แวร์ทั่วไปสามารถใช้ระบบสุ่มได้ ทาง Intel ผู้พัฒนาชิปชื่อดังจึงพัฒนาระบบสุ่มแบบฮาร์ดแวร์ขึ้นมา เรียกว่า RdRand โดยในชิปเซตจะมีฐานข้อมูลสำหรับสุ่มตัวอย่างเก็บเอาไว้อยู่ (Entropy source) เมื่อซอฟต์แวร์ต้องการสุ่มก็จะดึงค่า Seed จาก RdRand มาใช้งานได้ทันที

การสุ่มในคอมพิวเตอร์ ซับซ้อนกว่าที่คุณคิด เหตุผลเพราะอะไร ? มาดูกัน
ภาพจาก https://software.intel.com/content/www/us/en/develop/articles/intel-digital-random-number-generator-drng-software-implementation-guide.html

แต่ระบบนี้มีปัญหาอยู่ตรงที่ระบบการสุ่ม Seed ของ RdRand เป็นเหมือนกล่องดำที่ไม่เปิดเผยวิธีการทำงาน ทำให้เราไม่รู้เลยว่ามันทำงานอย่างไร ? มีอะไรอยู่ในกล่องแพนโดราอันนี้บ้าง ทำให้เกิดกระแสความวิตกกังวลไม่ไว้วางใจ RdRand ขึ้นมา เพราะหากในนั้นมีประตูหลัง (Backdoors) ให้ NSA ใช้ รัฐบาลจะสามารถใช้ประโยชน์จาก RdRand ในการถอดรหัสที่ถูกสุ่มด้วยระบบนี้ได้

National Security Agency หรือย่อว่า NSA เป็นองค์กรข่าวกรองของรัฐบาลกลางสหรัฐ มีหน้าที่สังเกตการณ์ รวบรวม และประมวลผลข้อมูลเพื่อหาข่าวกรองต่างประเทศและหน้าที่การต่อต้านการข่าวกรองของประเทศอื่น 

ตกเป็นประเด็นใหญ่เมื่อ เอ็ดเวิร์ด สโนว์เดน อดีตเจ้าหน้าที่ของ CIA ได้ออกมาเปิดโปงเรื่อง “พริซึมเกต” โครงการลับที่เจาะเข้าไปในเซิร์ฟเวอร์ของบริษัทไอทีชื่อดังต่างๆ และมีการกล่าวอ้างว่าบางบริษัทได้ให้ความร่วมมือด้วยการสร้างประตูหลังให้ FBI และ CIA ได้ใช้ในการเข้าไปสอดส่องข้อมูลได้

ความหวาดระแวงนี้ได้ทำให้ในเดือนธันวาคม ปี ค.ศ. 2013 (พ.ศ. 2556) ที่ทางผู้พัฒนา FreeBSD ได้หยุดสนับสนุนการสร้างผลลัพธ์โดยใช้ RdRand โดยให้เหตุผลว่าไม่อาจไว้วางใจระบบนี้ได้ อย่างไรก็ตาม ก็มีการแก้ไขปัญหาด้วยการนำข้อมูลที่ถูกสุ่มด้วย Entropy Source ของ RdRand มาใช้เป็น Seed ของอัลกอริทึมอีกชุดเพื่อคำนวณค่าสุ่มซ้ำอีกครั้งหนึ่ง เพื่อให้มั่นใจว่าผลลัพธ์จะไม่ถูกนำไปใช้หากมีการ Backdoors เกิดขึ้น


ที่มา : www.howtogeek.com , levelup.gitconnected.com , iconn.network , www.techtarget.com , tech.shaadi.com , www.valerionappi.it

0 %E0%B8%81%E0%B8%B2%E0%B8%A3%E0%B8%AA%E0%B8%B8%E0%B9%88%E0%B8%A1%E0%B9%83%E0%B8%99%E0%B8%84%E0%B8%AD%E0%B8%A1%E0%B8%9E%E0%B8%B4%E0%B8%A7%E0%B9%80%E0%B8%95%E0%B8%AD%E0%B8%A3%E0%B9%8C+%E0%B8%8B%E0%B8%B1%E0%B8%9A%E0%B8%8B%E0%B9%89%E0%B8%AD%E0%B8%99%E0%B8%81%E0%B8%A7%E0%B9%88%E0%B8%B2%E0%B8%97%E0%B8%B5%E0%B9%88%E0%B8%84%E0%B8%B8%E0%B8%93%E0%B8%84%E0%B8%B4%E0%B8%94+%E0%B9%80%E0%B8%AB%E0%B8%95%E0%B8%B8%E0%B8%9C%E0%B8%A5%E0%B9%80%E0%B8%9E%E0%B8%A3%E0%B8%B2%E0%B8%B0%E0%B8%AD%E0%B8%B0%E0%B9%84%E0%B8%A3+%3F+%E0%B8%A1%E0%B8%B2%E0%B8%94%E0%B8%B9%E0%B8%81%E0%B8%B1%E0%B8%99
แชร์หน้าเว็บนี้ :
Keyword คำสำคัญ »
เขียนโดย
ระดับผู้ใช้ : Admin    Thaiware
แอดมินสายเปื่อย ชอบลองอะไรใหม่ไปเรื่อยๆ รักแมว และเสียงเพลงเป็นพิเศษ
 
 
 

ทิปส์ไอทีที่เกี่ยวข้อง

 


 

แสดงความคิดเห็น