🔵یک نکته در مورد زبان🔵
برای بسیاری از دوستانی که زبان انگلیسی یا هر زبان دیگری غیر از فارسی را جدی تر گرفته و از آن استفاده میکنند ممکن است استفاده بیش از حد از کلمات و اصطلاحات زبان دیگر امری عادی شود. در بسیاری از مواقع این اتفاق به صورت ناخودآگاه رخ می دهد.
اولا اینجا نمی خواهم بگویم فارسی شکر و قند و حلواست یا باید فارسی را پاس بداریم و ما حافظ و مولانا داریم. هر زبانی، ویژگی های منحصر بفردی دارد و نمی توان برتری خاصی برای زبانی قایل بود. تشخیص آن ویژگی ها و لذت بردن از آن ها هم یک تلاش شخصی می طلبد.
دوما اینجا همچنین نمی خواهم بگویم که باید در هر موردی فارسی سره بکار برد بخصوص برای زبان علمی که این کار تلاشی بیهوده است و اصولا حتی نمی توان برای رشد و توسعه یک زبان و کاربرانش تعیین تکلیف کرد[1].
اما چیزی که میخواهم در مورد آن صحبت کنم بیشتر به نحوه برخورد با زبان جدید مربوط می شود. اگر بعد از مدتی راحتی با زبان جدید متوجه شدید که به طور ناخودآگاه تعداد کلماتی که واقعا لزومی برای استفاده معادل انگلیسی آن وجود ندارد در حال افزایش است باید متوجه یک خطر باشید: مغز شما دارد برای تنبل شدن به خودش پاداش می دهد!
به طور کلی سازوکار یادگیری در مغز تا حد زیادی بر اساس ترشح هورمون دوپامین است که ایجاد لذت می کند. این ساز و کار به قدری مهم است که کمبود هورمون دوپامین منجر به افسردگی و کاهش قدرت یادگیری می شود. زمانی که شما در یافتن کلمه در زبان خود دچار قدری تاخیر می شوید و معادل انگلیسی آن را به زبان می آورید به صورت ناخودآگاه مغز خود را به در به یادآوری تنبل می کنید. بیاد نیاوردن چیزی به صورت معمول فرآیند خوشایندی نیست و مغز هرگز برای آن دوپامین ترشح نمی کند. به همین خاطر است که به یاد نیاوردن اسم دوست جدیدتان ممکن است باعث شرمندگی تان شود. متاسفانه برای بیشتر کاربران زبان فارسی نه تنها عدم یادآوری کلمه فارسی و بکاربردن معادل انگلیسی آن زشت یا شرم آور نیست بلکه برعکس شیوه ای برای فخر فروشی یا اظهار فضل و با لذت همراه است! این چرخه معیوب از پاداش و خطا در نهایت منجر به کاهش هوش زبانی و حتی IQ می شود.
در روانشناسی به این پدیده انتقال زبانی (Language transfer) گفته می شود[2,3,4]. تمام انواع انتقال زبانی منفی نیستند اما در نسخه های منفی انتقال زبانی مانند موردی که ذکر کردیم کاهش یادگیری یکی از نتایج است.
هر زبانی حاوی گنجینه بزرگی از ابزارها برای فکر کردن و شناخت جهان هست. زبان آموزی فرآیند دشواری است و نیازمند تفکر در چارچوب های زبان-جهان مقصد است. با یادآوری این نکته برای خودمان که زبان مادری با تمام معایب و مزایایی که دارد اولین راه فهم جهان برای ماست شاید بتوان از آن به بهترین شیوه در کنار زبان دیگر نگهداری کرد.
[1] https://fa.wikipedia.org/wiki/%D8%B2%D8%A8%D8%A7%D9%86_%D8%A8%D8%A7%D8%B2
[2] Postman, L (1962). "Transfer of training as a function of experimental paradigm and degree of first list learning". Journal of Verbal Learning and Verbal Behavior. 1: 109–118. doi:10.1016/s0022-5371(62)80007-3.
[3] Postman, L.; Stark, K. (1969). "Role of response availability in transfer and interference". Journal of Experimental Psychology. 79 (1): 168–177. doi:10.1037/h0026932.
[4 Porter, L. W.; Duncan, C. P. (1953). "Negative Transfer in Verbal Learning". Journal of Experimental Psychology. 46 (1): 61–64. doi:10.1037/h0058595.]
برای بسیاری از دوستانی که زبان انگلیسی یا هر زبان دیگری غیر از فارسی را جدی تر گرفته و از آن استفاده میکنند ممکن است استفاده بیش از حد از کلمات و اصطلاحات زبان دیگر امری عادی شود. در بسیاری از مواقع این اتفاق به صورت ناخودآگاه رخ می دهد.
اولا اینجا نمی خواهم بگویم فارسی شکر و قند و حلواست یا باید فارسی را پاس بداریم و ما حافظ و مولانا داریم. هر زبانی، ویژگی های منحصر بفردی دارد و نمی توان برتری خاصی برای زبانی قایل بود. تشخیص آن ویژگی ها و لذت بردن از آن ها هم یک تلاش شخصی می طلبد.
دوما اینجا همچنین نمی خواهم بگویم که باید در هر موردی فارسی سره بکار برد بخصوص برای زبان علمی که این کار تلاشی بیهوده است و اصولا حتی نمی توان برای رشد و توسعه یک زبان و کاربرانش تعیین تکلیف کرد[1].
اما چیزی که میخواهم در مورد آن صحبت کنم بیشتر به نحوه برخورد با زبان جدید مربوط می شود. اگر بعد از مدتی راحتی با زبان جدید متوجه شدید که به طور ناخودآگاه تعداد کلماتی که واقعا لزومی برای استفاده معادل انگلیسی آن وجود ندارد در حال افزایش است باید متوجه یک خطر باشید: مغز شما دارد برای تنبل شدن به خودش پاداش می دهد!
به طور کلی سازوکار یادگیری در مغز تا حد زیادی بر اساس ترشح هورمون دوپامین است که ایجاد لذت می کند. این ساز و کار به قدری مهم است که کمبود هورمون دوپامین منجر به افسردگی و کاهش قدرت یادگیری می شود. زمانی که شما در یافتن کلمه در زبان خود دچار قدری تاخیر می شوید و معادل انگلیسی آن را به زبان می آورید به صورت ناخودآگاه مغز خود را به در به یادآوری تنبل می کنید. بیاد نیاوردن چیزی به صورت معمول فرآیند خوشایندی نیست و مغز هرگز برای آن دوپامین ترشح نمی کند. به همین خاطر است که به یاد نیاوردن اسم دوست جدیدتان ممکن است باعث شرمندگی تان شود. متاسفانه برای بیشتر کاربران زبان فارسی نه تنها عدم یادآوری کلمه فارسی و بکاربردن معادل انگلیسی آن زشت یا شرم آور نیست بلکه برعکس شیوه ای برای فخر فروشی یا اظهار فضل و با لذت همراه است! این چرخه معیوب از پاداش و خطا در نهایت منجر به کاهش هوش زبانی و حتی IQ می شود.
در روانشناسی به این پدیده انتقال زبانی (Language transfer) گفته می شود[2,3,4]. تمام انواع انتقال زبانی منفی نیستند اما در نسخه های منفی انتقال زبانی مانند موردی که ذکر کردیم کاهش یادگیری یکی از نتایج است.
هر زبانی حاوی گنجینه بزرگی از ابزارها برای فکر کردن و شناخت جهان هست. زبان آموزی فرآیند دشواری است و نیازمند تفکر در چارچوب های زبان-جهان مقصد است. با یادآوری این نکته برای خودمان که زبان مادری با تمام معایب و مزایایی که دارد اولین راه فهم جهان برای ماست شاید بتوان از آن به بهترین شیوه در کنار زبان دیگر نگهداری کرد.
[1] https://fa.wikipedia.org/wiki/%D8%B2%D8%A8%D8%A7%D9%86_%D8%A8%D8%A7%D8%B2
[2] Postman, L (1962). "Transfer of training as a function of experimental paradigm and degree of first list learning". Journal of Verbal Learning and Verbal Behavior. 1: 109–118. doi:10.1016/s0022-5371(62)80007-3.
[3] Postman, L.; Stark, K. (1969). "Role of response availability in transfer and interference". Journal of Experimental Psychology. 79 (1): 168–177. doi:10.1037/h0026932.
[4 Porter, L. W.; Duncan, C. P. (1953). "Negative Transfer in Verbal Learning". Journal of Experimental Psychology. 46 (1): 61–64. doi:10.1037/h0058595.]
Wikipedia
زبان باز
زبانِ باز: پژوهشی دربارهی زبان و مدرنیّت کتابی است نوشته داریوش آشوری، در ۱۱۲ صفحه که در سال ۱۳۸۷ از سوی نشر مرکز منتشر شدهاست.این کتاب در مدتی کوتاه به چاپهای بعدی رسید و باعث به وجود آمدن بحثهایی بین زبانشناسان ایرانی شد. در میزگردی در شهرکتاب این کتاب…
🔵احتمال چیست؟🔵
بزودی یک دوره مفهومی از آمار و احتمال و کاربرد آن در مهندسی قرار داده می شود. از آنجا که مشکلات زیادی در ارتباط با فهم عمیق آمار و احتمال که زیربنای بیشتر شاخه های مهندسی است وجود دارد سعی میکنیم با رویکردی به معنای واقعی کلمه متفاوت آن را عرضه کنیم. در زیر بخش اول این مطلب قرار داده می شود و کل مبحث در وبسایت قرار میگیرد.
یکی از مشکلات و بدفهمی هایی که دانشجویان و حتی اساتید در درک بخش های زیادی از مفاهیم هوش مصنوعی مانند تشخیص الگوی آماری و یادگیری ماشین دارند، تشخیص ندادن تفاوت دو رویکرد کاملا متفاوت در آمار و احتمال به روش شناسی(Methodology) و معرفت شناسی(Epistomology) بنیادی ترین مفاهیم آمارو احتمال است. در اساس در میان تفاسیر گوناگون احتمال دو رویکرد مهم و متفاوت به تفسیر احتمال وجود دارد: احتمال بیزین و احتمال فرکانسی.
احتمال بیزین مقداری است که به یک حالت از دانش(state of knowledge) یا حالتی از باور(state of belief) اختصاص داده می شود. می توان احتمال بیز را به عنوان ادامه ی منطق گزاره ای دانست که ما را قادر می کند با فرضیات (Hypothesis) استدلال کنیم. فرضیات گزاره هایی می شوند که درستی و غلطی آن ها نامشخص است. از دیدگاه بیزی یک احتمال به فرضیه اختصاص داده می شود، در حالی که در احتمال فرکانسی یک فرضیه بدون هیچ احتمالی، مورد آزمون قرار می گیرد.
بنیادی ترین تفاوت این دو تفسیر در معرفت شناسی آن هاست: فرکانسی ها عینی گرا هستند به این معنا که احتمال را به صورت معقول بودن یک گزاره قابل تفسیر می دانند. به عبارت دیگر، احتمال یک گزاره متناظر است با یک باور معقول بین همه ی افراد (حتی یک ربات) که مجموعه ای از دانش مشترک دارند. این باور معقول باید مطابق با قوانین احتمال که خود با معیار های عقلانیت و سازگاری قابل توجیه اند، باشد. اما بیزین ها ذهنی گرا هستند بیزین ها قبول دارند که معیار های عقلانیت و سازگاری احتمال هایی که یک شخص دارد را محدود می کند اما این معیار ها باعث نمی شوند همه به یک نتیجه در مورد احتمال رویداد ها برسند زیرا معیارهای عقلانیت هنوز اجازه تغییرات زیادی در محاسبه احتمال می دهند. این تفاوت خود را در محاسبه احتمال های پیشینی(prior probabilities) نشان می دهد.
اگر زیاد اهل فلسفه نباشید شاید نتوانید با پاراگراف قبل ارتباط برقرار کنید اما باز هم راه های زیاد وجود دارد که بدانیم این تفاوت ها چیست. بسیاری از دوره های درسی در دنیا(از جمله ایران) مفهوم احتمال را با شمارش حالات و نیز مباحث ترکیبیات شروع می کنند اما تقریبا تمام آن چیزی که در آمار و احتمال کاربردی مانند مباحث هوش مصنوعی وجود دارد با این مفاهیم سر و کاری ندارد و حتی جالب تر از آن درک روزمره ما از احتمال هم بیشتر بیزینی است. تحقیقات زیادی در علوم شناختی نشان داده اند که ما انسان ها(و حتی بیشتر جانوران دیگر) مادرزادی بیزینی به دنیا می آییم....
بزودی یک دوره مفهومی از آمار و احتمال و کاربرد آن در مهندسی قرار داده می شود. از آنجا که مشکلات زیادی در ارتباط با فهم عمیق آمار و احتمال که زیربنای بیشتر شاخه های مهندسی است وجود دارد سعی میکنیم با رویکردی به معنای واقعی کلمه متفاوت آن را عرضه کنیم. در زیر بخش اول این مطلب قرار داده می شود و کل مبحث در وبسایت قرار میگیرد.
یکی از مشکلات و بدفهمی هایی که دانشجویان و حتی اساتید در درک بخش های زیادی از مفاهیم هوش مصنوعی مانند تشخیص الگوی آماری و یادگیری ماشین دارند، تشخیص ندادن تفاوت دو رویکرد کاملا متفاوت در آمار و احتمال به روش شناسی(Methodology) و معرفت شناسی(Epistomology) بنیادی ترین مفاهیم آمارو احتمال است. در اساس در میان تفاسیر گوناگون احتمال دو رویکرد مهم و متفاوت به تفسیر احتمال وجود دارد: احتمال بیزین و احتمال فرکانسی.
احتمال بیزین مقداری است که به یک حالت از دانش(state of knowledge) یا حالتی از باور(state of belief) اختصاص داده می شود. می توان احتمال بیز را به عنوان ادامه ی منطق گزاره ای دانست که ما را قادر می کند با فرضیات (Hypothesis) استدلال کنیم. فرضیات گزاره هایی می شوند که درستی و غلطی آن ها نامشخص است. از دیدگاه بیزی یک احتمال به فرضیه اختصاص داده می شود، در حالی که در احتمال فرکانسی یک فرضیه بدون هیچ احتمالی، مورد آزمون قرار می گیرد.
بنیادی ترین تفاوت این دو تفسیر در معرفت شناسی آن هاست: فرکانسی ها عینی گرا هستند به این معنا که احتمال را به صورت معقول بودن یک گزاره قابل تفسیر می دانند. به عبارت دیگر، احتمال یک گزاره متناظر است با یک باور معقول بین همه ی افراد (حتی یک ربات) که مجموعه ای از دانش مشترک دارند. این باور معقول باید مطابق با قوانین احتمال که خود با معیار های عقلانیت و سازگاری قابل توجیه اند، باشد. اما بیزین ها ذهنی گرا هستند بیزین ها قبول دارند که معیار های عقلانیت و سازگاری احتمال هایی که یک شخص دارد را محدود می کند اما این معیار ها باعث نمی شوند همه به یک نتیجه در مورد احتمال رویداد ها برسند زیرا معیارهای عقلانیت هنوز اجازه تغییرات زیادی در محاسبه احتمال می دهند. این تفاوت خود را در محاسبه احتمال های پیشینی(prior probabilities) نشان می دهد.
اگر زیاد اهل فلسفه نباشید شاید نتوانید با پاراگراف قبل ارتباط برقرار کنید اما باز هم راه های زیاد وجود دارد که بدانیم این تفاوت ها چیست. بسیاری از دوره های درسی در دنیا(از جمله ایران) مفهوم احتمال را با شمارش حالات و نیز مباحث ترکیبیات شروع می کنند اما تقریبا تمام آن چیزی که در آمار و احتمال کاربردی مانند مباحث هوش مصنوعی وجود دارد با این مفاهیم سر و کاری ندارد و حتی جالب تر از آن درک روزمره ما از احتمال هم بیشتر بیزینی است. تحقیقات زیادی در علوم شناختی نشان داده اند که ما انسان ها(و حتی بیشتر جانوران دیگر) مادرزادی بیزینی به دنیا می آییم....
deep_learning_matlab.pdf
5.3 MB
کتابچه کوچک یادگیری یادگیری عمیق (Deep learning) با متلب.این کتابچه همراه با چند مثال ساده به شما آموزش میدهد که چگونه در متلب یادگیری عمیق کار کنید.
This media is not supported in your browser
VIEW IN TELEGRAM
معرفی یادگیری عمیق
This media is not supported in your browser
VIEW IN TELEGRAM
یادگیری عمیق در 11 خط در متلب
برای انجام این کار نیاز به متلب 216 و بالاتر دارید
برای انجام این کار نیاز به متلب 216 و بالاتر دارید
🔵تناقض طرفداران حقوق حیوانات🔵
امروزه طرفداری از حقوق حیوانات بیشتر به یک مد شیک تبدیل شده است. جدا ازین که چقدر هر کدام از ما در برابر حیوانات و "حقوق" آن ها مسئول هستیم باید در اصل بدانیم این حقوق شامل چه چیزهایی می شود.
ارتباط انسان ها و حیوانات به صدها هزار سال می رسد انسان ها بسیاری از حیوانات را برای مصارف مختلف اهلی کردند برخی از این مصارف مانند خوردن گوشت حیوانات دیگر جزیی لاینفک از زندگی امروز انسان شده است و بخشی هایی مانند سواری گرفتن یا نگهبانی کمرنگ تر از گذشته شده اند. باید بدانیم که این بخش یک جز ضروری از زندگی انسان امروز است. اما میخواهم بر روی بخش غیر ضرور آن صحبت کنم. وقتی از حق حیوان صحبت می کنیم معمولا از آزار و شکنجه آن صحبت میکنیم. بخشی از این آزار قاعدتا فیزیکی است اما بخش دیگر آن روانی است.
شاید مهمترین حق هر حیوان قبل از هر چیزی آزادی او باشد. حق طبیعی هر حیوان آن است که املاک شخص دیگری نباشد و آزادانه در طبیعت زندگی کند. اینجاست که تناقض آشکار می شود. بسیاری از طرفداران حیوانات خود حیوان خانگی دارند. آن ها حیوانات خانگی را مانند عروسک نگهداری می کنند و به این نکته توجه نمی کنند که حیوان فقط نیاز به غذا و جای گرم ندارد. این فاجعه وقتی بیشتر آزار دهنده می شود که با اصلاح نژاد و تغییر ژنتیکی نمونه هایی از سگ ها، خرگوش ها و گربه ها و ... ایجاد می کنیم که عملا قادر به زندگی بدون وابستگی به صاحبشان نیستند.
باید بدانیم حیوانات اسباب بازی نیستند که آن ها را در خانه های کوچک حبس می کنیم و برای بیشتر اوقات تنهایشان می گذاریم.هیچ حیوانی به مهربانی انسان ها نیازی ندارد. آن ها فقط به این نیاز دارند تا جای ممکن از انسان آزار نبینند. بنابراین نمیتوان حیوان خانگی پرورش داد و از آن بجای همدم استفاده کرد و در عین حال داعیه طرفداری از حقوق حیوانات سر داد.
درنهایت باید اضافه کرد قطعا کشتن حیوان و خوردن آن آزار کمتری به حیوان می رساند تا زندانی کردن و تبدیل کردن آن به یک اسباب بازی برای تمام عمرش.
https://tarjomaan.com/vdcf.ydciw6dm0giaw.html
امروزه طرفداری از حقوق حیوانات بیشتر به یک مد شیک تبدیل شده است. جدا ازین که چقدر هر کدام از ما در برابر حیوانات و "حقوق" آن ها مسئول هستیم باید در اصل بدانیم این حقوق شامل چه چیزهایی می شود.
ارتباط انسان ها و حیوانات به صدها هزار سال می رسد انسان ها بسیاری از حیوانات را برای مصارف مختلف اهلی کردند برخی از این مصارف مانند خوردن گوشت حیوانات دیگر جزیی لاینفک از زندگی امروز انسان شده است و بخشی هایی مانند سواری گرفتن یا نگهبانی کمرنگ تر از گذشته شده اند. باید بدانیم که این بخش یک جز ضروری از زندگی انسان امروز است. اما میخواهم بر روی بخش غیر ضرور آن صحبت کنم. وقتی از حق حیوان صحبت می کنیم معمولا از آزار و شکنجه آن صحبت میکنیم. بخشی از این آزار قاعدتا فیزیکی است اما بخش دیگر آن روانی است.
شاید مهمترین حق هر حیوان قبل از هر چیزی آزادی او باشد. حق طبیعی هر حیوان آن است که املاک شخص دیگری نباشد و آزادانه در طبیعت زندگی کند. اینجاست که تناقض آشکار می شود. بسیاری از طرفداران حیوانات خود حیوان خانگی دارند. آن ها حیوانات خانگی را مانند عروسک نگهداری می کنند و به این نکته توجه نمی کنند که حیوان فقط نیاز به غذا و جای گرم ندارد. این فاجعه وقتی بیشتر آزار دهنده می شود که با اصلاح نژاد و تغییر ژنتیکی نمونه هایی از سگ ها، خرگوش ها و گربه ها و ... ایجاد می کنیم که عملا قادر به زندگی بدون وابستگی به صاحبشان نیستند.
باید بدانیم حیوانات اسباب بازی نیستند که آن ها را در خانه های کوچک حبس می کنیم و برای بیشتر اوقات تنهایشان می گذاریم.هیچ حیوانی به مهربانی انسان ها نیازی ندارد. آن ها فقط به این نیاز دارند تا جای ممکن از انسان آزار نبینند. بنابراین نمیتوان حیوان خانگی پرورش داد و از آن بجای همدم استفاده کرد و در عین حال داعیه طرفداری از حقوق حیوانات سر داد.
درنهایت باید اضافه کرد قطعا کشتن حیوان و خوردن آن آزار کمتری به حیوان می رساند تا زندانی کردن و تبدیل کردن آن به یک اسباب بازی برای تمام عمرش.
https://tarjomaan.com/vdcf.ydciw6dm0giaw.html
🔵رمزنگاری-۱🔵
فرض کنید یک هکر یا خرابکار به طریقی موفق به دستیابی به پایگاه داده بانک شما شود. آنجا تمام اطلاعات کاربران و از جمله اطلاعات شما قرار دارد. ممکن است فکر کنید هکر قبل از هرچیز سراغ رمز عبور شما می رود و کل حساب بانکی شما را خالی میکند. اما متاسفانه بانک رمز عبور شما را ندارد! این برای رمز عبور جیمیل و مابقی حساب های کاربری شما هم صادق است. اما چگونه چنین چیزی ممکن است. بالاخره باید سایت بانک رمز شما را با رمزی که قبلا به آنها داده اید مقایسه کند و اگر یکسان بود اجازه ورود به شما بدهد. قبل از اینکه ادامه دهید قدری به این موضوع فکر کنید که چگونه ممکن است بانک بدون داشتن رمز شما همچنان بتواند شما را اعتبار سنجی کند.
این اتفاق به صورتی بسیار جالب رخ می دهد. زمانی که شما رمز خود را برای اولین بار تنظیم می کنید. سیستم بانکی به جای ذخیره رمز عبور شما آن را به یک تابع می دهد و خروجی آن تابع را ذخیره می کند. بنابراین هر گاه شما رمز خود را وارد می کنید بانک دوباره رمز شما را به آن تابع داده و خروجی آن را با چیزی که ذخیره کرده است مقایسه می کند(رمز ذخیره نمیشود). خوب این کار چه فایده ای دارد؟ برای اینکه فایده این موضوع را درک کنید باید به چند ویژگی این تابع اشاره کنیم.
قبل از همه چیز این تابع باید قطعی (deterministic) باشد، یعنی هر بار به ازای هر ورودی دقیقا یک خروجی مشخص تولید کند نه اعداد تصادفی! دومین ویژگی این تابع این است که باید یک به یک باشد. یعنی هیچ دو رمزی را به یک عدد نگاشت نکند که اگراین کار را بکند ممکن است به شخص دیگری با رمز دیگری اجازه دسترسی به اطلاعات شما را بدهد. و در نهایت مهم ترین ویژگی اینکه، پیدا کردن رمز شما با دانستن خروجی تابع «ناممکن» باشد.
توابع در هم سازی یا hash function ها دقیقا چنین ویژگی هایی دارند. این توابع از اهمیت بسیار زیادی در رمزنگاری برخوردار هستند. به صورت نظری هیچ تابع درهم سازی ای کامل نیست. اما برخی از این توابع دارای ویژگی هایی هستند که آن ها را به یک تابع در هم سازی ایده آل بسیار نزدیک می کند. یکی از مشکلاتی که توابع در هم سازی دارند این است که در آنها امکان برخورد یعنی خروجی یکسان برای دو ورودی متفاوت صد در صد غیر ممکن نیست. اما در توابع در هم سازی خوبی که اکنون وجود دارند این احتمال آنقدر کوچک است که می توان گفت تقریبا غیر ممکن است.
یکی از توابع در هم سازی بسیار مهم MD5 است که یک خروجی ۱۲۸ بیتی برای ورودی شما تولید میکند. البته این الگوریتم اکنون دیگر مورد استفاده قرار نمیگیرد چرا که ضعف های آن آشکار شده است. با این حال هنوز از آن در checksum ها استفاده می شود. الگوریتم جدی تری که در مورد وجود دارد SHA-2 است که دارای خروجی ۲۵۶ بیتی است. این الگوریتم توسط آژانس امنیت ملی آمریکا(NSA) در سال ۲۰۰۱ از الگوریتم های سری بیرون آمد و در اختیار پژوهشگران قرار گرفت. در این الگوریتم هیچ راهی برای بازیابی ورودی با استفاده از خروجی وجود ندارد مگر حدس زدن و تست کردن تمام حالات. بنابراین شما باید دو به توان ۲۵۶ حالت را بررسی کنید. برای اینکه بزرگی این عدد را درک کنید به این مثال توجه کنید: فرض کنید که تمامی افراد کره زمین یک گوگل داشته باشند و علاوه بر آن تمام سیاراتِ تمام منظومه هایِ تمام کهکشان ها ۷ میلیارد انسان داشته باشند. و ۳۷ برابر عمر جهان تمامی این افراد به محاسبه با گوگلشان ادامه بدهند در این صورت تازه بعد از آن مدت زمان احتمال حدس زدن درست آن ها یک در میلیارد است!!![1]
استحکام این الگوریتم رمز نگاری آنقدر زیاد است که از SHA-1 در الگوریتم بیت کوین هم استفاده می شود.
ادامه دارد….
پ.ن: (بانک همواره می تواند با حضور شما رمز شما را ریست کند در این صورت خروجی تابع قبلی در پایگاه داده پاک شده و خروجی تابع با رمز جدید در آن قرار می گیرد)
[1] https://goo.gl/3FPr8o
در این جا می توانید تابع SHA-1 را به صورت آنلاین تست کنید
https://www.xorbin.com/tools/sha256-hash-calculator
فرض کنید یک هکر یا خرابکار به طریقی موفق به دستیابی به پایگاه داده بانک شما شود. آنجا تمام اطلاعات کاربران و از جمله اطلاعات شما قرار دارد. ممکن است فکر کنید هکر قبل از هرچیز سراغ رمز عبور شما می رود و کل حساب بانکی شما را خالی میکند. اما متاسفانه بانک رمز عبور شما را ندارد! این برای رمز عبور جیمیل و مابقی حساب های کاربری شما هم صادق است. اما چگونه چنین چیزی ممکن است. بالاخره باید سایت بانک رمز شما را با رمزی که قبلا به آنها داده اید مقایسه کند و اگر یکسان بود اجازه ورود به شما بدهد. قبل از اینکه ادامه دهید قدری به این موضوع فکر کنید که چگونه ممکن است بانک بدون داشتن رمز شما همچنان بتواند شما را اعتبار سنجی کند.
این اتفاق به صورتی بسیار جالب رخ می دهد. زمانی که شما رمز خود را برای اولین بار تنظیم می کنید. سیستم بانکی به جای ذخیره رمز عبور شما آن را به یک تابع می دهد و خروجی آن تابع را ذخیره می کند. بنابراین هر گاه شما رمز خود را وارد می کنید بانک دوباره رمز شما را به آن تابع داده و خروجی آن را با چیزی که ذخیره کرده است مقایسه می کند(رمز ذخیره نمیشود). خوب این کار چه فایده ای دارد؟ برای اینکه فایده این موضوع را درک کنید باید به چند ویژگی این تابع اشاره کنیم.
قبل از همه چیز این تابع باید قطعی (deterministic) باشد، یعنی هر بار به ازای هر ورودی دقیقا یک خروجی مشخص تولید کند نه اعداد تصادفی! دومین ویژگی این تابع این است که باید یک به یک باشد. یعنی هیچ دو رمزی را به یک عدد نگاشت نکند که اگراین کار را بکند ممکن است به شخص دیگری با رمز دیگری اجازه دسترسی به اطلاعات شما را بدهد. و در نهایت مهم ترین ویژگی اینکه، پیدا کردن رمز شما با دانستن خروجی تابع «ناممکن» باشد.
توابع در هم سازی یا hash function ها دقیقا چنین ویژگی هایی دارند. این توابع از اهمیت بسیار زیادی در رمزنگاری برخوردار هستند. به صورت نظری هیچ تابع درهم سازی ای کامل نیست. اما برخی از این توابع دارای ویژگی هایی هستند که آن ها را به یک تابع در هم سازی ایده آل بسیار نزدیک می کند. یکی از مشکلاتی که توابع در هم سازی دارند این است که در آنها امکان برخورد یعنی خروجی یکسان برای دو ورودی متفاوت صد در صد غیر ممکن نیست. اما در توابع در هم سازی خوبی که اکنون وجود دارند این احتمال آنقدر کوچک است که می توان گفت تقریبا غیر ممکن است.
یکی از توابع در هم سازی بسیار مهم MD5 است که یک خروجی ۱۲۸ بیتی برای ورودی شما تولید میکند. البته این الگوریتم اکنون دیگر مورد استفاده قرار نمیگیرد چرا که ضعف های آن آشکار شده است. با این حال هنوز از آن در checksum ها استفاده می شود. الگوریتم جدی تری که در مورد وجود دارد SHA-2 است که دارای خروجی ۲۵۶ بیتی است. این الگوریتم توسط آژانس امنیت ملی آمریکا(NSA) در سال ۲۰۰۱ از الگوریتم های سری بیرون آمد و در اختیار پژوهشگران قرار گرفت. در این الگوریتم هیچ راهی برای بازیابی ورودی با استفاده از خروجی وجود ندارد مگر حدس زدن و تست کردن تمام حالات. بنابراین شما باید دو به توان ۲۵۶ حالت را بررسی کنید. برای اینکه بزرگی این عدد را درک کنید به این مثال توجه کنید: فرض کنید که تمامی افراد کره زمین یک گوگل داشته باشند و علاوه بر آن تمام سیاراتِ تمام منظومه هایِ تمام کهکشان ها ۷ میلیارد انسان داشته باشند. و ۳۷ برابر عمر جهان تمامی این افراد به محاسبه با گوگلشان ادامه بدهند در این صورت تازه بعد از آن مدت زمان احتمال حدس زدن درست آن ها یک در میلیارد است!!![1]
استحکام این الگوریتم رمز نگاری آنقدر زیاد است که از SHA-1 در الگوریتم بیت کوین هم استفاده می شود.
ادامه دارد….
پ.ن: (بانک همواره می تواند با حضور شما رمز شما را ریست کند در این صورت خروجی تابع قبلی در پایگاه داده پاک شده و خروجی تابع با رمز جدید در آن قرار می گیرد)
[1] https://goo.gl/3FPr8o
در این جا می توانید تابع SHA-1 را به صورت آنلاین تست کنید
https://www.xorbin.com/tools/sha256-hash-calculator
YouTube
How secure is 256 bit security?
Supplement to the cryptocurrency video: How hard is it to find a 256-bit hash just by guessing and checking? What kind of computer would that take? Cryptocur...
🔵رمزنگاری-2🔵
موضوع: رمزنگاری نامتقارن
شاید مهمترین کاربرد رمزنگاری در انتقال محرمانه پیام ها باشد. شما هم ممکن است گاهی از رمزهای ساده برای ارتباط با دوستانتان استفاده کرده باشید. مثلا ممکن است قرارداد کرده باشید که هنگام استفاده از هر حرف در الفبا به جای اصل حرف، بعدی آن را استفاده کنید. مثلا "سلام" بشود: "شمبن". این روش البته بسیار ساده است اما صرفنظر از سادگی یا پیچیدگی روشی که استفاده میکنید شما همیشه یک قرارداد دارید که دو طرف از قبل باید با هم هماهنگ کرده باشند. فعلا اسم این قرار داد را "کلید رمزنگاری" میگذاریم. مشکلات زیادی در مورد این روش وجود دارد. مثلا اگر دو والی در یک مملکت در ایام قدیم می خواستند که با هم محرمانه پیام رد و بدل کنند مجبور بودند حداقل یک جلسه محرمانه بگذارند و کلید را رد و بدل کنند. ممکن است با خودتان فکر کنید که خوب همیشه همینطور است، شما همیشه نیاز دارید تا بدانید که فرد مقابلتان چه کلیدی استفاده میکنید که پیامش را قفل کند و شما باید با همان کلید( یا یک کپی از آن) پیام را باز کنید.
رمز نگاری نامتقارن یک روش بسیار زیرکانه برای دور زدن این مشکل است. در رمز نگاری نامتقارن بجای یک کلید دو کلید معرفی می شود. یک کلید برای قفل کردن پیام که به اسم کلید عمومی شناخته می شود و یک کلید برای باز کردن پیام که به اسم کلید خصوصی تعریف می شود. فرض کنید دو نفر به اسم شیرین و فرهاد می خواهند با هم پیام رمزی رد و بدل کنند. اما متاسفانه فاصله ی آن ها بسیار دور است و به هیچ کسی هم برای رد و بدل کردن کلید ها اعتماد ندارند. روش کار بدین قرار است: هم شیرین و هم فرهاد یک کلید خصوصی و یک کلید عمومی مختص به خود دارند. کلید عمومی همانطور که از نام آن پیداست کلیدی است که می تواند حتی به صورت رسمی اعلام شود. اما کلید خصوصی را فقط و فقط صاحب آن می داند. شیرین کلید عمومی اش را به فرهاد اعلام می کند. این میان افراد زیادی هم هستند که دوست دارند از مکالمه آن ها با خبر شوند پس آن ها هم کلید عمومی اعلام شده توسط شیرین را می بینند. فرهاد کلید عمومی را می بیند و با آن پیام خود را رمز می کند و به سمت شیرین می فرستد. در این میان هیچ کسی بجز شیرین نمی تواند آن پیام را باز کند. آن پیام تنها و تنها با کلید خصوصی شیرین باز می شود. شیرین پیام فرهاد را دریافت می کند و آن را با کلید خصوصی باز می کند و می خواند.
این کار را شیرین هم می تواند انجام دهد. یعنی او هم می تواند پیام خصوصی با کلید عمومی فرهاد رمز کند و برای فرهاد بفرستد و مطمئن باشد کسی در میانه نتواند آن را بخواند. تا این جا رمزنگاری نامتقارن بسیار موفق بوده است.
موضوع: رمزنگاری نامتقارن
شاید مهمترین کاربرد رمزنگاری در انتقال محرمانه پیام ها باشد. شما هم ممکن است گاهی از رمزهای ساده برای ارتباط با دوستانتان استفاده کرده باشید. مثلا ممکن است قرارداد کرده باشید که هنگام استفاده از هر حرف در الفبا به جای اصل حرف، بعدی آن را استفاده کنید. مثلا "سلام" بشود: "شمبن". این روش البته بسیار ساده است اما صرفنظر از سادگی یا پیچیدگی روشی که استفاده میکنید شما همیشه یک قرارداد دارید که دو طرف از قبل باید با هم هماهنگ کرده باشند. فعلا اسم این قرار داد را "کلید رمزنگاری" میگذاریم. مشکلات زیادی در مورد این روش وجود دارد. مثلا اگر دو والی در یک مملکت در ایام قدیم می خواستند که با هم محرمانه پیام رد و بدل کنند مجبور بودند حداقل یک جلسه محرمانه بگذارند و کلید را رد و بدل کنند. ممکن است با خودتان فکر کنید که خوب همیشه همینطور است، شما همیشه نیاز دارید تا بدانید که فرد مقابلتان چه کلیدی استفاده میکنید که پیامش را قفل کند و شما باید با همان کلید( یا یک کپی از آن) پیام را باز کنید.
رمز نگاری نامتقارن یک روش بسیار زیرکانه برای دور زدن این مشکل است. در رمز نگاری نامتقارن بجای یک کلید دو کلید معرفی می شود. یک کلید برای قفل کردن پیام که به اسم کلید عمومی شناخته می شود و یک کلید برای باز کردن پیام که به اسم کلید خصوصی تعریف می شود. فرض کنید دو نفر به اسم شیرین و فرهاد می خواهند با هم پیام رمزی رد و بدل کنند. اما متاسفانه فاصله ی آن ها بسیار دور است و به هیچ کسی هم برای رد و بدل کردن کلید ها اعتماد ندارند. روش کار بدین قرار است: هم شیرین و هم فرهاد یک کلید خصوصی و یک کلید عمومی مختص به خود دارند. کلید عمومی همانطور که از نام آن پیداست کلیدی است که می تواند حتی به صورت رسمی اعلام شود. اما کلید خصوصی را فقط و فقط صاحب آن می داند. شیرین کلید عمومی اش را به فرهاد اعلام می کند. این میان افراد زیادی هم هستند که دوست دارند از مکالمه آن ها با خبر شوند پس آن ها هم کلید عمومی اعلام شده توسط شیرین را می بینند. فرهاد کلید عمومی را می بیند و با آن پیام خود را رمز می کند و به سمت شیرین می فرستد. در این میان هیچ کسی بجز شیرین نمی تواند آن پیام را باز کند. آن پیام تنها و تنها با کلید خصوصی شیرین باز می شود. شیرین پیام فرهاد را دریافت می کند و آن را با کلید خصوصی باز می کند و می خواند.
این کار را شیرین هم می تواند انجام دهد. یعنی او هم می تواند پیام خصوصی با کلید عمومی فرهاد رمز کند و برای فرهاد بفرستد و مطمئن باشد کسی در میانه نتواند آن را بخواند. تا این جا رمزنگاری نامتقارن بسیار موفق بوده است.
روش های زیادی برای رمز نگاری نامتقارن وجود دارد که در اینجا مهمترین آن را بررسی می کنیم. این الگوریتم به اسم RSA شناخته می شود و در قلب مهمترین سیستم های رمزنگاری امروزی است.
اولین مرحله این الگوریتم تولید کلید های عمومی و خصوصی است. توجه کنید که کلید ها مثل پسورد نیستند که شما به صورت دلبخواه انتخاب کنید.(در این جا سبز نشان دهنده کلید عمومی و قرمز کلید خصوصی است)
اولین مرحله این الگوریتم تولید کلید های عمومی و خصوصی است. توجه کنید که کلید ها مثل پسورد نیستند که شما به صورت دلبخواه انتخاب کنید.(در این جا سبز نشان دهنده کلید عمومی و قرمز کلید خصوصی است)
تمام شد! کلید عمومی اینجا n و e است. و کلید خصوصی d
حالا چطور پیام ها را رمز کنیم و باز کنیم؟
برای رمز کردن پیام ابتدا فرهاد بعد از دیدن کلید عمومی شیرین که n و e است. پیام خود M را تبدیل به یک عدد مثل m می کند(مثلا کد ASCII که در کامپیوتر ها هم استفاده می شود) و سپس c را محاسبه می کند:
حالا چطور پیام ها را رمز کنیم و باز کنیم؟
برای رمز کردن پیام ابتدا فرهاد بعد از دیدن کلید عمومی شیرین که n و e است. پیام خود M را تبدیل به یک عدد مثل m می کند(مثلا کد ASCII که در کامپیوتر ها هم استفاده می شود) و سپس c را محاسبه می کند:
و سپس c که پیام رمزشده و ناخوانا برای غیر اس را می تواند با خیال راحت از یک کانال نا امن (مثل فریاد زدن آن!!) به شیرین برساند.
شیرین پس از دریافت c با ذوق و شوق تمام می تواند از کلید خصوصی خودش یعنی d استفاده کرده تا پیام فرهاد را باز بیابد.
شیرین پس از دریافت c با ذوق و شوق تمام می تواند از کلید خصوصی خودش یعنی d استفاده کرده تا پیام فرهاد را باز بیابد.
قدرت RSA بر این اساس است که شما نمی توانید صرفا با داشتن کلید عمومی کلید خصوصی را بدست بیاورید.
حتما شما هم متوجه شده اید مشکل بزرگی در رابطه با روش بالا وجود دارد. هر کسی می تواند خود را جای فرهاد جا بزند چون هر کسی می تواند با کلید عمومی یک پیام رمز کند و به شیرین بفرستد. در واقع روشی برای تعیین هویت وجود ندارد. در بخش بعد به این موضوع می پردازیم
حتما شما هم متوجه شده اید مشکل بزرگی در رابطه با روش بالا وجود دارد. هر کسی می تواند خود را جای فرهاد جا بزند چون هر کسی می تواند با کلید عمومی یک پیام رمز کند و به شیرین بفرستد. در واقع روشی برای تعیین هویت وجود ندارد. در بخش بعد به این موضوع می پردازیم