ایدههای زیادی در رمزنگاری وجود دارد. رمزگذاری کاملاً هومومورفیک (FHE) شاید عجیبترین ایدهای باشد که واقعاً کار میکند.
ایده این است: دادههای خود را رمزگذاری میکنید، به شخص دیگری میدهید، او روی آن محاسبات انجام میدهد، نتیجه را پس میدهد، و وقتی آن نتیجه را رمزگشایی میکنید، درست است. شخصی که محاسبات را انجام داد هرگز دادههای شما را ندید. نه یک نسخه پاکشده. نه یک هش. مقادیر واقعی زیرین، هرگز فاش نشدند، حتی برای یک میکروثانیه.

کریگ گنتری در سال ۲۰۰۹ ثابت کرد که این امکانپذیر است. جامعه رمزنگاری تقریباً ۳۰ سال پیش از آن در تلاش برای یافتن پاسخ این سؤال بود.
نحوه کار FHE
رمزگذاری معمولی یک در یکطرفه است. دادهها را قفل میکنید و هر کسی که بخواهد با آنها کاری انجام دهد باید ابتدا آن را باز کند. FHE در را قفل نگه میدارد اما به شما اجازه میدهد از بیرون مبلمان را جابجا کنید.
دقیقتر بگوییم: طرحهای FHE دو عملیات روی متنهای رمزی تعریف میکنند که معمولاً جمع هومومورفیک و ضرب هومومورفیک نامیده میشوند. اینها به همان عملیات روی متنهای ساده زیرین نگاشت میشوند. اگر دو مقدار رمزگذاریشده را جمع کنید، نتیجه پس از رمزگشایی برابر مجموع مقادیر اصلی است. برای ضرب هم همینطور.
این دو عملیات برای ساخت هر تابعی که یک کامپیوتر میتواند محاسبه کند کافی هستند. (جمع و ضرب در میدانهای دودویی گیتهای AND و XOR را به شما میدهند که مدارهای دلخواه را ممکن میسازند.) این پل ارتباطی است از «دو عملیات روی اعداد رمزگذاریشده» به «محاسبات دلخواه روی دادههای رمزگذاریشده».
مشکل نویز است. هر عملیات FHE مقدار کمی خطا به متن رمزی اضافه میکند. اگر عملیات کافی اجرا شود، نویز سیگنال را میبلعد و دیگر نمیتوانید رمزگشایی کنید. دستاورد کلیدی گنتری تکنیکی به نام بوتاسترپینگ بود: روشی برای اجرای مدار رمزگشایی روی متن رمزی در حالی که هنوز رمزگذاریشده است، که سطح نویز را بازنشانی میکند. اگر بیش از حد به آن فکر کنید عمیقاً عجیب به نظر میرسد. تابع رمزگشایی، درون رمزگذاری رمزگشایی میکند. این همان چیزی است که طرح را «کاملاً» هومومورفیک میکند و نه صرفاً «تا حدی» هومومورفیک.
رمزگذاری تا حدی هومومورفیک (SHE) تعداد ثابتی از عملیات را قبل از اینکه نویز مهلک شود پشتیبانی میکند. رمزگذاری هومومورفیک سطحبندیشده (LHE) عمق مدار از پیش تعیینشدهای را پشتیبانی میکند. FHE هر مداری را، بدون محدودیت، پشتیبانی میکند زیرا بوتاسترپینگ به شما اجازه میدهد ادامه دهید.
کاربردهای کنونی FHE
برای اکثر کاربردها، FHE هنوز بسیار کند است. اما «اکثر» لبه تیزی دارد. امروز استقرارهای واقعی در حال اجرا هستند.
استنتاج یادگیری ماشین خصوصی. یک کلاینت دادههای ورودی حساس دارد. یک سرور مدل اختصاصی دارد. هیچکدام نمیخواهند آنچه دارند را به دیگری نشان دهند. FHE به سرور اجازه میدهد مدل خود را روی ورودی رمزگذاریشده کلاینت ارزیابی کند و نتیجه رمزگذاریشدهای را بازگرداند که کلاینت میتواند رمزگشایی کند. سرور هرگز ورودی را نمیبیند. کلاینت هرگز وزنهای مدل را نمیبیند. شرکتها این را برای معماریهای مدل خاص ارائه دادهاند. بار کاری با محدودیتهای کنونی FHE مناسب است زیرا عمق مدار محدود و قابل پیشبینی است.
محاسبات ژنومیک خصوصی. دادههای ژنومیک به روشهایی حساس هستند که فراتر از شماره تأمین اجتماعی است: خویشاوندان شما را درگیر میکند، دائمی است، و خطرات حریم خصوصی با رشد پایگاههای داده مرجع مضاعف میشوند. محققان از FHE برای محاسبه امتیازهای خطر بیماری و مقایسههای ژنتیکی بدون افشای توالیهای زیرین به طرف محاسباتی استفاده کردهاند. رقابتهای iDASH از سال ۲۰۱۴ این مورد استفاده را معیارسنجی میکنند.
پرسوجوهای خصوصی از پایگاه داده. میخواهید از یک پایگاه داده پرسوجو کنید بدون اینکه آنچه دنبالش هستید را فاش کنید. جستجوی کلیدواژه، پرسوجوهای محدوده، و آزمونهای عضویت مجموعه همه ساختارهای FHE دارند. سربار هنوز قابل توجه است اما برای پرسوجوهای کمتکرار و پرارزش قابل مدیریت است.
محاسبات فدرال با تضمینهای حریم خصوصی. چندین بیمارستان میخواهند مدلی را روی دادههای ترکیبی بیماران خود بدون اشتراکگذاری سوابق آموزش دهند. FHE (که اغلب با محاسبات امن چندطرفه ترکیب میشود) محاسبات ترکیبی را بدون تجمیع دادهها فراهم میکند.
FHE در برابر سایر رویکردهای حفظ حریم خصوصی
FHE بهتنهایی وجود ندارد. این یک ابزار در مجموعهای است که شامل موارد زیر میشود:
محاسبات امن چندطرفه (MPC): چندین طرف بهصورت مشترک یک تابع را بدون افشای ورودیهای خود به یکدیگر محاسبه میکنند. MPC برای توابع خاص اغلب سریعتر از FHE است و به چندین طرف غیرمتبانی نیاز دارد. FHE با یک سرور واحد کار میکند.
حریم خصوصی دیفرانسیل (DP): نویز کالیبرهشدهای به خروجیها اضافه میکند تا آنچه یک دشمن میتواند درباره افراد در یک مجموعه داده استنتاج کند را محدود کند. DP در برابر حملات استنتاج روی نتایج تجمیعشده محافظت میکند اما محاسبات روی ورودیهای خصوصی را ممکن نمیسازد.
محیطهای اجرای مورد اعتماد (TEEs): محفظههای سختافزاری (Intel SGX، AMD SEV) که کد را در یک ناحیه حافظه محافظتشده اجرا میکنند که سیستمعامل نمیتواند آن را بخواند. TEE ها فرض میکنند که به سازنده سختافزار اعتماد دارید و هیچ نقصی در پیادهسازی وجود ندارد. FHE فرض میکند که به ریاضیات اعتماد دارید.
اثباتهای دانش صفر (ZKPs): به شما اجازه میدهند ثابت کنید یک گزاره درست است بدون اینکه دلیل درستی آن را فاش کنید. ZKP ها ویژگیها را اثبات میکنند؛ FHE روی مقادیر خصوصی محاسبه میکند. آنها مکمل یکدیگر هستند.
سیستمهای ترکیبی بهطور فزایندهای رایج میشوند. FHE محاسبات حساس را مدیریت میکند؛ ZKP ها تأیید میکنند که محاسبات بهدرستی انجام شده است؛ MPC اعتماد را توزیع میکند. مرزهای بین این فناوریها در حال از بین رفتن هستند زیرا متخصصان سیستمهایی میسازند که بهطور همزمان به ویژگیهایی از چند مورد نیاز دارند.








