בלוק המסר מחולק לשני חצאים עליון ותחתון, כל אחד באורך 8 בתים (64 סיביות). ההצפנה מבוצעת בשישה עשר סבבים שבכל אחד מהם החצי התחתון מעובד בית אחר בית ואילו העליון נותר ללא שינוי. תכולת החצי העליון משמשת כקלט לפונקציה הפנימית והפלט שלה משמש כמפתח להצפנת החצי התחתון על ידי חיבור מודולו 2 (XOR) של הסיביות. לאחר כל סבב שני החצאים מחליפים מקומות. המפתח מחולק לשישה עשר בתים מתוכם משתמשים רק בשמונה הראשונים בכל סבב. בכל סבב כל בתי המפתח עוברים הזזה מעגלית שבעה בתים לשמאל (פעם אחת עבור כל בית מסר למעט הבית האחרון). כלומר יוצא שבסבב הראשון משתמשים בבתים 0 עד 7, בסבב השני בבתים 7 עד 14, בשלישי 14 עד 5 וכן הלאה, הבית המסיים בכל סבב פותח בסבב שלאחריו. בפענוח פועלים בסדר הפוך. תחילה מזיזים את המפתח בהזזה מעגלית שמונה בתים ומתחילים בבית 9 עד בית 0, בסבב שלאחריו מבית 2 עד 9, אחריו 11 עד 2 וכן הלאה.
הצופן כולל שתי תיבות החלפה אי-ליניאריות formula_22. הבית הראשון של מפתח הסבב נקרא "בית בקרה". כלומר שמונה סיביות הבית משמשות כדגלים לבחירת תיבות ההחלפה עבור שמונה בתי הדטה בהתאמה. כל תיבת החלפה מקבלת 4 סיביות ומחזירה 4 סיביות (ספרה הקסדצימלית אחת), לכן כל בית מחולק לשניים. אם הדגל הוא 1 מתבצעת החלפה בין שני חצאי הבית ואם הדגל הוא אפס הם נותרים ללא שינוי. בכל בית החצי הראשון מוחלף על ידי formula_41 והשני על ידי formula_42. לאחר מכן מבצעים תמורה (סידור מחדש) של הסיביות לפי טבלת תמורה קבועה formula_43.
לאחר התמורה מתבצע החיבור עם החלק התחתון של הדטה, שנעשה לפי סדר שנקבע על ידי טבלת "פיתול" (כמתואר בתרשים). כלומר החצי העליון לאחר טרנספורמציות ההחלפה/תמורה ושילוב מפתח מחובר ב-XOR עם החצי התחתון לפי הסדר שנקבע בטבלה. פעולה זו מכונה פיזור (diffusion) כיוון שתוצאת הטרנספורמציות על החצי העליון מתפזרת על פני החצי התחתון. ואז שני החצאים מחליפים מקומות וחוזרים שוב להתחלה, כך שש עשרה פעמים.
שלושת הפעולות המתוארות נקראות לפי הסדר: ערבוב, שבירה, פיזור. תיבות ההחלפה מספקות ערבוב, הוספת המפתח יוצרת מעין מחסום נגד קריפטואנליזה על ידי הוספת סודיות ולבסוף הפיזור נעשה על ידי תמורה וחיבור חצי אחד של הדטה עם החצי השני לפי סדר מסוים. הקונספט הוצע לראשונה על ידי קלוד שאנון ונחשב עד ימינו למבנה טוב מבחינה קריפטוגרפית ואף אומץ על ידי צפנים חדשים כמו Blowfish. אולם כאמור אלי ביהם וישי בן ארויה מהטכניון הוכיחו שצופן לוציפר בגרסה המתוארת אינו עמיד נגד התקפה דיפרנציאלית. לפחות מחצית מטווח המפתחות האפשריים אינם בטוחים, וניתן למצוא מפתח כזה בסיבוכיות זמן של formula_44 ובכמות של formula_44 טקסטים נבחרים.
פסאודו קוד.
בקוד הבא למען הנוחות המסר בנוי כמערך תלת-ממדי 8x8x2 בתים כשכל בית מייצג סיבית אחת בלבד (אפס או אחד). באופן דומה המפתח בנוי כמערך דו-ממדי 8x16 בתים. למעט ההחלפה האחרונה כל ההחלפות בין החצאים מתבצעות על ידי החלפת מצביעים במקום החלפה פיזית. וכן לצורך יעילות מספר פעולות שולבו יחד, בשלב הראשון תיבות ההחלפה משולבות יחדיו עם בית הבקרה וכן בשלב השני הוספת המפתח משולבת עם התמורה הקבועה וכן מתבצעת המרה ממערך סיביות למספר שלם וההפך. ברור הקוד אינו ממוטב וניתן לבצע שיפורים רבים (במיוחד בעיית אחסון סיביות במערך בתים), אלה לא בוצעו למען הפשטות וכדי להתאימו לתיאור ולתרשים לעיל.
Lucifer( m, k, d ) // m = m[0 to 7][0 to 7][0 to 1], k = k[0 to 7][0 to 15], d=1 indicates decipher
O = { 7, 6, 2, 1, 5, 0, 3, 4 } // convolution registers
R = { 2, 5, 4, 0, 3, 1, 7, 6 } // permutaion table
s_0 = { 12, 15, 7, 10, 14, 13, 11, 0, 2, 6, 3, 1, 9, 4, 5, 8 } // s-box 0
s_1 = { 7, 2, 14, 9, 3, 11, 0, 4, 12, 13, 1, 10, 6, 15, 8, 5 } // s-box 1
h0 = 0, h1 = 1 // pointers to the message halfs
kc = 0
if( d == 1 ) kc = 8
For i = 1 to 16 do
if( d == 1 ) kc = (kc + 1) mod 16
ks = kc // ks is the control byte
For j = 0 to 7 do
l = 0, h = 0
// construct integers of two nibbles of current message byte
For k=0 to 3 do
l = l * 2 + m[7 - k, j, h1]
For k=4 to 7 do
h = h * 2 + m[7 - k, j, h1]
// controlled interchange and s-box permutation
v = (s_0[l] + 16 * s_1[h]) * (1 - k[j, ks]) + (s_0[h] + 16 * s_1[l]) * k[j, ks]
// convert back to bit array
For k=0 to 7 do
tr[k] = v mod 2
v = v / 2
// combined key interruption and permutaion
For k=0 to 7 do
m[k, (O[k] + j) mod 8, h0] =
((k[R[k], kc] + tr[R[k]] + m[k, (O[k] + j) mod 8, h0]) mod 2
If ( j &lt; 7 or d == 1 ) kc = (kc + 1) mod 16
swap( h0, h1 ) // swap pointers only
swap( m[*, *, 0], m[*, *, 1] ) // phisically swap upper with lower halfs of the message
הורוכיב
ארכעוו
אמנת שיתוף פעולה לפטנטים
אמנת שיתוף פעולה לפטנטים (באנגלית: Patent Cooperation Treaty, בראשי תיבות: PCT) היא אמנה בינלאומית בנוגע לפטנטים, אשר נוצרה בוושינגטון ב-19 ביוני 1970. האמנה מספקת נוהל אחיד בכל הקשור להגשת בקשות לפטנטים, וזאת על מנת להגן על ההמצאות מכל מדינה שממנה מוגשות הבקשות להמצאות, וליצור סדר בתהליך ההגשה. בקשה לפטנט אשר מוגשת תחת אמנה זו נקראת "בקשה בינלאומית" או "בקשת PCT".
בכל מדינה אשר חתומה על הסכם זה קיים גוף רשמי העוסק בבחינת פטנטים. למשל, במדינת ישראל קיימת רשות הפטנטים, המדגמים וסימני המסחר, שהיא חלק ממשרד המשפטים.
בקשה לפטנט אשר מוגשת תחת אמנת שיתוף הפעולה לפטנטים מטופלת ראשית כל על ידי הגורם הרשמי הרלוונטי לפטנטים במדינה שבה היא מוגשת ("מדינה מקבלת" ובאנגלית: Recieving Office, ראשי תיבות: RO); למשל, רשות הפטנטים, המדגמים וסימני המסחר הישראלית אחראית בין היתר על טיפול בבקשות לפטנטים שמוגשות בישראל (בין אם מקורן בחו"ל ובין בישראל). רשות הפטנטים, המדגמים וסימני המסחר הישראלית משמשת גם כרשות בינלאומית לחיפוש פטנטים ולבדיקות ראשוניות.
כל אחת מן המדינות אשר משתתפות באמנה זו מרכיבות יחדיו את איגוד הפטנטים הבינלאומי (International Patent Corporation Union). ניתן להגיש בתוך בקשת PCT אחת, בקשה לבדיקת פטנט בעד כ-148 מדינות שונות, ובכך להביא לבדיקת הפטנט במספר מדינות בו-זמנית. רוב מדינות העולם רשומות היום תחת אמנת ה-PCT. כל מדינה אשר חברה באמנת פריז יכולה להפוך להיות חלק מאיגוד הפטנטים הבינלאומי ובכך להצטרף גם לאמנת ה-PCT. לעיתים ממציאים בוחרים בהגשת בקשת PCT בשל היתרון הגלום בבקשה מסוג זה בפן לוחות הזמנים שהיא מעניקה לממציאים.
לאחר מכן, כ-6 חודשים לאחר הגשת הבקשה הבינלאומית, מתבצע תהליך בדיקה על ידי אחת מן הרשויות הבינלאומיות המוכרות לחיפוש פטנטים (International Searching Authority, ראשי תיבות: ISA), זאת על מנת לחפש האם כבר קיים פטנט זהה לזה אשר נבדק בבקשה. התהליך מתבצע בצירוף חוות דעת (Written Opinion, ראשי תיבות: WO) בנוגע לרמת הסיכוי של ההמצאה להפוך לפטנט. לעיתים התהליך כרוך גם בבדיקה ראשונית של בקשת הפטנט, הנקרא דו"ח בחינה מקדימה (International preliminary examination report, ראשי תיבות: IPRP) המתבצע על ידי אחת מן הרשויות הבינלאומיות לבדיקות ראשוניות (International Preliminary Examining Authority, ראשי תיבות: IPEA) וכולל התייחסות לחידוש, התקדמות המצאתית ויכולת השימוש התעשייתי בהמצאה.
אף על פי שהאמנה היא בינלאומית, הגשת בקשה תחת האמנה (או לחלופין הגשת PCT) לא מהווה אסמכתה לאישור בינלאומי על פטנט מסוים. זאת משום שבדיקת הבקשה לפטנט צריכה להתבצע בכל אחת מהמדינות בהן מעוניינים לרשום את הפטנט בנפרד, שהרי לא קיים פטנט שהוא "פטנט בינלאומי" ונדרשת בדיקה פרטנית בכל מדינה (שבה מעוניינים לרשום את הפטנט).
בכל אחת מן המדינות בה מוגשת הבקשה לפטנט, הבקשה יכולה להתקבל או להידחות - בהתאם לחוקים והתקנות בכל מדינה.
היסטוריה והיווצרות האמנה.
הצורך בפטנט בינלאומי שיגן על הממציא בכל העולם הורגש במשך שנים רבות. האמנה נחשבת כצעד ראשון בכיוון זה.
מ-25 במאי ועד 19 ביוני 1970 התקיימה בוושינגטון ועידה דיפלומטית בנוגע לאמנה, אשר נחתמה ביומה האחרון של הוועידה, ב-19 ביוני 1970. האמנה נכנסה לתוקפה ב-24 בינואר 1978, תחילה בכ-18 מדינות שונות בלבד. בקשת ה-PCT הראשונה הוגשה ביוני 1978. בשנת 1979 יצא תיקון לאמנה, ובין השנים 1984 — 2001 האמנה נערכה ועברה מספר שינויים.
תהליך בקשת ה-PCT.
היתרון והמטרה העיקריים בהגשת בקשה מסוג PCT היא הזמן הנוסף אשר עומד לרשותו של הממציא להחליט באלו מדינות להגיש את בקשת הפטנט. במדינות רבות, הגשת בקשת הפטנט עולה כסף רב, במיוחד כאשר המדינה דורשת שהבקשה תוגש בשפתה. האמנה מאפשרת לממציא זמן נוסף להעריך את שווי האמצאה ואת הכדאיות להגיש עבורה בקשת פטנט במדינות שונות.
יתרון נוסף בבקשה מסוג PCT הוא כי ייתכן ויידרשו פחות בדיקות ומבחנים שונים לפטנט הודות לדו"ח החיפוש הבינלאומי שהתהליך מצריך וכן חוות הדעת שנכתבת על הפטנט.
תהליך ה-PCT מתחלק לשני חלקים עיקריים: הגשה בינלאומית ולאחריה הגשות לכל מדינה בה מעוניינים לרשום את הפטנט (בתנאי שהיא שייכת לאמנת ה-PCT).
בשלב הראשון מוגשת בקשה בינלאומית (International Patent Application).