มีเพียงคุณกับคนที่คุณเขียนถึงเท่านั้นที่อ่านได้

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

ไม่ต้องสมัคร ไม่ต้องใช้เบอร์โทร เปิดในเบราว์เซอร์ได้ทันที

ไคลเอ็นต์เว็บในหน้าต่างเบราว์เซอร์กว้าง ด้านซ้ายเป็นรายการแชท ด้านขวาเป็นบทสนทนากลุ่มที่เปิดอยู่

บัญชีคือชุดคำ ไม่ใช่ตัวบุคคล

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

01

สี่เรื่องที่เรายืนยันได้จริง

  • 01

    เซิร์ฟเวอร์อ่านข้อความของคุณไม่ได้

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

    check-proto-content-boundary.mjs
  • 02

    ไม่มีข้อมูลระบุตัวตนในโลกจริง ไม่ว่าเมื่อไหร่

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

    check-forbidden-columns.mjs
  • 03

    Signal Protocol พร้อมการตกลงกุญแจแบบต้านควอนตัม

    ใช้ PQXDH ในการจับมือ ใช้ Double Ratchet กับข้อความ และใช้ Sender Keys กับกลุ่ม ทุกเซสชันจะเพิ่มการแลกเปลี่ยนแบบต้านควอนตัมด้วย Kyber-1024 ซ้อนบนวิธีเดิม ไม่ใช่ตัวเลือก แต่ทำทุกครั้งที่จับมือ ทราฟฟิกที่ถูกบันทึกไว้วันนี้จึงไม่กลายเป็นสิ่งที่คอมพิวเตอร์ควอนตัมในอนาคตอ่านได้ ส่วนที่อยู่ถัดจากการจับมือยังเป็นวิทยาการเข้ารหัสแบบทั่วไป เราจึงพูดว่าเป็นการตกลงกุญแจแบบต้านควอนตัม ไม่ใช่อ้างว่าต้านควอนตัมตลอดทั้งสาย

    libsignal · PQXDH · Kyber-1024
  • 04

    การโทรที่เซิร์ฟเวอร์ของเราเองก็ฟังไม่ได้

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

    check-call-media-key-boundary.mjs
02

สิ่งที่คุณทำได้จริงกับมัน

นี่คือแอปแชท ไม่ใช่งานสาธิต ทุกอย่างในรายการนี้อยู่ในตัวผลิตภัณฑ์แล้ว และอยู่บนทุกแพลตฟอร์มที่มันสมเหตุสมผล

  • แชทที่ทำงานอย่างที่แชทควรเป็น

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

  • กลุ่มได้ถึง 128 คน

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

  • ไฟล์ รูปภาพ และเสียง

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

  • มินิแอปในตัวแอปแชท

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

  • การบล็อกที่บล็อกได้จริง

    ในแชทส่วนตัว ข้อความจากคนที่ถูกบล็อกจะไม่มีทางมาถึงคุณ และเขาก็จะไม่รู้ว่ามันไม่ถึง การบล็อกมีผล 180 วัน และทุกครั้งที่เขาพยายามส่ง ระยะเวลาจะถูกต่อออกไป

  • ใช้ได้ถึงสิบเครื่องต่อหนึ่งบัญชี

    เชื่อมเครื่องใหม่ด้วยวลีกู้คืน ดูรายการทั้งหมด และยกเลิกการเชื่อมเครื่องไหนก็ได้ แม้ตอนที่คุณไม่เหลือเซสชันที่ใช้งานได้แล้วก็ยังยกเลิกได้ รายชื่อผู้ติดต่อ โฟลเดอร์ รายการแชท รายการบล็อก และการตั้งค่าจะย้ายตามไปในรูปที่เข้ารหัสไว้ ส่วนคลังข้อความของคุณส่วนใหญ่จะไม่ตามไปด้วย เรื่องนั้นอยู่ในหัวข้อ «สิ่งที่เราไม่รับปาก»

03

โทรได้ทั้งตัวต่อตัวและเป็นกลุ่ม

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

การโทรแบบกลุ่มที่มีผู้ร่วมสี่คน หนึ่งในนั้นยกมืออยู่การโทรแบบกลุ่มบนโทรศัพท์
04

โฟลเดอร์ การปักหมุด และแชทที่เงียบ

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

หน้าจอแก้ไขโฟลเดอร์ พร้อมกฎการกรองที่กำหนดว่าแชทใดจะเข้าไปอยู่ในนั้นรายการแชทบนโทรศัพท์ พร้อมหน้าจอสร้างกลุ่มใหม่
05

มันทำงานอย่างไรจริง ๆ

ฉบับย่อ สำหรับคนที่อยากตรวจสอบมากกว่าจะเชื่อ

