Skip to content

پیاده‌سازی الگوریتم رمزنگاری شیخ‌بهایی در کتاب کشکول

License

Notifications You must be signed in to change notification settings

ekm507/kashkul-cypher

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

33 Commits
 
 
 
 
 
 
 
 

Repository files navigation

پیاده‌سازی الگوریتم رمزنگاری کشکول شیخ‌بهایی

محمدصالح کامیاب فرسته‌ای در ماستودون گذاشت که یک الگوریتم رمزنگاری قدیمی را از کتاب کشکول شیخ‌بهایی شرح می‌داد.

آدرس فرسته : https://social.tchncs.de/@mskf1383/110246678770174393

محمدصالح کامیاب: https://github.com/mskf1383

متن اصلی

اگر خواستی اسم پنهانی را از کسی بشناسی، از او بخواه که حرف اول آن را بیندازد و جمع ابجدی بقیه حروف را نگه دارد، سپس حرف بعدی را بیندازد و جمع عددی بقیه حروف را نگه دارد و همین طور، سپس آنچه نگه داشته با هم جمع کند و حاصل جمع را پس از انداختن عدد اول، بر باقیمانده تقسیم کند و سپس خارج قسمت را از جمع اول کم نماید، باقیمانده عدد حرف اول است، باز هم خارج قسمت را از جمع کسر کند، باقیمانده عدد حرف دوم است. و همینطور.

  • کشکول #شیخ_بهایی

بررسی الگوریتم

عدد ابجد: حروف در الفبای عربی یک عدد دارند که به آن ابجد گفته می‌شود.

ابجد هوز حطی کلمن سعفص قرشت ثخذ ضظغ

https://fa.wikipedia.org/wiki/%D8%AD%D8%B3%D8%A7%D8%A8_%D8%AC%D9%85%D9%84

مراحل صاحب اسم:

۱. حروف اسم خود را به ترتیب حذف می‌کند:

مثال برای اسم صالح: الح، صلح، صاح، صال

۲. جمع ابجدی هر کدام از واژگان به دست آمده را حساب می‌کند:

الح = ۳۹

صلح = ۱۲۸

صاح = ۹۹

صال = ۱۲۱

سپس این عددها را به رمزگشا می‌دهد تا اسم او را کشف کند!

مراحل رمزگشا

۱. عددها را با هم جمع می‌کند:

۳۹ + ۱۲۸ + ۹۹ + ۱۲۱ = ۳۸۷

۲. حاصل را بر (تعداد عددها - ۱) تقسیم می‌کند:

۳۸۷ / (۴ - ۱) = ۱۲۹

۳. حاصل را هر بار منهای یکی از عددهای ورودی می‌کند:

۱۲۹ - ۳۹ = ۹۰

۱۲۹ - ۱۲۸ = ۱

۱۲۹ - ۹۹ = ۳۰

۱۲۹ - ۱۲۱ = ۸

۴. معادل‌های ابجدی آن‌ها را کنار هم می‌گذارد:

۹۰ = ص

۱ = ا

۳۰ = ل

۸ = ح

ص + ا + ل + ح = صالح

About

پیاده‌سازی الگوریتم رمزنگاری شیخ‌بهایی در کتاب کشکول

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages