বিস্মৃত কোড প্রয়োগের জন্য একটি সম্পূর্ণ হোমোমর্ফিক এনক্রিপশন ব্যবহার করা যেতে পারে?


22

কিছুক্ষণ আগে এই উত্তরটি পড়ার পরে , আমি সম্পূর্ণ হোমোমোরফিক এনক্রিপশনে আগ্রহী। জেন্ট্রির থিসিসের প্রবন্ধটি পড়ার পরে, আমি ভাবতে শুরু করি যে তার এনক্রিপশন স্কিমটি তৃতীয় অনুচ্ছেদে বর্ণিত অজ্ঞান কোড প্রয়োগের জন্য ব্যবহার করা যেতে পারে কিনা।

একটি সম্পূর্ণ হোমোর্ফিক এনক্রিপশন স্কিমে আমরা সাধারণত কিছু তথ্য এনক্রিপ্ট করি, প্রতিকূল পরিবেশে এটি প্রেরণ করি যেখানে একটি নির্দিষ্ট ফাংশন ডেটাতে গণনা করা হয়, যার ফলস্বরূপ ফেরত প্রেরণ করা হয় (এনক্রিপ্ট করা), প্রতিক্রিয়া না পেয়ে প্রাপ্ত প্রাপ্ত ডেটা বা কী আবিষ্কার করে ফাংশন ফলাফল হয়।

অবিচ্ছিন্ন কোড কার্যকর করার সাথে সাথে আমি বলতে চাইছি যে আমরা কিছু সমস্যা সমাধান করার জন্য ডিজাইন করা কোড এর একটি টুকরো এনক্রিপ্ট করেছি এবং এটিকে বৈরী পরিবেশে প্রেরণ করব। শত্রুরা সমাধান করতে ব্যবহার করতে চায় , তবে আমরা চাই না যে কীভাবে কাজ করে তা তিনি জানতে পারেন । তিনি একটি ইনপুট থাকে জন্য , তিনি এনক্রিপ্ট করতে পারেন এবং তারপর (কিছু এনক্রিপশন স্কিম) ব্যবহার সঙ্গে যা পরে ফেরৎ (এনক্রিপ্ট না) আউটপুট (সমাধান ইনপুট জন্যCসি পি সি আমি পি আমি সি আমি হে পি আমিPCPCIPICIOPI)। এনক্রিপশন স্কিমটি নিশ্চিত করে যে শত্রুরা কোডটির টুকরোটি কীভাবে কাজ করে তা কখনই খুঁজে পায় না, অর্থাত্ ওর কাছে এটি ওরাকলের মতো কাজ করে।

এই জাতীয় এনক্রিপশন স্কিমের মূল ব্যবহারিক ব্যবহার (আমি ভাবতে পারি) পাইরেসিটিকে আরও কঠিন বা এমনকি অসম্ভব করে তোলা।

আমি মনে করি যে পুরো হোমোমর্ফিক এনক্রিপশন স্কিম ব্যবহার করে এটি সম্ভব হতে পারে কারণ হ'ল আমরা এনক্রিপ্ট করা ডেটাগুলিতে বিশেষত একটি সার্বজনীন ট্যুরিং মেশিনে স্বেচ্ছাসেবী সার্কিটগুলি প্রয়োগ করতে পারি। এরপরে আমরা কোডটি এনক্রিপ্ট করতে পারতাম যেন এটি ডেটা ছিল এবং তারপরে কোডটি কার্যকর করতে এই এনক্রিপ্ট করা ডেটাতে সর্বজনীন টুরিং মেশিনের জন্য সার্কিটটি ব্যবহার করতে পারি।

আমি এটিকে এখানে একটি প্রশ্ন হিসাবে তুলে ধরেছি কারণ এই ধারণাটি ব্যবহারযোগ্য কিনা তা আমি জানি না: জেন্ট্রির থিসিসের প্রবর্তনের চেয়ে আমি আর বেশি কিছু পাইনি এবং ক্রিপ্টোগ্রাফি সম্পর্কে আমার জ্ঞান সীমাবদ্ধ। এছাড়াও, আমি জানি না যে অজ্ঞাতসারে কোড প্রয়োগের জন্য ইতিমধ্যে প্রায়শই ব্যবহৃত একটি শব্দ আছে: আমি গুগলে এই ধারণার জন্য অনুসন্ধান করার চেষ্টা করেছি কিন্তু সঠিক শব্দটি না জেনে আমি কিছুই পাইনি।

