stanford-oval/wikipedia huggingface dataset:
התקפת איזון זמן/זיכרון
הגדרה כללית

התקפת איזון זמן/זיכרון היא התקפת כוח גס המורכבת משני שלבים: שלב "קדם חישוב" שיכול לקחת הרבה זמן. בשלב זה המתקיף מנסה לנצל חולשות במערכת ההצפנה ומנסה לסכם את הממצאים שלו בטבלה ענקית. ושלב "און ליין" שבו המתקיף מקבל נתונים אמיתיים שהופקו באמצעות האלגוריתם אותו הוא מתקיף עם מפתח שאינו ידוע לו, והמטרה שלו היא כמובן לגלות את המפתח מהר ככל האפשר. שלב זה מוגבל בזמן. בהתקפת איזון זמן/זיכרון ישנם חמישה פרמטרים עיקריים:
במקרה של צופן בלוקים  N=2^{n} הוא מרחב כל המפתחות האפשריים כאשר  n הוא אורך המפתח בסיביות (למשל בצופן AES עם מפתח באורך 128 סיביות  N=2^{128}). למען הפשטות ההנחה היא שגם מרחב המסרים האפשריים הוא  N. בדרך כלל לצורך ההתקפה המתקיף רשאי לבחור בלוק מוצפן יחיד והבלוק המקורי שהוצפן. במונח "לבחור" מתכוונים שהמתקיף הצליח להשיג לכל הפחות בלוק טקסט קריא אחד לפי בחירתו ואת תוצאת ההצפנה שלו עם מפתח לא ידוע. מודל זה נקרא התקפת גלוי-נבחר. התקפת איזון זמן/זיכרון שהוצגה לראשונה על ידי מרטין הלמן נחשבת להתקפה הטובה ביותר מסוג זה נגד פונקציה אקראית, היא מאזנת בין הערכים  TM^{2}=N^{2},P=N,D=1, הערכים האופטימליים תלויים בעלות היחסית של המשאבים החישוביים שברשות המתקיף. למשל אם  T=M, לפי הלמן אפשר להגיע לאיזון של  T=N^{2/3} וכן  M=N^{2/3} כלומר שיפור בפקטור של שליש לעומת התקפת כוח גס.
רקע

התקפת איזון זמן/זיכרון הועלתה לראשונה ב-1980 על ידי מרטין הלמן. 
בעיות חיפוש רבות כמו בעיית תרמיל הגב או בעיית הלוגריתם הבדיד ניתנות לפתרון מהיר יותר מכוח גס באמצעות שימוש מושכל בזמן וזיכרון. כלומר אם קיימים  N פתרונות אפשריים לבעיה נתונה, איזון זמן זיכרון מאפשר למצוא את הפתרון הנכון בזמן של  T פעולות חישוב עם  M מילות זיכרון בתנאי שהמשוואה  TM=N מתקיימת. ליתר דיוק האגף הימני של המשוואה צריך להיות  cN\log _{2}N אולם אפשר להתעלם מהלוגריתם והקבוע  c.
ניחוש מפתח הצפנה שהוא בעצם קריפטואנליזה בסיסית של כל צופן סימטרי, אינו אלא בעיית חיפוש שיש לה שני מקרי קצה. המקרה  T=N,M=1 שבו לא נעשה שימוש בזיכרון כלל אך מצריך זמן ביצוע מלא, כלומר המתקיף צריך לנסות כמעט את כל  N המפתחות האפשריים במקרה הממוצע עד שימצא המפתח הנכון ומהצד השני  T=1,M=N שמסתמך על טבלת איחזור ענקית, כך שהזמן הדרוש לאיחזור המפתח הנכון מתקרב ל- O(1) (אם לא מביאים בחשבון את זמן ההכנה). מציאת התאמה בטבלה ממויינת באמצעות חיפוש בינארי וטבלאות גיבוב היא פעולה קלה במונחי מחשוב, אך מאידך המחיר הוא שימוש מופרז בזיכרון. שני מקרי הקצה אינם מעשיים מצד אחד הזמן הדרוש גבוה מדי ומהצד השני כמות הזיכרון בלתי מעשית.
יהיו  t ו- m שני פרמטרים שחשיבותם תובהר בהמשך, אם מתעלמים לרגע מזמן הביצוע של ההכנה המוקדמת, חיפוש פתרון של כל פונקציה חד-כיוונית באמצעות טכניקת איזון זמן זיכרון יכול להתבצע בסיבוכיות מקום ממוצעת של  M=tm וזמן בסדר גודל של  T=t^{2} פעולות בקירוב, בתנאי שמתקיים  mt^{2}=N. אם  m=t=N^{1/3} מתקבל  M=T=N^{2/3} שזהו שיפור משמעותי לעומת חיפוש ממצה של כל הפתרונות האפשריים בשיטה הישירה וזאת עם זיכרון בגודל  tm. אם סיבוכיות החיפוש נמדדת במונחים של  M+T (זמן פלוס זיכרון) אף על פי שזיכרון וזמן אינם מושגים זהים אפשר להתעלם מפרט זה, בכללות מושג שיפור בפקטור של שליש בסיבוכיות. ההשלכה היא שחיפוש מפתח DES באורך 56 סיביות מתקצר לחיפוש בסדר גודל של 38 סיביות. יתרה מזו, בבעיות מסוימות כמו פרמוטציה פסאודו אקראית או בעיית הלוגריתם הבדיד, אפשר להשיג שיפור גדול יותר עד פקטור של חצי, קרי  M=T=N^{1/2} על חשבון עליה קלה בסיבוכיות עבודת ההכנה.
רקע > חיפוש ממצה

