הצפנה - עזרה

PHTLS

New member
הצפנה - עזרה

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

sprk78

New member
שלום יש לך ספר מעולה בשם

סודות ההצפנה של סינג סיימון. בהצלחה.
 

PHTLS

New member
היה לי אותו.. ואיבדתי אותו..

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

sprk78

New member
אוקיי אז ככה

RSA,PGP,substitution cipher,caesar shift substitution cipher, homophonic substitution cipher,monoalphabetic substitution cipher, polyalphabatic substitution cipher, vigenere cipher, transposition cipher,des וכמובן הכי קשה ליישום צופן הקוונטי :) מניסיון RSA ממש קל. בהצלחה
 

PHTLS

New member
RSA קל ?

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

sprk78

New member
לא יודע מה לומר לך כי אני לא יודע

מהי רמתך במחשבים. RSA זה סה''כ אלגוריתם מתמטי שאתה צריך להציב בנוסחאות שכתובות. אתה צריך להציב 2 מספרים ראשוניים גדולים מאוד (אם אתה רוצה אבטחה טובה מעל 100 ספרות לכל מספר). לאחר מכן את המספר שיוצא מהמכפלה אתה יכול לפרסם וכד'. צופן ההחלפה הוא הפשוט ביותר לדעתי, למרות שניתן בקלות להפוך אותו לבין המורכבים אם תמצא אלגוריתם חכם שיעשה החלפה מסויימת בין כל 2 תווים.
 

1ca1

New member
RSA מאוד פשוט דווקא

אולי האתגר הוא בפיצוח, כלומר למצוא הופכיים מודולריים, אבל את זה אפשר לעשות בקלות ע"י אלגוריתם אוקלידס (שהאימפלמנטציה שלו במחשב פשוטה מאוד) הבעיה אולי היא ליצור את המספרים הזרים יחסית ברנדומליות... ד"א תעשה משהו דומה לPGP אם כבר, תצפין רק את המפתחות בRSA (שזה קובץ קטן יחסית), ואת הקובץ עצמו תצפין בDES או שיטה פשוטה אחרת עם המפתח שמוצפן בRSA
 

PHTLS

New member
חישפתי בגוגל.. אני לא מוצא..

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

sprk78

New member
אתה יכול להכניס מפתח שהמשתמש

יכניס מילה כלשהי והיא תחשב קירוב ע''י הערך ה ASCII שלהם. נניח המשתמש הכניס RSA כמילה ונניח לאחר חישוב כל ערך וסכומם יצא לך 150 תחפש את הערך הראשוני הקרוב ביותר לערך הזה. הערך השני יהיה אקראי או עוד מילת מפתח תלוי בך. אתה יכול ליצור כל נוסחא שתחשב לך קירוב לערך הראשוני. אחרי שיש לך 2 ערכים ראשוניים זה פשוט. מצאתי מלא אתרים גם בעברית תנסה בגוגל העברי אלגוריתם RSA תראה כמה אתרים תקבל. האלגוריתם הכי טוב לצורך אי פענוח הוא ההחלפה, אבל 2 הצדדים צריכים לדעת מה המפתח בכדי לפענח (לא קל לפענח אותו). האלגוריתם ההצבה כמו של ו'יזנר קל לפיענוח ע''י הסטוגרמות. אבל אתה יכול להשתמש ב הצבה כפולה + החלפה. בקיצור תשלב בין הדברים. בהצלחה בהצלחה
 

PHTLS

New member
הסטוגרמות = תדירות הופעת אותיות ?

כי אם כן אז זה ממש לא נכון שאפשר לפענח את וויז'נר ככה.. בטח כאשר מבצעים אותו פעם אחרי פעם.. בכל אופן.. ניגשתי ל-RSA וגיליתי שאני לא זוכר כלום.. תוכל להפנות אותי להסבר טוב עליו בעברית ..?
 

PHTLS

New member
בעצם..

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

sprk78

