סרפנט (צופן)

סרפנט
מידע כללי
תכנון רוס אנדרסון, אלי ביהם, לארס קנודסן
פרסום 2000
מבוסס על SQUARE
מבנה הצופן
אורך מפתח 128/192/256 סיביות
אורך בלוק 128 סיביות
מבנה רשת החלפה-תמורה
מספר סבבים 32
קריפטואנליזה
לא קיימת קריפטואנליזה של מלוא הסבבים של הצופן שהיא טובה באופן משמעותי מכוח גס.

סרפנטאנגלית: Serpent) הוא צופן בלוקים סימטרי שפותח ב-1998 על ידי רוס אנדרסון - קיימברידג', אלי ביהם - הטכניון ולארס קנודסן - אוניברסיטת ברגן, במטרה להוות מועמד לתקן ההצפנה המתקדם.[1] זהו צופן בעל תכנון שמרני ושולי ביטחון הגבוהים ביותר מבין כל המועמדים האחרים שהוצעו במהלך התחרות. בסופו של דבר הגיע למקום השני וריינדל נבחר כאלגוריתם הזוכה. סרפנט משתמש בתיבות החלפה (s-box) דומות ל-DES במבנה חדש המאפשר אפקט כדור השלג מהיר, ניתן ליישום יעיל בטכניקת bitslice[2], קל ופשוט לניתוח, מהיר לפחות כ-DES במחשב אינטל נפוץ ובטוח יותר מ-DES משולש. מימוש ממוטב של הצופן כפי שהוצע לתקן מופץ תחת GPL לשימוש חופשי, למרות שבקוד מצוין אחרת.

שיקולי פיתוח

בשל גישה שמרנית, נמנעו המפתחים מלהכניס בצופן טכנולוגיות חדשות ובלתי מוכרות, בשל הכוונה לייעדו להצפנת מידע רב בעל חשיבות כמידע פיננסי, בריאותי או ממשלתי. לכן בתחילה הוחלט על שימוש בתיבות ההחלפה של DES שנחקרו לעומק לאורך שנים על ידי מיטב המומחים, אך במבנה ממוטב המתאים יותר למעבדים מודרניים. ההיגיון היה לרכוש את אמון הציבור ובעיקר להוכיח שלא הוכנסה דלת אחורית. ההצעה המקורית פורסמה בסדנה החמישית של Fast Software Encryption שהתקיימה ב-1998 בפריז (כיום בחסות IACR). לאחר מכן עבר האלגוריתם שיפורים אחדים, תיבות ההחלפה הוחלפו בתיבות אחרות שמציעות עמידות טובה יותר כנגד התקפות בעיקר דיפרנציאליות ושונתה פרוצדורת הרחבת המפתח. בשל כך סומנה הגרסה הראשונה Serpent-0, והגרסה המשודרגת שהייתה מועמדת לתקן Serpent-1. עיקר ההשראה לצופן סרפנט מקורה בטכנולוגיה bitslice - שהיא מעין חישוב מקבילי, שפותחה על ידי אלי ביהם עבור DES במטרה לאפשר הצפנה מקבילית של בלוקים כדי לשפר את מהירותו, מאז התגלתה ככלי שימושי למטרות נוספות. סרפנט משיג ביצועים טובים ביישום מעשי בשל המקביליות של טכניקת bitslice.

תיאור האלגוריתם

טרנספורמציית הערבוב הליניארית של סרפנט, הסימן מייצג הזזה מעגלית לשמאל במספר פוזיציות לפי הערך שלימינו והסימן מייצג הזזה לשמאל (shift left), הסימן מייצג XOR

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

  • פרמוטציה ראשונית (Initial Permutation) החלפה בטבלת תמורה קבועה.
  • 32 סבבים שבכל אחד מהם מערבבים תת-מפתח מתאים עם הקלט באמצעות XOR, את התוצאה מחליפים באמצעות תיבות ההחלפה של סרפנט (להלן) ולמעט בסבב האחרון מוסיפים העתקה ליניארית (להלן). בסבב האחרון מוחלפת ההעתקה הליניארית בערבוב נוסף עם המפתח באמצעות XOR.
  • פרמוטציה מסיימת (Final Permutation) החלפה הופכית שמבטלת את ההחלפה הראשונה.

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

ובניסוח פורמלי:

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

ואילו בסבב האחרון מתבצע חיבור נוסף עם חלק המפתח המתאים במקום הפונקציה הליניארית:

.

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

תיבות ההחלפה

תיבות ההחלפה של סרפנט הן תמורה של ארבע סיביות בעלת תכונות דיפרנציאליות וליניאריות המותאמות במיוחד כנגד ההתקפות הידועות. ערכי התיבות המקוריות (בגרסה Serpent-0) חושבו בתהליך הבא; תחילה נבנתה מטריצה בגודל 32 על 16 שבה הועתקו 32 השורות מתיבות ההחלפה של DES ואז בוצעו החלפות בין כניסות בשורה לפי ערכים משורה ולפי מחרוזת קבועה המייצגת מפתח. אם התוצאה מפגינה תכונות ליניאריות ודיפרנציאליות טובות, נשמרת כתיבת החלפה של סרפנט. על תהליך זה חוזרים מספר פעמים עד שמשלימים את כל התיבות. באופן פורמלי; תחילה מכינים מערך המכיל את ארבע הסיביות הנמוכות של כל האותיות במחרוזת "sboxesforserpent" ומערך דו־ממדי בגודל 32x16 המכיל את 32 השורות של תיבות ההחלפה של DES כאשר מייצג שורה , המהלך מתואר בפסאודו קוד הבא:

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

העתקה ליניארית

הווקטור מחולק תחילה לארבע מילים בגודל 32 סיביות ואז מעורבב ליניארית כדלהלן:

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

פענוח

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

הרחבת מפתח

כאמור הצופן זקוק ל-132 מילים של 'חומר-מפתח' כל אחת בגודל 32 סיביות. אם מפתח הצופן קטן מ-256 סיביות, תחילה מרפדים את המפתח בסיבית '1' ולאחריה אפסים לפי הצורך עד לקבלת מחרוזת של 256 סיביות. ואז מרחיבים אותו ל-33 תת-מפתחות בגודל 128 סיביות כדלהלן: משתמשים במערך עזר של שמונה מילים בגודל 32 סיביות אותו מרחיבים לפי הנוסחה:

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

לאחר מכן הקבוצה 4-7, 8-11 וכן הלאה. כאשר תיבות ההחלפה נבחרות לפי הנוסחה ו-. כאשר הצופן מיושם בשיטה הקונבנציונלית מחשבים בסוף כל סבב את התמורה .

ביטחון הצופן

בהגדרה המקורית של הצופן בהתחשב בעובדה שהוא מבוסס על התכונות הידועות של תיבות ההחלפה של DES ההתקפה הטובה ביותר האפשרית מוערכת יותר מ-. בגרסה המשופרת Serpent-1 שהוצעה במהלך בחירת התקן תיבות ההחלפה החדשות הפגינו תכונות טובות יותר והערכת המפתחים היא שלא קיימת התקפה טובה יותר מחיפוש ממצה (ניסוי פענוח עם כל המפתחות האפשריים) ולכן ההתקפה הטובה ביותר האפשרית גם בניתוח דיפרנציאלי או ליניארי תהיה בסיבוכיות של (k הוא גודל המפתח). במקרה של מפתח 256 סיביות כמות כזו של טקסטים פשוט לא קיימת. לכל מפתח נתון צפויים דיפרנציאלים בהסתברות . נתון זה צפוי בכל המועמדים לתקן החדש. לא ידוע על התקפה יעילה יותר כנגד סרפנט וכן צריך לזכור שללא תלות בצופן שבשימוש, לא מומלץ להצפין עם אותו מפתח בלוקים. התקפה ליניארית בגרסת 11 סבבים של הצופן אפשרית בסיבוכיות של בזמן של [3].

ב-2011 קריפטואנליזה של סרפנט במספר מצומצם של סבבים הראתה שאפשר לשבור את הצופן עם המפתח 128 ב-11 סבבים עם טקסטים ידועים ובזמן ו- זיכרון[4]. ועם מפתח 256 ההתקפה הטובה ביותר על 12 סבבים הייתה של טקסטים ידועים זיכרון וזמן של . כזכור בצופן 32 סבבים.

יישום יעיל (Bit-slice)

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

ראו גם

קישורים חיצוניים

הערות שוליים

  1. ^ מאמר הצעת הצופן: Serpent: A proposal for the advanced encryption standard‏, 1998
  2. ^ Eli Biham (1997). "A Fast New DES Implementation in Software".
  3. ^ Linear Cryptanalysis of Reduced Round Serpent (2002)
  4. ^ Improving the Algorithm 2 in Multidimensional Linear Cryptanalysis

Read other articles:

Hong Kong has the highest GDP per capita in China (US$46,753). The scope listed in the table is top prefectures by GDP per capita over ten thousand US dollars, including direct-administered municipalities and special administrative regions that are roughly comparable in area and economic volume. The unit of measurement for the data listed is the local currency renminbi. In order to facilitate international comparison, the local currency is converted into United States dollars. Methodology Ma...

 

  لمعانٍ أخرى، طالع مقاطعة كالدويل (توضيح). مقاطعة كالدويل     الإحداثيات 35°57′N 81°33′W / 35.95°N 81.55°W / 35.95; -81.55  [1] تاريخ التأسيس 1841  سبب التسمية جوزيف كالدويل  تقسيم إداري  البلد الولايات المتحدة[2][3]  التقسيم الأعلى كارولاينا الشما...

 