আমি ভাবতে পারি এমন একাধিক সমস্যা রয়েছে যার ফলে এই পদ্ধতির সমস্যা হতে পারে। প্রথমত, আমরা যদি কোনও সংশোধন ছাড়াই সম্পূর্ণ হোমোর্ফিক এনক্রিপশন ব্যবহার করি তবে গণনার ফলাফল ( O ) এনক্রিপ্ট করা হবে। সুতরাং বিরোধীদের যারা পি কোড সমাধানের জন্য আপনার কোডটি ব্যবহার করতে চান তাদের পক্ষে এটি অযথা হবে P। যদিও এটি এখনও ক্লাউড কম্পিউটিংয়ের জন্য কার্যকর হতে পারে, এটি আমি অর্জন করতে চাই না।

দ্বিতীয়ত, আমরা সার্কিট ব্যবহার করছি এবং নির্বিচারে ট্যুরিং মেশিন না থাকায় আমরা নির্বিচারে মেমরি ব্যবহার করতে পারি না: আমরা পূর্বনির্ধারিত পরিমাণ মেমরির মধ্যে সীমাবদ্ধ। এর অর্থ হ'ল আমরা যদি কোনও প্রোগ্রাম এইভাবে চালাতে চাই তবে এটি মেমরির পদচিহ্ন সর্বদা একই থাকে, যথা এটি পিক মেমরির ব্যবহার।

শেষ অবধি, জড়িত ধ্রুবকরা অবশ্যই অবশ্যই এই জাতীয় কোনও ব্যবহারিক ব্যবহার বন্ধ করে দেবে, তবে আমি মনে করি তবুও ধারণাটি আকর্ষণীয়।


আপনি কি "বাধ্যতামূলক কোড কার্যকরকরণ" শব্দটি থেকে নিশ্চিত? আমি এটি সম্পর্কে কিছুক্ষণ অনুসন্ধান করেও কিছুই পেলাম না!
Deyaa

মোটেও নয়: আমি এই শব্দটি তৈরি করেছিলাম কারণ এটির জন্য সঠিক শব্দটি আমি জানতাম না। স্পষ্টতা এবং obfuscators দৃশ্যত ধারণাটির নিয়মিত পদ।
অ্যালেক্স দশ ব্রিংক

উত্তর:


17

দুর্ভাগ্যক্রমে, এমন একটি ফলাফল রয়েছে যা তাত্ত্বিকভাবে "বিস্মৃত কোড কার্যকরকরণ" নিষিদ্ধ করেছে:

বোয়াজ বারাক, ওদেড গোল্ডরিচ, রাসেল ইম্পাগলিয়াজো, স্টিভেন রুডিচ, অমিত সাহাই, সলিল বাধন এবং কে ইয়াং। Obfuscating প্রোগ্রাম (আইএম) সম্ভাবনা উপর , ক্রিপ্টো 2001 - ইন CRYPTOLOGY অগ্রগতি।

লিঙ্কগুলি এখানে:

বিমূর্তটি পড়ে:

অনানুষ্ঠানিকভাবে, একটি obfuscator একজন (দক্ষ, সম্ভাব্য) "কম্পাইলার" যে ইনপুট একটি প্রোগ্রাম (অথবা বর্তনী) হিসেবে নেয় এবং একটি নতুন প্রোগ্রাম উত্পাদন করে হিসাবে একই কার্যকারিতা আছে এখনো "অপাঠ্য হয় " কিছু অর্থে. ওবফুসেটরগুলির উপস্থিতি থাকলে, বিভিন্ন ধরণের ক্রিপ্টোগ্রাফিক এবং জটিলতা-তাত্ত্বিক অ্যাপ্লিকেশন থাকতে পারে, যার মধ্যে সফটওয়্যার সুরক্ষা থেকে শুরু করে হোমসের মজাদার এনক্রিপশন থেকে শুরু করে রাইসের উপপাদ্যের জটিলতা-তাত্ত্বিক অ্যানালগ রয়েছে। এই অ্যাপ্লিকেশনগুলির বেশিরভাগ হ'ল "অপঠনযোগ্যতা" শর্তটির ব্যাখ্যাটির উপর নির্ভর করে যেমন meaning একটি "ভার্চুয়াল ব্ল্যাক বাক্স", এই অর্থে যে যে কোনও কিছুই দক্ষতার সাথে গণনা করতে পারে inপি ( পি ) পি ( পি ) ( পি ) পিOPO(P)PO(P)O(P), কেউ তে প্রদত্ত ওরাকল অ্যাক্সেসকে দক্ষতার সাথে গণনা করতে পারে ।P

এই কাজের মধ্যে, আমরা অবসন্নতার একটি তাত্ত্বিক তদন্ত শুরু করি। আমাদের মূল ফলাফলটি হ'ল, উপরোক্ত স্বজ্ঞাততাগুলির খুব দুর্বল আনুষ্ঠানিকতার অধীনে, অবসন্নতা অসম্ভব। আমরা ফাংশন একটি পরিবার গঠন করে এই প্রমাণ নিম্নলিখিত অর্থে মজ্জাগতভাবে unobfuscatable আছেন: আছে একটি বিধেয় যেমন যে (ক) কোনো প্রোগ্রাম একটি ফাংশন নির্ণয় প্রদত্ত মধ্যে , মান দক্ষতার নির্ণিত করা যেতে পারে, এখনো (খ) একটি (এলোমেলোভাবে নির্বাচিত) ফাংশন দেওয়া ওরাকল এক্সেস মধ্যে , কোন দক্ষ অ্যালগরিদম গনা করতে অনেক র্যান্ডম মনন বেশী ভালো।π f F π ( f ) FπfFπ(f)fπ ( )Fπ(f)

আমরা আমাদের অসম্ভব সম্ভাব্যতার ফলাফলটি বিভিন্ন উপায়ে প্রসারিত করি, এমনকি এমন আবদ্ধকারীদেরও অন্তর্ভুক্ত করি যে (ক) বহুবর্ষের সময় অগত্যা গণনাযোগ্য নয়, (খ) কেবলমাত্র কার্যকারিতা সংরক্ষণ করে এবং (গ) কেবল গণনার খুব সীমাবদ্ধ মডেলের জন্য কাজ করা দরকার )। আমরা "অবিস্মরণীয়" স্বাক্ষর পরিকল্পনা, এনক্রিপশন স্কিম এবং সিউডোরান্ডম ফাংশন পরিবারগুলি তৈরি করে ওফফাসেকেটরগুলির বেশ কয়েকটি সম্ভাব্য অ্যাপ্লিকেশনগুলিও বাতিল করি। 0TC 0


ঠিক আছে, এই ধরণের জিনিসগুলিতে একটি দাম্পের রাখে। আমি কেবল তাদের পড়ার ফলাফলটি কীভাবে প্রমাণ করেছি: আমি বিশেষভাবে বিস্মিত হয়েছিলাম যখন আমি পড়লাম যে বিস্মৃতকারীকে বিপরীতমুখী প্রোগ্রামের উত্স কোডটিতে অ্যাক্সেস রয়েছে বলে মনে করা হয়! (যদিও আমি কেবল কাগজটি ভুল বুঝতে পারি)
অ্যালেক্স টেন ব্রিংক

