מחשוב קוונטי וקריפטוגרפיה

(של אלסנדרו פיורי)
21/08/19

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

סודיות התקשורת תמיד היווה גורם מהותי, הכרחי להתנהלות חלקה של פעילויות אנושיות. כדי להבטיח סודיות, נולד הקריפטוגרפיה, כלומר המדע הבודק את השיטות בכדי להבטיח שהנמען המוסמך יכול לקרוא הודעה בלבד. צורך זה, למעשה, הורגש כבר בימי הרומאים הקדמונים, כאשר יוליוס קיסר, להעביר פקודות לחייליו, השתמש בצופן משלו המכונה כיום "Cifrario di Cesare".

צופן הוא כלי שנוצר במיוחד כדי "להצפין" ו"לפענח "הודעות באמצעות אלגוריתם פשוט. Cifrario di Cesare, רק כדי לתת דוגמה, יכול לשמש להצפנת טקסט על ידי "הזזת" האותיות להצפנה בשלוש מיקומים ימינה, באופן זה: המילה "HELLO" הופכת ל" FLDR "(פתיחת תמונה כדי להסביר את ה"עקירה ").

כשהוא נע לאחור לשלוש עמדות, הטקסט הבלתי מובן "FLDR" חוזר ל" CIAO ".
ברור שאלגוריתם זה עד היום הוא "מאוד פגיע" וניתן לפענוח בקלות, עם מעט סבלנות אפילו ביד, ממחשבים פשוטים.

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

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

עדיין מתייחס לצופן קיסר, "המפתח" בו השתמש יוליוס קיסר היה שלוש (יחד עם כיוון השעון או נגד כיוון השעון), או מספר העמדות ל"עקירה "של אותיות האלף-בית. 
מפתח אחר אז מחזיר טקסט אחר כתוצאה מכך, פירוש הדבר שלשולח ולנמען צריך להיות אותו מפתח, האחד להצפנה ושליחה של ההודעה, והשני לפענח אותו ולקרוא אותו.
מכאן נובעת אחת הבעיות העיקריות בשימוש באלגוריתם מסוג זה (קריפטוגרפיה סימטרית): חלוקת המפתח.

אולי הדוגמה המפורסמת ביותר לקריפטנליזה שאנו יכולים להתייחס אליה התרחשה במהלך מלחמת העולם השנייה, כאשר אלן טיורינג יצר את מכונת "קולוס", קרובת משפחה רחוקה מאוד של מחשבים מודרניים, שנועדה לפענח את ההודעות המוצפנות עם מכונת אניגמה (במציאות ההתמחות שלו, דהיינו Lorenz SZ40 ו- SZ42).

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

בפועל, במקרים קיצוניים, האויב לא יכול עוד לבצע מהלכים או להכין אסטרטגיה סודית. אפשרות זו של "שבירת" האלגוריתמים המשמשים להבטחת סודיות האויב, הובילה לרוץ בלתי נמנע בקרב מתמטיקאים, עם אלה שניסו ליצור אלגוריתמים מורכבים יותר ויותר ואלו שניסו לפענח אותם. למעשה, באותה תקופה נולד הצופן המושלם היחיד, שהוא הצופן היחיד שביטחונו וחוסר הפגיעות שלו הוכחו מתמטית, ה- One Time Pad.

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

האבטחה של ה- One Time Pad מתרחשת אם, ורק אם:
- המפתח ארוך לפחות מהטקסט שיש להצפין
- המפתח הוא "ממש אקראי", כלומר אין להכניס תוכניות שמפיקות מספרים. הסיבה לכך היא שהתוכנה, כדי ליצור רצף של מספרים אקראיים, משתמשת באלגוריתמים שמתחילים מ"נקודת התחלה ".

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

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

סוג אלגוריתמים מסוים זה, הנמצא בשימוש נרחב באינטרנט ותקשורת בזמן אמת, כגון צ'אטים, מחייב שקשור לאדם לשני מפתחות, אחד אישי לחלוטין (פרטי) ואחד שישותף עם כולם (ציבורי). בן שיח יכול להצפין הודעה עם המפתח הציבורי של הנמען, אך רק הנמען יכול לקרוא את ההודעה, ולפענח אותה בזכות "המפתח הפרטי" שלו. מכיוון שכל צופי המפתחות הציבוריים מבססים את אבטחתם על פונקציות מתמטיות מורכבות, לפענוח הודעה מבלי לדעת את המפתח, נדרש כוח מחשוב גבוה בהרבה מהמכונות הקיימות כיום בשוק, מה שמתגלה כבלתי אפשרי, אם כי מבחינה תיאורטית אפשרי הודות התקפת כוח אכזרי (כלומר נסה את כל השילובים האפשריים) או שימוש ברשת מחשבים המנסים יחד לאלץ את האלגוריתם דרך הפגיעות המתמטיות שלו.