חיפוש ממצה של מפתח ההצפנה או התקפת כוח גס ישירה נגד צופן סימטרי יכולה להתבצע לפי מודל התקפת גלוי-ידוע כך שברשות המתקיף לפחות בלוק טקסט גלוי אחד ובלוק מוצפן שמתאים לו (כלומר שהוצפן עם מפתח סודי כלשהו אותו המתקיף מעוניין לחשוף), אותו הוא השיג בדרך כלשהי אך אין לו שליטה על התוכן. ואילו התקפה שעושה שימוש בטבלת חיפוש דורשת מודל התקפת גלוי-נבחר, כלומר המתקיף שהכין את הטבלה מראש עם בלוק נתון (למשל בלוק המכיל רק אפסים), צריך שתהיה לו היכולת לבחור בזמן ריצה לפחות בלוק גלוי אחד המכיל את הנתונים שהוא מעוניין והבלוק המוצפן המתאים לפני שהוא מתחיל בהתקפה. זה אפשרי בעולם האמיתי, אפשר למשל לחשוב על מקרה שבו המתקיף יודע שהוצפן בלוק המכיל נתונים קבועים הידועים לכל. הרעיון של התקפת כוח גס ישירה פשוט, אם נתון בלוק טקסט מוצפן  C_{0} שהוצפן עם המפתח  K וההנחה היא שהמתקיף יודע בדרך כלשהי מהו הבלוק שהוצפן  P_{0} והוא מעוניין לגלות את  K, בניסוח פורמלי:
כאשר  F היא פונקציית הצפנה כמו DES והנעלם היחיד במשוואה האמורה הוא  K. המתקיף תחילה בונה טבלה שמכילה  N הצפנות של  P_{0} עם מפתחות הצפנה שונים כאשר  N מתייחס למרחב כל המפתחות האפשריים של הצופן (לדוגמה ב-DES  N=2^{56}), בכל שורה בטבלה הוא מאחסן מפתח אחר וטקסט מוצפן מתאים, ממיין את הטבלה לפי הטקסט המוצפן ואז מחפש התאמה עם  C_{0}, היות שהטבלה ממוינת אפשר למצוא התאמה אם קיימת באמצעות חיפוש בינארי בזמן של  \log _{2}N, אם מאיצים את החיפוש עם טבלאות גיבוב אפשר להתעלם מהלוגריתם לצורך הדיון ולהחשיב את פעולת החיפוש כקרובה ל- O(1).
בטכניקת איזון זמן/זיכרון מתעלמים מפעולת ההכנה המוקדמת כי היא אינה משפיעה ישירות על סיבוכיות ההתקפה משני טעמים. ראשית, פעולת ההכנה יכולה להתבצע באופן לא מקוון בזמנו החופשי של המתקיף ושנית במקרים מסוימים פעולת ההכנה יכולה להיות שימושית לכמה התקפות ולכן אפשר להניח לצורך הדיון שהיא כבר נעשתה.
תיאור כללי של שיטת הלמן