Сванский язык Самоназвание ლუშნუ ნინ Страны  Грузия Регионы Сванети Общее число говорящих 15 000 (2000 год)[1] Статус есть угроза исчезновения[2] Классификация Категория Языки Евразии Картвельская семья Письменность бесписьменный Языковые коды ГОСТ 7.75–97 свс 58...

Об экономическом термине см. Первородный грех (экономика). ХристианствоБиблия Ветхий Завет Новый Завет Евангелие Десять заповедей Нагорная проповедь Апокрифы Бог, Троица Бог Отец Иисус Христос Святой Дух История христианства Апостолы Хронология христианства Ран�...

 

Debbie ReynoldsReynolds pada tahun 1954LahirMary Frances Reynolds(1932-04-01)1 April 1932El Paso, Texas, A.S.Meninggal28 Desember 2016(2016-12-28) (umur 84)Los Angeles, California, A.S.PekerjaanAktris, penyanyi, penari, aktivis, penghibur, pebisnisTahun aktif1948–2016Suami/istriEddie Fisher ​ ​(m. 1955; c. 1959)​ Harry Karl ​ ​(m. 1960; c. 1973)​ Richard Hamlett ​ ​(...

 

Former railway station in Surrey, England Staines WestMain building seen from the south in 2017General informationLocationStaines-upon-Thames, SpelthorneEnglandGrid referenceTQ033718Platforms1Other informationStatusDisusedHistoryOriginal companyStaines & West Drayton RailwayPre-groupingGreat Western RailwayPost-groupingGreat Western RailwayKey dates2 November 1885 (1885-11-02)Opened as Staines26 September 1949Renamed Staines West29 March 1965 (1965-03-29)Clos...

Disambiguazione – Se stai cercando altri significati, vedi Procuratore generale (disambigua). Questa voce o sezione sull'argomento diritto penale non cita le fonti necessarie o quelle presenti sono insufficienti. Puoi migliorare questa voce aggiungendo citazioni da fonti attendibili secondo le linee guida sull'uso delle fonti. Segui i suggerimenti del progetto di riferimento. Il sigillo del Dipartimento di Giustizia degli Stati Uniti d'America Il procuratore generale, noto in inglese ...

 

Stub sorting This template is maintained by WikiProject Stub sorting, an attempt to bring some sort of order to Wikipedia. If you would like to participate, you can choose to improve/expand the articles containing this stub notice, or visit the project page, where you can join the project and see a list of open tasks.Stub sortingWikipedia:WikiProject Stub sortingTemplate:WikiProject Stub sortingStub sorting articles Military history: World War II Template‑classThis template is within the sc...

 

American artist Sheila MarbainBornSheila Oline1927 (1927)London, EnglandDied2008 (aged 80–81)Brooklyn, New YorkKnown forPrintmakerSpouseAry MarbainChildren1 Sheila Marbain (1927–2008) was a master printmaker known for establishing Maurel Studios, and for her collaborative works with Pop artists. Biography Marbain nee Oline was born in London, England. In 1939 her family immigrated to the United States. There she married fellow artist Ary Marbain, with whom she had one c...

College-preparatory school in New York City , New York, United StatesSt. Francis Preparatory SchoolAddress6100 Francis Lewis BoulevardNew York City (Fresh Meadows, Queens), New York 11365United StatesCoordinates40°44′32″N 73°46′34″W / 40.74222°N 73.77611°W / 40.74222; -73.77611InformationOther nameSt. Francis PrepSchool typePrivate, College-preparatory schoolMottoLatin: Deus Meus et Omnia(My God and My All)Religious affiliation(s)Roman CatholicPatron saint...

 

Subsidiary of Volkswagen AG Volkswagen Group RusNative nameФОЛЬКСВАГЕН Груп РусCompany typeSubsidiaryIndustryAutomotiveFounded2003; 21 years ago (2003)[1]Defunct22 May 2023HeadquartersMoscow, RussiaNumber of locations3[2] (2021)Area servedRussiaKey peopleStefan Mecha CEO[3]ProductsAutomobiles, Automotive partsProduction output182,200[3] (2020)ServicesAutomotive financial servicesParentVolkswagen AGWebsitewww.vwgroup...

 

この記事は検証可能な参考文献や出典が全く示されていないか、不十分です。出典を追加して記事の信頼性向上にご協力ください。(このテンプレートの使い方)出典検索?: コルク – ニュース · 書籍 · スカラー · CiNii · J-STAGE · NDL · dlib.jp · ジャパンサーチ · TWL(2017年4月) コルクを打ち抜いて作った瓶の栓 コルク(木栓、�...

Protected beach of California, United States, in Humboldt County Not to be confused with Little River beach in Van Damme State Park, California. Little River State BeachLittle River estuary at the north end of Little River State Beach.Show map of CaliforniaShow map of the United StatesLocationHumboldt County, United StatesNearest cityMcKinleyville, CaliforniaCoordinates41°00′58″N 124°06′35″W / 41.01611°N 124.10972°W / 41.01611; -124.10972Area152 acres ...

 

BangjjaPerangkat bangjja di Restoran Tongil, Korea UtaraNama KoreaHangul방짜 / 유기 Hanjanone / 鍮器 Alih Aksarabangjja / yugiMcCune–Reischauerpangtcha / yuki Bangjja atau yugi, adalah kerajinan tangan perunggu dari Korea. Perangkat lengkap bangjja termasuk tempat makanan seperti piring, mangkuk, sendok dan sumpit. Bangjja adalah produk yang unik karena memiliki perbedaan jumlah kandungan timah yang lebih tinggi daripada dengan produk dari perunggu lainnya (Cu:Sn = 78:22), sementara r...

 

Indo-Aryan language KhetraniNative toPakistanNative speakersover 100,000 (2017)[1]Language familyIndo-European Indo-IranianIndo-AryanNorthwesternSindhic? Lahnda?KhetraniLanguage codesISO 639-3xheGlottologkhet1238Khetrani is a minor language of Pakistan which is mainly spoken in Barkhan District, it is given a space in this map. Khetrānī, or Khetranki,[2] is an Indo-Aryan language of north-eastern Balochistan. It is spoken by the majority of the Khetrans,[3]...

مالكولم باريت مالكولم باريت خلال سان دييغو كومك كون إنترناشونال عام 2017 معلومات شخصية الميلاد 22 أبريل 1980 (العمر 44 سنة)بروكلين مواطنة الولايات المتحدة  الحياة العملية المدرسة الأم ثانوية ستايفسنت  [لغات أخرى]‏  المهنة ممثل اللغة الأم الإنجليزية  اللغات الإنج...

 

غمسي تقسيم إداري البلد السعودية  تعديل مصدري - تعديل   غُمسي قرية تقع شرقي الهفوف، تبعد عنها حوالي 15 كيلو مترًا، عدد ساكنيها 500 شخص، وهي تعد صغيرة بالنسبة للقرى الأخرى، بالإضافة إلى أنها تتقارب مع قرى صغيرة أخرى، ولولا الشوارع وقطع المزارع التي تفصلهم عن بعض لأصبحت قري...

 

يفتقر محتوى هذه المقالة إلى الاستشهاد بمصادر. فضلاً، ساهم في تطوير هذه المقالة من خلال إضافة مصادر موثوق بها. أي معلومات غير موثقة يمكن التشكيك بها وإزالتها. (ديسمبر 2018) 2014 في أستراليامعلومات عامةالسنة 2014 البلد أستراليا 2013 في أستراليا 2015 في أستراليا تعديل - تعديل مصدري - تعد�...

Orazione a favore di Aulo Cluenzio AbitoTitolo originalePro Aulo Cluentio Habito AutoreMarco Tullio Cicerone 1ª ed. originale66 a.C. Genereorazione Sottogenerepolitica Lingua originalelatino Modifica dati su Wikidata · Manuale La Pro Aulo Cluentio Habito (Orazione in difesa di Aulo Cluenzio Abito) è l'arringa tenuta da Cicerone, quarantenne, nel 66 a.C., dinanzi al tribunale penale competente per i crimini di veneficio (quaestio de sicariis et veneficis). È tra le più lunghe e compl...

 

The following highways are numbered 709: Canada Saskatchewan Highway 709 Costa Rica National Route 709 United States SR 709 PA 709 (former) PR-709 FM 709 Preceded by708 Lists of highways709 Succeeded by710 vteList of highways numbered ...0–9 0 1 1A 1B 1D 1X 2 2A 2N 3 3A 3B 3C 3E 3G 4 4A 5 5A 5B 6 6A 6N 7 7A 7B 7C 8 9 9A 9B 9E 9W 10–16 10 10A 10N 11 11A 11B 11C 12 12A 12B 12C 12D 12E 12F 13 13A 14 14A 15 15A 16 16A 17–22 17 17A 17B 17C 17E 17F 17J 18 18A 18B 18C...