באוגוסט 2016 הגישה רשות המיסים בקשה להכריז על פישמן כפושט רגל בגין חוב העולה על 196 מיליון ש"ח למס הכנסה, ולממש את נכסי קבוצת פישמן ונכסיו של אליעזר פישמן לכיסוי החוב. בדצמבר 2016 נתן בית המשפט צו לכינוס נכסיו של פישמן, וביוני 2017 הוא הוכרז כפושט רגל.
נכסי משפחת פישמן.
לקבוצה היו החזקות במעל ל-30 חברות במגוון תחומים. רובם נמכרו או עברו לשליטת בעלי החוב, בין הבולטות שבהן היו:
דניאל ברי
דניאל מ. ברי (נולד ב-1948) הוא פרופסור מן המניין בפקולטה למדעי המחשב באוניברסיטת ווטרלו שבקנדה החל מ-1999.
ביוגרפיה.
ברי נולד ב-1948 בעיר קליבלנד הייטס באוהיו שבארצות הברית. הוא קיבל תואר B.S במתמטיקה מהמכון הפוליטכני ע"ש רנסלר שבניו יורק ב-1969, ואת ה-Ph.D שלו במתמטיקה שימושית ומדעי המחשב מאוניברסיטת בראון ב-1974. עלה לישראל ב-1987 וכיהן כפרופסור בטכניון. בין השאר היה המנחה של לאה גולדין, יואל מארק וג'וני סרוג'י. ב-1999 עבר להתגורר בווטרלו שבאונטריו שבקנדה.
תחומי מחקר.
תחום המחקר של ברי הוא הנדסת דרישות במדעי המחשב. מחקריו מתמקדים באיסוף מידע מחברים בארגון לקוח כדי להפיק מפרט קוהרנטי עבור מערכת ממחושבת בה חפץ הלקוח. מטרת האב של עבודה זו היא לפתח כלים ושיטות שיעזרו לאסוף את המידע הדרוש לבניית מפרט הדרישות. במסגרת מחקרו ברי גם חוקר את ההשפעה של רגשות, ערכים ואמונות בבנייה של סביבת עבודה חדשנית, ואת תפקידו של הלקוח והמשתמש בעזרה למהנדס הדרישות להגיע למפרט דרישות מלא.
חיים אישיים.
ברי הוא כבד שמיעה מלידה. הוא למד באופן טבעי לקרוא שפתיים בשפה האנגלית וכך הוא מסוגל לנהל שיחה פנים אל פנים. ב-10 בנובמבר 2001 פרסם מאמר בדבר שימור יכולתם של כבדי השמיעה להשתמש במחשב ובאינטרנט. במאמר זה פורס ברי את היתרונות שמציע עולם המחשוב לכבדי השמיעה, מעצם כך שאיננו דורש את היכולת לשמוע ואת חששו מכיוון ההתקדמות הנוכחי לכיוון של שימוש בממשקי מחשב מבוססי שיחה. ברי מציע במאמר שממשקי המחשב העתידיים יכילו כתוביות מסונכרנות עם הדיבור ואף "ראש צף" שיגיד את המילים עבור אלו מבין כבדי השמיעה שקוראים שפתיים.
ברי היה נשוי לאורנה ברי ולהם שתי בנות.
Salsa20
Salsa20 הוא צופן זרם שפותח ב-2005 על ידי דניאל ברנשטיין באוניברסיטת אילינוי בשיקגו והוצע עבור פרויקט eSTREAM האירופאי. ב-2008 נבחר על ידי eSTREAM בסיבוב השלישי (Phase 3), כאחד מארבעת האלגוריתמים המובילים במסגרת פרופיל 1 בקטגוריית צופן זרם בתוכנה. הגרעין של Salsa20 הוא פונקציה פסאודו-אקראית הפועלת על קלט ופלט בגודל 64 בתים ומיושמת כצופן זרם במצב מונה. הפונקציה מקבלת מפתח הצפנה סודי באורך 128 או 256 סיביות, ערך ייחודי חד-פעמי באורך 64 סיביות הנקרא Nonce ומשמש כוקטור אתחול, מונה המייצג את מספר הבלוק באורך 64 סיביות וקבועים נוספים. על ידי גיבוב הערכים הללו כשהם משולבים יחד, מייצרת פלט פסאודו-אקראי באורך 64 בתים, אותו מחברים בחיבור בינארי עם בלוק טקסט קריא לקבלת טקסט מוצפן. אפשר להצפין עם מפתח אחד עד formula_1 בתים של מידע. המבנה הזה מעניק לצופן יתרון ביכולת לשחזר כל בלוק ספציפי מהטקסט המוצפן בזמן קבוע. מימוש ממוטב של צופן Salsa יכול להגיע ליעילות בסדר גודל של כמעט 14 מחזורי שעון לבית או כ-643 מגה לשנייה (לעומת RC4 שמגיע לסדר גודל של 200 מגה לשנייה בקירוב). נכון לשנת 2014 נחשב Salsa לצופן בטוח ולא ידוע על התקפה יעילה נגדו.
תיאור האלגוריתם.
Salsa20 הוא צופן זרם סינכרוני (שבו המפתח מופק ללא תלות בטקסט הקריא או המוצפן), הפועל על יחידת מידע בגודל 64 בתים. השלד העיקרי מורכב מפונקציית גיבוב הכוללת שילוב של שלוש פעולות אריתמטיות פשוטות; חיבור מודולו formula_2 המבוצע במילים בגודל 32 סיביות, חיבור מודולו 2 (המסומן XOR) והזזה מעגלית (rotation) על מילים (הזזה של כל סיביות המילה שמאלה או ימינה במספר פוזיציות לפי פרמטר, כאשר הסיביות הקיצוניות שנפלטות מצד אחד מוחזרות מהצד השני). ומפיקה פלט בגודל 64 בתים פסאודו-אקראיים שמרכיבים את 'המצב הפנימי' של הצופן. פונקציית הגיבוב הופכת לפונקציית הצפנה בשיטת ורנם, שבה תוצאת הגיבוב הופכת למפתח הצפנה מורחב בגודל 16 מילים. בלוק הטקסט הקריא בגודל 16 מילים מוצפן מילה אחר מילה, בדרך זו: formula_3. הפענוח זהה, כיוון ש-XOR הופכי של עצמו. סדר הפעולות בתוך הליבה של Salsa20 הוא "או-מוציא של חיבור לאחר הזזה מעגלית" בקיצור ARX (ראשי תיבות של שלוש הפעולות לפי הסדר האמור). שילוב זה הוכח כבטוח כנגד התקפה דיפרנציאלית (ראה להלן) וכן מבטיח עמידות כנגד התקפת תזמון (timing attack).
המצב הפנימי.
את המצב ההתחלתי (initial state) של פונקציית הגיבוב של Salsa מאתחלים בערכים הבאים:
את הערכים המתוארים פורסים לתוך מצב הראשוני ב-64 בתים לפי הסדר הבא. אם המפתח הוא בגודל 256 סיביות (לפי ההמלצה של המַפַתֵּח דניאל ברנשטיין), תחילה ממירים את מחרוזות הטקסט הקבועות לארבע מילים לפי סדר בתים קטן, סך הכול ארבע אותיות במילה. למשל קוד האסקי של "e" הוא formula_4 ובייצוג הקסדצימלי formula_5, של "x" הוא formula_6 ושל "p" formula_7 וכן הלאה. אחרי המרה של המחרוזת למילים בייצוג הקסדצימלי מתקבל:
וקטור האתחול מיוצג על ידי formula_9 ומונה הבלוקים מיוצג על ידי formula_10. אם המפתח בגודל 256 סיביות מחלקים אותו לשני מקטעים בני 16 בתים כל אחד formula_11 ומשרשרים את כל החלקים יחד במבנה הבא:
עבור מפתח 128 סיביות קיים רק מפתח formula_12 אחד בגודל 16 בתים וערכי המחרוזת "expand 16-byte k" בחלוקה למילים הם:
והמבנה המתקבל הוא:
פונקציית QuarterRound.
הפונקציה השוכנת בליבו של צופן סלסה formula_14 (ראה תרשים), היא פונקציה הפיכה המקבלת 4 מילים ומפיקה פלט של 4 מילים כדלהלן:
הסימן formula_19 מייצג חיבור מודולו formula_2, הסימן formula_21 מייצג הזזה מעגלית של משתנה באורך 32 סיביות שמאלה במספר פוזיציות לפי הערך שלימינו והסימן formula_22 מייצג XOR. לדוגמה בייצוג הקסדצימלי בחישוב formula_23 מתקבל:
formula_24
פונקציית RowRound.
הפונקציה RowRound מפעילה את הפונקציה QuarterRound על 16 מילים formula_25 באופן הבא:
פונקציית ColumnRound.
formula_30
אם מדמיינים את 16 הבתים לעיל, כמטריצה ריבועית 4x4 מילים (ראה תרשים), הפונקציה ColumnRound דומה לקודמת מלבד זאת שהיא מפעילה את QurterRound על עמודות המטריצה במקום שורות, כדלהלן:
פונקציית DoubleRound.
שתי הפונקציות המתוארות כשהן משולבות יחד נקראות DoubleRound דהיינו כל מילה מעובדת פעמיים, פעם אחת כחלק משורות במטריצה ופעם אחת כעמודות, בניסוח פורמלי: formula_35.
כמו כן, לצורך הפעולות האריתמטיות, המעבר ממערך של ארבעה בתים למילה אחת הוא לפי סדר בתים קטן שאומר שהבית הראשון מייצג את הספרות הפחות משמעותיות של המילה, לכן במחשב עם סדר בתים גדול, יש צורך בפונקציית המרה כדי להמיר מבתים למילים ובחזרה לפי הנוסחה: formula_36. לדוגמה אם נתון מערך הבתים: formula_37 בהמרה למילה בת 32 סיביות לפי סדר בתים קטן, יתקבל הערך formula_38 (לפי סדר בתים גדול מתקבל formula_39).
אם מסכמים את כל הפעולות יחד, מימוש הפונקציה DoubleRound ייראה כך:
הפונקציה formula_40 היא פונקציית הזזה מעגלית לשמאל והמספר התחתי מציין את מספר הפוזיציות שיש להזיז. הזזה מעגלית ניתנת ליישום בתוכנה בקריאה לפונקציית ספרייה או באמצעות הזזות Shift ו-OR המובנות ברוב שפות התיכנות, למשל בשפת C הביטוי: (value « count) | (value » (32 - count)) מבצע הזזה מעגלית של value במספר פוזיציות לפי count.
פונקציית הגיבוב.
פונקציית הגיבוב של Salsa משלבת את הפונקציות האמורות על קלט בגודל 64 בתים, כדי להפיק פלט של 64 בתים פסאודו-אקראיים. בניסוח פורמלי אם נתון המצב הראשוני formula_41 המתואר לעיל, הנוסחה היא:
כלומר מחלקים את הקלט formula_41 ל-16 מילים formula_44 עד formula_45, אותם מחשבים באמצעות פונקציית DoubleRound עשר פעמים. ופלט הפונקציה הוא תוצאת החיבור מודולו formula_2 עם מילות המצב הראשוני formula_44 עד formula_45. המציין מעל הפונקציה DoubleRound מייצג את מספר החזרות. כיוון שהפונקציה הפנימית מבוצעת פעמיים (בשורות ובעמודות) מסומן הצופן בקיצור Salsa20, כלומר ביצוע formula_49, נחשב כ-20 סבבים. כאשר מעוניינים בפונקציית הצפנה מהירה יותר על חשבון ביטחון אפשר להפחית במספר הסבבים. האופציות המומלצות הן 8 או 12 סבבים.
הצפנה ופענוח.
עם פלט פונקציית הגיבוב Slasa20 המתוארת, אפשר להצפין מסר formula_50 באורך מקסימלי של formula_1 בתים כשהוא מחולק לבלוקים בגודל 64 בתים, עם וקטור האתחול formula_9, המונה formula_10 כאשר formula_54 והמפתח formula_12 באופן הבא:
לאחר הצפנת formula_1 בתים יש לאתחל את הצופן עם וקטור אתחול חדש ולהתחיל את המונה מאפס או להחליף מפתח. כאמור formula_9 לא חייב להיות סודי אך חייב להיות ייחודי. מעשית יכול להיות מונה כלשהו. לפענוח פועלים באופן זהה לחלוטין:
למעשה הנוסחה המתוארת מתאימה רק למסר המתחלק ב-64 בתים. אם המסר קטן יותר, או שהבלוק האחרון אינו בגודל 64 בתים, חותכים את תוצאת פונקציית הגיבוב כאורך המסר ומתעלמים מהיתר.
ביטחון ויעילות.