בהינתן פונקציה אקראית  f הממפה את המפתח  x לבלוק טקסט מוצפן  y עבור טקסט קריא קבוע כלשהו. אפשר לראות שקל לחשב את  f אבל קשה להפוך אותה, כי חישוב הפונקציה ההופכית  x=f^{-1}(y) היא בדיוק הבעיה הקריפטואנליטית של חילוץ מפתח ההצפנה  x בהינתן טקסט מוצפן  y. כדי לבצע את הפעולה ההפוכה מהר יותר מכוח גס הציע הלמן לנצל את פרדוקס יום ההולדת על ידי הוספת שלב "קדם עיבוד" שמנסה "לכסות" במידה רבה ככל האפשר את  N הנקודות של מרחב המפתח. כלומר להגביר ככל האפשר את הסיכויים שהמפתח אותו מחפשים יפול במקרה באחת מנקודות הכיסוי. הוא הציע להשתמש במטריצה מסדר  m\times t שהשורות בה הם "מסלולים" באורך  t הנוצרים מהפעלה רקורסיבית של הפונקציה  f על  m נקודות התחלה אקראיות שונות. היות שכל נקודה ניתנת לחישוב על ידי הנקודה הקודמת לה במסלול, אפשר למעשה לאחסן בזיכרון רק את נקודת ההתחלה ונקודת הסיום של כל מסלול כזה. תוצאת שלב ההכנה היא הטבלה המכילה אוסף ערכים המייצגים נקודות התחלה ונקודות סיום של המסלולים, הממוינים לפי נקודת הסיום. בשלב ההתקפה המקוונת המתקיף מנסה לגלות אם  x מכוסה על ידי אחת הנקודות בטבלה. האלגוריתם מחשב את  f על  y באופן איטרטיבי, סורק את עמודוצת הטבלה ומנסה למצוא התאמה של התוצאה שבידו עם נקודת סיום כלשהי. אם נמצאה התאמה הוא יודע שהפתרון  x נמצא בשורה זו ולכן כל שעליו לעשות הוא לקפוץ לנקודת ההתחלה של אותה שורה ולחשב את  f על  y במספר הפעמים הדרוש עד שהוא מגיע ל- x והערך שבו ביקר צעד אחד לפניו הוא הפתרון הנכון בסבירות גבוהה.
תיאור כללי של שיטת הלמן > התמזגות

מטריצה אחת לא יכולה לכסות את כל הנקודות כי ככל שמוסיפים שורות, לפי פרדוקס יום ההולדת כל עוד  t\cdot mt\leq N בהכרח שייוצרו התנגשויות. התנגשות פירושה שהתקבל ערך זהה בשתי נקודות בשורות שונות לא בהכרח באותה עמודה. הבעיה היא שכל התנגשות גורמת להתמזגות, אם נקודה מסוימת הופיעה שוב בשורה אחרת מנקודה זו ואילך עד סוף המסלול הנקודות בשתי השורות הללו תהיינה זהות. התמזגויות קשות להבחנה כיוון שאם ההתנגשות חלה בעמודות שונות נקודת הסיום לא תהיה זהה. מבחינה סטטיסטית התמזגויות פוגעות באופן משמעותי ברמת הכיסוי ולכן בסיכויים לנחש מפתח, זאת למרות עבודת ההכנה הזהה. החסם העליון לכיסוי מקסימלי עבור טבלה אחת הוא במקרה שהפרמטרים מקיימים  mt^{2}=N. במקרה כזה הטבלה מכסה רק שטח של  1/t מהמרחב לכן יש צורך ב- t טבלאות בלתי תלויות כאלו כדי לכסות את המרחב כולו. אולם הלמן הבחין בעובדה מעניינת שאם משנים מעט את הפונקציה  f עבור כל טבלה, למשל  f_{i}(x)=h_{i}(f(x)) כאשר  h_{i} היא פונקציה פשוטה של הפלט כמו סידור מחדש של סיביות, אפשר למנוע התנגשויות ולשפר את רמת הכיסוי מאוד. התכונות של הפונקציות המותאמות הן:
כל זוג נקודות  f_{i} ו- f_{j} כאשר  i\neq j בעיקרון בלתי תלויות. גם אם תימצא נקודה זהה אין זה מעיד בהכרח על התמזגות, כלומר הנקודות שלאחריה לא תהיינה בהכרח זהות. כתוצאה מכך האיחוד של  t המטריצות (כשכל אחת מכסה  mt נקודות) מכסה חלק קבוע פחות או יותר של טווח הכיסוי המלא.
הבעיה של חישוב  x מתוך  y=f(x) ניתנת לפתרון על ידי היפוך כל אחת מהווריאציות  f_{i} של הפונקציה  f מעל הנקודה המתאימה  y_{i}=f_{i}(x)=h_{i}(f(x)).
הערך  y_{i}=f_{i}(x) ניתן לחישוב אפילו אם  x לא ידוע על ידי חישוב  h_{i} לערך כלשהו  y=f(x).
שלב ההכנה דורש רק  P\approx N פעולות, כל מטריצה מכסה  mt נקודות אך דורשת רק  m מילים בזיכרון, כל פעולת חיפוש בטבלה דורשת  t ניסיונות שכל אחד מהם דורש  t הפעלות של פונקציה  f_{i} כלשהי של אחת הטבלאות, זמן ההתקפה הכולל הוא  T=t^{2}, כדי למצוא את עקומת האיזון בין  T ל- M שמביאה לביצועים אופטימליים משתמשים בחסם האמור  mt^{2}=N ומקבלים  TM^{2}=t^{2}\cdot m^{2}t^{2}=N^{2}. בעוד שהזמן  T יכול להיות כל ערך בטווח  1\leq T\leq N, המקום  M מוגבל ל- N^{1/2}\leq M\leq N שאם לא כן יוצא ש- T>N ואז ההתקפה תהיה איטית מכוח גס.
תיאור כללי של שיטת הלמן > פירוט האלגוריתם

