อภิธานศัพท์

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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