কীভাবে AES এনক্রিপশন মোড (সিবিসি ইসিবি সিটিআর ওসিবি সিএফবি) চয়ন করবেন?


478

তাদের মধ্যে কোনটি পছন্দ হয় কোন পরিস্থিতিতে?

আমি বিভিন্ন মোডের জন্য মূল্যায়নের ক্রটিরিয়ার তালিকা দেখতে চাই এবং প্রতিটি মানদণ্ডের প্রয়োগযোগ্যতার জন্য একটি আলোচনাও দেখতে চাই।

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

"মূল্যায়নের মানদণ্ডের তালিকা এবং প্রতিটি মানদণ্ডের প্রয়োগযোগ্যতার তালিকা" দ্বারা আমি কী বুঝি তা দেখুন ??

এটি আসলে প্রোগ্রামিং সম্পর্কিত নয় তবে এটি সম্পর্কিত অ্যালগোরিদম।


22
"এটি আসলে প্রোগ্রামিং সম্পর্কিত নয় তবে এটি সম্পর্কিত অ্যালগরিদম সম্পর্কিত" " ∵ অ্যালগরিদমগুলি গণিত দ্বারা প্রতিনিধিত্ব করা যায়। কম্পিউটার প্রোগ্রামিং গণিত দ্বারা উপস্থাপন করা যেতে পারে। Question আপনার প্রশ্ন কম্পিউটার প্রোগ্রামিং সম্পর্কে।
টাইলার গিলিস

40
"এটি আসলে প্রোগ্রামিং সম্পর্কিত নয় তবে এটি সম্পর্কিত অ্যালগরিদম সম্পর্কিত" " ∵ অ্যালগরিদমগুলি গণিত দ্বারা প্রতিনিধিত্ব করা যায় এবং স্টক মার্কেটগুলি গণিত দ্বারা প্রতিনিধিত্ব করা যায়, আপনার প্রশ্নটি শেয়ার বাজার সম্পর্কে about / বিদ্রূপের জন্য দুঃখিত, তবে উপসংহারটি খুব স্পষ্টতই সঠিক ছিল,
তর্কটি

আপনি সাবস্ক্রাইব করেছেন এমন সম্পর্কের বোঝার উপর নির্ভর করে। কিছু কেবলমাত্র একটি ধারণা বা অন্য ধারণার সাথে সম্পর্কিত হতে হবে না।
ব্রায়ান গ্রেস

উত্তর:


323
  • একই কী দিয়ে একাধিক ব্লকের ডেটা এনক্রিপ্ট করা থাকলে ইসিবি ব্যবহার করা উচিত নয়।

  • সিবিসি, ওএফবি এবং সিএফবি একই রকম, তবে ওএফবি / সিএফবি আরও ভাল কারণ আপনার কেবল এনক্রিপশন প্রয়োজন এবং ডিক্রিপশন নয়, যা কোডের স্থান সাশ্রয় করতে পারে।

  • আপনি যদি সিবিসি / ওএফবি / সিএফবি এর পরিবর্তে ভাল সমান্তরালতা (অর্থাত্ গতি) চান তবে সিটিআর ব্যবহার করা হয়।

  • আপনি যদি এলোমেলো অ্যাক্সেসযোগ্য ডেটা (একটি হার্ড ডিস্ক বা র‌্যামের মতো) এনকোডিং করেন তবে এক্সটিএস মোডটি সর্বাধিক সাধারণ।

  • ওসিবি এখন পর্যন্ত সর্বোত্তম মোড, কারণ এটি একক পাসে এনক্রিপশন এবং প্রমাণীকরণের অনুমতি দেয়। তবে মার্কিন যুক্তরাষ্ট্রে এটির পেটেন্ট রয়েছে।

কেবলমাত্র আপনাকে যা জানতে হবে তা হ'ল আপনি কেবলমাত্র 1 টি ব্লক এনক্রিপ্ট না করে ইসিবি ব্যবহার করা হবে না। আপনি যদি এলোমেলোভাবে অ্যাক্সেস করা ডেটা এনক্রিপ্ট করে না কোনও স্ট্রিম ব্যবহার করেন তবে এক্সটিএস ব্যবহার করা উচিত।

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


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

9
এমনকি যদি আপনি কেবল একটি ব্লক এনক্রিপ্ট করছেন তবে ইসিবি ব্যবহার করা উচিত নয় যদি আপনি সেই একই ব্লকটি একবারে একাধিক (সম্ভবত একাধিকবার) একই কী দিয়ে এনক্রিপ্ট করছেন।
yfeldblum

23
... "সিবিসি, ওএফবি এবং সিএফবি সমান একটি" বলে এমন একটি উত্তর কীভাবে একটিও ডাউনভোট নয়?
মাইকেল মরোজেক

