موضوع مقاله: اثر انگشت (رایانش) | مخاطب: عمومی | لحن: دانشنامه‌ای | ساختار: عنوان، مقدمه، 3 بخش، جمع‌بندی | مقاله: | # اثر انگشت (رایانش) | مقدمه: در علوم رایانه، یک الگوریتم انگشت‌نگاری رویه‌ای است که داده‌های به اندازه دلخواه بزرگ (مانند فایل‌های کامپیوتر) را به رشتهٔ خیلی کوچک‌تری از بیت‌ها نگاشت می‌کند، که به آن اثر انگشت می‌گویند، که مانند اثر انگشت انسان، به صورت منحصر به فردی دادهٔ اصلی را برای مقاصد عملیA. | ## بخش 1: اثر انگشت (رایانش) | این اثر انگشت برای مقاصدی از جمله داده کاوی استفاده می‌شود و به آن همچنین با عناوینی چون انگشت‌نگاری فایل، انگشت‌نگاری داده، یا انگشت‌نگاری داده‌های ساختاریافته اشاره می‌شود. اثر انگشت‌ها معمولاً برای جلوگیری از مقایسه و انتقال داده‌های بزرگ استفاده می‌شوند. (1994) توابع انگشت نگاری شاید مانند توابع هش کردن با عملکرد بالا، برای مشخص کردن تودهٔ قابل توجهی از داده‌ها به صورت منحصر به فرد، در حالی که توابع هش رمزنگاری مورد نیاز نیستند به نظر برسند. برای شناسایی خطاهای تصادفی داده یا خطاهای ایجاد شده هنگام انتقال، کافی است که سرجمع‌های فایل اصلی و هر نسخه خراب، با اطمینان خاصی (مطابق با برخی مدل‌های آماری برای خطاها) با یکدیگر متفاوت باشد. در مقابل، اثر انگشت فایل باید حداقل ۶۴ بیت طول داشته باشد تا منحصر به فرد بودن مجازی در سیستم فایل بزرگ را تضمین کند (نگاه کنید به حمله روز تولد). هنگام اثبات نیازمندی فوق، باید توجه داشته باشید که فایل‌ها با فرایندهای بسیار غیر تصادفی ایجاد می‌شوند که وابستگی‌های پیچیده بین فایل‌ها را ایجاد می‌کنند. به عنوان مثال، در یک شبکه معمولی کسب و کار، معمولاً یک جفت یا مجموعه ای از اسناد را پیدا می‌کند که فقط در ویرایش‌های جزئی یا سایر تغییرات جزئی با یکدیگر متفاوت‌اند. | ## بخش 2: اثر انگشت (رایانش) | یک الگوریتم انگشت نگاری خوب باید اطمینان حاصل کند که چنین پردازش‌های طبیعی دارای اثر انگشت متمایز با اطمینان مورد نیاز است. ترکیب کردن فایل‌های کامپیوتری اغلب با روش‌های مختلف ترکیب می‌شوند، مانند پیوند زنجیره ای (در فایل‌های آرشیو) یا شامل سازی‌های نمادین(include# مستقیم در پیش‌پردازنده c). برخی از الگوریتم‌های انگشت نگاری، اثر انگشت یک فایل مرکب از چند فایل دیگر را از اثر انگشت‌های بخش‌های آن محاسبه می‌کنند. این ویژگی ترکیبی ممکن است در بعضی موارد کاربردهای مفیدی داشته باشد، مثلاً تشخیص زمانی که یک برنامه باید مجدداً کامپایل شود. به این صورت که احتمال یکسان بودن اثر انگشت‌های w بیتی برای رشته‌های متفاوت به طول‌های r و l بیت از max(r,s)/2w-1 بیشتر نیست. این الگوریتم نیاز به انتخاب قبلی یک کلید داخلی w بیتی دارد و این کلید تا زمانی قابل استفاده است که رشته‌های مورد نظر برای انگشت نگاری بدون اطلاع از آن انتخاب شوند. عامل مداخله‌کننده می‌تواند به راحتی کلید را بیابد و از آن برای تغییر فایل‌ها بدون تغییر اثر انگشت استفاده کند. | ## بخش 3: اثر انگشت (رایانش) | توابع هش در رمزنگاری توابع هشی که در رمزنگاری به کار می‌روند می‌توانند به عنوان تابع انگشت نگاری با کیفیت بالا مورد استفاده قرار گیرد، زیرا برای سخت‌تر کردن رمزگشایی مورد استفاده قرار می‌گیرند و باور بر این است که در مقابل حملات مخرب، ایمن هستند. ولی از معایب توابعی از این دسته (مانند MD5 و SHA) نسبت به توابع ساده‌تر (مانند الگوریتم رابین) این است که به زمان نسبتاً طولانی تری برای هش کردن رشته‌ها نیاز است. بعضی از این الگوریتم‌ها، مخصوصاً MD5، دیگر برای انگشت نگاری ایمن توصیه نمی‌شوند. با این حال این الگوریتم‌ها هنوز برای بررسی خطا، در جاهایی که مداخله عمدی در داده‌ها نگرانی اصلی نیست، قابل استفاده هستند. انگشت نگاری و برچسب گذاری برای پایگاه داده‌های ارتباطی انگشت نگاری و برچسب گذاری برای پایگاه داده‌های ارتباطی به عنوان راه حل‌های مناسب برای حفظ حق نسخه برداری، شناسایی تهاجم، ردیابی خیانت کار و حفظ یکپارچگی داده‌های ارتباطی ظاهر شدند. بررسی وضعیت فعلی و طبقه‌بندی رویکردهای مختلف با توجه به هدف آنها، نحوه بیان اثر انگشت / برچسب، نوع پوشش، سطح دانه بندی و قابل اطمینان بودن آن‌ها در دسترس است. نمونه کاربردها NIST یک کتابخانه مرجع نرم‌افزاری (کتابخانه مرجع نرم‌افزار ملی آمریکا) را توزیع می‌کند که با استفاده از توابع هش در رمزنگاری برای انگشت نگاری فایل‌ها و نگاشت آن‌ها به محصولات نرم‌افزاری می‌پردازد. | ## جمع‌بندی | پایگاه داده HashKeeper، که توسط مرکز ملی مواد مخدر نگهداری می‌شود، مخزن اثر انگشت‌های «شناخته شده به عنوان خوب» و «شناخته شده به عنوان بد» فایل‌های رایانه، برای استفاده در کاربردهای مربوط به اجرای قانون است (به عنوان مثال در تجزیه و تحلیل محتویات دیسک‌های جمع‌آوری شده).