# ראו כיצד הראיות פועלות

Canonical page: https://phishdestroy.github.io/TgWitness/he/docs/concepts/

הודעה עשויה להשתנות. התיעוד של מה שצפית בו צריך להישאר ניתן לאימות.

התנסו בשני ניסויים קטנים המוצגים להלן. הם משתמשים בהודעות פיקטיביות, פועלים בתוך הדפדפן שלכם ואינם מתחברים ל-Telegram בשום שלב.

## הודעה אחת, שלוש תובנות

כאשר Telegram מעבירה הודעה חדשה, הודעת עריכה או הודעת מחיקה, האפליקציה האוספת מוסיפה שלוש הערות נפרדות. העריכה אינה מחליפה את הרישום הראשון. הודעת מחיקה אינה מוחקת אותו.

01 / מסלול ההודעהרצף איורי

Telegram delivers an update to the collector, which appends a journal record. · Telegram · Collector · יומן · עדכון → · הוסף →

תצוגת הצ'אט הנוכחית הודעה מס' 42

ההודעה נמחקה

ההודעה נעלמה מתצוגת הצ'אט.

יומן תצפית 3 רשומות

1. 01

   `message.new`

   נפגש בשעה 10:00

   ✓
2. 02

   `message.edited`

   נפגש בשעה 11:00

   ✓
3. 03

   `message.deleted`

   הודעת מחיקה עבור #42

   ✓

כל שלושת התצפיות שהתקבלו נשמרות ביומן.

נתיב פשוט עבור מקור אחד שכבר נבחר. גם הרישומים התפעוליים משתפים את היומן האמיתי. התיעוד תלוי במה שהחשבון יכול לראות ובמה ש-Telegram מספק.

הודעת מחיקה אינה מספקת לא את זמן המחיקה האמין ולא את זהות האדם שמחק את ההודעה. השמירת ערכים אלה כבלתי ידועים שומרת על ההבחנה בין תצפית לניחוש.

## שנה רשומה. עקוב אחר ה-hash.

כל רשומה מכילה את ה-hash של הרשומה הקודמת. ה-hash שלה מכסה את שדות האירוע, כולל קישור זה. נקודת ביקורת הנשמרת באופן חיצוני קובעת אורך יומן ספציפי ו-hash ראשי.

02 / HASH-CHAIN SANDBOXSHA-256 אמיתי · דוגמאות לרישומים

תיעוד 01**הודעה התקבלה**`h₁ = SHA-256(e₁)`קישורים ל-64 אפסים

תיעוד 02**נפגש בשעה 11:00**`h₂ = SHA-256(e₂)`כולל h₁

תיעוד 03**נצפתה מחיקה**`h₃ = SHA-256(e₃)`כולל h₂

נשמר במקום אחר**3 רשומות · כותרת `h₃`**השוו את הגבול הקבוע הזה ליומן שסופק.

שינוי אירוע משנה את ה-hash שלו. בנייה מחדש של השרשרת משנה את הראש שלה. הסרת הזנב מקצרת אותה כך שתהיה קצרה יותר מנקודת הבדיקה שנשמרה.

**בדקו את הרשומה 2 ואת ההאשים המלאים**

זהו ה-JSON המדויק ב-UTF-8 שעבר תהליך hashing בדוגמה זו. הערכים הם פיקטיביים; תשעת השדות והסידור תואמים לפורמט היומן.

```

```

הרשומה השמורה 2 hash

``

חישוב מחדש של ה-hash של הרשומה 2

``

סביבת הבדיקה הזו מחשבת חשישים, לא חתימות. המאמת האמיתי בודק גם את חתימת ה-Ed25519, את הרצף ואת הקישור של כל אירוע. שחזור חשישים בלבד אינו יכול ליצור חתימות תקפות תחת המפתח המהימן.

## הכללים עצמם, בכמה שורות

HASH + חתימה

h0 = 064
hi = hex(SHA-256(C(ei)))
σi = Ed25519.Sign(sk, unhex(hi))

**C** ממיר את תשעת שדות האירוע לפורמט JSON ב-UTF-8: מפתחות ממוינים, ללא רווחים מיותרים, ללא בריחה מ-ASCII וללא NaN/אינסוף. ה-`previous_hash` של האירוע הוא hi−1. ה-h0 המוצג פירושו 64 תווי אפס; החתימות מכסות את 32 בתים הגולמיים של התמצית.

תשעת השדות הם `seq`, `observed_at`, `source_at`, `kind`, `chat_id`, `message_id`, `actor_id`, `payload` ו-`previous_hash`. זוהי [קידוד ה-JSON המתועד](https://phishdestroy.github.io/TgWitness/he/docs/reference/evidence/#event-canonicalization) של TgWitness; ההאש והחתימה עצמם אינם שדות קלט להאש.

נקודת ביקורת שנשמרה

Nexport ≥ Ncheckpoint
hexport[Ncheckpoint] = Hcheckpoint

אמתו את חתימת נקודת הבדיקה תחת מפתח האספן המוצמד, ולאחר מכן השוו את גבולותיה ליומן המאומת. ייצוא מאוחר יותר עשוי להכיל רשומות נוספות; הוא עדיין חייב להתאים לנקודת הבדיקה המוקדמת יותר.

## שלוש שאלות, שלוש בדיקות שונות

[01 / שלמות**האם תיעוד זה השתנה?** אמת את ה-hash והחתימות מול מפתח מהימן נפרד.](https://phishdestroy.github.io/TgWitness/he/docs/exports/)[02 / המשכיות**מה נשמר קודם לכן?** השוו ייצוא חתום לנקודות ביקורת שנשמרו על ידי עד נפרד.](https://phishdestroy.github.io/TgWitness/he/docs/witness/)[03 / מסירה**האם אירועי הבדיקה הללו התקבלו?** התאמת פעולות שליחה, עריכה ומחיקה מבוקרות מול יומן כל חשבון.](https://phishdestroy.github.io/TgWitness/he/docs/cases/)

שרשרת האש התואמת מספקת מענה לשאלת תקינות הנתונים. היא אינה מאשרת מסירה מלאה של ההודעה ב-Telegram, את אמיתות ההודעה או את זמן התצפית המהימן באופן עצמאי.

עקבו אחר [חקירת החשבון במלואו,](https://phishdestroy.github.io/TgWitness/he/docs/cases/) החל מהשגתו ועד להרכבת תיק החקירה.