30
জিসিএম ওসিবি (পারফরম্যান্স এবং অন্যান্য বৈশিষ্ট্য) এর সাথে খুব মিল, তবে এটি কোনও পেটেন্ট দ্বারা পরিবেষ্টিত নয়, তাই এটি সেরা পছন্দ is একমাত্র নেতিবাচক বাস্তবায়নটি অত্যন্ত জটিল - তবে আপনি যদি কোনও লাইব্রেরি ব্যবহার করেন তবে আপনাকে এটির বিষয়ে চিন্তা করতে হবে না।
ntoskrnl

407

আপনি যদি নিজের ক্রিপ্টোগ্রাফি বাস্তবায়ন করতে না পারেন তবে দীর্ঘ এবং কঠোর বিবেচনা করুন

বিষয়টির কুৎসিত সত্য হ'ল আপনি যদি এই প্রশ্নটি জিজ্ঞাসা করেন তবে আপনি সম্ভবত কোনও সুরক্ষিত সিস্টেম ডিজাইন এবং প্রয়োগ করতে পারবেন না।

আমাকে আমার বক্তব্য চিত্রিত করুন: আপনি একটি ওয়েব অ্যাপ্লিকেশন তৈরি করছেন এবং আপনার কিছু সেশন ডেটা সঞ্চয় করতে হবে তা কল্পনা করুন। আপনি প্রতিটি ব্যবহারকারীর একটি সেশন আইডি নির্ধারণ করতে পারেন এবং সেশনের ডেটাতে হ্যাশ ম্যাপ ম্যাপিং সেশন আইডিতে সার্ভারে সেশন ডেটা সংরক্ষণ করতে পারেন। তবে তারপরে আপনাকে সার্ভারে এই সমস্যাযুক্ত পরিস্থিতিটি মোকাবেলা করতে হবে এবং যদি কোনও সময়ে আপনার একাধিক সার্ভারের প্রয়োজন হয় তবে অগোছালো হয়ে যাবে। সুতরাং পরিবর্তে আপনার কাছে ক্লায়েন্টের পাশের কোনও কুকিতে সেশন ডেটা সংরক্ষণ করার ধারণা রয়েছে। আপনি অবশ্যই এটি এনক্রিপ্ট করবেন যাতে ব্যবহারকারী ডেটা পড়তে এবং পরিচালনা করতে না পারে। সুতরাং আপনি কোন মোড ব্যবহার করা উচিত? এখানে এসে আপনি শীর্ষ উত্তরটি পড়েছেন (আপনাকে মাইফরওয়িকের জন্য এককীকরণের জন্য দুঃখিত)। প্রথমটি আবৃত - ইসিবি - আপনার জন্য নয়, আপনি একাধিক ব্লক এনক্রিপ্ট করতে চান, পরেরটি - সিবিসি - ভাল শোনাচ্ছে এবং আপনার সিটিআরের সমান্তরালতার প্রয়োজন নেই, আপনার এলোমেলো অ্যাক্সেসের প্রয়োজন নেই, সুতরাং কোনও এক্সটিএস এবং পেটেন্টস পিআইটিএ নয়, ওসিবি নেই। আপনার ক্রিপ্টো লাইব্রেরি ব্যবহার করে আপনি বুঝতে পারবেন আপনার কিছু প্যাডিং দরকার কারণ আপনি কেবলমাত্র ব্লকের আকারের বহুগুণ এনক্রিপ্ট করতে পারেন। তুমি বাছাই করেছোপিকেসিএস 7 কারণ এটি কিছু গুরুতর ক্রিপ্টোগ্রাফি মানগুলিতে সংজ্ঞায়িত হয়েছিল। কোথাও পড়া যে সিবিসি পর provably নিরাপদ যদি একটি র্যান্ডম চতুর্থ এবং একটি সুরক্ষিত ব্লক সাইফার সঙ্গে ব্যবহার, আপনি নিশ্চিন্ত বিশ্রাম যদিও আপনি ক্লায়েন্ট সাইড এ আপনার সংবেদনশীল তথ্য সংরক্ষণ করছেন।

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

এটি কোনও কাল্পনিক পরিস্থিতি নয়: কয়েক বছর আগে পর্যন্ত এএসপি.এনইটি-তে মাইক্রোসফ্টের এই সঠিক ত্রুটি ছিল।

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

আপনার যদি ডেটা এনক্রিপ্ট করতে হয় তবে কী করবেন

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

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

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

মোডগুলির তুলনা