5
আমি বুঝতে পেরেছি যে এই ফলাফলগুলি কেবল ভার্চুয়াল ব্ল্যাক বাক্সগুলি ব্যবহার করে আবদ্ধ করার "পুরানো" (অসফল) মডেলের ক্ষেত্রে প্রযোজ্য এবং ক্ষেত্রের গবেষকরা আশ্বাসের সাথে কিছুটা গ্যারান্টি থাকতে পারে বলে দুর্বল ধারণাটি অবলম্বন করতে চাইছেন। গবেষণার দিকনির্দেশগুলির মধ্যে একটি হ'ল ফুলি হোমোমর্ফিক এনক্রিপশন গ্রহণ করা, এবং তাই আমি বলব যে প্রশ্নটি উন্মুক্ত। আমার মনে আছে এই গ্রীষ্মে মাইক্রোসফ্ট রিসার্চের একটি আলোচনায় বসে ফিক্সড পয়েন্ট ওবফাসেকেটর এবং ভার্চুয়াল ব্ল্যাক বক্সগুলি সম্পর্কে যেখানে গবেষক ঠিক এই বিষয়টি তৈরি করেছিলেন।
রস স্নাইডার

3
ক্ষেত্রের কোনও গবেষক (বা লেখকদের তালিকার কোনও চিত্তাকর্ষক নাম) মন্তব্য করতে পারেন?
রস স্নাইডার

1
@ রোস: হ্যাঁ, আমি ক্ষেত্রের অন্যান্য গবেষকদেরও মন্তব্য করতে চাই ...
এমএস দৌস্তি

@ রস, সাদেক: কিছু লেখক সময়ে সময়ে সাইটে যান, আশা করি তারা ট্যাগটি লক্ষ্য করবেন। বৈশিষ্ট্যযুক্ত প্রশ্ন পৃষ্ঠাগুলিতে প্রশ্ন থাকাও সহায়তা করতে পারে।
কাভেহ

15

প্রকৃতপক্ষে, সম্পূর্ণ অবিচ্ছিন্ন এনক্রিপশন একাধিক অবিশ্বস্ত দলগুলির মধ্যে কোড কার্যকর করার জন্য খুব দরকারী (উদাহরণস্বরূপ, এই কাগজটি দেখুন ), আপনার কোনও প্রকারের ইন্টারঅ্যাকশন দরকার, যখন এনক্রিপ্ট করা আউটপুট গণনা করা পক্ষটি গোপন কীটি জানে এমন পক্ষকে প্রেরণ করে ।

আপনি যে ধারণাটি সন্ধান করছেন তা সন্দেহজনকভাবে সফ্টওয়্যার অবলম্বনের কাছাকাছি চলে আসে, যার জন্য আমরা উপরে বর্ণিত একটি অসম্ভব ফলাফল প্রমাণ করেছি। আমি একবার সেই কাগজের অনানুষ্ঠানিক ওভারভিউও লিখেছিলাম , যাতে কিছু লোক দরকারী হতে পারে।

এই অসম্ভবতাটির ফলস্বরূপ, দুটি (সংজ্ঞাবিহীন) উপায়গুলি রয়েছে যে কোনওটি সংজ্ঞাটি শিথিল করতে পারে: হয় প্রোগ্রাম / ক্রিয়াকলাপের ক্লাসকে সীমাবদ্ধ করে একজনকে অবহেলা করা প্রয়োজন, বা সুরক্ষার ঝোঁক ধারণা দেওয়া প্রয়োজন।

দ্বিতীয় পন্থা সম্ভবত সম্ভব, এবং আমরা আমাদের কাগজে কিছু দুর্বল আপত্তি-মত ধারণা মন্তব্য। তবে নোট করুন যে আমাদের আক্রমণটি কিছুটা প্রোগ্রামের আসল উত্স কোডটিকে পুরোপুরি পুনরুদ্ধার করে, এটি যেভাবেই বিচলিত হয় না। সুতরাং আপনাকে কোনওরকম কোনও সুরক্ষা সংজ্ঞা তৈরি করতে হবে যা আমাদের পাল্টে দেওয়া উদাহরণগুলির ক্ষেত্রে তুচ্ছ করে।

প্রথম পদ্ধতির প্রতিটি সীমাবদ্ধ কার্যকারিতা (উদাহরণস্বরূপ, পয়েন্ট ফাংশন) এর জন্য সম্পন্ন করা হয়েছিল, তবে আবার একটির নিশ্চিত করতে হবে যে ক্লাসটি আমাদের প্রতিসামগ্রীটি ধারণ করে না, যার মোটামুটি অর্থ এটি সিউডোর্যান্ডম ফাংশনগুলি ধারণ করে না।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.