סיסמאות קלות לזכירה המורכבות מ-4 עד 8 מילים אקראיות מתוך הרשימה האנגלית של BIP39.
הצפנה ופענוח AES-GCM
הכלי עצמו הוא באנגלית; דף זה מסביר את אופן השימוש בו בשפתך.
השתמש ב-הצפנה ופענוח AES-GCM
מה זה עושה
הצפינו טקסט ב-AES-256-GCM עם משפט סיסמה, או פענחו מחרוזת Base64 שנוצרה בכלי הזה. המפתח הוא גיבוב SHA-256 יחיד של משפט הסיסמה, ולכן השתמשו במשפט ארוך ואקראי.
היא פועלת כולה בדפדפן שלך: שום דבר שאתה מזין לא מועלה.
כיצד להשתמש ב-הצפנה ופענוח AES-GCM
- הזינו משפט סיסמה. הקלידו משפט סיסמה ארוך ואקראי בשדה Password / Key. השדה מקבל גם ערך ריק, שאינו מגן על כלום.
- הדביקו את הטקסט. הכניסו את הטקסט להצפנה, או מחרוזת Base64 שנוצרה בכלי הזה, לשדה Plaintext / Ciphertext.
- הצפינו או פענחו. לחצו על Encrypt (הצפנה) כדי לקבל מחרוזת Base64, או על Decrypt (פענוח) כדי להפוך מחרוזת כזו בחזרה לטקסט.
- העתיקו ושתפו בבטחה. לחצו על Copy ושלחו את ה-Base64 בערוץ אחד. שתפו את משפט הסיסמה בערוץ אחר, למשל פנים אל פנים או בטלפון.
- תקנו פענוח שנכשל. אם Decrypt מציג Error: wrong key or invalid data, בדקו את משפט הסיסמה אות אחר אות וודאו שכל מחרוזת ה-Base64 הועתקה.
דוגמה
הודעה קצרה
Meet at the usual place at 10:00.sc/i5ncy6JbuW/+WPWQo6pboxhwf1K3tR7fOW49jHPXbZOVhlKrJEXqGkWJ31PqgI7moKwETaLovN0/tlA==Encrypt מחזיר Base64 של IV אקראי בן 12 בתים, של הטקסט המוצפן ושל tag בן 16 בתים, ששונה בכל הרצה. הקלידו קודם משפט סיסמה בשדה Password / Key: הכלי מקבל גם משפט ריק, שאינו מגן על כלום.
מה הוא בודק
| אות | מה זה אומר |
|---|---|
| מפתח | SHA-256 של משפט הסיסמה, שמשמש כמפתח AES-256. אין salt ואין גזירה איטית, ולכן אותו משפט סיסמה נותן תמיד אותו מפתח. |
| 16 תווי ה-Base64 הראשונים | ה-IV בן 12 הבתים. Encrypt מגריל IV אקראי חדש בכל פעם, ולכן אותו טקסט נותן פלט שונה בכל הרצה. |
| אורך הפלט | IV בן 12 בתים, אחריו בתי הטקסט, ואחריהם tag בן 16 בתים, הכול ב-Base64. טקסט ריק נותן 40 תווים; טקסט בן 23 בתים נותן 68. |
| Error: wrong key or invalid data | משפט הסיסמה שונה (גודל אותיות ורווחים נחשבים), המחרוזת שונתה או נקטעה, או שהיא אינה Base64. GCM אינו מחזיר טקסט כשהבדיקה נכשלת. |
| אין כותרת פורמט | הפלט אינו נושא סימון גרסה או אלגוריתם ואין בו associated data, ולכן תוכנות אחרות צריכות בדיוק את הסידור הזה ואת שיטת גזירת המפתח הזו כדי לקרוא אותו. |
| קלט Base64 | Decrypt מצפה ל-Base64 סטנדרטי כפי שמפיק Encrypt. רווחים ושבירות שורה שהוסיפה תוכנת דואר מתעלמים מהם, אבל תו חסר או משונה גורם לפענוח להיכשל. |
| משפט סיסמה ריק מתקבל | במקרה כזה המפתח הוא SHA-256 של מחרוזת ריקה, שכל אחד יכול לחשב, ולכן הטקסט למעשה אינו מוצפן. |
דוגמאות נוספות
פענוח של דוגמה
Password / Key: example passphrase, not a real secret; Ciphertext: AAAAAAAAAAAAAAAAmdUgeZatb2KYwe2btQ+qgA3xKNnswXrrQ6AeKTDSu03TnrvNXygfDecrypt מציג Hello from PhishDestroy. הדוגמה נוצרה עם IV שכולו אפסים, ה-AAAAAAAAAAAAAAAA שבהתחלה, לצורך המחשה בלבד; Encrypt משתמש תמיד ב-IV אקראי.
אות אחת במשפט הסיסמה שונתה
The same ciphertext with Password / Key: Example passphrase, not a real secretError: wrong key or invalid data
הצפנה של טקסט ריק
Plaintext / Ciphertext empty, any passphrase, Encryptמחרוזת Base64 בת 40 תווים (IV בן 12 בתים ועוד tag בן 16 בתים), ששונה בכל לחיצה.
שאלות נפוצות
איך נוצר המפתח ממשפט הסיסמה שלי?
מפתח ה-AES-256 הוא גיבוב SHA-256 אחד של משפט הסיסמה, בלי salt ובלי גזירת מפתח איטית כמו PBKDF2 או Argon2. לכן אפשר לפרוץ משפט סיסמה קצר או צפוי בכוח גס (brute force) במהירות ובאופן לא מקוון, והשתמשו במשפט ארוך ואקראי, למשל מ-Passphrase Generator.
מה יש בפלט, והאם תוכנות אחרות יכולות לפענח אותו?
Base64 של IV אקראי בן 12 בתים, ואחריו הטקסט המוצפן ותג האימות של GCM בן 16 בתים. הפענוח מציג Error: wrong key or invalid data אם משפט הסיסמה שגוי או אם בית כלשהו שונה, ותוכנות אחרות יכולות לפענח את הפלט רק עם אותו מפתח SHA-256 ואותו סידור בתים.
האם הטקסט או משפט הסיסמה שלי נשלחים לאנשהו?
לא. ההצפנה רצה בדפדפן שלכם עם Web Crypto API; משפט הסיסמה והטקסט לעולם אינם מועלים ואינם נשמרים.
האם להצפין כאן את מילות השחזור שלי?
לא. לעולם אל תקלידו את מילות השחזור (seed phrase) של ארנק באתר אינטרנט, ומפתח שנוצר מגיבוב SHA-256 יחיד ללא salt מאפשר לפרוץ משפט סיסמה חלש בכוח גס באופן לא מקוון. שמרו את מילות השחזור לא מקוונות, למשל על נייר או מתכת, או בארנק חומרה.
האם תוכנות אחרות יכולות לפענח את הפלט?
כן, אם הן פועלות לפי אותו סידור: key = SHA-256 של משפט הסיסמה כ-UTF-8, IV = 12 הבתים הראשונים, tag = 16 הבתים האחרונים, ללא associated data. חבילת cryptography של Python וספריות AES-GCM אחרות יכולות לעשות זאת.
אפשר להשתמש באותו משפט סיסמה להודעות רבות?
כל הודעה מקבלת IV אקראי חדש בן 12 בתים, ולכן בפועל שימוש חוזר אינו גורם לחזרה על ה-IV. הסיכון האמיתי הוא משפט הסיסמה עצמו: כל מי שמגלה אותו יכול לקרוא כל הודעה שנוצרה איתו.
מה GCM מוסיף על AES רגיל?
תג אימות. כל שינוי ב-IV, בטקסט המוצפן או ב-tag מתגלה, והפענוח נכשל במקום להחזיר טקסט משונה.