শুধুমাত্র এনক্রিপশন:

  • প্যাডিংয়ের প্রয়োজনীয় মোডগুলি : উদাহরণস্বরূপ, প্যাডিং সাধারণত বিপজ্জনক হতে পারে কারণ এটি ওরাকল অ্যাটাকের প্যাডিংয়ের সম্ভাবনা উন্মুক্ত করে। সবচেয়ে সহজ প্রতিরক্ষা হ'ল ডিক্রিপশন করার আগে প্রতিটি বার্তা প্রমাণীকরণ করা। নিচে দেখ.
    • ইসিবি প্রতিটি ব্লকের ডেটা স্বাধীনভাবে এনক্রিপ্ট করে এবং একই প্লেটেক্সট ব্লকটির ফলে একই সিফারেক্সট ব্লক হবে। ইসিবি উইকিপিডিয়া পৃষ্ঠায় ইসিবি এনক্রিপ্টড টাক্স চিত্রটি দেখুন এটি কেন একটি গুরুতর সমস্যা তা দেখার জন্য। ইসিবি গ্রহণযোগ্য হবে এমন কোনও ব্যবহারের বিষয়টি আমি জানি না।
    • সিবিসির একটি আইভি রয়েছে এবং প্রতিটি বার্তাটি এনক্রিপ্ট করা হওয়ার সাথে সাথে এলোমেলো হওয়া দরকার, বার্তার একটি অংশ পরিবর্তনের পরে সমস্ত কিছু পুনরায় এনক্রিপ্ট করা দরকার, একটি সিফারেক্সট ব্লকে ট্রান্সমিশন ত্রুটিগুলি সম্পূর্ণ প্লেটেক্সটটি ধ্বংস করে এবং পরবর্তী ব্লকের ডিক্রিপশন পরিবর্তন করে সমান্তরাল হতে পারে / এনক্রিপশন করতে পারে না, প্লেটেক্সট একটি নির্দিষ্ট ডিগ্রিতে ম্যালেবল হয় - এটি একটি সমস্যা হতে পারে
  • স্ট্রিম সাইফার মোডগুলি : এই মোডগুলি একটি ছদ্ম র্যান্ডম স্ট্রিম ডেটা তৈরি করে যা প্লেটেক্সটকে নির্ভর করতে পারে বা নাও করতে পারে। একইভাবে সাইফারগুলি স্ট্রিম করতে, উত্পন্ন সিউডো এলোমেলো স্ট্রিমটি সিফারেক্সটেক্সট উত্পন্ন করার জন্য প্লেটেক্সট দিয়ে XORed করা হয়। আপনি যেমন এলোমেলো স্ট্রিমের যতগুলি বিট ব্যবহার করতে পারেন ঠিক তেমন আপনার প্যাডিংয়ের দরকার নেই। এই সরলতার অসুবিধে হ'ল এনক্রিপশনটি সম্পূর্ণ ম্যালেবলএর অর্থ হ'ল আক্রমণকারী দ্বারা যে কোনও উপায়ে প্লেটেক্সট পি 1, সিফারেক্সট সি 1 এবং সিউডো র্যান্ডম স্ট্রিম আর এবং আক্রমণকারী পছন্দ করতে পারে সেভাবে ডিক্রিপশনটি পরিবর্তন করা যেতে পারে যেমন একটি সিফারেক্সটেক্স ডিক্রিপশন সি 2 = সি 1 ডি p2 = p1⊕d, হিসাবে পি 2 = সি 2⊕r = (সি 1 ⊕ ডি) ⊕ আর = ডি ⊕ (সি 1 ⊕ আর)। এছাড়াও একই সিউডো এলোমেলো স্ট্রিমটি দুটি সিফারটেক্সট সি 1 = পি 1 এবং সি 2 = পি 2⊕r হিসাবে কখনও কখনও দুবার ব্যবহার করা উচিত নয়, আক্রমণকারী দু'টি সরলরেখির জোরকে c1⊕c2 = p1⊕r⊕p2⊕r = হিসাবে গণনা করতে পারে p1⊕p2। এর অর্থ হ'ল বার্তাটি পরিবর্তনের জন্য সম্পূর্ণ পুনরায় এনক্রিপশন প্রয়োজন, যদি মূল আক্রমণকারী দ্বারা কোনও বার্তা পাওয়া যেত। নিম্নলিখিত সমস্ত বাষ্প সিফার মোডগুলিতে কেবলমাত্র ব্লক সাইফারের এনক্রিপশন অপারেশন প্রয়োজন, তাই সাইফারের উপর নির্ভর করে এটি চূড়ান্ত সংকীর্ণ পরিবেশে কিছু (সিলিকন বা মেশিন কোড) স্থান সংরক্ষণ করতে পারে।
    • সিটিআর সহজ, এটি ছদ্ম এলোমেলো স্ট্রিম তৈরি করে যা প্লেটেক্সট থেকে স্বতন্ত্র, বিভিন্ন সিউডো এলোমেলো স্ট্রিমগুলি বিভিন্ন নোটেস / আইভি থেকে গণনা করে প্রাপ্ত হয় যা সর্বাধিক বার্তার দৈর্ঘ্য দ্বারা গুণিত হয় যাতে নোনেস বার্তা এনক্রিপশন ব্যবহার করে ওভারল্যাপ প্রতিরোধ করা হয় প্রতি বার্তা এলোমেলোভাবে সম্ভব, ডিক্রিপশন এবং এনক্রিপশন সমান্তরালভাবে সম্পন্ন হয়, সংক্রমণ ত্রুটিগুলি কেবল ভুল বিটগুলিকে প্রভাবিত করে এবং আরও কিছু না
    • ওএফবি একটি ছদ্ম এলোমেলো স্ট্রিমটিও সরলরেখার চেয়ে পৃথক করে, বিভিন্ন সিউডো এলোমেলো স্ট্রিমগুলি প্রতিটি বার্তার জন্য আলাদা ননস বা র্যান্ডম চতুর্থ দিয়ে শুরু করে প্রাপ্ত হয়, এনক্রিপশন বা ডিক্রিপশন উভয়ই সমান্তরাল নয়, যেমন সিটিআর দ্বারা নেক্সস বার্তা ব্যতীত এনক্রিপশন সম্ভব এলোমেলোভাবে, যেমন সিটিআর সংক্রমণ ত্রুটিগুলি কেবল ভুল বিটগুলিকে প্রভাবিত করে এবং আরও কিছু না
    • সিএফবি'র সিউডো এলোমেলো স্ট্রিমটি সরলরেখার উপর নির্ভর করে, প্রতিটি বার্তার জন্য আলাদা নোকস বা র্যান্ডম আইভি প্রয়োজন, যেমন সিটিআর এবং ওএফবি ব্যবহার করে নেক্সস মেসেজ এনক্রিপশন প্রতি বার্তা এলোমেলোভাবে সম্ভব, ডিক্রিপশন সমান্তরাল / এনক্রিপশন নয়, সংক্রমণ ত্রুটিগুলি সম্পূর্ণ নিম্নলিখিত ব্লকটি ধ্বংস করুন, তবে কেবলমাত্র বর্তমান ব্লকের ভুল বিটকেই প্রভাবিত করুন
  • ডিস্ক এনক্রিপশন মোড : এই মোডগুলি ফাইল সিস্টেম বিমূর্তির নীচে ডেটা এনক্রিপ্ট করার জন্য বিশেষীকরণযোগ্য। দক্ষতার কারণে ডিস্কে কিছু ডেটা পরিবর্তনের জন্য কেবলমাত্র একটি ডিস্ক ব্লকের (512 বাইট বা 4 কীব) পুনর্লিখনের প্রয়োজন। অন্যগুলির তুলনায় তাদের বিস্তৃত ব্যবহারের পরিস্থিতি হওয়ায় তারা এই উত্তরের সুযোগের বাইরে। এগুলি ব্লক স্তরের ডিস্ক এনক্রিপশন ব্যতীত অন্য কোনও কিছুর জন্য ব্যবহার করবেন না । কিছু সদস্য: এক্সএক্স, এক্সটিএস, এলআরডাব্লু।

প্রমাণীকৃত এনক্রিপশন:

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

  • সিসিএম হ'ল সিটিআর মোড এবং একটি সিবিসি-ম্যাকের একটি সহজ সংমিশ্রণ। প্রতি ব্লকে দুটি ব্লক সাইফার এনক্রিপশন ব্যবহার করা এটি খুব ধীর।
  • ওসিবি দ্রুত তবে পেটেন্ট দ্বারা জড়িত। নিখরচায় (স্বাধীনতার মতো) বা অ-সামরিক সফ্টওয়্যার পেটেন্ট ধারক একটি নিখরচায় লাইসেন্স দিয়েছে , যদিও।
  • জিসিএম হ'ল সিটিআর মোড এবং জিএইচএসএইচ-এর একটি খুব দ্রুত তবে তাত্ক্ষণিকভাবে জটিল সংমিশ্রণ, 2 ^ 128 উপাদানগুলির সাথে গ্যালোয়াস ক্ষেত্রের উপর একটি ম্যাক। টিএলএস ১.২ এর মতো গুরুত্বপূর্ণ নেটওয়ার্ক স্ট্যান্ডার্ডগুলিতে এর ব্যাপক ব্যবহার GHASH গণনার গতি বাড়ানোর জন্য ইন্টেল একটি বিশেষ নির্দেশ দ্বারা প্রতিফলিত হয়েছে।

প্রস্তাবনা:

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


211
"আপনার যদি এই প্রশ্নটি জিজ্ঞাসার দরকার হয় তবে কোনও সুরক্ষিত সিস্টেম বাস্তবায়নের জন্য আপনি সম্ভবত ক্রিপ্টোগ্রাফি সম্পর্কে যথেষ্ট জানেন না।" - আপনি ঠিক বলেছেন, কিন্তু আপনি কি বুঝতে পেরেছেন যে প্রশ্ন জিজ্ঞাসা করা মানুষ কীভাবে শিখেন? তাই হয়ত একটু আরাম করুন।
রবার্ট ম্যাকলিন

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

