# คุณสมบัติ 4 ข้อ ของ Hash Function

**URL:** <https://discuss.hashpire.io/t/4-hash-function/375>\
**Category:** Content Board\
**Tags:** beginner, article\
**Created:** [August 25, 2022, 6:25am UTC](https://discuss.hashpire.io/t/4-hash-function/375 "2022-08-25T06:25:55Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![Namtan](https://discuss.hashpire.io/user_avatar/discuss.hashpire.io/namtan/32/23_2.png) [@Namtan](https://discuss.hashpire.io/u/Namtan)\
**Post date:** [August 25, 2022, 6:25am UTC](https://discuss.hashpire.io/t/4-hash-function/375/1 "2022-08-25T06:25:56Z")

</div>

# Planning

## Text

### ชื่อหัวข้อที่จะนำเสนอ

- คุณสมบัติ 4 ข้อ ของ Hash Function

### ประเด็นสำคัญของบทความและสิ่งที่ผู้อ่านจะได้รับจากบทความ

#### ประเด็นสำคัญของบทความ

- อธิบายถึงคุณสมบัติของ Hash Function

#### สิ่งที่ผู้อ่านจะได้รับจากบทความ

- เข้าใจหลักการทำงานของ Hash Function

### โครงสร้างของเนื้อหา

1. จำนวนหัวข้อทั้งหมดที่จะนำเสนอ
  - 4 หัวข้อ

2. แต่ละหัวข้อจะนำเสนออะไร
  - หัวข้อที่ 1 : อธิบายคุณสมบัติข้อที่ 1 : Arbitrary-length message to fixed-length digest
  - หัวข้อที่ 2 : อธิบายคุณสมบัติข้อที่ 2 : Pre-image resistant
  - หัวข้อที่ 3 : อธิบายคุณสมบัติข้อที่ 3 : Second pre-image resistant
  - หัวข้อที่ 4 : อธิบายคุณสมบัติข้อที่ 4 : Collision resistant
  - ทั้ง 4 หัวข้อ จะอธิบายความหมายแบบกระชับ 1-2 บรรทัด พร้อมภาพประกอบ น่าจะเข้าใจจากภาพได้ไม่ยาก
  - Reference : ข้อมูลและรูปภาพจากที่เราเรียนกันภายในทั้งหมด [https://youtu.be/DmUE-pRyt6s](https://youtu.be/DmUE-pRyt6s)

## Graphic

### เสนอไอเดียสำหรับออกแบบกราฟฟิค

### รูปแบบของกราฟฟิคที่จะนำเสนอ

- ทำเป็น story post (Multiple images)

### โครงสร้างของกราฟฟิค

- นำเสนอกี่รูป และแต่ละ Page เป็นรูปแบบอย่างไร  
- รูปที่ 1 : Cover  
- รูปที่ 2 : อธิบายด้วย diagram : Arbitrary-length message to fixed-length digest  
- รูปที่ 3 : อธิบายด้วย diagram : Pre-image resistant  
- รูปที่ 4 : อธิบายด้วย diagram : Second pre-image resistant  
- รูปที่ 5 : อธิบายด้วย diagram : Collision resistant  
- รูปที่ 6 : Ending

คำถามที่รบกวนให้ Reviewer ช่วยตอบค่ะ

#### 1. ต้องการรู้ประเด็นไหนเพิ่มเติมไหม เพราะอะไร

#### 2. คิดว่าเรียงลำดับการนำเสนอได้ดีรึยัง ถ้าไม่ดี มีไอเดียอย่างไร

#### 3. มีประเด็นไหนควรตัดทิ้งไหม เพราะอะไร

# Content

 ![Hash-function-core-feature-1](https://discuss.hashpire.io/uploads/default/original/1X/380b9e1de313eaf881b985778597408c918b8a04.png)

 ![Hash-function-core-feature-2](https://discuss.hashpire.io/uploads/default/original/1X/e1f51bf5a05b3625cc796f36ca87a468eac5f58b.png)

 ![Hash-function-core-feature-3](https://discuss.hashpire.io/uploads/default/original/1X/d2f82db4e65a4af64fb55213cd70f975e01fb0b9.png)

 ![Hash-function-core-feature-4](https://discuss.hashpire.io/uploads/default/original/1X/f84a053cb74a4e2d1908d2311162cf722b572bdb.png)

 ![Hash-function-core-feature-5](https://discuss.hashpire.io/uploads/default/original/1X/1adfb19e548ac8567853823fd8fdda83f51672f8.png)

 ![Hash-function-core-feature-6](https://discuss.hashpire.io/uploads/default/original/1X/4ef987901f532b1147bdc7f4c8a15147534f0fa2.png)

1. Arbitrary-length message to fixed-length digest คือ ขนาดของข้อมูล (Input) ก่อนที่จะนำไปเข้า Hash Function จะมีความยาวเท่าใดก็ได้ แต่ค่าแฮช (Output) ที่ได้ออกมาจะมีขนาดความยาวเท่ากันหมด  

2. Pre-image resistant คือ เป็นการทำงานแบบทางเดียว การย้อนกลับทำได้ยาก จนแทบจะเรียกได้ว่าไม่สามารถย้อนกลับได้ ซึ่งถ้าหากเรามีค่า Output ก็ไม่สามารถหาค่า Input ออกมาได้  

3. Second pre-image resistant คือ หากว่าเรามีค่า Input และค่าแฮชอยู่ชุดหนึ่ง เราก็ไม่สามารถหา Input ตัวอื่น ๆ ที่มีค่าแฮชเดียวกันได้

4. Collision resistant คือ เราไม่สามารถหา Input 2 ตัว ที่มีค่าแฮชเดียวกันได้  

# Reference

[![](https://discuss.hashpire.io/uploads/default/original/1X/437d077c438a1c40597952f99dfb9e7d7cfcc1b0.jpeg "Thursday Community Calls : ทำความเข้าใจ Hash Function และการใช้งาน") ](https://www.youtube.com/watch?v=DmUE-pRyt6s)

---

<div class="post-metadata">

**Author:** ![Namtan](https://discuss.hashpire.io/user_avatar/discuss.hashpire.io/namtan/32/23_2.png) [@Namtan](https://discuss.hashpire.io/u/Namtan)\
**Post date:** [August 25, 2022, 8:26am UTC](https://discuss.hashpire.io/t/4-hash-function/375/2 "2022-08-25T08:26:16Z")

</div>



---

<div class="post-metadata">

**Author:** ![supanut](https://discuss.hashpire.io/user_avatar/discuss.hashpire.io/supanut/32/22_2.png) [@supanut](https://discuss.hashpire.io/u/supanut)\
**Post date:** [August 26, 2022, 8:30am UTC](https://discuss.hashpire.io/t/4-hash-function/375/3 "2022-08-26T08:30:51Z")

</div>

คำถามที่รบกวนให้ Reviewer ช่วยตอบค่ะ

1. พี่ว่าต้องเพิ่มหัวข้อ Ref เข้าไปด้วยนะครับ + ในแต่ละหัวข้อน่าจะอธิบายมากกว่านี้หน่อยครับว่าจะอธิบายในเชิงไหนอย่างไร ใช้ข้อมูลแปลมาจากแหล่งไหน หรือจากการเรียนภายใน อยากให้เหมือนเราโม้ให้เพื่อนฟังว่าเออวันนี้เราจะไปพลีเซ้นเรื่องนี้เราจะวางแผนเพื่อพลีเซ้นยังไงแนวๆ นั้นเลยครับ
2. ดีแล้วครับ
3. ดีแล้วครับ

---

<div class="post-metadata">

**Author:** ![supanut](https://discuss.hashpire.io/user_avatar/discuss.hashpire.io/supanut/32/22_2.png) [@supanut](https://discuss.hashpire.io/u/supanut)\
**Post date:** [August 31, 2022, 7:42am UTC](https://discuss.hashpire.io/t/4-hash-function/375/5 "2022-08-31T07:42:25Z")

</div>

1. ตรงนี้อ่านแล้วแปลกๆ (มันเกือบจะดีแล้วแต่ยังไม่สุด) ถ้าที่พี่เข้าใจคือคุณสมบัติข้อนี้คือ "ถึง Output (Hash value) จะมีค่าเท่ากัน ไม่ได้หมายความว่าค่า input จะเป็นค่าเดียวกันเสมอไป ว่าง่ายๆ ก็คือการที่เราสุ่ม input จนเจอ output ค่าเดียวกันได้นั้น ไม่ได้แสดงว่าค่า input จะตรงกันกับต้นทางครับ

> [@Namtan](#):
>
> Second pre-image resistant คือ แม้ว่าเราจะมีค่า Input ค่าแฮชอยู่ เราก็ไม่สามารถหาค่า Input อื่น ๆ ที่มีค่าแฮชเดียวกันได้

---

<div class="post-metadata">

**Author:** ![supanut](https://discuss.hashpire.io/user_avatar/discuss.hashpire.io/supanut/32/22_2.png) [@supanut](https://discuss.hashpire.io/u/supanut)\
**Post date:** [August 31, 2022, 7:42am UTC](https://discuss.hashpire.io/t/4-hash-function/375/6 "2022-08-31T07:42:33Z")

</div>



---

<div class="post-metadata">

**Author:** ![supanut](https://discuss.hashpire.io/user_avatar/discuss.hashpire.io/supanut/32/22_2.png) [@supanut](https://discuss.hashpire.io/u/supanut)\
**Post date:** [August 31, 2022, 8:40am UTC](https://discuss.hashpire.io/t/4-hash-function/375/7 "2022-08-31T08:40:39Z")

</div>



---

<div class="post-metadata">

**Author:** ![supanut](https://discuss.hashpire.io/user_avatar/discuss.hashpire.io/supanut/32/22_2.png) [@supanut](https://discuss.hashpire.io/u/supanut)\
**Post date:** [August 31, 2022, 8:40am UTC](https://discuss.hashpire.io/t/4-hash-function/375/8 "2022-08-31T08:40:43Z")

</div>



---

<div class="post-metadata">

**Author:** ![supanut](https://discuss.hashpire.io/user_avatar/discuss.hashpire.io/supanut/32/22_2.png) [@supanut](https://discuss.hashpire.io/u/supanut)\
**Post date:** [August 31, 2022, 8:40am UTC](https://discuss.hashpire.io/t/4-hash-function/375/9 "2022-08-31T08:40:51Z")

</div>



---

<div class="post-metadata">

**Author:** ![supanut](https://discuss.hashpire.io/user_avatar/discuss.hashpire.io/supanut/32/22_2.png) [@supanut](https://discuss.hashpire.io/u/supanut)\
**Post date:** [August 31, 2022, 8:40am UTC](https://discuss.hashpire.io/t/4-hash-function/375/10 "2022-08-31T08:40:56Z")

</div>



---

<div class="post-metadata">

**Author:** ![supanut](https://discuss.hashpire.io/user_avatar/discuss.hashpire.io/supanut/32/22_2.png) [@supanut](https://discuss.hashpire.io/u/supanut)\
**Post date:** [August 31, 2022, 8:41am UTC](https://discuss.hashpire.io/t/4-hash-function/375/11 "2022-08-31T08:41:50Z")

</div>



---

<div class="post-metadata">

**Author:** ![supanut](https://discuss.hashpire.io/user_avatar/discuss.hashpire.io/supanut/32/22_2.png) [@supanut](https://discuss.hashpire.io/u/supanut)\
**Post date:** [August 31, 2022, 8:42am UTC](https://discuss.hashpire.io/t/4-hash-function/375/12 "2022-08-31T08:42:01Z")

</div>

อ่านหน่อยครับ

---

<div class="post-metadata">

**Author:** ![Namtan](https://discuss.hashpire.io/user_avatar/discuss.hashpire.io/namtan/32/23_2.png) [@Namtan](https://discuss.hashpire.io/u/Namtan)\
**Post date:** [September 28, 2022, 8:29am UTC](https://discuss.hashpire.io/t/4-hash-function/375/13 "2022-09-28T08:29:33Z")

</div>



---

<div class="post-metadata">

**Author:** ![Namtan](https://discuss.hashpire.io/user_avatar/discuss.hashpire.io/namtan/32/23_2.png) [@Namtan](https://discuss.hashpire.io/u/Namtan)\
**Post date:** [September 28, 2022, 8:29am UTC](https://discuss.hashpire.io/t/4-hash-function/375/14 "2022-09-28T08:29:36Z")

</div>



---

<div class="post-metadata">

**Author:** ![Namtan](https://discuss.hashpire.io/user_avatar/discuss.hashpire.io/namtan/32/23_2.png) [@Namtan](https://discuss.hashpire.io/u/Namtan)\
**Post date:** [September 28, 2022, 8:29am UTC](https://discuss.hashpire.io/t/4-hash-function/375/15 "2022-09-28T08:29:44Z")

</div>



---

<div class="post-metadata">

**Author:** ![Namtan](https://discuss.hashpire.io/user_avatar/discuss.hashpire.io/namtan/32/23_2.png) [@Namtan](https://discuss.hashpire.io/u/Namtan)\
**Post date:** [September 28, 2022, 8:29am UTC](https://discuss.hashpire.io/t/4-hash-function/375/16 "2022-09-28T08:29:56Z")

</div>



---

<div class="post-metadata">

**Author:** ![anakornk](https://discuss.hashpire.io/user_avatar/discuss.hashpire.io/anakornk/32/3_2.png) [@anakornk](https://discuss.hashpire.io/u/anakornk)\
**Post date:** [October 5, 2022, 4:31am UTC](https://discuss.hashpire.io/t/4-hash-function/375/17 "2022-10-05T04:31:30Z")

</div>

> [@Namtan](#):
>
> แม้ว่า

คำว่า “หาก” จะเหมาะกว่าไหม ?  
อย่างอื่นโอเคครับ

@Namtan

---

<div class="post-metadata">

**Author:** ![anakornk](https://discuss.hashpire.io/user_avatar/discuss.hashpire.io/anakornk/32/3_2.png) [@anakornk](https://discuss.hashpire.io/u/anakornk)\
**Post date:** [October 5, 2022, 4:33am UTC](https://discuss.hashpire.io/t/4-hash-function/375/19 "2022-10-05T04:33:29Z")

</div>



---

<div class="post-metadata">

**Author:** ![anakornk](https://discuss.hashpire.io/user_avatar/discuss.hashpire.io/anakornk/32/3_2.png) [@anakornk](https://discuss.hashpire.io/u/anakornk)\
**Post date:** [October 5, 2022, 4:33am UTC](https://discuss.hashpire.io/t/4-hash-function/375/20 "2022-10-05T04:33:40Z")

</div>



---

<div class="post-metadata">

**Author:** ![anakornk](https://discuss.hashpire.io/user_avatar/discuss.hashpire.io/anakornk/32/3_2.png) [@anakornk](https://discuss.hashpire.io/u/anakornk)\
**Post date:** [October 5, 2022, 4:33am UTC](https://discuss.hashpire.io/t/4-hash-function/375/21 "2022-10-05T04:33:50Z")

</div>



---

<div class="post-metadata">

**Author:** ![anakornk](https://discuss.hashpire.io/user_avatar/discuss.hashpire.io/anakornk/32/3_2.png) [@anakornk](https://discuss.hashpire.io/u/anakornk)\
**Post date:** [October 5, 2022, 4:33am UTC](https://discuss.hashpire.io/t/4-hash-function/375/22 "2022-10-05T04:33:57Z")

</div>



[Next page](https://discuss.hashpire.io/t/4-hash-function/375.md?page=2)
