সঙ্কুচিত করুন এবং তারপরে এনক্রিপ্ট করুন, বা তদ্বিপরীত?


88

আমি একটি ভিপিএন সিস্টেম লিখছি যা পুরো নেট জুড়ে এটির ট্র্যাফিক এনক্রিপ্ট করে (AES256) (সেখানে ইতিমধ্যে 1,000,000 জন থাকা অবস্থায় কেন আমার নিজের লিখবেন? ঠিক আছে, একটি নির্দিষ্ট কাজের জন্য আমার একটি বিশেষ যা অন্যের কোনওটিই ফিট করে না)।

মূলত আমি আপনার অতীত আমার চিন্তাভাবনাটি চালাতে চাই এটি নিশ্চিত করতে যে আমি এটি সঠিক ক্রমে করছি।

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

সুতরাং, আমার চিন্তাভাবনাটি হ'ল, এনক্রিপ্ট করার আগে আমার এনক্রিপ্ট করার আগে প্যাকেটগুলি সংকুচিত করা উচিত যা এনক্রিপ্ট হওয়া প্যাকেটটি এনক্রিপ্ট হওয়া চেয়ে আরও ভালভাবে সংকুচিত হবে? কাছাকাছি বা অন্যান্য উপায়?

আমি সম্ভবত কম্প্রেশন জন্য zlib ব্যবহার করা হবে।

সুপার ব্যবহারকারী ব্লগে আরও পড়ুন ।


4
"প্রোগ্রামিং" হিসাবে লিখছেন? স্ট্যাক ওভারফ্লো এর জন্য আরও উপযুক্ত suited
সুমা

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



1
তারা জানেন কি সেখানে সংকোচনের কথা?
মাজনকো

উত্তর:


176

যদি এনক্রিপশনটি সঠিকভাবে করা হয় তবে ফলাফলটি মূলত এলোমেলো ডেটা। বেশিরভাগ কম্প্রেশন স্কিমগুলি আপনার উপাত্তগুলিতে এমন নিদর্শনগুলি খুঁজে বের করে কাজ করে যা কোনওভাবে ফ্যাক্টর আউট হতে পারে এবং এনক্রিপশনের জন্য ধন্যবাদ এখন কিছুই নেই; ডেটা সম্পূর্ণরূপে সঙ্কুচিত।

আপনি এনক্রিপ্ট করার আগে সঙ্কুচিত করুন।


41
আরও গুরুত্বপূর্ণ: সংক্ষেপণ এন্ট্রপি যুক্ত করে। আপনার এনক্রিপশনের জন্য এনট্রপি যুক্ত করা ভাল (জ্ঞাত-প্লেইনেক্সট আক্রমণের সাথে ভাঙ্গা আরও শক্ত)।
ওলি

8
এছাড়াও, ব্যয় সংস্থানগুলি এনক্রিপ্ট করা, একটি ছোট ফাইল এনক্রিপ্ট করা কম সংস্থান গ্রহণ করবে। সুতরাং এনক্রিপ্ট করার আগে সংকুচিত।
গাথ্রন

9
@ অলি - সংক্ষেপণ স্কিমটি পরিচিত পাঠ্য যুক্ত করে অগত্যা নয়। সবচেয়ে খারাপ ক্ষেত্রে কল্পনা করুন যদি এটি ডেটার সামনে একটি পরিচিত 512 বাইট শিরোনাম রাখে এবং আপনি একটি ব্লক মোড এনক্রিপশন ব্যবহার করছেন।
মার্টিন বেকেট

26
আমি নিশ্চিত নই যে @ অলির মন্তব্যটি কেন ভুল হবে, কারণ এটি ভুল; এটি কেবল উল্লেখযোগ্যভাবে কম গুরুত্বপূর্ণ নয়, কোনও অর্ধ-শালীন এনক্রিপশনের জন্য এটি মোটেই গুরুত্বপূর্ণ হওয়া উচিত নয় । অর্থাৎ এনক্রিপশনের শক্তিটি মেসেজটির এনট্রপির সাথে সম্পূর্ণ সম্পর্কিত নয়।
ব্লুরাজা - ড্যানি প্লেফুঘিফ্ট