8
হয় ক্রিপ্টোগ্রাফিটি পুরোপুরি জানতে বা যথাসম্ভব এড়াতে এবং পর্যাপ্ত বিমূর্ততা ব্যবহার করার জন্য পর্যাপ্ত সময় বিনিয়োগ করুন time এবং কীভাবে ক্রিপ্টোগ্রাফিটি প্রথম অনুচ্ছেদটি ভেঙে দেয় তা শেখার থিমে মোডের বর্ণনার চেয়ে অনন্য-বিষয়।
Perseids

32
মাইনাস এক: শুরুর শিরোনামটি ভুল; এটি বলা উচিত "যদি আপনি এই প্রশ্নটি জিজ্ঞাসা করে থাকেন যে আপনি সঠিক দিকে যাচ্ছেন, এটি চালিয়ে যান এবং আপনি এক্সেল হয়ে যাবেন!"
হেনরিক

11
@ ফারমিনসিলভা: সত্য, তবে যুক্তির আরেকটি দিক হ'ল ক্রিপ্টো কোড কপি-পেস্ট করার চেয়ে সত্য এবং পরীক্ষিত সমাধানগুলি ব্যবহার করা প্রায়শই সহজ । উদাহরণস্বরূপ, যখন আপনি যা করতে চান তা হ'ল স্মার্টফোন অ্যাপ্লিকেশন থেকে আপনার সার্ভারের সাথে কথা বলা https://your.server, কিছু কী এক্সচেঞ্জ প্রোটোকল উদ্ভাবনের চেয়ে একটি লেটস এনক্রিপ্ট টিএলএস শংসাপত্র সহ একটি অ্যাপাচি বিপরীত প্রক্সি সেটআপ করা এবং আপনার অ্যাপ্লিকেশনটিতে যে কোনও জায়গায় লেখা অনেক সহজ and দু'পাশে ক্রিপ্টোগ্রাফি গ্রন্থাগারগুলি একসাথে সুষ্ঠুভাবে কাজ করতে পান।
Perseids

36

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

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

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

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

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

আমি আইপি সমস্যা সম্পর্কে সচেতন নই।

অধ্যাপক রোগওয়ের কাছ থেকে এখনই ভাল জিনিস:

সিফারগুলি মোড করুন, এনক্রিপশন করুন তবে বার্তার অখণ্ডতা নয়

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

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

সিএফবি : একটি আইভি-ভিত্তিক এনক্রিপশন স্কিম, মোড একটি সম্ভাব্য এনক্রিপশন স্কিম হিসাবে সুরক্ষিত, এলোমেলো বিট থেকে পৃথক পৃথকীকরণ অর্জন করে, এলোমেলো IV ধরে। আইভি যদি ভবিষ্যদ্বাণীযোগ্য হয় তবে গোপনীয়তা অর্জিত হয় না , না যদি এটি স্কিম দ্বারা ব্যবহৃত একই কী এর অধীনে কোনও ননসি দ্বারা তৈরি করা হয়, যেমন স্ট্যান্ডার্ডটি ভুলভাবে করার পরামর্শ দেয়। সাইফারেক্সটগুলি ম্যালেবল are কোনও সিসিএ-সুরক্ষা নেই। সহজাত সিরিয়াল হওয়া থেকে এনক্রিপশন অকার্যকর। স্কিম একটি প্যারামিটার s, 1 ≤ s ≤ n, সাধারণত s = 1 বা s = 8 এর উপর নির্ভর করে শুধুমাত্র কেবলমাত্র বিটগুলি প্রক্রিয়াকরণের জন্য একটি ব্লকশিফার কল প্রয়োজন হয় না। মোডটি একটি আকর্ষণীয় "স্ব-সিঙ্ক্রোনাইজেশন" সম্পত্তি অর্জন করে; সিফারেক্সটে কোনও সংখ্যক এস-বিট অক্ষর সন্নিবেশ বা মুছলে কেবল অস্থায়ীভাবে সঠিক ডিক্রিপশন ব্যাহত হয়।

অফবি : একটি আইভি-ভিত্তিক এনক্রিপশন স্কিম, মোড একটি সম্ভাব্য এনক্রিপশন স্কিম হিসাবে সুরক্ষিত, এলোমেলো বিট থেকে পৃথক পৃথকীকরণ অর্জন করে, এলোমেলো IV ধরে। আইভি একটি বোকা হলে গোপনীয়তা অর্জিত হয় না, যদিও আইভিএসের একটি নির্দিষ্ট ক্রম (যেমন, একটি কাউন্টার) ভাল কাজ করে। সাইফারেক্সটগুলি অত্যন্ত ম্যালেবল। কোনও সিসিএ সুরক্ষা নেই। সহজাত সিরিয়াল হওয়া থেকে এনক্রিপশন এবং ডিক্রিপশন অযোগ্য। স্থানীয়ভাবে কোনও বিট দৈর্ঘ্যের স্ট্রিংগুলি এনক্রিপ্ট করে (কোনও প্যাডিং প্রয়োজন হয় না)। আমি সিটিআর মোডে কোনও গুরুত্বপূর্ণ সুবিধা সনাক্ত করতে পারি।

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

