อภิธานศัพท์

การเข้ารหัสคีย์แบบอสมมาตร: ระบบเข้ารหัสที่ใช้คีย์ที่จับคู่กัน ทั้งแบบสาธารณะและส่วนตัว ในการเข้ารหัสและถอดรหัสข้อมูล คีย์สาธารณะใช้เพื่อเข้ารหัสข้อมูลและอาจมีการแชร์ คีย์ส่วนตัวจะใช้ในการถอดรหัสข้อมูล และจะทราบโดยเจ้าของเท่านั้น

Ciphertext: ผลลัพธ์ของการเข้ารหัสที่ดำเนินการบนข้อความธรรมดาโดยใช้อัลกอริทึม ข้อความเข้ารหัสจะไม่สามารถเข้าใจได้จนกว่าจะมีการแปลงกลับไปเป็นข้อความธรรมดาโดยใช้คีย์

ความสอดคล้อง: หมายความว่า Tink ทำงาน "เหมือนกัน" ในทุกภาษาโปรแกรม เช่น Tink ให้ความสอดคล้องในการประเมิน ซึ่งหมายความว่าหากการสร้างแบบพื้นฐานสำเร็จใน 2 ภาษา คีย์พื้นฐานจะทำงานเหมือนกัน

คีย์: ข้อมูล (เช่น สตริง) ที่จำเป็นต่อการเข้ารหัสหรือถอดรหัสข้อมูล ดูออบเจ็กต์หลักเพื่อดูวิธีแสดงออบเจ็กต์

แฮนเดิลชุดคีย์และชุดคีย์: Tink ใช้ชุดคีย์ในการจัดการคีย์ โดยพื้นฐานแล้ว ชุดคีย์คือชุดของคีย์ ที่อำนวยความสะดวกในการหมุนเวียนคีย์ คุณสมบัติที่โดดเด่นของชุดคีย์ ได้แก่

  • แต่ละคีย์ในชุดคีย์จะมีรหัสที่ไม่ซ้ำกัน ซึ่งไม่ซ้ำกันภายในชุดคีย์ โดยปกติแล้ว ระบบจะเพิ่มรหัสนี้เป็นคำนำหน้าข้อความเข้ารหัส ลายเซ็น หรือแท็กแต่ละรายการที่สร้างขึ้นเพื่อระบุว่ามีการใช้คีย์ใด (ดูข้อมูลเพิ่มเติมในข้อความเข้ารหัสของแท็ก Tink)
  • คีย์ในชุดคีย์เป็นคีย์หลักเพียงครั้งละ 1 คีย์ คีย์หลักในชุดคีย์คือคีย์ที่ "ใช้งานอยู่" ในขณะนี้
  • คีย์ทั้งหมดในชุดคีย์ต้องเป็นการติดตั้งใช้งานคีย์ดั้งเดิมเดียวกัน (เช่น AEAD) แต่อาจมีประเภทคีย์ต่างกันได้ (เช่น คีย์ AES-GCM และ XCHACHA20-POLY1305)

การใช้งาน Tink แต่ละครั้งจะมี API สำหรับสร้างหรือแก้ไขชุดคีย์ อย่างไรก็ตาม เราขอแนะนำให้ใช้ Tinkey ในเครื่องมือ CLI

ผู้ใช้ดำเนินการผ่านชุดคีย์โดยใช้แฮนเดิลชุดคีย์ แฮนเดิลชุดคีย์จะจำกัดการเปิดเผยเนื้อหาคีย์ที่มีความละเอียดอ่อนจริง และยังแยกชุดคีย์ที่ทำให้ผู้ใช้ได้มาซึ่งค่าพื้นฐานที่ "รวม" ชุดคีย์ทั้งชุด ตัวอย่างเช่น คุณสามารถรับค่าพื้นฐาน AEAD ของชุดคีย์ที่มีคีย์ N การเข้ารหัสและการถอดรหัสด้วยค่าดั้งเดิมที่ได้มา จากนั้นจะใช้คีย์หลักในชุดคีย์

ระบบจัดการคีย์ (KMS): ระบบที่ใช้จัดการคีย์การเข้ารหัส รวมถึงการสร้าง พื้นที่เก็บข้อมูล การใช้งาน การหมุน การทำลาย และการแทนที่คีย์

ประเภทคีย์: ประเภทคีย์จะใช้รูปแบบพื้นฐานที่เฉพาะเจาะจง ประเภทพื้นฐานส่วนใหญ่จะมีคีย์หลายประเภทให้เลือก ขึ้นอยู่กับข้อกำหนดด้านความปลอดภัย รันไทม์ และพื้นที่ ตัวอย่างเช่น AES128_GCM เป็น AEAD ที่รวดเร็วและมีประสิทธิภาพสำหรับความต้องการส่วนใหญ่ ดูรายละเอียดเพิ่มเติมได้ที่ประเภทคีย์ที่รองรับตามภาษา

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

