PDA

مشاهده نسخه کامل : سوال در مورد در اصطلاحات رمزنگاری



saeedgharedaghi
06-02-11, 10:38
سلام خدمت اساتید عزیز
اگه میشه اصطلاحات زیر را که درباره رمزنگاری است توضیح دهید و بگید چه کاربردی دارد ؟
(فکر کنم برای تازه کارها هم خوب باشد)


1.Cipher Text



2.passPhrase



3.Salt Value



4.password Iterations



5.IV or Initializtion Vector



6.CBC



7.CFB



8.CTS



9.ECB



10.OFB

5 تا آخر مربوط به Cipher Mode است.

ravegoat
06-02-11, 16:03
با سلام!

دوست عزيز عضويت شما رو در PCN تبريك ميگم.:party:
من در اين رابطه اطلاعات چنداني ندارم براي همين شايد اين پاسخ هايي رو كه دارم اشكالاتي وجود داشته باشه:



Ciphertext (Only the registered members can see the link) ميشه واژه ي رمز شده. در واقع خروجي يك الگوريتم رمزنگاري رو بهش ميگن ciphertext.
نمونه اي بزرگ تر Password هست. Passphrase (Only the registered members can see the link) عبارتي هست كه براي ورود به يك سيستم وارد مي كنيم.
Salt (Only the registered members can see the link) شامل بيت هايي هستش كه به گذرواژه اضافه ميشه و عبارت به دست اومده كد ميشه (در هم ريختن يا Hash) . اين جوري اگه عبارت كد شده رو بشه كرك كرد، عبارت حاصل گذر واژه به همراه Salt هستش و به راحتي نميشه گذرواژه رو از تو اين عبارت به دست آورد.
Password Iteration فرآيندي هستش كه طي اون گذرواژه كد ميشه وعبارت حاصل مجددا" كد ميشه و عبارت جديدي رو حاصل مي كنه. دوباره ميشه اين عبارت جديد رو كد كرد و عبارت كد شده ي جديدي به دست آورد و اين روند را تا به طور دلخواه ادامه داد.
IV مربوط به داده هاي متغيري ميشه (معمولا" عددي) كه در طور مراحل رمزنگاري به رشته هاي رمز شده اضافه ميشه تا از وجود اومدن الگو هاي تكراري جلوگيري كنه. ممكنه يه الگوريتم رمزنگاري به دليل ضعفش، ورودي رو جوري رمز كنه كه بشه الگوريتم رو متوجه شد كه در اين صورت IV براي استحكام رمزنگاري به كار ميره.

ساير موارد فكر كنم مربوط به روش تقسيم بندي ورودي ها به بلوك هاي رمزنگاري و روند رمز كردن بلوك ها باشه. كه پيشنهاد مي كنم به اين مقاله تو ويكي پديا (Only the registered members can see the link)رجوع كنيد.

موفق باشيد
آرمين

saeedgharedaghi
06-02-11, 17:42
آقا آرمین خیلی خیلی ممنون که جوابمو دادین.

میشه یه نمونه کد بزارین تا من توضیحاتی که میگین خوب متوجه بشم.

کلا یکم تو یادگیری مفهوم IV و Salt مشکل دارم .


اگه ما پسورد کاربر به همراه encrypt، salt کنیم و تو بانک دخیره کنیم حالا چه جوری باید Decrypt کنیم.منظورم اینه که بعدش میشه مقدار salt رو جدا کرد تا ما بتونیم ار روی فقط کلید Decrypt کنیم.
اگه این جوری نیست یکم توضیح بدین

اگه میشه و زحمتی نیست تو نمونه کدی که میزارید توضیح بدید ممنون میشم.

ravegoat
06-02-11, 19:27
خواهش مي كنم...

فكر كنم بشه كد هاشو پيدا كرد. لطف كنيد بفرماييد كد رو تو چه زبان برنامه نويسي مي خواهيد تا در صورت امكان براتون تهيه كنم.

و اما در مورد از رمز در آوردن يه عبارت كد شده با Salt بايد عرض كنم فلسفه ي چنين كاري اصلا" اينه كه روند رمز گذاري يك طرفه باشه و در واقع در اكثر قريب به اتفاق موارد Hash رو در بانك ذخيره مي كند و در مرحله ي صحت گذر واژه، مقادير Hash رو با هم مقايسه مي كنند نه اينكه Hash رو اول Decrypt كنن و اون مقدار رو با ورودي پسورد كاربر مقايسه كنند.
به طور كلي استخراج رمز از عبارت حاوي Salt فقط و فقط وابسته به Mixing گذر واژه و Salt ربط دارد و بديهي هست كه نميشه يه روش جامع براي اين كار معرفي كرد. به علاوه الگوي افزودن Salt هم طبيعتا" سري نگه داشته ميشه. ولي اگه براي يه كاربرد خاص نياز به چنين كار داريد، مراحل رمزنگاري رو خودتون بايد طراحي كنيد.

موفق باشيد
آرمين

saeedgharedaghi
06-02-11, 21:15
سلام آرمین جان به زبان سی شارپ باشه
ممنون

saeedgharedaghi
07-02-11, 18:00
سلام آرمین جان شرمنده ،
در مورد مطالب بالا که گفتید اگه pdf فارسی خوبی سراغ دارید ، خواهشا لینکشو بزارید .

بازم ممنون از همه تلاش شما دوست عزیز

ravegoat
07-02-11, 18:29
خواهش مي كنم...

مي تونيد از سورس هاي زير استفاده كنيد:


Only the registered members can see the link

Only the registered members can see the link

Only the registered members can see the link

يه سورس هم پيوست كردم...


شرمنده فعلا" هيچ مطلبي در اين زمينه در اختيار ندارم...اگه پيدا كردم اين جا قرار مي دم.

موفق باشيد
آرمين