এক্সটিএস : একটি আইভি-ভিত্তিক এনক্রিপশন স্কিম, মোডটি একটি এন-বিট খণ্ডে একটি টুইচএবল ব্লকসিফার (একটি শক্তিশালী-পিআরপি হিসাবে সুরক্ষিত) প্রয়োগ করে কাজ করে। N দ্বারা বিভাজ্য নয় এমন দৈর্ঘ্যের বার্তাগুলির জন্য, শেষ দুটি ব্লককে বিশেষভাবে বিবেচনা করা হয়। মোডের একমাত্র অনুমোদিত ব্যবহার হ'ল ব্লক-স্ট্রাকচার্ড স্টোরেজ ডিভাইসে ডেটা এনক্রিপ্ট করার জন্য। অন্তর্নিহিত PRP এর সরু প্রস্থ এবং ভগ্নাংশ চূড়ান্ত ব্লকের দুর্বল চিকিত্সা সমস্যা। একটি (প্রশস্ত-ব্লক) পিআরপি-সুরক্ষিত ব্লকসিফারের চেয়ে আরও দক্ষ কিন্তু কম আকাঙ্ক্ষিত।

ম্যাকস (বার্তার অখণ্ডতা তবে এনক্রিপশন নয়)

ALG1–6 : সিবিসি-ম্যাকের ভিত্তিতে ম্যাকের একটি সংগ্রহ। অনেকগুলি স্কিম। কিছু ভিআইএল পিআরএফ হিসাবে কার্যকরভাবে সুরক্ষিত, কিছু ফিল্ড পিআরএফ হিসাবে, এবং কারওর পক্ষে কার্যকর সুরক্ষা নেই have কিছু স্কিম ক্ষতিকারক আক্রমণ স্বীকার করে। কিছু মোডের তারিখ রয়েছে। কী-বিচ্ছেদটি এটির মোডগুলির জন্য অপ্রতুলভাবে উপস্থিত রয়েছে। মাস হিসাবে গ্রহণ করা উচিত নয়, তবে বেছে বেছে "সেরা" স্কিমগুলি বেছে নেওয়া সম্ভব। CMAC এর পক্ষে এই মোডগুলির কোনওটিই গ্রহণ করা ভাল। আইএসও 9797-1 ম্যাকের কয়েকটি বিস্তৃতভাবে প্রমিত এবং ব্যবহৃত হয়, বিশেষত ব্যাঙ্কিংয়ে। স্ট্যান্ডার্ডের একটি সংশোধিত সংস্করণ (আইএসও / আইইসি এফডিআইএস 9797-1: 2010) শীঘ্রই প্রকাশিত হবে [93]।

সিএমএসি : সিবিসি-ম্যাকের উপর ভিত্তি করে একটি ম্যাক, মোড (ভিএলআইআর) পিআরএফ হিসাবে অন্তর্নিহিত ব্লকসিফারকে ভাল পিআরপি হিসাবে ধরে রাখার (জন্মদিনের আবদ্ধ অবধি) নিরাপদ is সিবিসিএমএসি-ভিত্তিক স্কিমের জন্য মূলত ন্যূনতম ওভারহেড। কিছু অ্যাপ্লিকেশন ডোমেনে সহজাতভাবে সিরিয়াল প্রকৃতি একটি সমস্যা এবং 64৪-বিট ব্লকসিফারের সাহায্যে মাঝে মাঝে পুনরায় চাবি লাগানো দরকার। ম্যাকগুলির আইএসও 9797-1 সংগ্রহের তুলনায় পরিষ্কার।

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

জিএমএসি : একটি ননস-ভিত্তিক ম্যাক যা জিসিএমের একটি বিশেষ ক্ষেত্রে। জিসিএমের ভাল এবং খারাপ বৈশিষ্ট্যগুলির বেশিরভাগ অংশীদার করে। তবে ম্যাকের জন্য নন-প্রয়োজনীয়তা অপ্রয়োজনীয় এবং এখানে এটি সামান্য সুবিধা কিনে। ব্যবহারিক আক্রমণগুলি যদি ট্যাগগুলি ≤ 64 বিটে কাটা হয় এবং ডিক্রিপশনের পরিমাণটি পর্যবেক্ষণ করা হয় না এবং কমানো হয় না। ননস-পুনঃব্যবহারে সম্পূর্ণ ব্যর্থতা। GCM গৃহীত হলে ব্যবহার যাহাই হউক না কেন অন্তর্ভুক্ত। পৃথক মানীকরণের জন্য প্রস্তাবিত নয়।

