ג'קסון הופיע בקונצרטים בקרנגי הול פעמיים: במופע "כוחם של שניים" משנת 2010 וקונצרט המוזיקה של מד מן ב-2011. בנוסף לאלבומי הברודוויי שלו, ג'קסון פרסם שלושה אלבומים של סגנונות מוזיקה פופולריים, כולל אלבום משותף בשם "כוחם של שניים" עם מייקל פיינשטיין בשנת 2008. בשנת 2012, ג'קסון הוציא לאור שני סינגלים מאלבומו "I'm Blue, Skies": "Drive" ו-"Before You". בשנת 2016, ג'קסון הוציא לאור את אלבומו האחרון, "Renaissance", עם הרחבות לקונצרט המוזיקה של מד מן.
חיים אישיים.
בשנת 2000, ג'קסון החל לצאת עם פיזיקאי בשם מונטה לפקה, והשניים נישאו ב-3 בספטמבר 2011, בניו יורק. ביולי 2013 השניים הודיעו על כוונתם להתגרש, ובספטמבר של אותה שנה, השניים הגישו לבית המשפט בקשה לגירושין.
באוקטובר 2013, ג'קסון החל לצאת עם השחקן ג'ייסון לנדאו, והודיע על כך בחשבון האינסטגרם שלו. בפברואר 2014, השניים הודיעו על אירוסיהם והם נישאו בספטמבר 2014 בקליפורניה. ב-7 באוקטובר 2016, נולד לג'קסון ובן זוגו זוג תאומים מאם פונדקאית, בן בשם איתן ובת בשם ווילו.
ג'קסון הופיע ב-26 במרץ 2008 על שער הירחון אדבוקט תחת הכיתוב "הלו, מדהים! לאיש המוביל שאיין ג'קסון, יציאה מהארון זה דבר יפהפייה". בשנת 2008, ג'קסון זכה בתואר "בדרן השנה" על ידי אאוט והופיע לצידם של גאס ואן סנט, קייטי פרי וסאם ספארו במופע הנצחת גיליון ה-100 של המגזין בדצמבר. באפריל 2010, ג'קסון הופיע על שער המגזין fab תחת הכותרת "שאיין ג'קסון: אני אוהב את ניו יורק", ופעם נוספת בנובמבר 2010. ביולי 2012, ג'קסון הופיע על שער המגזין Attitude.
ג'קסון הוא פעיל ותומך זכויות להט"ב, ושגריר בינלאומי של קרן האיידס.
ג'קסון הוא גם שגריר לאומי ודובר של ארגון המכון על שם מרטין הטריק, שהוא ארגון ללא רווח המוקדש לשרת את צורכיהם של נוער להט"ב.
BLAKE היא משפחה של פונקציות גיבוב קריפטוגרפיות שהראשונה שבהן פותחה ב-2008 והייתה מועמדת לתחרות הגיבוב עבור תקן SHA-3 שאורגנה על ידי NIST ובסופה זכה Keccak. בהתאם לדרישות התקן האלגוריתם כולל ארבע פונקציות: BLAKE-224, BLAKE-256, BLAKE-384 ו-BLAKE-512 כשהמספר אחרי השם מייצג את גודל הפלט בסיביות. הן מחולקות לשתי קטגוריות; הראשונה BLAKE-256 מיועדת לפלטפורמת 32 סיביות או פחות, ממנה נגזרת BLAKE-224 הנבדלת ממנה בערכים ההתחלתיים וגודל הפלט וכן לגבי BLAKE-512 והפונקציה הנגזרת ממנה המיועדות לסביבת 64 סיביות. אף על פי ש-BLAKE לא זכתה בסופו של דבר, לפי הצהרת מארגני התחרות לאחר קריפטואנליזה מעמיקה, BLAKE כמו יתר האלגוריתמים שעלו לגמר בטוחה לשימוש ולא התגלו בה פגמים או בעיות רציניות. BLAKE2 פותחה בעקבות הלקחים והניסיון שהצטברו מקודמה. היא מהירה מאוד ונחשבת ל-'סטייט אוף דה ארט' בתפוקתה. היא מהירה פי שלושה בערך מ-SHA-3 ולטענת המפתחים עם ביטחון זהה. היא מגיעה בשתי גרסאות BLAKE2s עבור חומרה מוגבלת משאבים ו-BLAKE2b הפועלת על פלטפורמת 64 סיביות ונועדה לביצועים גבוהים.
BLAKE פותחה על ידי Jean-Philippe Aumasson, Luca Henzen, Willi Meier ו-Raphael C.-W. Phan. בתחילה נקראה BLAKE-xx כאשר xx הוא 28, 32, 48 או 64. ב-2010 שונה השם לקראת ההגשה לתחרות כדי להבדילו מהגרסה המקורית. BLAKE2 שהוצעה בטיוטה פותחה בדצמבר 2012 על ידי Jean-Philippe Aumasson, Samuel Neves, Zooko Wilcox-O’Hearn, ו-Christian Winnerlein.
שתיהן חופשיות לשימוש ואינן מוגנות בפטנט. לא ידוע על קריפטואנליזה מוצלחת שלהן והן נחשבות לבטוחות. כמו כן פורסמו מספר גרסאות מוחלשות של מועמד SHA-3 הנקראות "גרסאות צעצוע" לצורך קריפטואנליזה (BLOKE, FLAKE, BLAZE ו-BRAKE). קיימים מימושים חופשיים של הפונקציות השונות בשפת C, C++ ו-C# בין היתר אפשר למצוא ב-GitHub וכן מימוש לשפת VHDL.
BLAKE.
פונקציית הגיבוב BLAKE מבוססת על מספר מרכיבים ידועים בביטחונם. היא דור המשך של פונקציית הגיבוב LAKE המכילה מצב פנימי רחב (Wide pipe), פונקציית הדחיסה הפנימית היא וריאציה של צופן הזרם ChaCha והיא מגוונת באמצעות Salt שהוא ערך אקראי חד-פעמי שאינו סודי המתפקד כמו וקטור אתחול והאיטרציה הפנימית פועלת לפי מבנה HAIFA שהוא גרסה משופרת של מבנה מרקל-דמגרד. הגיוון הוא אופציונלי וכאשר הוא קיים הפונקציה נקראת פונקציית גיבוב אקראית.
פונקציית גיבוב אקראית.
פונקציית גיבוב אקראית היא פונקציית גיבוב המשלבת בנוסף לקלט הרגיל "גיוון" אקראי הנקרא Salt. מהיבט תאורטי המטרה של ה-Salt היא לאפשר הסתמכות על פונקציית גיבוב בעלת ביטחון חלש ממה שהוצהר. הרעיון הוצע במקור על ידי שי הלוי והוגו קרווציק לחיזוק אלגוריתם חתימה דיגיטלית DSA, המשלב בין היתר פונקציית גיבוב. השאיפה היא שאלגוריתם החתימה יישאר בטוח אפילו אם פונקציית הגיבוב בה הוא משתמש אינה טובה לגמרי, כלומר ביטחונה התרופף בעקבות קריפטואנליזה חדשה, בדיוק כמו שקרה עם MD5. אפשר להפוך פונקציית גיבוב דטרמיניסטית לאקראית על ידי ערבוב הקלט עם ערך אקראי לפי שמעבירים בפונקציית הגיבוב. למשל פונקציית הגיבוב מהצורה formula_1 נקראת פונקציית גיבוב אקראית, כאשר formula_2 היא פונקציית גיבוב רגילה כמו SHA-2 ו-formula_3 יכול להיות ערך אקראי אפילו קצר ואינו נחשב למפתח הצפנה לכן אין צורך להסתירו. מבנה כזה יעיל ומבטיח קושי רב יותר במציאת התנגשויות כלומר למצוא formula_4 המקיים formula_5 מאשר במודל הסטנדרטי של פונקציות גיבוב. כאן התקפת יום הולדת אינה ישימה כיוון שהיא לא יכולה להיות אוף ליין, כלומר התוקף חייב לקבל בנוסף לתמצית הקלט את ה-Salt שמיוצר באופן אקראי עבור כל מסר, לכן אפשר להסתפק בפונקציית גיבוב הנקראת Target Collision Resistance (בקיצור TCR) שהיא גרסה חלשה יותר מפונקציה חסינת התנגשויות מלאה.
באופן כללי מומחים ממליצים כיום היכן שהדבר אפשרי לעבור לאלגוריתם גיבוב אקראי כי הוא מספק "רשת ביטחון", אם וכאשר יתגלו בפונקציית הגיבוב עצמה חולשות.
תכונות.
עקרונות הפיתוח והתכנון של פונקציית הגיבוב BLAKE הם:
לעומת זאת המפתחים לא הציגו הוכחה לביטחון האלגוריתם במונחים של רדוקציה לבעיה מתמטית קשה, הוכחה כזו לא קיימת לגבי מרבית האלגוריתמים הידועים. האלגוריתם אינו תומך בהומומורפיזם או בסקלביליות, כלומר לא מביא בחשבון התאמה לערכים גדולים או קטנים יותר, פונקציית הגיבוב מפיקה ערכים באורך קבוע אותם גוזרים לאורך הרצוי. ישנן התקפות הישימות נגד האלגוריתם כמו התקפת נקודת שבת (Fixed-point) והתקפת רב-התנגשויות (Multicolisions) אם כי בעיקרון הן אינן מסכנות את ביטחונו.
תיאור כללי.
הזיכרון הפנימי (Internal state) של פונקציית הגיבוב מיוצג על ידי מטריצה של 4x4 מילים באורך 32 סיביות כל אחד. הקלט נטען לתוך המצב הפנימי המורחב לפי התיאור בהמשך. הפונקציה הפנימית מורכבת מסדרה של שלוש פעולות פשוטות XOR, חיבור והזזה מעגלית. הפונקציה מופעלת על מילות המצב 14 פעמים במקרה של BLAKE-256 או 16 פעמים במקרה של BLAKE-512 ובכל סבב מעבדת את כניסות המטריצה תחילה בעמודות ולאחר מכן באלכסונים ומוסיפה ערכים קבועים שונים לפי טבלה בהתאם למספר הסבב. לאחר מכן המצב הפנימי נדחס לחצי מאורכו והפלט מופק יחד עם הגיוון (Salt).
BLAKE פועלת ברמה של מילים באורך 32 סיביות (או 64 סיביות במקרה של BLAKE-512). הסימונים המוסכמים הם: הקלט formula_7 באורך כלשהו מחולק ל-formula_8 בלוקים באורך 16 מילים כל אחד: formula_9. המילים מייצגים מספרים שלמים בלתי מסומנים כאשר ההמרה מבתים למילים היא לפי סדר בתים גדול. הביטוי formula_10 מתייחס לבלוק ה-formula_11 של formula_7 ואילו הביטוי formula_13 מתייחס למילה ה-formula_14 של בלוק כלשהו, לכן formula_15 מייצג את המילה ה-formula_14 של הבלוק formula_11 של formula_7. המילים בבלוק הראשון מיוצגות על ידי: formula_19, בבלוק הבא המספר העילי מתחלף ל-1 וכן הלאה.
BLAKE-256.
הערכים ההתחלתיים של BLAKE לקוחים מתקן SHA-2:
ב-BLAKE-256 יש 16 קבועים שהם ספרות פאי בנקודה כלשהי:
בנוסף כל פונקציות משפחת BLAKE משתמשות בטבלת התמורות הבאה:
הטבלה מכילה 10 שורות כשבכל שורה 16 בתים. השימוש בטבלה מתבצע על ידי שני אינדקסים, האחד מייצג את השורה והשני את הכניסה. למשל formula_20 מייצג את הכניסה הראשונה בשורה הראשונה ואילו formula_21 היא הכניסה האחרונה בשורה האחרונה. שתיהן אפס במקרה זה.
פונקציית דחיסה.
פונקציית הדחיסה הפנימית של BLAKE-256 מקבלת ארבעה פרמטרים:
בסך הכול מונים הפרמטרים 30 מילים (120 בתים). פלט הפונקציה הוא ערך ביניים חדש formula_30 המכיל 8 מילים, כלומר:
אתחול המצב הפנימי.
המצב הפנימי formula_32 של פונקציית הגיבוב מורכב מ-16 מילים formula_33 המסודרים כמטריצה עם ארבע שורות וארבע עמודות ומאותחל על ידי הערכים formula_34 ו-formula_28 לפי הסדר הבא:
formula_36
פונקציית הסבב.
פונקציית הדחיסה מבצעת 14 סבבים בהם היא מעבדת את המצב לפי הפירוט הבא:
כלומר הפונקציה הפנימית מבוצעת בכל פעם על כניסות אחרות של formula_32 (כמתואר בתרשים). ארבע הקריאות הראשונות formula_38 לפונקציית הסבב הפנימית מעבדות את כניסות formula_32 בעמודות וכיוון שהן נפרדות זו מזו אפשר לבצען באופן מקבילי. כמו כן ארבע הקריאות האחרונות formula_40 מעבדות כניסות המטריצה באלכסונים וגם הן נפרדות ולכן גם הן ניתנות לביצוע מקבילי.
בכל סבב formula_3 הקריאה לפונקציה formula_42 מבצעת את החישוב הבא: