জাভাতে এনক্রিপশন সম্পর্কে আপনার যা জানা দরকার



এই নিবন্ধটি আপনাকে জাভাতে এনক্রিপশন এবং উদাহরণ সহ এটি কীভাবে ব্যবহার করতে হবে তার বিশদ এবং বিস্তৃত জ্ঞান সরবরাহ করবে।

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

জাভাতে এনক্রিপশনের একটি ভূমিকা

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





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

জাভাতে এনক্রিপশন এবং ডিক্রিপশন



প্রতিসম এনক্রিপশন অ্যালগরিদম

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

অসমমিত (বা সর্বজনীন কী) এনক্রিপশন অ্যালগরিদম

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



যে কোনও বেসিক এনক্রিপশন স্কিমটি নিরাপদে কনফিগার করার জন্য, এই জাতীয় পরামিতিগুলি (সর্বনিম্ন) সঠিকভাবে ডিজাইন করা খুব গুরুত্বপূর্ণ:

  • সঠিক অ্যালগরিদম নির্বাচন করা গুরুত্বপূর্ণ।
  • উপযুক্ত কাজের জন্য সঠিক মোড অপারেশন নির্বাচন করা
  • প্রয়োজন অনুযায়ী ডান প্যাডিং স্কিম নির্বাচন করা
  • সেই অনুযায়ী সঠিক কীগুলি এবং তাদের আকার নির্বাচন করা
  • ক্রিপ্টোগ্রাফিকভাবে নিরাপদ সিএসপিআরিং দিয়ে সঠিক সূচনা।

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

নতুনদের জন্য সার্ভিসেনো টিউটোরিয়াল পিডিএফ

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

  • ডান অ্যালগরিদম নির্বাচন করা

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

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

সর্বদা এর জন্য:

  1. প্রতিসম অ্যালগোরিদম: এইএস / এইএসআরপ ব্লক সিফার ব্যবহৃত হয়।

  2. অসমৰ অ্যালগরিদম: আরএসএ ব্যবহৃত হয়।

  • অপারেশন

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

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

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

  • উপযুক্ত প্যাডিং স্কিম নির্বাচন করা

সাধারণ ব্লক সাইফার মোডগুলির অন্তর্নিহিত এনক্রিপশন অ্যালগরিদমের ব্লক আকারের একাধিক হতে প্লেইন পাঠ্যের দৈর্ঘ্য প্রয়োজন, যা ক্ষেত্রে খুব কমই হয়। সুতরাং, আমরা কিছু প্যাডিং প্রয়োজন।জাভা প্রোগ্রামটি আমাদেরকে প্রতিসম এনক্রিপশনের জন্য তিনটি পৃথক প্রকল্প সরবরাহ করে, একটি হ'ল নো প্যাডিং, যা অগ্রহণযোগ্য এবং অন্যটি ২০০10 সাল থেকে প্রত্যাহারযোগ্য আইএসও ১০১২10 প্যাডিং)।

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

  • অসমমিতিক অ্যালগরিদম

অসম্পূর্ণ আলগোরিদিমগুলিতে, আমাদের কাছে দুটি প্যাডিং স্কিম বেছে নেওয়ার বিকল্প রয়েছে। এটি কেবলমাত্র OAEPWithAndPadding স্কিমই ব্যবহৃত হয় তা নিশ্চিত করা গুরুত্বপূর্ণ। ডাইজেস্টের ক্ষেত্রে, দয়া করে SHA1 বা SHA256 / 384/512 ব্যবহার করুন। মাস্ক জেনারেশন ফাংশন (এমজিএফ) এর জন্য, দয়া করে নির্দিষ্ট হিসাবে এমজিএফ 1 প্যাডিংটি ব্যবহার করুন। পি কেসিএস 1 পেডিং 1998 এর পর থেকে সিফারটেক্সট আক্রমণ [6] এর ঝুঁকির মধ্যে রয়েছে।

এখানে আমরা 'সাইফার.জেটইনস্ট্যান্স' পদ্ধতিতে রূপান্তরটি ব্যবহারের সঠিক উপায় সম্পর্কে কথা বলি।

  • প্রতিসম এনক্রিপশন

  • অসমমিতিক এনক্রিপশন

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

এটির সাহায্যে আমরা জাভা নিবন্ধে এনক্রিপশনের শেষে এসেছি। আমি আশা করি আপনি এনক্রিপশন এবং ডিক্রিপশন সম্পর্কে ধারণা পেয়েছেন এবং এটি জাভাতে কেন ব্যবহৃত হয়।

জাভা ভার্চুয়াল ফাংশন কি

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

আমাদের জন্য একটি প্রশ্ন আছে? দয়া করে এটি 'জাভাতে এনক্রিপশন' ব্লগের মন্তব্য বিভাগে উল্লেখ করুন এবং আমরা যত তাড়াতাড়ি সম্ভব আপনার কাছে ফিরে আসব।