New member
לפי מה שביקשת

נניח אתה רוצה להצפין את הטקסט הבא abcd - key key: abcdabcdabcdab text: This is a test לכל אות תעשה את ערכה הבינארי מקווה שאתה יודע איך נניח T - 01010101 זה לא הערך אבל נניח נניח הערכים הבינאריים של a- 01101010 b- 01101011 c- 01010100 d- 01010101 לאחר מכן נניח שאתה רוצה להצפין T+a h+b i+c s+d space+a i+a and so on אקבל טקסט מוצפן כמובן שהחיבור הוא בינארי או שתוכל לעשות XOR תוכל להקשות ולקחת ערכים של כל 2 צמדים ואז להצפין בעזרת סידרת הפרשים תוכל להפוך את כל הסיביות מ 0 ל 1 וכד'. ניתן לשחק עם זה ככל שתרצה. בהצלחה.
 

PHTLS

New member
מצויין ! תודה..

אני אלך על הרעיון של הבינארי.. עוד רעיון ..?
 

sprk78

New member
כן יש עוד הרבה,

ההצפנה הכי טובה זה כיווץ. יש לך כמה אלגוריתמים לכיווץ HUFFMAN,LZW,BWZIP,ARITHMETIC ועוד ועוד. ושם תוכל לשכלל את השיטות כרצונך. יש עוד מלא שיטות תגיד מה אתה בידיוק צריך?
 

PHTLS

New member
כיווץ - לא טוב..

בכיווץ אין מפתח.. כל אחד שיודע את האלגוריתם יכול לפענח.. אני אעשה הצפנה עם הקוד הבינארי, עשיתי כבר הצפנת אסקי (וויז'נר).. בסה"כ אני רוצה שלתוכנה יהיו 3 הצפנות שהלקוח יוכל לבחור ביניהן.. נראה לי שאני אעשה את השלישית כשילוב של שתי הראשונות.. תודה על הכל :)
 

sprk78

New member
ברור שבכיווץ אין מפתח , אתה יכול

לגרום לכך שיהיה מפתח. נניח עד אשר אין את הקוד (מפתח) הנכון , הוא לא יפתח את הקובץ וכד'.
 

PHTLS

New member
אני אלך על ההצפנה הבינארית

אבל זה לא עובד.. לך הפתרונים ? אני רוצה לחבר שני ערכים בינארים Charים כך:
C3=(C1|C2)​
עכשיו, עפ"י ההגיון שלי
(C3|C2)​
צריך לתת לי בחזרה את C1.. לא ..? איפה אני טועה ? כי בתוכנה שכתבתי התוצאה לא יוצאת נכון..
 

indef

New member
לא...

פעולת OR לא עובדת ככה למשל אם A=1101 B=1010 C=A|B=1111 C|B=1111 אתה צריך להשתמש בפעולה הלוגית XOR, שסימנה ב-C הוא ^ C=A^B A=C^B
 

PHTLS

New member
זה פחות או יותר עובד.. תודה..

יש בעיות עם חלק מהאותיות.. אתה יכול לחשוב על סיבה מדוע זה לא יעבוד ..? גלישה ? נשא ? נ.ב. אני משתמש בסביבת פיתוח C++ של בורלנד.. אתה מכיר אותה ? אם כן, אני רוצה ליצור קובץ EXE שיעבוד על כל מחשב, אבל ישנם קבצי dll שדרושים לפעולה.. מה אני עושה אם זה ..? תודה עומר
 

sprk78

New member
התכוונתי להיסטוגרמות להחלפה

לא לו'יזנר. אין עריכה --> מעצבן מאוד. בכל אופן ניתן לפענח את ויזנ'ר ע''י מציאת צמדי מילים זהה, ואח''כ מציאת המילת מפתח. ואז נותר לבדוק רק את השורות. http://vlib.eitan.ac.il/encryption1/RSA/05_excercise.htm http://halemo.net/edoar/0014/0003.html
 
למעלה