נכון להיום הקריפטוגרפיה קיימת כמעט בכל רגע ורגע בחיינו, פשוט חשבו לדוגמא על אתרים שמנגישים את פרוטוקול "HTTPS", כלומר מערכת של חילופי נתונים בין הדפדפן שלנו, התוכנית בה אנו משתמשים כדי לנווט בה אינטרנט ואתר ביקר.

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

טוב לזכור, למעשה, שגם אם האפליקציה מוכרת בציבור כאמינה, אין זו תעלומה שחלק מהממשלות עשויות לבקש מחברות מעוניינות ליישם דלתות אחוריות (פשוטו כמשמעו "יציאות שירות" כדי לקרוא הודעות) או פרוטוקולים כמו "פרוטוקול הרפאים" (כלומר, "בן שיח פנטום", במקרה זה הממשלה, שכחלק מהשיחה תוכל לקרוא את ההודעות ללא מאמץ).
קל לראות כי למירוץ לטכנולוגיות אין בלמים וזה עשוי להצביע שככל שעובר הזמן ניתן "לשבור" את הצפנים בזכות כוחות מחשוב ומעבדים חזקים יותר ויותר, ולכן אנו רצים לכיסוי על ידי עדכון אלגוריתמים או יצירת אותם. חדשים, עמידים ובטוחים יותר ויותר.

עם זאת, "רודפים זה אחר זה" עלול לעבור שינוי גדול, בזכות טכנולוגיה חדשה שצומחת בשנים אלה, אשר באמת יכולה לשנות את עולם התקשורת והקריפטוגרפיה, או "מחשוב קוונטי".

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

כדוגמה, את החלק הרגיל ניתן לייצג על ידי השלכת המטבע ב"ראש או צלב "הקלאסי.
התוצאה של ההשקה מייצגת את "0" או "1", הולכת לקודד את הסיביות.

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

עקרון הסופרפוזיציה הוא המוצא הראשון של מכניקת הקוונטים. הוא קובע כי ניתן להוסיף (להניח) שני "מצבים קוונטיים" או יותר, ויוצרים מצב קוונטי תקף. יתר על כן, כל מדינה היא הסכום (חפיפה) של מספר מצבים קוונטיים.

"מצב קוונטי" או "מצב קוונטי" הוא הייצוג המתמטי של מערכת פיזיקלית, או "חלק מהיקום" או תופעה, מושא המחקר.

על בסיס עקרונות מכניקת הקוונטים, נבנו מערכות מורכבות מאוד, המכונות "מחשבים קוונטיים".

ההבנה הראשונה של מערכת זו מתוארכת ל- 2001, כאשר יבמ מייצרת את מחשב הקוונטים הראשון בקובץ 7.

ב- 2007, חברת "D-Wave Systems" מממשת את מעבד הקוונטים הראשון בקונטיט 16.

מערכות D-Wave תמיד, מבינות ב- 2011 את "D-Wave One", כלומר מחשב עם Qubit 128, מעבד הקוונטים הראשון ששווק.

ב- 2013 מיוצר ה- "D-Wave Two", מעבד לרובב 512.

בין ה- 2016 ל- 2019, IBM מספקת את מה שמכונה "חוויה קוונטית", שהיא פלטפורמה בענן, המספקת מעבדי קוונטים ורשתות.

שתי הפלטפורמות (D-Wave ו- IBM) שונות זו מזו.

בפירוט, ה- D-Wave Two מורכב ממעגלים מוליכים-על.

כל מוליך-על מייצג קוביט.

המערכת נשמרת בטמפרטורה של -271 מעלות צלזיוס.

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

לעומת זאת, IBM Quantum Experience מציג תשתית ענן מחוברת המאפשרת לך לתכנת עד 5 קוביטים ולהריץ תוכנת קוונטים משלך על מעבד קוונטי, או על סימולטור המחובר לענן. החוויה הקוונטית מאפשרת ליצור תוכנה קוונטית עד 5 שורות של "קוד", אחת לכל קוביט.