ข้อความธรรมดา: รูปแบบอินพุตที่เข้าใจได้ของข้อความหรือองค์ประกอบที่เข้ารหัส

แบบพื้นฐาน: Tink ใช้แบบพื้นฐานเป็นองค์ประกอบที่ใช้การเข้ารหัสซึ่งจัดการอัลกอริทึมพื้นฐาน เพื่อให้ผู้ใช้ดำเนินงานในวิทยาการเข้ารหัสลับได้อย่างปลอดภัย แบบพื้นฐานจะกำหนดรายละเอียดของอัลกอริทึมการเข้ารหัสและประเภทคีย์

แบบพื้นฐานที่ Tink รองรับ:

  • การเข้ารหัสที่ตรวจสอบสิทธิ์ด้วยข้อมูลที่เกี่ยวข้อง (AEAD): เป็นวิธีพื้นฐานที่สุดสำหรับการเข้ารหัสข้อมูล ซึ่งเหมาะสำหรับความต้องการในการเข้ารหัสส่วนใหญ่ โดย AEAD จะรักษาข้อมูลที่เป็นความลับแบบข้อความธรรมดา และให้ผู้ใช้ยืนยันความสมบูรณ์และความถูกต้อง โปรดดูการเข้ารหัสที่ตรวจสอบสิทธิ์แล้วด้วยข้อมูลที่เกี่ยวข้อง (AEAD)
  • การเข้ารหัสเชิงกำหนด: รูปแบบพื้นฐานที่จะสร้างข้อความเข้ารหัสเดียวกันเสมอสำหรับข้อความธรรมดาและคีย์ที่ระบุ ซึ่งเป็นวิธีที่มีความเสี่ยง เนื่องจากผู้โจมตีต้องการเพียงแค่ค้นหาว่าข้อความเข้ารหัสใดที่สอดคล้องกับอินพุตข้อความธรรมดาที่ระบุเพื่อที่จะระบุถึงข้อมูลนั้น ดูกำหนด AEAD
  • ลายเซ็นดิจิทัล: แบบอสมมาตร (ดูการเข้ารหัสคีย์แบบอสมมาตร) แบบพื้นฐานเพื่อยืนยันความถูกต้องและความสมบูรณ์ของข้อมูลที่ลงชื่อ ดูลายเซ็นดิจิทัล
  • การเข้ารหัสแบบผสม: แบบพื้นฐานที่รวมการเข้ารหัสคีย์แบบอสมมาตรและการเข้ารหัสคีย์แบบสมมาตร (ดูการเข้ารหัสคีย์แบบอสมมาตรและการเข้ารหัสคีย์แบบสมมาตร) การเข้ารหัสแบบผสมรวมประสิทธิภาพของการเข้ารหัสแบบสมมาตรเข้ากับความสะดวกของการเข้ารหัสคีย์สาธารณะ ในการเข้ารหัสข้อความ จะมีการสร้างคีย์สมมาตรใหม่และใช้ในการเข้ารหัสข้อมูลข้อความธรรมดา ในขณะที่คีย์สาธารณะของผู้รับจะใช้เพื่อเข้ารหัสคีย์แบบสมมาตรเท่านั้น ข้อความเข้ารหัสขั้นสุดท้ายประกอบด้วยข้อความที่เข้ารหัสแบบสมมาตรและคีย์แบบสมมาตรที่เข้ารหัส โปรดดูการเข้ารหัสแบบผสม
  • รหัสการตรวจสอบสิทธิ์ข้อความ (MAC): ค่าพื้นฐานแบบสมมาตร (ดูการเข้ารหัสคีย์แบบสมมาตร) พื้นฐานสำหรับการยืนยันความถูกต้องและความสมบูรณ์ของข้อมูล โปรดดูรหัสการตรวจสอบสิทธิ์ข้อความ (MAC)
  • AEAD สำหรับสตรีมมิง: การเข้ารหัสแบบพื้นฐานที่มีการตรวจสอบสิทธิ์สำหรับข้อมูลสตรีมมิง ซึ่งมีประโยชน์เมื่อข้อมูลที่จะเข้ารหัสมีขนาดใหญ่เกินกว่าจะได้รับการประมวลผลในขั้นตอนเดียว ดูสตรีมมิง AEAD

โปรดดูค่าพื้นฐานที่รองรับตามภาษาสำหรับข้อมูลความเข้ากันได้

Registry: เอนทิตีส่วนกลางใน Tink ที่รู้วิธีสร้างคีย์และแบบพื้นฐานใหม่ นอกจากนี้ โปรดดูคำแนะนำเกี่ยวกับการแก้ไขข้อบกพร่องในการลงทะเบียน

การเข้ารหัสคีย์แบบสมมาตร: อัลกอริทึมวิทยาการเข้ารหัสที่ใช้คีย์เดียวกันเพื่อเข้ารหัสข้อความธรรมดาและถอดรหัสข้อความเข้ารหัส