יהי  E_{K}(X):2^{n}\times 2^{k}\rightarrow 2^{n} פונקציה המייצגת הצפנה של בלוק  n-סיביות טקסט קריא  X עם מפתח סודי  K בגודל  k סיביות. כחלק מההתקפה בלוק טקסט מוצפן בגודל  n משמש בעצמו כמפתח הצפנה בגודל  k כך שיש צורך בפונקציה כלשהי שממירה בלוק מוצפן של  n סיביות למפתח הצפנה  g:2^{n}\rightarrow 2^{k}. במקרה של DES המפתח קטן מהבלוק, לכן הציע הלמן למשל פונקציית כיווץ פשוטה שחותכת את התוצאה לגודל הרצוי ומתעלמת משמונה הסיביות האחרונות. במקרה ש- n<k – מצב אפשרי בצופן AES עם מפתח הגדול מ-128, הפונקציה יכולה להוסיף מספר סיביות קבועות (למשל אפסים) כדי להרחיב את הבלוק  n לגודל המתאים כמפתח.
לסיכום לצורך ההתקפה מגדירים פונקציה  f שהיא תוצאת הצפנה של הבלוק  P לאחר המרה למפתח הצפנה עם הפונקציה  g (הפונקציה  g אינה הכרחית אם הבלוק המוצפן יכול לשמש ישירות כמפתח הצפנה):
חישוב  f(K) הוא פעולה קלה כפעולת הצפנה. לעומת זאת חישוב  K מתוך  f(K) שקול לקריפטואנליזה של הצופן. התקפת איזון זמן/זיכרון מורכבת משני שלבים, שלב הכנה שמתבצע אוף ליין ושלב ההתקפה און ליין המתוארים להלן.
תיאור כללי של שיטת הלמן > שלב ההכנה הלא מקוון

תחילה  N=2^{n} הוא מרחב המפתחות האפשריים. התוקף בוחר מתוך המרחב  N,  m נקודות התחלה start point אקראיות שונות שיהיו מפתחות הצפנה, אותן מסמנים:  {\text{SP}}_{1},{\text{SP}}_{2},...,{\text{SP}}_{m}. ואז עבור כל נקודת התחלה מחשב את 'שרשרת ההצפנה' כדלהלן: (א) מציב בכניסה הראשונה בשורה  i את נקודת ההתחלה  X_{i,0}={\text{SP}}_{i} ואז (ב) כל כניסה הבאה אחריה מכילה את  X_{i,j+1}=f(X_{i,j}) עבור  1\leq j\leq t, כלומר כל כניסה היא הצפנה של  P עם מפתח שהוא תוצאת ההצפנה של כניסה קודמת. הטקסט המוצפן עצמו משמש כמפתח הצפנה לאחר שעבר המרה מתאימה עם הפונקציה  g. למעשה שורה אחת היא שרשרת של  t הצפנות חוזרות של  P על ידי  f,  עם סדרה של מפתחות שהאחד נוצר מהשני, עד שמגיעים לנקודת הסיום  X_{i,t}={\text{EP}}_{i}. לסיכום הטבלה היא:
כדי לצמצם דרישות זיכרון לא מאחסנים את ערכי הביניים אלא את נקודות ההתחלה והסיום  {\text{SP}}_{i},{\text{EP}}_{i} בלבד וממיינים אותן בסדר נומרי לפי נקודות הסיום  {\text{EP}}_{i}.
תיאור כללי של שיטת הלמן > שלב ההתקפה המקוונת