প্রমাণীকৃত এনক্রিপশন (উভয় এনক্রিপশন এবং বার্তা অখণ্ডতা)

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

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


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

3
সিটিআর মোড: অনুশীলনে এতগুলি ব্যর্থতার কারণে প্রধানত আইভি পুনঃব্যবহারের কারণে আমি সিটিআর মোডকে সেরা পছন্দ হিসাবে একমত নই। এমনকি মাইক্রোসফ্ট এটিকে কমপক্ষে দু'বার বার করে দিয়েছে।
zaph

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

1
আইএমও সিটিআর আরও খারাপ কারণ এটি একটি সাধারণ জোর যেখানে অন্যান্য বেশ কয়েকটি মোডের মতো সিবিসির ব্লক থেকে ব্লক পর্যন্ত প্রচার রয়েছে। এটি সহজ মনে হতে পারে তবে ভর বাজার কোডে বড় ব্যর্থতা রয়েছে।
zaph

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

30
  1. ইসিবি ছাড়া আর কিছু নয়।
  2. যদি সিটিআর ব্যবহার করা হয় তবে এটি আবশ্যক যে আপনি প্রতিটি বার্তার জন্য আলাদা আইভি ব্যবহার করুন, অন্যথায় আপনি আক্রমণকারী দুটি সিফেরটেক্সট নিতে সক্ষম হবেন এবং একটি সম্মিলিত এনক্রিপ্ট না করা প্লেইন টেক্সট পেয়েছেন। কারণটি হ'ল সিটিআর মোডটি মূলত একটি ব্লক সাইফারকে স্ট্রিম সাইফারে পরিণত করে এবং স্ট্রিম সাইফারগুলির প্রথম নিয়মটি কখনও কখনও একই কী + IV দুবার ব্যবহার না করা।
  3. মোডগুলি কার্যকর করা কতটা কঠিন তার মধ্যে আসলেই খুব বেশি পার্থক্য নেই। কিছু মোডগুলিকে এনক্রিপ্ট করার দিকের জন্য কেবলমাত্র ব্লক সাইফার প্রয়োজন। তবে, বেশিরভাগ ব্লক সাইফারস, এইএস সহ, ডিক্রিপশন বাস্তবায়নের জন্য আরও বেশি কোড নেয় না।
  4. সমস্ত সাইফার মোডের জন্য, যদি আপনার বার্তা প্রথম কয়েকটি বাইটে অভিন্ন হতে পারে এবং আপনি কোনও আক্রমণকারী এটি জানতে না চান তবে প্রতিটি বার্তার জন্য পৃথক আইভি ব্যবহার করা গুরুত্বপূর্ণ।