קל לראות איך התחיל "עומס קוונטי", אבל למה זה?
הסיבה העיקרית למירוץ זה ל"סיבית הקוונטית "היא למצוא במלחמה, או ב"כיבוש" המידע של האויב. כל מי שיש לו אינטרס צבאי מנסה "לשבור" את מערכות ההצפנה של האויב, ונראה שכוח המחשוב העצום של המחשב הקוונטי מבטיח ניסים. כמו כל טכנולוגיה, עם זאת, כל כלי יכול לשמש גם את התוקף וגם את המגן.

אבל בואו נחזור לרגע אל ה- Cipher Perfect, ה- One Time Pad.
לא משתמשים בדרך כלל בצופן זה מכיוון שהפצת המפתח היא בעיה שלא ניתן לפתור בקלות ברשת מחשבים רגילה. לכן, האפשרות להשתמש ב- One Time Pad בצורה שלא נראתה לפני כן נחקרה תוך שימוש באותם עקרונות של מכניקת הקוונטים.

שני חוקרים ופרופסורים באוניברסיטה (גרלדו א. ברבוסה - אוניברסיטת דרום קליפורניה וג'רואן ואן דה גראף - Universite de ´Montreal) ב- 2015 הציגו מערכת יצירה והפצה מרכזית עבור Pad One Time, תוך ניצול "הרעש" הקיים ב- כבל סיב אופטי למעבר הפוטון.

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

מה שמכונה "הפצת מפתח קוונטי" או QKD נוצר גם לשימוש ב- One Time Pad. באמצעות חלוקת מפתח קוונטי ניתן, באמצעות עקרונות מכניקת הקוונטים, לייצר מפתחות ולהפיץ אותם בצורה בטוחה, זאת מכיוון שכל מדידה במערכת קוונטית משנה את מצבה (עקרון אי הוודאות), וכתוצאה מכך בני שיחו יגלו מיד שמישהו מנסה לתפוס את המפתח המבוזר (וברור, מכיוון שהמדידה משתנה, המפתח "שנתפס" לא יהיה הנכון).

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

בפירוט, הלוויין של Micius (השם שמקורו בפילוסוף סיני קדום) הוא הלוויין הניסויי הראשון שהיה חלק מפרויקט גדול בהרבה בשם "QUESS" (ניסויים קוונטיים בסולם החלל), פרויקט מחקר בינלאומי בתחום הפיזיקה הקוונטית. . מטרות הפרויקט הן להביא רשת קוונטית מוצפנת בין אסיה לאירופה עד שנת 2020, ועד 2030 להרחיב את הרשת הזו ברחבי העולם.

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

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

הודות לתופעה המיוחדת הזו, פרויקט QUESS הצליח לבצע את המשלוח הראשון של פוטונים הודות ללוויין Micius. פרויקט QUESS נמצא כעת בפיתוח, ולמרות המגבלות (לא ניתן להשתמש ברשת עם נוכחות אור שמש), שיחת הווידיאו הראשונה ברשת הקוונטים בוצעה בשנת 2016. לכן, להשגת עליונות בתחום זה יכול להיות יתרון עצום על פני המתחרים.

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

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

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

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

מיקרוסופט פרסמה גם שפה מיוחדת, שנקראת "Q #" (Q-Sharp) ותרגילים, הנקראים "Katas", בכדי ללמוד כיצד להשתמש בטכנולוגיה חדשה זו.

האם אתה מוכן לעתיד? ... כי אחרי הכל, זה כבר כאן!

להעמיק:

https://www.dwavesys.com/home
https://www.research.ibm.com/ibm-q/
https://docs.microsoft.com/en-us/quantum/language/?view=qsharp-preview
http://www.difesaonline.it/evidenza/cyber/difendersi-dai-computer-quanti...
http://www.difesaonline.it/evidenza/eventi/enigma-la-macchina-cifrante-c...o-the-האירוע-של-2agm
https://arxiv.org/abs/1406.1543
https://en.wikipedia.org/wiki/Q_Sharp
https://cloudblogs.microsoft.com/quantum/2018/07/23/learn-at-your-own-pa... 
http://www.difesaonline.it/recensioni/andrew-hodges-alan-turing-storia-d...