לצורך הפשטות (כאמור לעיל) משתמש מסוים בחר במפתח סודי  K כלשהו, הצפין את הבלוק הקריא  P (שידוע לתוקף, למשל הבלוק יכול להיות מחרוזת אפסים או כל טקסט קבוע ומוסכם) ובדרך מסוימת התוצאה  C=E_{K}(P) נפלה לידי התוקף ועליו לגלות את  K. התוקף מיישם את הפונקציה  g כדי לקבל את  Y_{1}=g(C)=f(K) ואז מבצע את המהלכים הבאים:
בודק בטבלה אם  Y_{1}={\text{EP}}_{i}, עבור כל  i מ- 1 עד  m. במקרה שכן, התוקף יודע שהמפתח הנכון הוא הערך האחד לפני אחרון בשורה  i כי כאמור הערך האחרון הוא תוצאה של הצפנת המקור עם מפתח אחד לפניו. היות שתוצאות הביניים לא שמורות, עליו לחשב את כל השורה מנקודת ההתחלה לפי הסדר עד הגיעו לנקודה הרצויה במקרה זה  X_{i,t-1} וזהו בדיוק המפתח אותו הוא מחפש. כעת עליו רק לוודא שפענוח  C אכן מוביל ל- P וההתקפה הסתיימה בהצלחה. ייתכן מצב שבו ל- {\text{EP}}_{i} יש יותר ממקור אחד ואז השוויון האחרון אינו נכון, כלומר אף על פי שקיימת התאמה עם  {\text{EP}}_{i}, בפענוח  C התגלה שהתוצאה אינה תואמת את  P. זהו מצב אפשרי והוא מכונה כאן 'אזעקת שווא'. מתייחסים אליו כאילו לא הייתה התאמה. הוכח שמספר אזעקות השווא הצפוי חסום על ידי  mt(t+1)/2N.
אם  Y_{1}\neq {\text{EP}}_{i}. כלומר אף אחת מנקודות הסיום אינה מתאימה, או שהייתה אזעקת שווא מסעיף 1, התוקף מחשב את  Y_{2}=f(Y_{1}) וחוזר לשלב 1. בשלב זה הבדיקה תוכיח אם המפתח הוא בעמודה השנייה מימין ( X_{i,t-2}), בסבב השלישי ייבדק אם המפתח הוא אחד מ- X_{i,t-3} וכן הלאה עד לבדיקת כל הערכים בטבלה, שאז במידה שלא נמצאה התאמה ההתקפה נכשלה.
יש לשים לב שהתוקף צריך לגשת לטבלה בכל פעם שמחושב  Y חדש. אם כל  m\times t האלמנטים שבטבלה שונים, ההסתברות להצלחה היא  \textstyle P(S)={\frac {m\times t}{2^{k}}}. בפועל סיכויי ההצלחה נמוכים יותר כי הם תלויים באופן שבו השרשראות מתפרסות על פני מרחב המפתח. קיימת גם אפשרות ששרשרת הצפנה שהתחילה עם מפתח אחד תתנגש ותתמזג עם שרשרת אחרת שהתחילה עם מפתח אחר (מנקודה זו ועד לנקודת הסיום כל החוליות בשתי השרשראות תהיינה זהות). ככל שהטבלה גדולה יותר כך גדלים הסיכויים להתנגשות. כל התמזגות מצמצמת למעשה את מספר האפשרויות שהטבלה מכסה. אם  f היא פונקציה ראנדומלית, ההסתברות להצלחה חסומה ב:
מהמשוואה עולה כי הערכים האופטימליים של  t ו- m הם כאלו שמקיימים  mt^{2}=N שאז הסיכויים הם בערך  1/0.80=1.25. שזהו לא שיפור משמעותי כפי שהיינו מצפים. כדי לקבל סיכויי הצלחה גבוהים יותר משתמשים בטבלאות מרובות, כל אחת עם פונקציה  f שונה, בכך מבטיחים פריסה טובה יותר של אלמנטים והימנעות מהתמזגויות ובכך מגבירים את הסיכויים בפקטור שהוא ביחס לכמות הטבלאות (או סך כל האלמנטים). אי אפשר למנוע התנגשות לגמרי אך גם אם ערך כלשהו מתנגש בנקודה כלשהי היות שהפונקציה שונה לא תתרחש התמזגות. בכללות עבור  r טבלאות הסיכויים הם:
כאשר  P(S)_{\text{table}} מתייחס לסיכויים עם טבלה אחת. אם מציבים  m=t=N^{1/3} ההסתברות לטבלה אחת היא בערך  P(S)=N^{1/3}, לכן עם  N^{1/3} טבלאות אפשר להשיג סיכויים של  N^{2/3}. כמות הזיכרון תהיה במקרה זה  M=N^{2/3} מילים וסך כל הפעולות הוא  T=N^{2/3}. החיפוש בטבלאות יכול להתבצע באופן סדרתי או מקבילי להאצה נוספת וכמובן שאפשר להשתמש ביותר טבלאות לפי הצורך כדי להגביר סיכויים.
נקודות מובחנות