การตั้งค่าความเป็นส่วนตัว สถานะอ่านแล้ว PIN และเวลาล็อกอัตโนมัติการตั้งค่าความเป็นส่วนตัวบนโทรศัพท์ ปลดล็อกด้วยไบโอเมตริก ล็อกอัตโนมัติ และเลขนิรภัยที่ใช้ยืนยันตัวผู้ติดต่อ
การจับมือ
PQXDH: Curve25519 บวกกับพรีคีย์ Kyber-1024 ในทุกเซสชันโดยไม่มีข้อยกเว้น การตกลงกุญแจจึงต้านทานควอนตัมตั้งแต่ข้อความแรก
ข้อความ
Double Ratchet: ทุกข้อความจะเลื่อนกุญแจไปข้างหน้า กุญแจที่หลุดออกมาภายหลังจึงเปิดสิ่งที่ผ่านไปแล้วไม่ได้
กลุ่ม
Sender Keys รองรับสูงสุด 128 คน เซิร์ฟเวอร์รู้รายชื่อสมาชิกเพราะต้องใช้กระจายข้อความ แต่ไม่รู้ว่ากลุ่มชื่ออะไร
การโทรแบบกลุ่ม
เฟรมถูกเข้ารหัสก่อนไปถึงมีเดียเซิร์ฟเวอร์ของเรา กุญแจถูกสร้างโดยเครื่องที่เริ่มการโทร ส่งต่อผ่านตัวแอปแชทเอง และถูกเปลี่ยนใหม่ทุกครั้งที่มีคนเข้าหรือออก
ไฟล์และรูปภาพ
AES-256-GCM ด้วยกุญแจใหม่ต่อหนึ่งไฟล์ ส่งไปในซองที่เข้ารหัสไว้ และตรวจ SHA-256 ก่อนถอดรหัสใด ๆ ที่เก็บข้อมูลถือไว้เพียงไบต์ที่มันตีความไม่ออก
บนเครื่องของคุณ
ฐานข้อมูลข้อความในเครื่องถูกเข้ารหัสขณะจัดเก็บ ใช้ SQLCipher บน Android และ iPhone และใช้ AES-256-GCM ในเบราว์เซอร์
วลีกู้คืนของคุณ
สิบสองคำ กุญแจทุกดอกของบัญชีสร้างขึ้นจากมัน เริ่มด้วย BIP39 แล้วต่อด้วย Argon2id ที่ใช้หน่วยความจำ 64 MiB และสามรอบต่อการเดาหนึ่งครั้ง การเดาสุ่มจึงไม่คุ้ม เซิร์ฟเวอร์ไม่ได้เก็บสิ่งใดที่ย้อนกลับไปหามันได้
การยืนยันตัวคู่สนทนา
แต่ละบทสนทนามีเลขนิรภัย 60 หลัก และระหว่างการโทรจะมีรหัส 6 หลักขึ้นบนจอให้ฝ่ายหนึ่งอ่านออกเสียง รหัสของการโทรคำนวณจากการเชื่อมต่อครั้งนั้นเท่านั้น จึงต่างกันทุกครั้ง
การล็อกแอป
PIN สี่หลักที่ห่อด้วย Argon2id และ AES-256-GCM ลองได้ห้าครั้ง ใช้ไบโอเมตริกได้หากเครื่องรองรับ และล็อกอัตโนมัติเมื่อไม่ได้ใช้งาน PIN เปิดเครื่อง ส่วนวลีกู้คืนคือเจ้าของบัญชี
การตั้งค่าและรายชื่อผู้ติดต่อ
ซิงก์ในรูปข้อความที่เข้ารหัสด้วยกุญแจที่สร้างจากวลีกู้คืนของคุณ แม้แต่ชื่อของแต่ละระเบียนก็เป็นแฮชที่มีกุญแจกำกับ ไม่ใช่ข้อความธรรมดา เซิร์ฟเวอร์เก็บก้อนข้อมูลที่อ่านไม่ออก ไม่ใช่ฟิลด์
ไลบรารี
Android และ iPhone ใช้ไลบรารีอย่างเป็นทางการของ Signal ส่วน Signal ไม่ได้เผยแพร่บิลด์สำหรับเบราว์เซอร์เลย เราจึงคอมไพล์เอนจินฝั่งเว็บเองจากซอร์สของ Signal โดยตรึงไว้ที่เวอร์ชันที่ระบุแน่ชัด แก้ไปเพียงบรรทัดเดียวเพื่อให้มันบิลด์ผ่านที่นี่ และไม่แตะส่วนที่เป็นวิทยาการเข้ารหัสเลย
06