8
আপনি যদি কিছুটা সঙ্কোচন করেন তবে বার্তাটি এনক্রিপ্ট করার আগে এটি কেবল সত্যই করা সম্ভব তবে মনে রাখবেন, এটি মূল বার্তার 'সংকোচনের' বিষয়ে তথ্য ফাঁস হতে পারে, সুতরাং আপনি যদি বিবেচনা করতে চান যে এই দিকটির কোনও পরিণতি আছে কিনা consider চ্যানেল। একটি নির্দিষ্ট আকারের ফাইলটি বিবেচনা করুন যা হয় সমস্ত 0s বা একটি বার্তা। সমস্ত 0 টি ফাইল যেকোন যুক্তিসঙ্গত স্ক্রিম স্কিমের অধীনে একটি ছোট পেওডের ফলস্বরূপ। যদিও এই বিশেষ ব্যবহারের ক্ষেত্রে কোনও সমস্যা সম্ভবত নয়।
এডওয়ার্ড কেএমইটিটি

22

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

এছাড়াও, মিঃ আলফা যেমন উল্লেখ করেছেন, আপনি যদি প্রথমে এনক্রিপ্ট করেন তবে ফলাফলটি সঙ্কুচিত করা খুব কঠিন।


12
ঠিক আছে, এটি সঠিক, তবে আপনি পোস্ট করার 2 ঘন্টা আগে পোস্ট করা হয়েছিল ... এন্ট্রপি
কোনারাক

3

এমনকি যদি এটি নির্দিষ্ট ব্যবহারের ক্ষেত্রে নির্ভর করে তবে আমি এনক্রিপ্ট-পরে-সংক্ষেপণের পরামর্শ দেব। অন্যথায় কোনও আক্রমণকারী এনক্রিপ্ট হওয়া ব্লকের সংখ্যা থেকে তথ্য ফাঁস করতে পারে।

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

উত্স: http://www.ekoparty.org/archive/2012/CRIME_ekoparty2012.pdf


2

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


1

এনক্রিপশনের আগে সংকোচন করা উচিত। কোনও ব্যবহারকারী ডেটা স্থানান্তর করার অপেক্ষায় সময় কাটাতে চায় না, তবে কোনও সময় নষ্ট না করে অবিলম্বে এটি করা দরকার to


1

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


এটি গ্রহণযোগ্য এবং দ্বিতীয় উত্তরের পুনরাবৃত্তি বলে মনে হচ্ছে। প্রতিটি উত্তরের প্রশ্নের একটি যথেষ্ট নতুন সমাধান অবদান রাখতে হবে।
ফিক্সার 1234

0

সংক্ষেপণ তথ্য এনট্রপি হ্রাস করে। সর্বাধিক সংক্ষেপণ এন্ট্রপিকে ন্যূনতম করে তোলে। পুরোপুরি এনক্রিপ্ট করা ডেটার জন্য (শব্দ) সর্বোচ্চ এবং সর্বনিম্ন এনট্রপি একই।


2
অপেক্ষা করুন, আপনার কি পিছনের দিকে নেই? আমি ভেবেছিলাম রিটার্নডেন্সি হ্রাস হওয়ায় এনট্রপি বৃদ্ধি পেয়েছে। অতএব সংক্ষেপে এনট্রপি বাড়াতে হবে।
ঝান লিংস

না, কম এনট্রপি = আরও নিদর্শন। এলোমেলোভাবে সর্বাধিক এনট্রপি থাকে।
অ্যাবিয়াসএক্স

1
তবে এটি তথ্য এনট্রোপি তাই এটি সমস্ত অর্থ। এলোমেলোতার অর্থ কিছু হয় না তাই এটি প্রয়োগ হয় না। একটি ইংরেজী বাক্যে অক্ষর পরিবর্তিত হতে পারে এবং এখনও একই জিনিসটির অর্থ হতে পারে তাই এটিতে কম এনট্রপি রয়েছে। একটি সংকুচিত ইংরেজী বাক্যটি যদি অপরিবর্তিত হয় তবে যদি একক বিট পরিবর্তন হয় তবে এটির সর্বাধিক has বা তাই আমি মনে করি।
ঝ্যান লিংস

এন্ট্রপি জ্ঞান এবং পড়ার বা বোঝার ক্ষমতা সম্পর্কে নয়, এটি সমস্ত নিদর্শন সম্পর্কে। সংকুচিত ফাইলগুলি নিদর্শনগুলি পূর্ণ।
আবিউসএক্স

1
@ অবিয়াসএক্স: ঠিক আছে। নিদর্শন। এবং কম নিদর্শন, আরও এনট্রপি। যার অর্থ হ'ল সংকোচন যা একক অনুলিপি সহ সমস্ত পুনরাবৃত্ত নিদর্শনগুলিকে প্রতিস্থাপন করে এনট্রপি বাড়ে।
জ্যান লিংস
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.