חיסרון מעשי אחד בשיטת הלמן הוא מספר הקריאות בדיסק הקשיח. באופן כללי גישה לדיסק צורכת כשמונה מילישניות לעומת פעולה בתוך זיכרון המעבד שהיא בערך שתי ננושניות. בגלל ההבדל העצום במהירות הגישה מומלץ לצמצם את מספר הקריאות בדיסק ככל האפשר. רון ריבסט הציע רעיון במקום לקבוע את אורך המסלולים בכל שורה בטבלה לאורך קבוע, המסלול יכול להמשיך עד שמגיעים לנקודה כלשהי שיש לה מאפיין מיוחד כלשהו כמו ערך המכיל רצף מסוים של אפסים. נקודה כזו נקראת "נקודה מובחנת" (באנגלית Distinguished point). במהלך שלב ההכנה מתחילים מנקודות התחלה מובחנות אקראיות ומחשבים את המסלולים באותה דרך, אך עוצרים רק כאשר מגיעים לנקודה מובחנת נוספת. כך נוצרים מסלולים באורכים שונים המכילים נקודות מובחנות בלבד. אם  k=\log(t) האורך הצפוי של כל מסלול יהיה בערך  t. קבוצת כל נקודות הסיום בכל  t הטבלאות בסך הכול  t^{2}m נקודות מכסה כמות ניכרת של בערך  N/t מהנקודות המובחנות האפשריות. נקודות מובחנות קלות להכנה וקלות לזיהוי.
היתרון העיקרי של גישה זו הוא שבמהלך ההתקפה יש צורך לבצע רק קריאה אחת בדיסק הקשיח עבור כל מסלול (כאשר ניתקלים לראשונה בנקודה מובחנת), מספר ההפעלות של הפונקציה  f_{i} נשאר  t^{2} אבל מספר הקריאות בדיסק יורד מ- t^{2} ל- t שזה יתרון משמעותי.
ראו גם

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

↑  A Cryptanalytic Time - Memory Trade-Off, IEEE Transactions on information theory, VOL. IT-26, NO. 4, JULY 1980
↑  Oechslin, P. (2003). Making a Faster Cryptanalytic Time-Memory Trade-Off. Advances in Cryptology - CRYPTO 2003
↑  S. Babbage, A Space/Time Tradeoff in Exhaustive Search Attacks on Stream Ciphers, European Convention on Security and Detection, IEE Conference Publication No. 408, May 1995.
↑  Cryptanalysis of Alleged A5 Stream Cipher,13 July 2001
↑  Cryptanalytic Time/Memory/Data Tradeoffs for Stream Ciphers, Alex Biryukov and Adi Shamir, October 2000
יהדות הוואי

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

היהודים הראשונים שהגיעו להוואי הגיעו לקבוצת איים זאת במאה ה-19. אחד הניסיונות הראשונים לייסד בהונולולו קהילה יהודית היה ב-1901. בגרעין הראשון היו כ-40 יהודים, שייסדו את הקהילה היהודית של הוואי (The Hebrew Congregation of Hawaii), אולם זו התפרקה כעבור שש שנים בלבד.
אחרי מלחמת העולם הראשונה פתח הארגון National Jewish Welfare Board סניף בבית פרטי בהונולולו. פעילות הסניף הביאה בשנת 1938 לייסודה של הקהילה היהודית של הונולולו, שמנתה כ-35 משפחות. לאחר מכן הוקם מרכז קהילתי, שהפך לבית הכנסת הראשון ואחריו הוקם בית הכנסת "עמנואל".
גם לאחר מלחמת העולם הראשונה המשיכה הגירת היהודים להוואי. במהלך מלחמת העולם השנייה שימשו חלק מאיי הוואי כבסיסים של הצבא האמריקאי ובין הלוחמים שישבו בבסיסים אלו היו גם יהודים.
כיום חיים בהוואי כ-10,000 יהודים, בעיקר באואהו, הונולולו, מאווי, שאר היהודים חיים באי הוואי.
היהודים באי מאווי

כיום חיים במאווי כ-2,500 יהודים כאשר המספר נמצא בשפל בתקופת החורף ובשיא בתקופת הקיץ מכיוון שחלק מהיהודים שבתיהם נמצאים באי בעצם גרים בארצות הברית היבשתית ורק גרים בבתיהם אלו בתקופת הקיץ.
בשנות ה-50 התפתח האי במהירות כמרכז תיירות ונופש שמשך אליו מהגרים מאזורים אחרים בארצות הברית, בהם יהודים. בשנות ה-60 ובתחילת שנות ה-70 התיישבו כמה משפחות יהודיות, בעיקר של גמלאים, באזור לאהאינה-קאנאפאלי, בצפון-מערב מאווי.
באי ישנן מספר קהילות לפי הזרמים השונים: אורתודוקסית, קונסרבטיבית ורפורמית. כמו כן קהילה חסידית שמורכבת בעיקר מחסידי חב"ד וחסידי צאנז (נשלחו לשם בהוראת הרבי מלובביץ' והרבי מצאנז).
לינדה לינגל, אשר כיהנה כמושלת מדינת הוואי בשנים 2002–2010, היא היהודייה הראשונה והיחידה עד כה בתפקיד זה, והמושלת היהודייה השנייה בתולדות ארצות הברית כולה.
טאי צ'י וודאנג

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