สิ่งที่เราไม่รับปาก

หน้าแรกของแอปแชททุกตัวบอกคุณว่ามันปกป้องอะไร หน้านี้บอกด้วยว่ามันไม่ปกป้องอะไร เพราะส่วนที่เราแก้ไม่ได้คือส่วนที่คุณต้องรู้มากที่สุด

  • เราเห็นว่าใครคุยกับใคร

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

  • การแจ้งเตือนแบบพุชรั่วเรื่องจังหวะเวลาไปถึง Google และ Apple

    การแจ้งเตือนบน Android ผ่าน Firebase Cloud Messaging ส่วนบน iPhone ผ่านบริการของ Apple ตัวพุชไม่มีทั้งข้อความและชื่อผู้ส่ง แต่ผู้ให้บริการเห็นว่าเครื่องไหนถูกปลุกและปลุกตอนกี่โมง ซึ่งเพียงพอจะปะติดปะต่อว่าใครคุยกับใครจากการเทียบเวลา ตราบใดที่ช่องทางปลุกเครื่องยังเป็นบริการของคนอื่น ความนิรนามของบัญชีก็ครอบไปไม่ถึงข้อเท็จจริงและจังหวะเวลาของการติดต่อ

  • ประวัติการสนทนาแทบไม่ตามคุณไป

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

  • ถ้าทำวลีหาย ไม่มีใครช่วยคุณได้

    ฝ่ายดูแลลูกค้าพาคุณกลับเข้าบัญชีไม่ได้ เพราะฝั่งเราไม่มีอะไรเหลือให้ใช้พาคุณกลับเข้าไป ไม่มีเบอร์ ไม่มีที่อยู่ ไม่มีคำใบ้รหัสผ่าน สิบสองคำคือทั้งหมดของบัญชี นั่นคือราคาของทุกอย่างที่เหลือบนหน้านี้ และเราอยากให้คุณรู้ก่อนสมัคร ไม่ใช่หลังจากนั้น

  • เราเก็บล็อก เพียงแต่ไม่ใช่ของคุณ

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

07

ใช้ได้ที่ไหนบ้าง

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

คำถามที่คนถามกันจริง ๆ

ราคาเท่าไหร่

ไม่มีค่าใช้จ่าย ไม่มีแพ็กเกจแบบเสียเงิน ไม่มีโฆษณา และไม่มีการขายเพิ่ม ข้อจำกัดมีแต่เชิงเทคนิค เช่น ไฟล์ละ 100 MiB และเก็บไฟล์ไว้สามสิบวัน หากวันหนึ่งมีแพ็กเกจแบบเสียเงินเกิดขึ้น เราจะบอกก่อนที่มันจะมี ไม่ใช่หลังจากนั้น

โค้ดเปิดให้ดูหรือยัง

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

ถ้าทำวลีกู้คืนหายจะเป็นอย่างไร

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

ใครส่งข้อความหาฉันได้บ้าง

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

ฉันตรวจสอบได้ไหมว่ากำลังคุยกับคนที่ใช่

ได้ สองวิธี ทุกบทสนทนามีเลขนิรภัย 60 หลักที่ทั้งสองฝ่ายเทียบกันได้ครั้งหนึ่ง และระหว่างการโทร จอทั้งสองฝั่งจะขึ้นรหัส 6 หลักชุดเดียวกัน ให้ฝ่ายหนึ่งอ่านออกเสียงและอีกฝ่ายตรวจ รหัสของการโทรจะใหม่ทุกครั้งที่โทร

ใช้บนหลายเครื่องได้ไหม

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

พวกคุณเก็บโปรไฟล์ฉันหรือขายอะไรหรือเปล่า

ไม่มีโฆษณาและไม่มีการขายข้อมูล หน้านี้ไม่มีตัววัดผลใด ๆ และไม่มีสคริปต์จากภายนอกเลย ไม่มีคำขอแม้แต่รายการเดียวที่วิ่งออกไปยังเซิร์ฟเวอร์ของคนอื่น

พร้อมเมื่อไหร่ ช่วยบอกด้วย

ข้อความเดียว ในวันที่มีอะไรคุ้มค่าให้ติดตั้งจริง ๆ ไม่มีจดหมายข่าว ไม่มีอีเมลไล่ส่งเป็นชุด และไม่มีบริการส่งอีเมลจากภายนอก ที่อยู่ของคุณอยู่ในฐานข้อมูลของเราเองและไม่ไปไหนทั้งนั้น

เราไม่ส่งอีเมลยืนยัน ถ้าพิมพ์ผิดก็จะเงียบไปเฉย ๆ ตรวจที่อยู่อีกครั้งก่อนกดส่ง