আপনার পয়েন্ট 1 সমর্থন (এই বিটিডব্লিউটির
মাইকেল স্টাম

1
আপনার কোনও এলোমেলো সংখ্যার সাথে সিটিআর শুরু করা উচিত নয়, যেহেতু এর পূর্ববর্তী বার্তার অংশের সাথে সংঘর্ষের খুব কম-কিন্তু-বর্ধমান সম্ভাবনা রয়েছে। পরিবর্তে মনোটোনিকভাবে এটিকে বৃদ্ধি করুন (এটির অর্থ ধ্রুবক স্টোরেজটি আপনি কোথায় ছিলেন তা মনে করার অর্থ) এবং পুনরায় কী (যদি) আপনি কাউন্টার থেকে চলে যান তবে key
ক্যাফে

@ থেরান - পয়েন্ট ২ - প্রতিটি বার্তার জন্য আলাদা এলোমেলো সংখ্যা? না, আমি মনে করি এটি সঠিক নয়। আমি এই ছাপে আছি যে সবসময় শূন্যে কাউন্টার শুরু করা ঠিক। @ ক্যাফ, আমার মনে হয় যখন থেরান "বার্তা" বলবে তখন তার অর্থ "ব্লক" নয় does অবশ্যই কাউন্টারটি একটি নির্দিষ্ট বার্তার প্রতিটি ব্লকের জন্য বর্ধিত হয় যা সাইফার দিয়ে চলে run থেরান যা বলছে বলে মনে হচ্ছে তা হল প্রতিটি বার্তা অবশ্যই কাউন্টারটির জন্য পৃথক প্রাথমিক মান দিয়ে শুরু করা উচিত। এবং আমি মনে করি এটি সঠিক নয়।
চিজো

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

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

13

আপনি কি উইকিপিডিয়ায় এই সম্পর্কিত তথ্য পড়ে শুরু করেছেন - সাইফার অফ ব্লক করে ? তারপরে উইকিপিডিয়ায় এনআইএসটি- তে রেফারেন্স লিঙ্কটি অনুসরণ করুন : ব্লক সাইফার মোড অফ অপারেশনের জন্য প্রস্তাবনা


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

5
@ মীরাবিলোস প্রায় 5 বছর পরে আসছেন এমন নিয়মাবলী এবং মানদণ্ডগুলিকে উল্লেখ করে যা সেসময় ছিল না, সত্যই? আমি বিশেষত মৃত লিঙ্কগুলির বিষয়ে কথা বলতে পছন্দ করি যখন এখানে উভয়ই এখনও খুব বেশি লাইভ থাকে এবং প্রশ্নে থাকা সাইটটি আরও 5 বছর ধরে থাকতে পারে। আচ্ছা ভালো.
কেটিসি

3
@mirabilos আপনি পারে সঠিক আসা তর্কসাপেক্ষে , কিন্তু যে উত্তর বিরুদ্ধে আপনার অভিযোগ হাজির হইয়াছে 5 বছর আগে যেখানে নিয়ম আলাদা প্রযোজ্য নয়। আপনার কেবল নিজের ভুলটি স্বীকার করা উচিত ছিল। এমনকি যদি এটি না হয় এবং আপনি পরিবর্তে বোঝাচ্ছেন যে এটি আপডেট করা উচিত বা পরিবর্তন করা উচিত, এটি এখনও বাধ্যতামূলক নয়। উত্তরটি এটি কেমন ছিল তা থেকে যথেষ্ট।
কনসোলবাক্স 5:51

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

11

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

হার্ডওয়্যার সীমাবদ্ধতা

STM32L (low energy ARM cores) from ST Micro support ECB, CBC,CTR GCM
CC2541 (Bluetooth Low Energy) from TI supports ECB, CBC, CFB, OFB, CTR, and CBC-MAC

ওপেন সোর্স সীমাবদ্ধতা

Original rijndael-api source  - ECB, CBC, CFB1
OpenSSL - command line CBC, CFB, CFB1, CFB8, ECB, OFB
OpenSSL - C/C++ API    CBC, CFB, CFB1, CFB8, ECB, OFB and CTR
EFAES lib [1] - ECB, CBC, PCBC, OFB, CFB, CRT ([sic] CTR mispelled)  
OpenAES [2] - ECB, CBC 

[1] http://www.codeproject.com/Articles/57478/A-Fast-and-Easy-to-Use-AES- লাইব্রেরি

[2] https://openaes.googlecode.com/files/OpenAES-0.8.0.zip


1
এসটি মাইক্রো: ইসিসি হওয়া উচিত ইসিবি; এফওয়াইআই: যেমন এসটিএম 32 এল 4 এ 6 128-বিট এবং 256-বিট এইএস সমর্থন করে, ইসিবি, সিবিসি, সিটিআর, জিসিএম, পাশাপাশি গ্যালোইস বার্তা প্রমাণীকরণ কোড (জিএমএসি) বা সিফার বার্তা প্রমাণীকরণ কোড মোড সিএমএসি চেইনিং অ্যালগরিদমগুলি হার্ডওয়্যার দ্বারা সমর্থিত।
টম কুশেল

-3

আমি একটি দিক জানি: যদিও সিবিসি প্রতিটি ব্লকের জন্য আইভি পরিবর্তন করে আরও ভাল সুরক্ষা দেয় তবে এলোমেলোভাবে এনক্রিপ্ট করা সামগ্রী (এনক্রিপ্টড হার্ড ডিস্কের মতো) এ এটি প্রযোজ্য নয়।

সুতরাং, ক্রমানুসারে স্ট্রিমগুলির জন্য সিবিসি (এবং অন্যান্য ক্রমিক ক্রিয়াকলাপগুলি) এবং এলোমেলো অ্যাক্সেসের জন্য ইসিবি ব্যবহার করুন।


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

6
না, আপনার কেবল পূর্ববর্তী সাইফারেক্সট এ অ্যাক্সেস থাকতে হবে , যার জন্য কোনও পূর্ববর্তী ব্লকগুলি ডিক্রিপ্ট করার প্রয়োজন হয় না।
ক্যাফে

আহ, ভাল এর অর্থ সিবিসি এলোমেলো অ্যাক্সেসের সাথে ঠিক আছে, তাই না?
চিজো

4
@ শেইসো: সিবিসি এলোমেলো পঠনের অ্যাক্সেসের জন্য ঠিক আছে, তবে এলোমেলো লেখার অ্যাক্সেসের জন্য নয়। সেখানে সিটিআর ব্যবহার করুন।
পাওলো ইবারম্যান

3
@ PaŭloEbermann এলোমেলো অ্যাক্সেসের জন্য সিটিআর একটি ভাল ধারণা নয়, কারণ যদি কোনও আক্রমণকারী সিফারেক্সটেক্সের দুটি সংস্করণ পর্যবেক্ষণ করে তবে এটি গুরুতর আক্রমণের অনুমতি দেয়। পরিবর্তে এক্সটিএস বা একটি টুইটযোগ্য ব্লকসিফার ব্যবহার করুন।
কোডসইনচাউস
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.