Hand-Form (תבנית): זוהי סדרה מובנית של תנועות ורמות המתורגלות באיטיות מכוונת. התרגול נועד להפשיר את הגוף ולהרגיע את המחשבה, והוא מהווה את המרכיב הבסיסי של הטאי צ'י. בגרסה הארוכה שלה כוללת הסדרה כ-120 צירופי תנועות שביצוען נמשך בין 20 ל-25 דקות. לימוד הסדרה דורש זיכרון טוב, וזמן הלימוד עשוי להשתרע על מספר חודשים.
Pushing-Hands (פושינג האנדס): תרגילי זוגות דינמיים וסטטיים. תרגילים אלו מפתחים יציבות ורגישות ומשפרים תגובות. זהו מרכיב חיוני לטכניקות הגנה עצמית, והוא נחשב לאפיון מובהק וייחודי של הטאי צ'י. זהו גם המרכיב התחרותי והמעורר ביותר מבין המרכיבים, וההתקדמות בו מותנית בהתנסות ממושכת ומגוונת.
טכניקות הגנה עצמית: קיימות למעלה מ-40 טכניקות בסיסיות. רובן מובלעות ב-Hand-Form ומבוססות בדרך כלל על חמיקה, הסטה ותגובות נגד מיידיות. כל טכניקה נלמדת בנפרד ומתורגלת בזוגות באופן מדורג, כלומר במהירות, בעוצמה ובכיוונים משתנים, עד שהפעלתה הופכת לאינסטינקט. התרגול מדגיש עיתוי, זריזות ומיקוד.
נשקים (בשלב המתקדם): שלושת כלי הנשק המסורתיים של הטאי צ'י הם חרב ישרה (Jian), חרב רחבה (Dao, Sabre) וחנית (Spear). תנועות הלקוחות משלוש התבניות עשויות להתגלות כשימושיות גם בחיי המודרניים, לדוגמה בהחלפת חרב במטרייה או חנית במקל.
Neigong (ניי גונג) (אנ'): נייגונג הם תרגולי נשימה מדיטטיבים הנחשבים צורה של צ'י קונג. שורשיו של הנייגונג בפילוסופיה הדאואיסטית, ולכן לרוב מלמדים שיטות אלה לתלמידים וותיקים עם הכרות עם פילוסופיה זו.
מקור השם וודאנג

צ'bd טין-הונג (Cheng Tin-Hong) נתן לסגנון את שמו על שם הרי וודאנג, המקום בו חי גָ'אנְג סָאנְפֶנְג (张三丰, בפין-יין: Zhang Sanfeng) במאה החמש-עשרה. השם נועד לציין את מעמדו של ז'אנג סאנפנג כמייסד הטאי צי צואן. בהמשך, דן דוקרטי נתן לשיטה את השם "טאי ג'י ג'ואן פרקטי- בין לאומי" ואפשר להיתקל גם בשם הזה לעיתים קרובות. הביטוי "פרקטי" נוסף לשם על ידי עיתונאים סיניים עוד לפני שדוקרטי יבא את השיטה למערב.
תרגול השיטה

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

צ'ן טין הונג נולד ב-1930 בכפר סאן שיאנג. התחיל ללמוד טאי צ'י צ'ואן אצל דודו צ'ן ווינג-קוונג (Cheng Wing-kwong), והמשיך את לימודיו אצל צ'י מין-שואן (Qi Min-xuan). ב-1950 הפך צ'ן טין-הונג מורה לטאי צ'י בהונג קונג. מורים מפורסמים רבים פעלו בהונג קונג באותה תקופה, והתחרות הייתה קשה למדי. צ'ן טין-הונג אימן לוחמים ב-full contact, שהצליחו לעיתים קרובות להביס את יריביהם, אנשי אמנויות הלחימה הקשות, ובעיקר הקונג-פו לסוגיו. הוא אימן מורים לטאי צ'י צ'ואן, שהכשירו מורים נוספים בעצמם. בצעירותו נודע צ'ן טין-הונג בכינוי "שומר הראש של הטאי צ'י", כי היה מתייצב לעזרת תלמידי הטאי צ'י בנשק או בידיים ריקות בכל מקום ובכל שעה. צ'ן טין הונג השאיר אחריו ארבעה ספרים על טאי צ'י צ'ואן. הוא נפטר ממחלה ב-2005.
דן דוקרטי (Dan Docherty) נולד בגלאזגו שבסקוטלנד ב-1954. סיים תואר ראשון בלימודי משפטים ב-1974. ב-1975-1984 שירת כמפקח בכוחות משטרת הונג-קונג. הוא התאמן בטאי צי צואן תחת הנחייתו של צ'ן טין-הונג החל מ-1975. ייצג את הונג-קונג בהיאבקות full-contact, וזכה בתחרויות שונות. סיים לימודי סינית ב- Ealing College בלונדון ב-1985. חי בלונדון, מלמד ברחבי אירופה וכותב על טאי צ'י צ'ואן.
דב ויסברגר נולד ב-1947, בישראל. לאחר שירות צבאי ממושך, החל בגיל 40 ללמוד טאי צי צואן. התחיל את לימודיו בטייפה (טאיוואן), והמשיך בהונג-קונג בבית ספרו של צ'ן טין-הונג, אצל טונג צ'י-קין (Tong Chi-kin), אחיו של דן דוקרטי לקונג פו. מאז 1987 הוא תלמידו של דן דוקרטי. מלמד קורס טאי צ'י במסלול הכשרת מורים ל טאי צ'י במכללת וינגייט ובמסגרות נוספות.
יהודית אורנשטיין

| --- | --- |

 לידה:  11 בדצמבר 1911 אינסברוק, אוסטריה 
 פטירה:  12 באפריל 2008 (בגיל 96) ניו יורק, ארצות הברית 
 מדינה:  ישראל 
 צאצאים:  ארנון בן-דוד 
 
אהרן אלקינד מרים את יהודית אורנשטיין בחוף תל אביב, 1923
תמונה לכבוד הצגת הבכורה של האופרה "תאיס" בתל אביב במאי 1948. אורנשטיין בשורה הראשונה משמאל
יהודית אורנשטיין (11 בדצמבר 1911 - 12 באפריל 2008) הייתה רקדנית, כוריאוגרפית, מבקרת מחול ומורה למחול ישראלית.
ביוגרפיה

אורנשטיין נולדה ליעקב אורנשטיין, אדריכל, ולמרגלית לבית אופנהיימר, כוריאוגרפית, באינסברוק שבאוסטריה. ליהודית הייתה אחות תאומה, שושנה.
אביה גויס לצבא האוסטרי ושירת כקצין, אמה, מרגלית, עברה עם בנותיה לבית הוריה בווינה בה הייתה להם חנות אופטיקה מפוארת. בגיל שש נולד האח הצעיר דוד.
האב עלה לבדו לארץ ישראל בשנת 1920 ושכנע את האם להצטרף אליו.
המשפחה עלתה לארץ ישראל בשנת 1921. מרגלית אורנשטיין פתחה את הסטודיו הראשון למחול מודרני ישראל בארץ ישראל ב-1922 ברחוב אחד העם 42 בתל אביב ובו לימדו האחיות.
מאוחר יותר נפתחו גם סניפים גם בחיפה ובירושלים.
יהודית ושושנה הופיעו כצמד "האחיות אורנשטיין" בהצלחה רבה. יהודית הקימה להקת מחול עם המפיקה עליזה טרי ויהודית הרמן ומאוחר יותר הצטרף אליהן עודד טירם.
אורנשטיין חיברה כוריאוגרפיות לאופרה הישראלית, עסקה בחקר המחול, כתבה ביקורות על הופעות מחול בעיתונים "דבר" ו"הארץ" ועסקה בהוראה. היא הקימה את הסמינר הראשון למורות בתל אביב וניהלה את מגמת המחול בבית הספר לאמנויות רננים. כן הייתה חברה במועצה הראשונה לתרבות.
כמורה ידעה אורנשטיין לקרב למחול גם מי שלא היו תלמידי מחול ולא ראו בו מקצוע לעתיד. גישתה להוראת מחול לחובבים הייתה מקורית וייחודית; שיעוריה בסטודיו ברחוב אחד העם בתל אביב היו שילוב של יסודות הבלט הקלאסי, תנועה חופשית ומחול יוצר ומשכו אליהם אנשים שונים, צעירים ומבוגרים.
בין תלמידיה הרבים נמנים הפנטומימאים הידועים סמי מולכו וחנוך רוזן.
אורנשטיין הייתה נשואה שלוש פעמים. בעלה הראשון היה שחקן תיאטרון האהל. בעלה השני, שלמה בן דוד, היה גרפיקאי וצלם, ולשניים נולדו נעמי בן דוד, רקדנית ומשוררת והאמן ארנון בן דוד. אורנשטיין היא דודתה של מבקרת המחול גבי אלדור.
לאחר נישואיה לכנר סמואל פבזנר עברה להתגורר בניו יורק.
יהודית אורנשטיין נפטרה בגיל 96 בביתה בניו יורק.
לקריאה נוספת

גבי אלדור, ואיך רוקד גמל? תל אביב: רסלינג, 2011.