موضوع مقاله: رمزنگاری | مخاطب: عمومی | لحن: دانشنامه‌ای | ساختار: عنوان، مقدمه، 3 بخش، جمع‌بندی | مقاله: | # رمزنگاری | مقدمه: رمزنگاری دانشی است که به بررسی و شناختِ اصول و روش‌های انتقال یا ذخیرهٔ اطلاعات به صورت امن (حتی اگر مسیر انتقال اطلاعات و کانال‌های ارتباطی یا محل ذخیره اطلاعات ناامن باشند) می‌پردازد. | ## بخش 1: رمزنگاری | دراصل، رمزنگاری دانش تغییر دادن متن پیام یا اطلاعات به کمک کلید رمز و با استفاده از یک الگوریتم رمز است. به صورتی که فقط شخصی که ازیی کلید و الگوریتم آگاه است می‌تواند اطلاعات اصلی را از اطلاعات رمزگذاری استخراج کند و شخصی که از یکی یا هر دوی آن‌ها آگاهی ندارد نمی‌تواند به اطلاعات دسترسی پیدا کند. دانش رمزنگاری بر پایه اصولی مانند نظریهٔ اطلاعات، نظریهٔ اعداد و آمار بنا شده‌است و امروزه به‌طور خاص در علم مخابرات بررسی و استفاده می‌شود. بالعکس در پنهان‌نگاری، اصل وجود اطلاعات یا فرستاده پیام محرمانه، پنهان نگاه داشته می‌شود و غیر از طرف فرستنده و طرف دریافت‌کننده کسی از فرستاده پیام آگاه نمی‌شود. در رمزنگاری محتویات یک متن به صورت حرف به حرف و در بعضی موارد بیت به بیت تغییر داده می‌شود و هدف تغییر محتوای متن است نه تغییر ساختار زبان‌شناختی آن. در مقابل، کدگذاری تبدیلی است که واژه‌ای را با یک واژه یا نماد دیگر جایگزین می‌کند و ساختار زبان‌شناختی متن را تغییر می‌دهد. رمز عبارت است از تبدیل کاراکتر به کاراکتر یا بیت به بیت بدون آن که به محتویات زبان شناختی آن پیام توجه شود. امروزه از کدها استفادهٔ چندانی نمی‌شود اگر چه استفاده از آن پیشینهٔ طولانی و پرسابقه‌ای دارد. موفق‌ترین کدهایی که تاکنون نوشته شده ابداع شده‌اند توسط ارتش ایالات متحده و در خلال جنگ جهانی دوم در اقیانوس آرام بکار گرفته شد. اصول شش‌گانه کرشُهف آگوست کرشهف شهرت خود را از پژوهش‌های زبان‌شناسی و کتاب‌هایی که در این خصوص و زبان ولاپوک نوشته بود به‌دست آورد. در این دو مقاله، شش اصل پایه‌ای وجود داشتند که اصل دوم آن به عنوان یکی از قوانین رمزنگاری هنوز هم مورد استفاده دانشمندان رمزنگاری پیشرفته‌است: سامانه رمزنگاری نه فقط از دید تئوری بلکه در عمل هم باید غیرقابل شکستن باشد. کلید رمز باید به گونه‌ای انتخاب‌پذیر شود که ۱) بتوان به سادگی آن را عوض کرد و ۲) بتوان آن را به یاد سپرد و نیازی به یاداشت کردن کلید رمز نباشد. به چند دلیل عمده کلید رمز باید تنها اطلاعات محرمانه در یک سامانه رمزنگاری باشد: محرمانه نگه داشتن یک رشته بیت ۵۱۲ تایی (به‌طور معمول) بسیار ساده‌تر و عملی تر از محرمانه نگه داشتن یک الگوریتم یا روش پیاده‌سازی است. اگر کلید رمز افشا شود تنها با اتخاذ یک کلید تازه می‌توان دوباره به یک سامانه رمزنگاری تازه و امن دست پیدا کرد در صورتی‌که اگر امنیت سامانه رمزنگاری وابسته به الگوریتم و روش پیاده‌سازی باشد با افشای این اطلاعات بازتولید یک سامانه رمزنگاری تازه و امن بسیار دشوار خواهد بود. وقتی که کلید رمز تنها اطلاعات محرمانه یک سامانه رمزنگاری باشد می‌توان از یک سامانه مشترک (با کلیدهای متفاوت) برای ارتباط با گیرنده/فرستنده‌های گوناگون استفاده کرد در صورتی که اگر غیر از این می‌بود برای ارتباط با هر فرستنده/گیرنده به یک الگوریتم و روش پیاده‌سازی تازه نیاز می‌بود. روش‌های رمزنگاری که تا پیش از آن اصولاً برای رمزنگاری کردن پیام به کار می‌رفتند، کاربردهای تازه و زیادی پیدا کردند. تا پیش از آن، رمزنگاری عمدتاً روی اطلاعات متنی و با استفاده از حروف الفبا انجام می‌گرفت؛ اما ورود رایانه باعث شد که رمزنگاری روی انواع اطلاعات و بر مبنای بیت انجام شود. تعاریف و اصطلاحات عناصر مهمی که در رمزنگاری مورد استفاده قرار می‌گیرند به شرح زیر است: متن آشکار: پیام و اطلاعات را در حالت اصلی و پیش از تبدیل شدن به حالت رمز، متن آشکار یا اختصاراً پیام می‌نامند. رمزگذاری (رمزنگاری کردن): عملیاتی است که با استفاده از کلید رمز، پیام را به رمز تبدیل می‌کند. رمزگشایی (بازکردن رمز): عملیاتی است که با استفاده از کلید رمز، پیام رمزگذاری‌شده را به پیام اصلی بازمی‌گرداند. کلید رمز: اطلاعاتی معمولاً عددی است که به عنوان پارامتر ورودی به الگوریتم رمز در نظر گرفته می‌شود و عملیات رمزگذاری و رمزگشایی با استفاده از آن انجام می‌گیرد. کاربردهای رمزنگاری پیش از ورود رایانه‌ها به زمینه رمزنگاری، تقریباً کاربرد رمزنگاری محدود به رمزنگاری کردن پیام و پنهان کردن مفاد آن می‌شده‌است. اما در رمزنگاری پیشرفته سرویس‌های گوناگونی از جمله موارد زیر ارائه شده‌است: حفظ محرمانگی یا امنیت محتوا: فرستاده یا ذخیره اطلاعات به نحوی که تنها افراد مجاز بتوانند از محتوای آن مطلع شوند، که همان سرویس اصلی و اولیهٔ پنهان کردن مفاد پیام است. حفظ صحت داده‌ها یا سلامت محتوا : به معنای ایجاد اطمینان از صحت اطلاعات و عدم تغییر محتوای اولیهٔ آن در حین فرستاده‌است. تغییر محتوای اولیهٔ اطلاعات ممکن است به صورت اتفاقی (در اثر مشکلات مسیر ارسال) یا به صورت عمدی باشد. احراز هویت یا اصالت سنجی محتوا: به معنای تشخیص و ایجاد اطمینان از هویت فرستنده اطلاعات و عدم امکان جعل هویت افراد است. عدم انکار: به این معنی است که فرستندهٔ اطلاعات نتواند در آینده فرستاده آن را انکار یا مفاد آن را تکذیب نماید. چهار مورد بالا، کاربردهای اصلی رمزنگاری تلقی می‌شوند و دیگر اهداف و کاربردهای رمزنگاری، با ترکیب چهار مورد بالا قابل حصول هستند. این کاربردها مفاهیم جامعی هستند و می‌توانند برای کاربردهای گوناگون پیاده‌سازی و استفاده شوند. برای نمونه سرویس اصالت محتوا هم در معاملات تجاری اهمیت دارد و هم در مسائل نظامی و سیاسی مورد استفاده قرار می‌گیرد. برای ارائه کردن هر یک از سرویس‌های رمزنگاری، بسته به نوع کاربرد، از پروتکل‌های گوناگون رمزنگاری استفاده می‌شود. معمولاً یک پروتکل رمزنگاری مشخص می‌کند که اطلاعات موجود در چه قالبی باید قرار گیرند چه روشی برای تبدیل اطلاعات به عناصر ریاضی باید اجرا شود کدامیک از الگوریتم‌های رمزنگاری و با کدام پارامترها باید مورد استفاده قرار گیرند روابط ریاضی چگونه به اطلاعات عددی اعمال شوند چه اطلاعاتی باید بین طرف فرستنده و دریافت‌کننده رد و بدل شود چه مکانیسم ارتباطی برای انتقال اطلاعات مورد نیاز است. | ## بخش 2: رمزنگاری | برای نمونه می‌توان به پروتکل تبادل کلید دیفی-هلمن برای ایجاد و تبادل کلید رمز مشترک بین دو طرف اشاره نمود. الگوریتم رمزنگاری الگوریتم رمزنگاری، به هر الگوریتم یا تابع ریاضی گفته می‌شود که به علت دارا بودن خواص مورد نیاز در رمزنگاری، در پروتکل‌های رمزنگاری مورد استفاده قرار گیرد. اصطلاح الگوریتم رمزنگاری یک مفهوم جامع است و لازم نیست هر الگوریتم از این دسته، به‌طور مستقیم برای رمزگذاری اطلاعات مورد استفاده قرار گیرد، بلکه صرفاً وجود کاربرد مربوط به رمزنگاری مد نظر است. در گذشته سازمان‌ها و شرکت‌هایی که نیاز به رمزگذاری یا سرویس‌های دیگر رمزنگاری داشتند، الگوریتم رمزنگاری منحصربه‌فردی را طراحی می‌نمودند. به مرور زمان مشخص شد که گاهی ضعف‌های امنیتی بزرگی در این الگوریتم‌ها وجود دارد که موجب آسانی شکسته شدن رمز می‌شود. به همین دلیل امروزه رمزنگاری مبتنی بر پنهان نگاه داشتن الگوریتم رمزنگاری منسوخ شده‌است و در روش‌های تازه رمزنگاری، فرض بر این است که اطلاعات کامل الگوریتم رمزنگاری منتشر شده‌است و آنچه پنهان است فقط کلید رمز است. بنابراین تمام امنیت بدست‌آمده از الگوریتم‌ها و پروتکل‌های رمزنگاری استاندارد، متکی به امنیت و پنهان ماندن کلید رمز است و جزئیات کامل این الگوریتم‌ها و پروتکل‌ها برای عموم منتشر می‌شود. بر مبنای تعریف بالا، توابع و الگوریتم‌های مورد استفاده در رمزنگاری به دسته‌های کلی زیر تقسیم می‌شوند: توابع بدون کلید توابع درهم‌ساز تبدیل‌های یک‌طرفه توابع مبتنی بر کلید الگوریتم‌های کلید متقارن الگوریتم‌های رمز قالبی الگوریتم‌های رمز دنباله‌ای توابع تصدیق پیام الگوریتم‌های کلید نامتقارن الگوریتم‌های مبتنی بر تجزیهٔ اعداد صحیح الگوریتم‌های مبتنی بر لگاریتم گسسته الگوریتم‌های مبتنی بر منحنی‌های بیضوی الگوریتم‌های امضای دیجیتال الگوریتم‌های رمزنگاری بسیار زیاد هستند، اما تنها شمار اندکی از آن‌ها به صورت استاندارد درآمده‌اند. رمزنگاری کلید متقارن رمزنگاری کلید متقارن یا تک کلیدی، به آن دسته از الگوریتم‌ها، پروتکل‌ها و سامانه‌های رمزنگاری گفته می‌شود که در آن هر دو طرف رد و بدل اطلاعات از یک کلید رمز یکسان برای عملیات رمزگذاری و رمزگشایی استفاده می‌کنند. در این گونه سامانه‌ها، یا کلیدهای رمزگذاری و رمزگشایی یکسان هستند یا با رابطه‌ای بسیار ساده از یکدیگر قابل استخراج هستند و رمزگذاری و رمزگشایی اطلاعات نیز دو فرایند معکوس یکدیگر هستند. واضح است که در این نوع از رمزنگاری، باید یک کلید رمز مشترک بین دو طرف تعریف شود. چون کلید رمز باید کاملاً محرمانه باقی بماند، برای ایجاد و رد و بدل کلید رمز مشترک باید از کانال امن استفاده نمود یا از روش‌های رمزنگاری نامتقارن استفاده کرد. نیاز به وجود یک کلید رمز به ازای هر دو نفرِ درگیر در رمزنگاری متقارن، موجب بروز مشکلاتی در مدیریت کلیدهای رمز می‌شود. رمزنگاری کلید نامتقارن رمزنگاری کلید نامتقارن، در ابتدا با هدف حل مشکل انتقال کلید در روش متقارن و در قالب پروتکل تبادل کلید دیفی-هلمن پیشنهاد شد. در این نوع از رمزنگاری، به جای یک کلید مشترک، از یک جفت کلید به نام‌های کلید عمومی و کلید خصوصی استفاده می‌شود. کلید خصوصی تنها در اختیار دارندهٔ آن قرار دارد و امنیت رمزنگاری به محرمانه بودن کلید خصوصی بستگی دارد. کلید عمومی در اختیار کلیهٔ کسانی که با دارندهٔ آن در ارتباط هستند قرار داده می‌شود. به مرور زمان، به غیر از حل مشکل انتقال کلید در روش متقارن، کاربردهای زیادی برای این نوع از رمزنگاری مطرح شده‌است. در سامانه‌های رمزنگاری نامتقارن، بسته به کاربرد و پروتکل مورد نظر، گاهی از کلید عمومی برای رمزگذاری و از کلید خصوصی برای رمزگشایی استفاده می‌شود و گاهی نیز، بر عکس، کلید خصوصی برای رمزگذاری و کلید عمومی برای رمزگشایی به کار می‌رود. دو کلید عمومی و خصوصی با یکدیگر متفاوت هستند و با استفاده از روابط خاص ریاضی محاسبه می‌شوند. رابطهٔ ریاضی بین این دو کلید به گونه‌ای است که کشف کلید خصوصی با در اختیار داشتن کلید عمومی، عملاً ناممکن است. مقایسه رمزنگاری کلید متقارن و کلید نامتقارن اصولاً رمزنگاری کلید متقارن و کلید نامتقارن دارای دو ماهیت متفاوت هستند و کاربردهای متفاوتی نیز دارند؛ بنابراین مقایسهٔ این دو نوع رمزنگاری بدون توجه به کاربرد و سامانه مورد نظر کار دقیقی نخواهد بود. اما اگر معیار مقایسه، به‌طور خاص، حجم و زمان رایانش مورد نیاز باشد، باید گفت که با در نظر گرفتن مقیاس امنیتی معادل، الگوریتم‌های رمزنگاری متقارن خیلی سریع‌تر از الگوریتم‌های رمزنگاری نامتقارن هستند. رمزشکافی رمزشکافی یا رمزشکنی، به کلیهٔ اقدامات مبتنی بر اصول ریاضی و علمی گفته می‌شود که هدف آن از بین بردن امنیت رمزنگاری و در نهایت بازکردن رمز و دستیابی به اطلاعات اصلی باشد. در رمزشکافی، تلاش می‌شود تا با بررسی جزئیات مربوط به الگوریتم رمز یا پروتکل رمزنگاری مورد استفاده و به کار گرفتن هرگونه اطلاعات جانبی موجود، ضعف‌های امنیتی احتمالی موجود در سامانه رمزنگاری یافته شود و از این طریق به نحوی کلید رمز به دست آمده یا محتوای اطلاعات رمزگذاری‌شده استخراج شود. رمزشکافی، گاهی به منظور شکستن امنیت یک سامانه رمزنگاری و به عنوان خرابکاری و یک فعالیت ضد امنیتی انجام می‌شود و گاهی هم به منظور ارزیابی یک پروتکل یا الگوریتم رمزنگاری و برای کشف ضعف‌ها و آسیب‌پذیری‌های احتمالی آن صورت می‌پذیرد. به همین دلیل، رمزشکافی، ذاتاً یک فعالیت خصومت‌آمیز به حساب نمی‌آید؛ اما معمولاً قسمت ارزیابی و کشف آسیب‌پذیری را به عنوان جزئی از عملیات لازم و ضروری در هنگام طراحی الگوریتم‌ها و پروتکل‌های تازه به حساب می‌آورند و در نتیجه رمزشکافی بیشتر فعالیت‌های خرابکارانه و ضد امنیتی را به ذهن متبادر می‌سازد. با توجه به همین مطلب از اصطلاح حملات رمزشکافی برای اشاره به چنین فعالیت‌هایی استفاده می‌شود. رمزشکافی در اصل اشاره به بررسی ریاضی الگوریتم (یا پروتکل) و کشف ضعف‌های احتمالی آن دارد؛ اما در خیلی از موارد فعالیت خرابکارانه، به جای اصول و مبنای ریاضی، به بررسی یک پیاده‌سازی خاص آن الگوریتم (یا پروتکل) در یک کاربرد خاص می‌پردازد و با استفاده از امکانات گوناگون تلاش در شکستن رمز و یافتن کلید رمز می‌نماید. رمزهای جانشینی در رمزنگاری جانشینی هر حرف یا گروهی از حروف با یک حرف یا گروهی دیگر از حروف جایگزین می‌شوند تا شکل پیام بهم بریزد. یکی از قدیمی‌ترین رمزهای شناخته شده روش رمزنگاری سزار است که ابداع آن به ژولیوس سزار نسبت داده می‌شود. رمزنگاری چندفازی امروزه روش‌های رمزنگاری چندگانه نمی‌توانند امنیت کافی را ارائه دهند. | ## بخش 3: رمزنگاری | روش رمزنگاری چندفازی تا اندازه زیادی پیچیدگی در الگوریتم‌های رمزنگاری را افزایش می‌دهد. این ایده با روش‌های رمزنگاری موجود در شبکه و امنیت اطلاعات روی شبکه‌های بی‌سیم متفاوت است. در رمزنگاری چندفازی فرایندهایی زیادی تکرار می‌شوند که پیچیدگی در رمزنگاری/رمزگشایی و همچنین بهبود امنیت داده‌ها را افزایش می‌دهند. الگوریتم‌های رمزنگاری و اندازه کلیدها برای اطمینان از رمزنگاری، تأیید هویت شخصی (PIV)، و برنامه‌های کاربردی برگزیده می‌شوند. رمزنگاری چندفازی ممکن است مشکل مدیریت کلید را در فناوری موجود (PIV) کاهش دهد؛ زیرا از الگوریتم‌های رمزنگاری با کلید اندازه ثابت به جای شمار زیادی کلید با طول متغیر استفاده می‌کند. برتری‌ها رمزنگاری چندفازی داده‌ها، یک روش دوسویه برای داده‌ها و امنیت اطلاعات است و نقش مهمی در رمزنگاری نوین دارد. رمزنگاری چندفازی، پیچیدگی پیشرفته رمزنگاری داده‌ها را با عملیات‌های گوناگون روش‌های رمزنگاری فازی انجام می‌دهد. برتری رمزنگاری‌های چندگانه این است که امنیت بهتری را فراهم می‌کنند؛ زیرا حتی اگر برخی کامپوننت‌های متن رمزنگاری‌شده شکسته شوند یا برخی از کلیدهای سری شناخته شوند می‌توان هنوز محرمانه بودن داده‌های اصلی را با رمزنگاری‌های دیگر حفظ کرد. اجرای رمزنگاری چندفازی یک حرکت مثبت در راه تعریف یک استاندارد برای امنیت شبکه است. با این حال، ارتباطات داده‌های محرمانه را روی شبکه‌های ناامن بی‌سیم افزایش می‌دهد. افزونگی نخستین اصل آن است که تمام پیام‌های رمزگذاری‌شده باید شامل مقداری «افزونگی» [داده‌های زائد] باشند. به عبارت دیگر لزومی ندارد که اطلاعات واقعی به همانگونه که هستند رمز و فرستاده شوند. فرض کنید یک شرکت به نام TCP با ۶۰۰۰۰ کالا از طریق سامانه پست الکترونیکی سفارش خرید می‌پذیرد. برنامه‌نویسان شرکت TCP به گمان آن که برنامه‌های کارا و کارآمدی می‌نویسند پیام‌های سفارش کالا را مشتمل بر ۱۶بایت نام مشتری و به دنبال آن سه بایت فیلد داده (شامل یک بایت برای تعداد کالا و دو بایت برای شمارهٔ کالا) در نظر می‌گیرد که سه بایت آخر توسط یک کلید بسیار طولانی رمزنگاری می‌شود و این کلید را فقط مشتری و شرکت TCP می‌داند. تازگی پیام‌ها دومین اصل اساسی در رمزنگاری آن است که باید رایانشی صورت بگیرد تا مطمئن شویم هر پیام دریافتی تازه است یا به عبارتی به تارگی فرستاده شده‌است این بررسی برای پیشگیری از فرستادن دوبارهٔ پیام‌های قدیمی توسط یک اخلالگر فعّال الزامی است اگر چنین بررسی‌هایی انجام نشود کارمند اخراجی ما قادر است با ایجاد یک انشعاب مخفی از خط تلفن پیام‌های معتبری را که از پیش فرستاده شده مکرراً ارسال نماید، حتی اگر نداند محتوای آن چیست. یک چنین رایانشی را می‌توان با قرار دادن یک مهر زمان در پیام‌ها پیش‌بینی کرد به نحوی که پیام‌ها مثلاً برای ده ثانیه معتبر باشد گیرندهٔ پیام می‌تواند آن را برای حدود ده ثانیه نگه دارد تا بتواند پیام‌های تازه را با آن مقایسه کرده و نسخه‌های تکراری را که دارای مهر زمان هستند به عنوان پیام‌های قدیمی شناخته و حذف خواهند شد. رمزنگاری سخت‌افزاری الگوریتم‌های رمزنگاری رامی توان هم به صورت سخت‌افزاری (به منظور سرعت بالاتر) وهم به صورت نرم‌افزاری (برای انعطاف‌پذیری بیشتر) پیاده‌سازی کرد روش‌های جانشینی و جایگشتی می‌توانند با یک مدار سادهٔ الکترونیکی پیاده‌سازی شوند. بود با سیم بندی و برنامه‌ریزی درونی این p-box قادراست هر گونه جایگشت بیتی را به‌طور حقیقتً با سرعتی نزدیک به سرعت نور انجام بدهد چرا که هیچ گونه رایانشی لازم نیست و فقط تأخیر انتشار سیگنال وجود دارد. این طراحی از اصل کرشهف تبعیت می‌کند یعنی:حمله‌کننده از روش عمومی جایگشت بیت‌ها آگاه است آنچه که او از آن خبر ندارد آن است که کدام بیت به کدام بیت نگاشته می‌شود کلید رمز همین است. واژگان در فهرست زیر با توجه به ارتباط مستقیم علم رمزنگاری یا همان Cryptography به برخی از اصطلاحات که در بحث امنیت شبکه و کامپیوتر وجود دارند اشاره شده‌است. برتری پنهان‌نگاری نسبت به رمزنگاری این است که پنهان‌نگاری برخلاف رمزنگاری جلب توجه نمی‌کند. در پنهان‌نگاری دیجیتال، ارتباطات الکترونیکی ممکن است شامل رمزگذاری پنهان‌ کارانه درون یک لایهٔ انتقال مانند پرونده سند، عکس، ویدئو، برنامه یا پروتکل باشد. پرونده‌های رسانه‌ای به علت داشتن حجم بالا برای انتقال پنهان‌ کارانه گزینه‌ای ایدئال هستند. سایفر: یک الگوریتم برای قفل‌گذاری یا قفل‌شکنی به عنوان یک سری مراحل تعریف شده به کار می‌رود. شیوه رمزنگاری به روش سایفر به این صورت است که اطلاعات متن آشکار را به رمز یا کد تبدیل می‌کند. اخلال‌گر: در لغت به معنای مزاحم یا مخل است و در رمزنگاری به معنای کسی است که یک رونوشت از پیام رمزنگاری شده دارد و قصد رمزگشایی آن را دارد. پروتکل: به روش یا قراردادی گفته می‌شود که بین دو یا چند تن برای تبادل اطلاعات گذاشته می‌شود. نقطهٔ دسترسی داخلی: به سامانه‌هایی گویند که در اتاق یا در شبکه داخلی مستقرند و هیچ امنیتی (LocalSecurity) روی آن‌ها تنظیم نشده باشد و احتمال حمله به آن‌ها وجود دارد. نقطهٔ دسترسی خارجی: تجهیزاتی که ما را به شبکه خارجی مانند اینترنت متصل می‌کنند یا Applicationهایی که از طریق اینترنت کار می‌کنند و احتمال حمله به آن‌ها وجود دارد. حمله: هر چیزی که مکانیزم امنیت سامانه را دور زده و باعث تخریب شود را حمله یا Attack گویند. | ## جمع‌بندی | (یا برعکس) به عبارت ساده یک متن رمزگذاری‌شده توسط یک Key با الگوریتم مناسب، به متن ساده تبدیل می‌شود.