|
جوتی
پسر/دختر بابالنگدراز |
||
|
My Favorites:
bbgoal lamp far-near ashoob miladkdz rohmamiya acetaminophen debug smartdevice farstec khak aaab nochagh persiangirl parsmedia w3schoolsir azemat sargardoon mahoordad techopedia My Programs: BlogClient MinsweeperRobot Calculator CalcWebSrvc 2unicode HuffmanCode FileValidator ConvexHall2D FSProject IISLog Options: No CSS CSS Layout |
سینا مطلبی نویسنده بلاگ روزنگار شب تولدش بخاطر مطالب بلاگش و نوشته های مطبوعاتی و... به اداره اماکن احضار شد. و ظاهرا هنوز در بازداشت است. خبرش در ایسنا خبرش در سردبیر خودش (چرا این جناب هودر بیشتر فعل ها رو زمان گذشته به کار برده؟ "سينا يک جوان تازه پدر شدهی بیخواب بود "!!) جوتی
کد هافمن
کدهافمن یکی از روشهای فشرده سازی اطلاعات است که بطور گسترده مورد استفاده قرار میگیرد. این روش میتواند بین 20% تا 90% اطلاعات را فشرده کند. بطور خیلی خلاصه میتوان گفت که در این روش برای کاراکترهایی که تعداد تکرار آنها در فایل بیشتر است، کد کوتاهتری در نظر گرفته میشود و برای آنهایی که کمتر تکرار شدهاند کدی طولانیتر. الگریتمش تو همه کتابهای طراحی الگریتم هست. کد برنامه با VB.Net نوشته شده. Download (بدون فایل اجرایی) جوتی حاشیه : عجب سوتی باحالی تو رابط کاربر داده بودم(خواب بودم احتمالا)! از جناب شفیعی که افاضات فرمودن و باگ رو گفتن ممنون.
پیشنهاد
سلام بابایی یه پیشنهاد خیلی خوب براتون دارم! تو این دنیا همه چیز تخصصی شده و هرکس فقط از رشته خودش سر در میاره و لاغیر. مثلا بعضیها متخصص کامپیوتر میشن و از شیمی سر در نمیارن و بعضیها برعکس. درستم هست. خوب وقتی تو شیمی بلدی چه نیازی هست که من شیمی بلد باشم؟ سوالم رو از تو میپرسم و جواب تو کارم رو راه میندازه. هکذا برعکس. بیا فکر کردن رو هم تخصصی کنیم. وقتی تو خوب فکر میکنی، چرا من فکر کنم؟ موضوعی که میخوام دربارش فکر بشه بهت میگم تو فکر میکنی و جوابشو به من میگی! چطوره؟ البته این زیادم پیشنهاد جدیدی نیست... جوتی بالاخره دیشب برنامه فشرده سازی هافمن تموم شد. فعلا که خیلی خستهام ولی احتمالا تا شب یا یه توضیح درباره الگریتم آپلودش میکنم. در کل بد نشد! ولی حتما میشه بهترش کرد مخصوصا از نظر سرعت. فکر کنم باید یه بافر بازی درست حسابی بکنم. جوتی x رو بیشتر از y دوست دارم! نمیشه هیچ وقت x منفی نشه؟ امروز همش وقتم رو با ریاضیII تلف کردم!
هذیانها و نقل قول شبانه!
دریا فقط یه مرداب پولداره! چون پول داره زمین و باد رو میخره ! باد براش موج درست میکنه و باعث میشه که گند نزنه، اگرنه آب دریا هم میگنید. فقط رودخونه ها نمیگندن! چون خودشون حرکت میکنند، هرچند که دست رنجشون رو دریا میبره! تلویزیون نشون داد که یه کوسه بزرگ سفید یه لاکپشت بی دندون رو تعقیب میکرد. لاکپشت رفت تو آب کم عمق، اونجا کوسه تحرک زیادی نداشت و لاکپشت بی دندون کوسه بزرگ سفید رو گاز گرفت!! و فراری داد! "ای دوست من، من آن نیستم که مینمایم. نمود پیراهنی است که به تن دارم-پیراهنی بافته ز جان که مرا از پرسشهای تو و تو را از فراموشی من در امان میدارد."-جبران خلیل جبران خیلی ها معتقدند اگر من استاندارد برنامه نویسی بشوم استاندارد معرکهای از آب در میام! و همه مشکلات برنامه نویسی حل میشود. امروز موفق شدم بطور آزمایشی یک فایل bmp را فشرده کنم و بعد باز کنم، حدود 50 درصد فشرده شد. و وقت باز کردن، نه تنها فایل از قبل بزرگتر شد بلکه یک افکت تصویری فوقالعاده زیبا هم کشف کردم که بخاطرش باید بهم جایزه بدهند! عکسی که فشرده کردم همون عکس جاده اصفهان به شیراز است که سمت چپ صفحه قرار دارد و آنچه حاصل شد این عکس است. واقعا بی نظیرم! مگه نه؟ جوتی پینوشت : اون شاهکار بخاطر این بود که آرایه بافر را یکی بیشتر از اونی که باید میگرفتم، گرفته بودم. یه 6 رو کردم 5 درست شد! ای کسانی که MT دوست دارید بشتابید که بخت به شما روی آورده و جناب ولینژاد یه راهنما برای نصب آن روی ویندوز نوشته است. لینک این دو روز من معجزاتی دیدم! که بعضی از اونها رو هیچ جور نمیتونم توجیح کنم! یکیش اینه : Dim cc As Char = Chr(129) Console.WriteLine(Asc(cc)) فکر میکنید جواب چند باشه؟ 129 ؟ نخیر! 63 !!! 64 تا کاراکتر همچی وضعیتی دارند. کسی میدونه دلیلش چیه؟ تکمیل : حامد بنایی همین کد رو نوشت و مشکل نداشت ولی من مشکل من هنوز تغییر نکرده! عجب بدبختیه! ویژوال بیسیک دات نت با این همه دک و پزش یه شیفت به چپ و راست نداره؟؟ مقایسه عملگرهای زبانهای مختلف. لینک سلام بابایی انگار وقتی به یه چیزی فکر میکنم با تمام وجودم بهش فکر میکنم! مدتی که به اون فکر میکنم همه زندگیم همون میشه! دیشب خواب 100010110 میدیدم! همینجوری جریان بیت از اینور میومدن میرفتن اونور کسی هم نبود 8 تا 8 تا دسته بندیشون کنه! خوب حالا کی به این میگه عشق؟ اگه بجای جریان بیت یه آدم بود چی بابایی؟ جوتی حاشیه : دیروز تو خیابون که راه میرفتم مثل دیوونه ها دستم رو اینور اونور تکون میدادم و رو هوا نقاشی میکشیدم! لطف جناب هافمن شامل حال ما شده و فعلا سرمون با درخت ایشون گرمه! البته فکر کنم طرفدارهای محیط زیست اگر دستشون به هافمن برسه سر از تنش جدا کنند چون تو الگریتم هافمن یک جنگل درب و داغون میشه و همه درختهاش از ریشه کنده میشوند و فقط یک درخت از همه جنگل باقی میماند! فعلا درختش درست شده ولی هنوز خیلی کار داره. میگن الگریتم هافمن بین 20% تا 90% میتونه اطلاعات رو فشرده کنه! امیدوارم برنامه من هم به همین خوبی فشرده کنه اگرنه ممکنه افسردگی بگیرم و خودکشی کنم!! جوتی
خر سواری
سلام بابایی باز منطقم رفته رو تاقچه! (شایدم بین بقیه خرت و پرتا که قبل از خواب میذارم رو تاقچه بوده و یادم رفته برش دارم) احساسات برا خودشون هاکی رو یخ بازی میکنند و تند تند میخورند زمین! آخه احساسات بلد نیستند به کارهاشون فکر کنند، هاکی رو یخ یکم براشون سخته ولی کم کم یاد میگیرند. آخه راه رفتن و این چیزا که دیگه فکر کردن نمیخواد! حتی مغز هم لازم نداره(تو بعضی از حشرات اینجوریه). فعلا تو کار خریدن افسارم! یه وقتی فکر میکردم آدم نباید به احساساتش افسار بزنه! حالا فکر میکنم که احساسات اکثرا جاهای دری وری میرن و اگر یه افسار محکم نداشته باشند ممکنه به خودشون و من و بقیه صدمه بزنند. میدونی قصه چیه؟ کوچیکتر که بودم یه بار سوار خر شدم! بهم گفتن با این چوب محکم بزن به گردنش که سرکشی نکنه! گفتم اینا چه خشنن! تفلکی خره! ولی چند دقیقه بعد فهمیدم که تفلکی خودم! چون افتاده بودم روی علفها! وقتی دوباره سوار شدم زدمش! نه خیلی محکم ولی به اندازه کافی محکم بود که منو نندازه! جوتی بابایی قبلا فکر میکردم ممکنه دو نفر به چیزی نگاه کنند و آن را متفاوت ببینند. ولی حالا فکر میکنم که امکان ندارد دو نفر به چیزی نگاه کنند و آن را متفاوت نبینند. (و البته درباره 4 تا حس دیگه هم همینطور) جوتی
آنچه شما خواسته اید
هرچند که هنوز نسبت به سیستم کامنت بدبینم و فکر میکنم که آخر سر یه شری به پا کنه!! ولی مزایایی هم داره که نمیشه ازشون گذشت. و بعد اینکه من خیلی دموکراسیم و چون شما خواستید که افاضات بفرمایید ما هم این امکان را به شما میدهیم که افاضات بفرمایید. (این افاضات رو از نبوی کف رفتم) راستی وقتی این بخش رو مینوشتم فهمیدم کد بلاگم فوق العاده افتضاحه! ولی کد این سیستم کامنت بد نشد. مخصوصا که یکم تکنولژیش پیشرفته شد! روش کارش اینجوریه که اطلاعات رو از بانک میخونه ، تبدیل به یه رشته xml میکنه و بعد با یک xslt که قالب این صفحه کامنته اون رو روی صفحه میریزه. سورسش رو آپلود کنم؟ جوتی
بهار دیدم!
تهران که از زمستون یه دفعه تابستون شد! ولی قزوین بهار بود. دشت یه دست مخمل سبز شده بود! درختها شکوفه داده بودن و سفید و سبز و صورتی شده بودن. خیلی قشنگ شده بود. کلی سر حال شدم... بهار جدا قشنگه ولی نه تو دود و دم تهران خاکستری و غم گرفته و سیاست زده. جوتی حضرت آب برای عکسهایشان یک سایت درست کردند. به نظر من که سایت قشنگیه. البته درباره عکس هاش هیچ نظری نمیدم! چون زیادی هنریه و من سر در نمیارم. اینجا یکی مرده یه ماشین پلیس یه آمبلانس یه پارچه سفید همین! عین خارج! تکمیل : به مردنش کمک شده بوده! با مشت!
Digital Club
جناب Digital Club چیزهای جالبی درباره کامپیوتر و اینترنت مینویسه. این برنامه ZigZag Cleaner هم خیلی چیز بامزه ایه. خیلی جاها هم ممکنه جون آدم رو نجات بده! جوتی
رمزگذاری - رمزگشایی (قسمت دوم)
قسمت اول هرچند که DES مخفف "استاندارد رمزگذاری داده ها" است ولی درحال حاضر الگریتم AES (استاندارد پیشرفته رمزگذاری) از طرف موسسه بینالمللی استاندارد و تکنولژی به عنوان استاندارد رمزگذاری شناخته میشود. در حقیقت این موسسه در ایجاد استاندارد جدید نقش رهبری ایفا کرده است. و پس از الگریتم های مختلفی که پیشنهاد شده است الگریتم Rijndael به عنوان الگریتم استاندارد انتخاب شده است. در Net. هم الگریتم AES به اسم Rijndael موجود است. در الگریتمهای رمزگذاری کلید خصوصی لازم است که دوطرف (فرستنده و گیرنده) بر سر یک کلید خصوصی مشخص توافق کرده باشند. که مشخصا این توافق باید در یک کانال امن صورت گیرد.که کلید خصوصی به دست افراد ناخوانده نیفتد. مثلا علی کلمه رمز مریم و نرگس را حضوری و جداگانه به هریک از آنها بگوید. این روش برای دو نفر شاید عملی باشد ولی برای سایتی که بیشتر از صد نفر مشترک دارد و برای ارتباط با اکثر آنها کانال امنی هم وجود ندارد عملا امکان پذیر نیست. الگریتمهای رمزگذاری کلید عمومی(نامتقارن) این الگریتمها برای رمزگذاری و رمزگشایی دو کلید مجزا دارند. به این معنی که کلیدی که رمزگذاری میکند توانایی بازکردن رمز را ندارد. به کلیدی که رمزگذاری میکند کلید عمومی و به کلیدی که رمزگشایی میکند کلید خصوصی گفته میشود. مانند این است که نامه را در صندوقی بیندازید و در آن را با کلیدی که دارید قفل کنید. اما آن کلید دیگر نتواند در صندوق را باز کند. بنابراین وقتی خود شما نتوانید در صندوق را باز کنید اگر کسان دیگری هم کلید شما را داشته باشند نمیتوانند در صندوق را باز کنند. الگریتمهای کلید عمومی تضمین میکنند که از روی کلید عمومی نتوان کلید خصوصی را بدست آورد. یکی از الگریتمهای کلید عمومی ای که بطور روزافزون مورد استفاده قرار میگیرد الگریتم RSA است. که توسط ریوست - شایمر - آدلمن طراحی و پیاده سازی شده است. اما الگریتمهای نامتقارن هم بی اشکال نیستند. این الگریتمها نسبت به الگریتمهای متقارن بسیار کند هستند و حجم متن را هم چند برابر میکنند. به این ترتیب بنظر میرسد که برای انتقال جریانهای داده مانند فایل چندان مناسب نباشند. در حقیقت برای انتقال جریانهای داده از ترکیب این دو الگریتم استفاده میشود. به این صورت که قبل از اینکه رمزگذاری جریان داده شروع شود. فرستنده از گیرنده یک کلید عمومی(مثلا کلید عمومی RSA ) درخواست میکند. سپس یک کلید خصوصی (مثلا برای الگریتم DES ) بطور تصادفی ایجاد میکند و آن را با کلید عمومی (RSA) رمزگذاری میکند (کلید را در صندوق گذاشته در آن را قفل میکند) و برای گیرنده ارسال میکند. سپس با الگریتم کلید خصوصی (مثلا DES) شروع به رمزگذرای جریان داده میکند. و آن را برای گیرنده ارسال میکند. در طرف دیگر، گیرنده با کلید خصوصی (RSA) بسته کلید را رمزگشایی میکند(در صندوق را باز میکند) و کلید خصوصی (DES) را از آن بیرون می آورد و با آن جریان داده را رمزگشایی میکند. به این ترتیب بطور غیر رسمی میتوان گفت که از الگریتم نامتقارن به منظور ایجاد یک کانال امن برای انتقال کلید خصوصی الگریتم متقارن استفاده شده است. Hash رمزگذاری بدون بازگشت تابع hash به تابعی مانند H میگویند که ورودی m را بگیرد و رشتهای با طول ثابت مانند h به عنوان خروجی بازگرداند. (h=H(m . اما وقتی که در زمینه رمزگذاری از hash نامبرده میشود باید خصوصیات دیگری هم داشته باشد. -ورودی میتواند هر طولی داشته باشد -خروجی طول ثابت دارد. -محاسبه hash برای هر رشته ای باید نسبتا ساده باشد. -یک طرفه باشد. فقط از m بتوان h را بدست آورد نه برعکس. -و در نهایت اینکه یک به یک باشد. برای هر m یک h منحصر به فرد وجود داشته باشد. در صورتی که هیچ m و n ای وجود نداشته باشند که (H(m)=H(n باشد H قویا یک به یک است. ( فکر کنم با توجه به شرطهای اول و دوم و اصل لانه کبوتر بتوان گفت که این شرط امکانپذیر نیست اما احتمال تصادم در الگریتمهایی مانند MD5 خیلی کم است.) خوب حتما متوجه شدید که یکی از الگریتمهای معروف Hash الگریتم MD5 است. اما وقتی نمیتوان عبارت رمز شده را رمزگشایی کرد این رمزگشایی چه فایدهای دارد؟ اگر کاربر بجای اینکه پسورد خودش را برای سرور بفرستد فقط hash آن را بفرستد چه اتفاقی میافتد؟ در حقیقت اطلاعاتی فرستاده شده که با گرفتن آن نمیتوان به پسورد اصلی دست پیدا کرد. و در طرف دیگ سرور پسورد کاربر را در بانک اطلاعاتی خودش ذخیره نمیکند بلکه فقط hash آن را نگه میدارد. به این ترتیب hash فرستاده شده با hash ذخیره شده مقایسه میشود و در صورت برابر بودن کاربر اجازه ورود دریافت میکند. حال درصورتی که کسی به بانک سرور هم دسترسی پیدا کند نمیتواند پسوردها را بدزدد. اما یک مشکل کوچک هم هست. اگر کاربر پسوردش را فراموش کند سرور هم نمیتواند پسوردش را به او بدهد! مگر اینکه مانند Yahoo یک پسورد جدید برای کاربر درست کند. این روش (احتمالا با کمی محکم کاری) در ویندوز NT هم برای ذخیره کردن پسورد استفاده میشود. البته توصیه میشود که خود hash نیز قبل از فرستادن رمزگذاری شود (ترجیحا با یک الگریتم نامتقارن مانند RSA) که مهمانهای ناخوانده نتوانند از hash استفاده غیر مجاز کنند. مثال کار کردن با این الگریتم ها در VB.Net را میتوانید download کنید.(بدون exe) جوتی حاشیه : یکی از مواردی که رمزگذاری خیلی بدرد میخورد webservice ها هستند.
کامنت
دارم وسوسه میشم سیستم کامنت را بندازم... خدا بدادم برسه! کسایی که موافقترن بیشتر نمره بدن اونایی که مخالفترن کمتر نمره بدن.
هری پاتر
بهتر بود نشون نمیدادن! با این سانسورهای عجیب و غریب! صحنه هایی که سانسور شده بود دقیقا مثل صحنه هایی بود که سانسور نشده بود و هیچ چیز عجیبی نداشتن. در حقیقت فیلم رو خلاصه کرده بودن نه سانسور! دوبله هم که افتضاح بود ! واقعا افتضاح ! جایی که اون نامه داشت جیغ و ویغ میکرد گفته های فارسی اکوی انگلیسی داشتند!! وقت حرف زدن هم که انگار چندتا روبات دارن با هم حرف میزنند و... خیلی چیزای دیگه! حتی بعضی جاها ترجمه هم غلط بود!!! این دیگه شاهکاره! وقتی بجای "ولی هنوز میتونه بشنوه" بگن "هنوز میتونه صدای من رو بشنوه" یعنی یه ترجمه افتضاح! چون منظور کسی که اینو گفت این بود که "هنوز میتونه صدای تو رو بشنوه"! خوبه که این فیلم از همون کانالی پخش شد که سراسر عید سنگ دوبله را به سینه میزد (برنامه "صداهای دیدنی") و با پیشکسوتها یا بهتره بگم حرفه ای های این کار حرف میزد و درد دلشون رو پخش میکرد... یادش بخیر یه وقتی دوبله داشتیم... انگار اینم رفته کنار سیبل بابا! جوتی حاشیه : هری پاتر از تالار اسرار زنده بیرون اومد ولی تو تالار دوبلاژ مرد! بابایی برق رفتن دیشبم یه چیزی تو مایه های اتوبوس جهانگردی بود! تصور کنین سه تا خانواده که سالی یک بار ، اونم عید میان خونه ما ، دیشب قرار بود بیان خونمون ! تا پاشون رو گذاشتن تو راهرو ساختمون برق رفت! عید دیدنی خیلی رومانتیک و در نور شمع برگزار شد!
منافع مشترک...
زنده موندن دو راه داره یکی اینکه پست باشی یکی دیگم اینکه اینقدر با همه منافع مشترک داشته باشی که مردنت به نفع هیچ کس نباشه
شتریه که...
جناب سردبیر : خودم تعطیل کردند. و حضرت آقای حامد بنایی تصمیم به تغییر روش گرفتند و تغییر زندگی و خلاصه تغییرات گرفتن که من همیشه با تغییرات موافقم (خالی بستم؟) تکمیل : جناب سردبیر خودش فقط میخواسته خودشو برا خواننده هاش لوس کنه! به این راحتی ها از دستش خلاص نمیشیم! جوتی اگه شما هم مثل من Counter-Strike دوست دارین میتونین تشریف ببرین اینجا یه وصله پینه برای جدید کردن اسلحه و بازیکنها و چیزای دیگه بگیرین.
رمزگذاری - رمزگشایی(قسمت اول)
رمزگذاری - رمزگشایی(قسمت اول) معمولا یکی از فصلهای کتاب ساختمان دادهها درباره رمزگذاری و رمزگشایی است که توسط استادهای عزیز تدریس نمیشود! نمیدانم که در سرفصلهای این درس هم هست یا نه. رمزگذاری و رمزگشایی را میتوان کنار اعمال دیگری که روی رشته ها انجام میشود قرار داد از قبیل :الحاق و محاسبه طول و ... در رمزگذاری هدف تغییر دادن متن ساده به متنی غیر قابل درک و سری است که درصورت لزوم میتوان آن را به متن اولیه تبدیل کرد(رمزگشایی). ساده ترین عملی که برای رمزگذاری انجام میشود جانشینی است. در این روش هر کاراکتر با کاراکتر دیگری تعویض میشود. به عنوان مثال کد اسکی هر کاراکتر از 255 کم میشود. به این ترتیب کاراکتر (A(65 به 255-65=190 تبدیل میشود. عمل جانشینی را میتوان با استفاده از بک جدول نیز انجام داد. این جدول یک تناظر یک به یک بین کاراکتر ساده و کاراکتر رمزی آن برقرار میکند. برای مثال جدول زیر را درنظر بگیرید A B C D E F H T J K A Y در این صورت اگر متن ساده برابر با CAD باشد به متن رمزی JHK تبدیل میشود. بنظر نمیرسد چنین استفاده های ساده ای از روش جانشینی چندان قابلیت اطمینانی داشته باشد. برای مثال در مورد فرمولی که ما استفاده کردیم، اگر کسی که قصد رمزگشایی داشته باشد فقط یک کاراکتر از متن را بداند میتواند الگریتم رمزگذاری ما را کشف کند. روش دیگر رمزگذاری روش جایگشت است. در این روش کاراکترهای متن اصلی جابجا میشوند. برای مثال کاراکتر اول به مکان سوم و کاراکتر سوم به مکان دوم و دومی به جای کاراکتر اول منتقل میشوند. یعنی رشته ali به lia تبدیل میشود. با ترکیب کردن این دو روش میتوان الگریتم های پیچیده ای ایجاد کرد. اما همه آنها به شدت آسیبپذیر خواهند بود. تصور کنید که علی میخواهد یک نامه به مریم بفرستد(وای وای وای!) که متن آن بسیار محرمانه است! او برنامه رمزگشا را به مریم میدهد و نامه را برای او میفرستد. تا اینجای کار ایرادی ندارد ولی از آنجا که علی برای نرگس هم نامههای محرمانه ای میفرستد باید برنامه رمزگشا را به نرگس هم بدهد. حالا اگر نرگس نامهای که علی به مریم فرستاده بود بدست بیاورد میتواند به راحتی آن را کشف رمز کند. و .... مگر خدا به داد علی برسد! اجازه بدهید فرمول جانشینی را کمی تغییر دهیم chr + X) mod 255) در اینجا chr کاراکتری است که باید رمز شود و X عددی است که کاربر وارد میکند. به این ترتیب کاربری که میخواهد متن را کشف رمز کند باید مقدار Xای که متن با استفاده از آن رمز شده است را بداند. در این قبیل الگریتمها به X "کلید خصوصی" میگویند. و به خود الگریتم "الگریتم رمزگذاری کلید خصوصی" یا "الگریتم رمزگذاری متقارن" میگویند. متقارن به این دلیل که کلید رمزگذاری و رمزگشایی یکی است. ازجمله الگریتمهای رمزگذاری کلید خصوصی میتوان به "استاندارد رمزگذاری دادهها(Data Encryption Standard) اشاره کرد. DES : این الگریتم یکی از پراستفادهترین الگریتمهای رمزگذاری است. اگر نگاهی به الگریتم جانشینی اصلاح شده ای که نوشتیم بیندازید متوجه میشود که با حداکثر 255 بار آزمایش کلید خصوصی پیدا میشود. ولی در DES وضع کمی!! فرق میکند. در الگریتم ما کلید خصوصی یکی از 255 کلید محتمل بود. اما در DES بیش از 72000000000000000 محتمل است! عناصر اصلی این الگریتم را یک کلید رمز (کلید خصوصی) و یک بردار اولیه(جایگشت اولیه) تشکیلی میدهند. ابتدا متن رمزی به بلوکهای 64 بیتی تبدیل میشود و جایگشت اولیه(که یک جدول 64 خانهای است) روی آن اعمال میشود. برای مثال اگر خانه اول جدول جایگشت اولیه 10 باشد. بیت اول به مکان 10هم میرود. سپس متن 64 بیتی به دو بخش 32 بیتی تبدیل میشود که آنها را L0 و R0 مینامیم. پس از آن با استفاده از کلید K1 و تابع F ، R0 رمز میشود(F(R0,K1 و در مرحله بعد از آن (F(R0,K1 با L0 یای انحصاری (XOR) میشود و R1 را برای مرحله دوم ایجاد میکند. اما مرحله دوم نیاز به L1 نیز دارد. L1 برابر با R0 است. این عمل تا مرحله 16 ادامه میابد. پس از مرحله آخر دو بلوک 32 بیتی به هم متصل میشوند و یک بلوک 64 بیتی رمز را ایجاد میکنند. این الگریتم سال 1977 در شرکت IBM ایجاد شد و سازمان دفاع آمریکا آن را در اختیار گرفت. شماره استاندارد آن ANSI X3.92 و X3.106 است. در سال 1997 مالک RSA(یک الگریتم رمزگذاری کلید عمومی) جایزه 10000 دلاری برای شکستن DES تایین کرد. یک شرکت با استفاده از 14000 کامپیوتر در اینترنت اقدام به آزمایش کلید برای یک متن رمز شده DES کرد و پس از آزمایش تنها 18گرادیلیون(18 با 24 تا صفر) از 72گرادیلیون موفق شد رمز را کشف کند. امروزه احتمالا تعداد کمی از پیغامهایی که با استفاده از DES فرستاده میشوند با این روش شکسته میشوند. درمورد استاندار شدن این الگریتم هم بحث های زیادی شده است که آیا کلید 48 بیتی که در جایگشت اولیه استفاده میشود به اندازه کافی طولانی هست؟ و اینکه آیا کلیدهای جانشینی به اندازه کافی پیچیده هستند؟ DES در VS.Net VS.Net از تعدادی از الگریتمهای رمزگذاری مهم از جمله DES پشتیبانی میکند. مثالی که در زیر آمده است یک متن را رمز کرده و در TextBox2 مینویسد. پس از آن آن متن را رمزگشایی کرده و در TextBox1 مینویسد. کلید خصوصی و بردار اولیه تصادفی انتخاب میشوند. Dim des As New DESCryptoServiceProvider() Dim inputArray() As Byte = System.Text.Encoding.UTF8.GetBytes("Data Encryption") Dim ms As New IO.MemoryStream() Dim encCS As New CryptoStream(ms, des.CreateEncryptor(), CryptoStreamMode.Write) Dim key() As Byte = des.Key Dim IV() As Byte = des.IV encCS.Write(inputArray, 0, inputArray.Length) encCS.FlushFinalBlock() TextBox2.Text = System.Text.Encoding.UTF8.GetString(ms.ToArray) ms.Seek(0, IO.SeekOrigin.Begin) Dim decCS As New CryptoStream(ms, des.CreateDecryptor(key, IV), CryptoStreamMode.Read) Dim sr As New IO.StreamReader(decCS) TextBox1.Text = sr.ReadToEnd() جوتی مرجعها : MSDN ، ساختمان دادهها در ++C نوشته لاری نایهف، ترجمه جعفرنژاد و Whatis.com قسمت دوم بابایی تبریک میگم صنایع مادر کشورمون (پفک و ماکارونی و موتورسیکلت و ...) به نهایت کیفیت رسیدن! برای همین دیگه با افزایش کیفیت نمیشه رقابت کرد و این عزیزان در زمینه سکه و ماشین کادو دادن رقابت میکنند!!
زندگی خیلی قشنگه
امروز یه نامه برام اومده بود که گفته بود یه ویروس خطرناک به اسم Life is Beautiful جدیدا اومده و میتونه زندگی آدم رو از قشنگی در بیاره! یه سر به symantec زدم دیدم ای دل قافل متن نامهای که برای من اومده اونجا هست! و گفته اینو جدی نگیرین(لینکش) دوستانی که علاقه به فوروارد کردن این جور نامه ها دارن لطف کنن به یه چیزی دقت کنند این نامه ها اگر واقعی باشند حتما آدرس صفحه مربوط به ویروس در یکی از سایت های ضد ویروس را دارد. و مساله مهم اینکه اگر همچین نامه هایی گرفتید و از شما خواسته بود که فایلی را پاک کنید اصلا به حرفش گوش نکنید. جوتی حاشیه : از این به بعد هم یکم زودتر نامه را بفرستید! این نامه سپتامبر 2002 کشف شده! سلام بابالنگدراز(قب) دیروز روز عجیبی بود. پزشک خانوادگیمون( نه بابا اینقدرام خارجی نیستیم! منظورم دختر عمم بود! ) با توجه به توضیحات تلفنی ما درباره حال باباجونی(بابای مامانم) توسیه کردن که حتما یه متخصص قلب ایشون رو ببینه. خوب تا اینجای کار هیچ ایرادی نداره! کار وقتی ایراد پیدا میکنه که بهتون بگم باباجونی اصلا دکتر برو نیست! چه برسه به متخصص ، چه برسه به بیمارستان! و دیگه واویلا اگه بخوای راضیش کنی که بره بیمارستان تخصصی قلب! خاله ام قبلا سعی کرده بود، دختر خاله خانوم با نیروی سهر آمیز اشک تلاش کرده بودند و از زور بازو هم احتمالا استفاده شده بود !! ولی هیچکدام فایده نداشت! خوب میشناسمش! یعنی یه جورایی مثل خودشم! یک دنده و لجباز! اما معتقدم هر کاری راهی داره... بابایی! طبق عادت مالوف کلی حرف آماده کردم که بهش بگم... "باباجونی بخاطر من بیاین" "باباجونی اگه یه اتفاقی براتون بیفته ما چیکار کنیم" و ... البته طبق همون عادت مالوف میدونستم که وقتی زمان گفتن برسه همه اینها یادم میره! همیشه همیجوریه! ولی به یه نتیجه رسیدم! کسی رو که اون دنیا بیشتر از این دنیا دوست و آشنا داره از مرگ نمیشه ترسوند! اونجا که رسیدیم همه کلی زور زدیم ولی بی نتیجه بود. من منتظر یه موقعیت بودم که با باباجونی تنها باشم. دست آخر اون موقعیت پیش اومد. از اتاق که اومدیم بیرون باباجونی دفترچه بیمه اش دستش بود و تقریبا آماده رفتن! مهم نیست بهش چی گفتم... دوستش دارم، اینو یکم نشونش دادم، باباجونی هم منو دوست داره... اینجور وقتها آدم خرش حسابی میره. احساس خوبیه که آدم اینجوری از نفوذش استفاده کنه! احساس آدم بودن به آدم دست میده! دوستدار شما جوتی حاشیه : خدارو شکر که مشکل باباجونی زیاد جدی نبود البته انگار باید تحت نظر باشه! میگه 82 سالشه! من که میگم اصلا بهش نمیخوره ! به نظر من که بهش 50 60 میخوره. حاشیه 2 : بابایی شما هم براش دعا کنین.
وزش باد در گندمزارها...
آب روی زمین ریخته... زمینی که هزارتا حفره داره ، آب همه اونها رو پر کرده ، شاید یه زمانی اینجا گندمزار بوده، گندمزار؟ حفرهها همیشه زمین رو اذیت میکنند، حفره باید با خاک پر بشه نه با آب... آب بخار میشه و حفرههای پرشده دوباره سر باز میکنند بدتر از قبل... قبلا معنی صاف بودن رو نچشیده بودی حالا برات سخت تره! شانس آوردی آب میتونست یخ بزنه! میدونی چی میشد؟ از تو میشکستی! خورد میشدی... تا حالا اینو ندیدی؟ حتی اگه سنگ باشی آب میتونه بشکنت ، نفوذ میکنه و بعد یخ میزنه... اشتباه میکنی اون که تغییر میکنه آب نیست! لیوان آبه... آب حفره ها رو پر میکنه تا زمین بارور بشه، شاید لیوانی که آب ریخت دیگه نباشه... این ناراحت کنندس ولی آب هست... یه اشتباهتم اینجا بود! با اینهمه اشتباه چطور هنوز زنده موندی؟ جوتی
از دود بدم میاد
از دود ماشینها، از دود سیگار، از دود سوختن خونه آدمها، از دود سوختن درخت ها و... از دود بدم میاد
موشک
این موشکهایی که تو ایران خورد فکر کنم یه اشتباهی تو مایه های اون شاهکار آمریکا تو یوگسلاویه که اشتباهی سفارت چین رو زد! خبرش تو ایرنا از حامد سلام بابایی کسی که میمیره یا نزدیک مرگ میشه، قدیس میشه! همه ملت بدی هایش را فراموش میکنند و از خوبی هایش یاد میکنند... اینجوریه که آدمی که هیچ بدیی نداره و هرچی داره خوبیه، قدیس میشه! بابایی! سال که تموم میشه حسابدارها تراز میگیرند و دفتر مالی سال رو میبندند. هرچی بود مال سال قبل بود، دیگه تموم شد! سال قبل مرد! چرا عمر مرده خودم را قدیس نکنم؟ نه اینکه اشتباهاتم را فراموش کنم، نه! همانطور که اشتباهات مرده ها رو فراموش نمیکنیم ولی آنها را بخاطر اشتباهاتشون سرزنش هم نمیکنیم، شاید چون دیگر نمیتوانند تکرارش کنند. همیشه شاد باشی بابایی، نه بی غم. جوتی
|
آرشیو ماهیانه:
مهر 81 آبان 81 آذر 81 دی 81 بهمن 81 اسفند 81 فروردین 82 اردیبهشت 82 خرداد 82 تیر 82 امرداد 82 شهریور 82 مهر 82 آبان 82 آذر 82 دی 82 بهمن 82 اسفند 82 فروردین 83 اردیبهشت 83 خرداد 83 تیر 83 امرداد 83 شهریور 83 مهر 83 آبان 83 آذر 83 دی 83 بهمن 83 اسفند 83 فروردین 84 اردیبهشت 84 خرداد 84 تیر 84 امرداد 84 شهریور 84 مهر 84 آبان 84 آذر 84 دی 84 بهمن 84 اسفند 84 فروردین 85 اردیبهشت 85 خرداد 85 تیر 85 امرداد 85 شهریور 85 مهر 85 آبان 85 آذر 85 دی 85 بهمن 85 اسفند 85 فروردین 86 اردیبهشت 86 خرداد 86 تیر 86 امرداد 86 شهریور 86 مهر 86 آبان 86 آذر 86 دی 86 بهمن 86 اسفند 86 فروردین 87 اردیبهشت 87 خرداد 87 تیر 87 امرداد 87 شهریور 87 مهر 87 آبان 87 آذر 87 دی 87 بهمن 87 اسفند 87 فروردین 88 اردیبهشت 88 خرداد 88 تیر 88 امرداد 88 شهریور 88 مهر 88 آبان 88 آذر 88 دی 88 بهمن 88 اسفند 88 فروردین 89 اردیبهشت 89 خرداد 89 تیر 89 امرداد 89 شهریور 89 آرشیو سالیانه: سال 1381 سال 1382 سال 1383 سال 1384 سال 1385 سال 1386 سال 1387 سال 1388 سال 1389 قصههای من: گرگ قسمت اول گرگ قسمت دوم موش کور باغبان جزیره آتشفشان کرم ابریشم توپ قصههای کامپیوتری کتاب VB.NET مقدماتی جزوه ویژوال بیسیک رمزگذاری-رمزگشایی |
|
تمام حقوق این سایت متعلق به امیر احسانی است.
شما حق دارید از مطالب این سایت هرطور که مایل هستید استفاده کنید بشرط اینکه برای آنها هیچ گونه وجهی دریافت نکنید. اگر منبع را هم ذکر کنید ممنون میشم. jooti [at] ehsani [dot] org |
||