অ্যাসিমেট্রিক এনক্রিপশন এনক্রিপ্ট এবং সাইন ইন মধ্যে পার্থক্য কি?


295

কিছু তথ্য সাইন ইন বনাম কিছু ডেটা (আরএসএ ব্যবহার করে) এনক্রিপ্ট করার মধ্যে পার্থক্য কী?

এটি কি সরকারী-বেসরকারী কীগুলির ভূমিকা কেবল বিপরীত করে?

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

এই পরিস্থিতিতে সাইন ইন দরকারী?

উত্তর:


439

এনক্রিপ্ট করার সময়, আপনি একটি বার্তা লিখতে তাদের সর্বজনীন কী ব্যবহার করেন এবং তারা এটি পড়তে তাদের ব্যক্তিগত কী ব্যবহার করেন।

সাইন ইন করার সময়, আপনি বার্তার স্বাক্ষর লেখার জন্য আপনার ব্যক্তিগত কী ব্যবহার করেন এবং তারা আপনার সর্বজনীন কীটি এটি সত্যই আপনার কিনা তা পরীক্ষা করতে ব্যবহার করে ।

আমি বার্তাগুলি তৈরি করতে আমার ব্যক্তিগত কীটি ব্যবহার করতে চাই যাতে কেবলমাত্র আমি প্রেরক হতে পারি।

আমি চাই যে আমার সর্বজনীন কীটি বার্তাগুলি পড়তে ব্যবহার করা হোক এবং সেগুলি কে পড়েন সে বিষয়ে আমার কোনও খেয়াল নেই

এটি স্বাক্ষর করছে , এটি আপনার ব্যক্তিগত কী দিয়ে সম্পন্ন হয়েছে।

আমি নির্দিষ্ট তথ্য এনক্রিপ্ট করতে সক্ষম হতে চাই এবং এটি আমার সফ্টওয়্যারটির জন্য পণ্য কী হিসাবে ব্যবহার করতে পারি।

আমি কেবল যত্ন নিই যে কেবলমাত্র আমিই এগুলি উত্পন্ন করতে পারি।

আপনার যদি কেবল এটি নিজের কাছে জানা দরকার তবে এটি করার জন্য আপনার কীগুলির সাথে গোলমাল করার দরকার নেই। আপনি কেবল এলোমেলো ডেটা তৈরি করতে এবং এটি একটি ডাটাবেসে রাখতে পারেন।

তবে আপনি যদি লোকেরা জানতে চান যে কীগুলি সত্যই আপনার,

আমি চাবিটির স্বাক্ষরটি ডিক্রিপ্ট / পড়াতে আমার সফটওয়্যারটিতে আমার সর্বজনীন কীটি অন্তর্ভুক্ত করতে চাই।

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


7
প্রযুক্তিগতভাবে বলতে গেলে, আপনি যখন বলছেন যে ব্যক্তিগত কীটি বার্তার স্বাক্ষরটি লিখতে ব্যবহৃত হয়, আপনি বলছেন যে বার্তাটির হ্যাশটি আমার ব্যক্তিগত কী দিয়ে এনক্রিপ্ট করা হচ্ছে?
অ্যান্ডি Ibanez

4
@ অ্যান্ডিবাবেনেজ: যা এনক্রিপ্ট করা হয়েছে ( ডাইজেস্ট ) এর মধ্যে টাইমস্ট্যাম্প এবং কিছু এলোমেলো লবণও থাকতে পারে, তবে হ্যাঁ, এটির মূল বক্তব্য।
কাসনসুই

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

5
@ জোহনিওয়িলার: নীচে উল্লিখিত @ স্লিম হিসাবে, এনক্রিপ্ট এবং ডিক্রিপ্ট ফাংশনগুলির জন্য গাণিতিক কোর একই is তারা পৃথক ফাংশন নয়, তারা একই ফাংশন f(key, message), যেমনf(private, f(public, message)) === f(public, f(private, message)) === message
Quassnoi

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

143

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

সুতরাং, আপনি কীভাবে কোনও রিসিভারের পাবলিক কী দিয়ে কোনও বার্তা এনক্রিপ্ট করতে পারেন তা দেখতে মোটামুটি সহজ , যাতে প্রাপক তাদের ব্যক্তিগত কী দিয়ে এটি ডিক্রিপ্ট করতে পারে ।

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

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

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

তাই:

  • একটি স্বাক্ষর তৈরি করতে, প্লেইন টেক্সট থেকে একটি হ্যাশ তৈরি করুন, এটি আপনার ব্যক্তিগত কী দিয়ে এনক্রিপ্ট করুন, এটি সরলখণ্ডির পাশাপাশি অন্তর্ভুক্ত করুন।
  • স্বাক্ষর যাচাই করতে, সরল পাঠ্য থেকে একটি হ্যাশ তৈরি করুন, প্রেরকের পাবলিক কী দিয়ে স্বাক্ষরটি ডিক্রিপ্ট করুন, পরীক্ষা করুন যে দুটি হ্যাশ একই।

8
@ হেডকোড এটি কেবল অসম্পূর্ণ কীগুলির জন্য প্রযোজ্য। প্রতিসম কীগুলি জোড়ায় আসে না।
পাতলা

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

5
আপনি কীভাবে পাবলিক কী দিয়ে বার্তা ডিক্রিপ্ট করতে পারেন? বার্তাগুলি কি কেবল ব্যক্তিগত কী দিয়ে ডিক্রিপ্ট করা হয় না?
daremkd

3
5 টি উত্স এই উত্তরটির বিরোধিতা করছে 1 , 2 , 3 , 4 , 5
15:53

6
যাকে আপনি সরকারী এবং বেসরকারী বলছেন এটি স্বেচ্ছাচারিতা নয়। আপনি ব্যক্তিগত কী থেকে পাবলিক কী জেনারেট করতে পারেন তবে আপনি পাবলিক কী থেকে প্রাইভেট কী জেনারেট করতে পারবেন না। এটা কি বড় পার্থক্য নয়?
গ্রেগ স্মিট

23

সুরক্ষিত যোগাযোগ স্থাপনে দুটি স্বতন্ত্র তবে ঘনিষ্ঠভাবে সম্পর্কিত সমস্যা রয়েছে

  1. ডেটা এনক্রিপ্ট করুন যাতে কেবল অনুমোদিত ব্যক্তিরা এটি ডিক্রিপ্ট করতে এবং পড়তে পারে।
  2. প্রেরকের পরিচয় / প্রমাণীকরণ যাচাই করুন।

এই দু'টি সমস্যাই পাবলিক কী ক্রিপ্টোগ্রাফি ব্যবহার করে মার্জিতভাবে সমাধান করা যায়।

আই। এনক্রিপশন এবং ডেটা ডিক্রিপশন

অ্যালিস ববকে একটি বার্তা পাঠাতে চায় যা কোনওরই পড়তে না পারা উচিত।

  • এলিস ববয়ের সর্বজনীন কী সহ বার্তাটি এনক্রিপ্ট করে এবং এটি প্রেরণ করে।
  • বব বার্তাটি গ্রহণ করে এবং এটি তার ব্যক্তিগত কী ব্যবহার করে ডিক্রিপ্ট করে।

দ্রষ্টব্য যে A যদি B কে একটি বার্তা প্রেরণ করতে চায়, A এর বি এর পাবলিক কী ব্যবহার করা দরকার (যা প্রকাশ্যে কারও কাছে উপলভ্য) এবং এ-এর সর্বজনীন বা ব্যক্তিগত কী উভয়ই চিত্রটিতে আসে না।

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

২। প্রেরকের পরিচয় যাচাই করুন (প্রমাণীকরণ)

অ্যালিস আবার ববকে একটি বার্তা পাঠাতে চায়। উপরের পদ্ধতিটি ব্যবহার করে ডেটা এনক্রিপ্ট করার সমস্যাটি সমাধান করা হয়।

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

এমন কোনও উপায় আছে যা বব নিশ্চিত করতে পারে যে তিনি যে বার্তাগুলি গ্রহণ করছেন তা আসলে অ্যালিসের দ্বারা প্রেরিত হয়েছিল?

  • এলিস তার ব্যক্তিগত কী দিয়ে বার্তাটি স্বাক্ষর করে এবং এটি প্রেরণ করে। (বাস্তবে, যা স্বাক্ষরিত তা হ'ল বার্তাটির একটি হ্যাশ, যেমন SHA-256 বা SHA-512))
  • বব এটি গ্রহণ করে এবং এলিসের সর্বজনীন কী ব্যবহার করে এটি যাচাই করে। যেহেতু অ্যালিসের পাবলিক কী সফলভাবে বার্তাটি যাচাই করেছে, বব উপসংহারে আসতে পারেন যে এই বার্তাটি অ্যালিসের দ্বারা স্বাক্ষর করা হয়েছে।

2
আমি মনে করি এটি খুব পরিষ্কার উত্তর
হেনরি ইয়াং

1
সুতরাং আপনি যখন বার্তাটি স্বাক্ষর করেন, আপনি কি প্রকৃত বার্তাটি নিজেই স্বাক্ষর করেন বা এনক্রিপ্ট করা বার্তাটি?
ফ্রস্টিস্ট্রাও

21

হ্যাঁ ডেটাতে স্বাক্ষর করার বিষয়টি আপনার নিজের মোম স্ট্যাম্প হিসাবে অন্য কারও কাছে নেই বলে মনে করেন। এটি অখণ্ডতা এবং অস্বীকৃতি অর্জন করার জন্য করা হয় । এনক্রিপশন তাই অন্য কেউ ডেটা দেখতে পায় না। এটি গোপনীয়তা অর্জনের জন্য করা হয় । উইকিপিডিয়া http://en.wikedia.org/wiki/Inifications_security#Key_concepts দেখুন

একটি স্বাক্ষর আপনার ব্যক্তিগত কী ব্যবহার করে স্বাক্ষর করা আপনার বার্তার হ্যাশ।


16

সাইন ইন করা আপনার ব্যক্তিগত কী সহ একটি "হ্যাশ" তৈরি করছে যা আপনার সর্বজনীন কী দিয়ে যাচাই করা যেতে পারে। পাঠ্য পরিষ্কার পাঠানো হয়।

এনক্রিপ্টিং ডেটা এনক্রিপ্ট করতে প্রাপকের পাবলিক কী ব্যবহার করে; ডিকোডিংটি তাদের ব্যক্তিগত কী দিয়ে করা হয় is

সুতরাং, কীগুলির ব্যবহারটি বিপরীত নয় (অন্যথায় আপনার ব্যক্তিগত কী আর ব্যক্তিগত হবে না!)।


সাধারণ অসমিত্রিক এনক্রিপশনে, প্রাইভেট কীগুলির সাথে প্রাপক পাবলিক কী দিয়ে এনক্রিপশন করা হয়।
এমএমসিডোল

তোমাকে মিস করি যে এই প্রশ্নের আরএসএ সম্পর্কে বিশেষভাবে ছিল যেখানে কি ব্যবহার করেছিলেন হয় বিপরীত এবং এটি ব্যক্তিগত মূল সমঝোতা না যেখানে।
ডেভিড শোয়ার্জ

8

আপনি কীভাবে কেন এবং কেন পাবলিক কী ক্রিপ্টোগ্রাফিতে সাইন ইন ব্যবহৃত হয় তা বর্ণনা করছেন। মনে রাখবেন যে অন্যদের সরবরাহ করা আর্টারি বার্তাগুলি স্বাক্ষর করা (বা এনক্রিপ্ট করা) খুব বিপজ্জনক - এটি আপনার কীগুলিতে আপস করতে পারে এমন অ্যালগরিদমগুলিতে আক্রমণ করার অনুমতি দেয়।


1
এসএসএল ব্যবহার করার সময় ওয়েব ব্রাউজারগুলি নির্বিচারে ডেটা এনক্রিপ্ট করে না?
ইয়ান ওয়ারবার্টন

2
@ আইয়ান ওয়ার্ববার্টন: তবে তারা এর জন্য অ্যাসিমেট্রিক এনক্রিপশন ব্যবহার করে না। আসল ডেটা স্থানান্তরগুলি এলোমেলোভাবে উত্পন্ন সেশন কী সহ প্রতিসম এনক্রিপশন ব্যবহার করে।
মাইকেল বর্গওয়ার্ট

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

2
@ ইয়ানবারবার্টন: এজন্য আরএসএকে প্যাডিং প্রয়োজন, সুতরাং আপনি কখনই কেবল একটি নির্বাচিত বার্তা এনক্রিপ্ট করেন না: en.wikedia.org/wiki/… - তবে এটি সত্যিই এমন ক্রিয়াকলাপগুলির মধ্যে প্রাইভেট কী (যা স্বাক্ষর করার মতো) জড়িত যা বিশেষত নির্বাচিত ইনপুটটির বিরুদ্ধে ঝুঁকির মধ্যে রয়েছে।
মাইকেল বর্গওয়ার্ট

1
@ ইয়ানবারবার্টন আমি কোনও ক্রিপ্টোগ্রাফি বিশেষজ্ঞ নই, তবে যা আমি বুঝতে পেরেছি তাতে কোন সমস্যা হওয়ার কারণ নেই।
মাইকেল বর্গওয়ার্ট

8

সাইন ইন ইঙ্গিত দেয় আপনি সত্যই স্বাক্ষরিত বস্তুর উত্স বা ভাউচ। যদিও সবাই অবজেক্টটি পড়তে পারে।

এনক্রিপ্ট করার অর্থ কেবল সংশ্লিষ্ট প্রাইভেট কী রয়েছে এমন ব্যক্তিরা এটি পড়তে পারে তবে স্বাক্ষর না করে এনক্রিপ্ট করা অবজেক্টের পিছনে থাকা আপনার কোনও গ্যারান্টি নেই।


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

5

কিছু তথ্য সাইন ইন বনাম কিছু ডেটা (আরএসএ ব্যবহার করে) এনক্রিপ্ট করার মধ্যে পার্থক্য কী?

এনক্রিপশন বার্তার গোপনীয়তা ("কিছু তথ্য") সংরক্ষণ করে, যখন স্বাক্ষর অ-প্রত্যাখ্যান সরবরাহ করে: অর্থাত্ সত্ত্বায় স্বাক্ষরকারী কেবল সেই সত্তাই স্বাক্ষর করতে পারত। কার্যকরী পার্থক্য এছাড়াও আছে; পড়তে.

এটি কি সরকারী-বেসরকারী কীগুলির ভূমিকা কেবল বিপরীত করে?

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

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

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

উদাহরণস্বরূপ, আমি বার্তাগুলি তৈরি করতে আমার ব্যক্তিগত কীটি ব্যবহার করতে চাই যাতে কেবলমাত্র আমি প্রেরক হতে পারি।

এটি অ-প্রত্যাখ্যান সম্পত্তি, যা সই করে অর্জন করা যেতে পারে।

আমি চাই যে আমার সর্বজনীন কীটি বার্তাগুলি পড়তে ব্যবহার করা হোক এবং সেগুলি কে পড়েন সে বিষয়ে আমার কোনও খেয়াল নেই।

সর্বজনীন কীটি সবার জানা হিসাবে বিবেচনা করা উচিত। আপনি যদি চান যে সবাই বার্তাগুলি পড়তে পারে তবে আপনি কেবল এগুলি এনক্রিপ্ট করবেন না।

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

নোট করুন যে সিএমএসের মতো স্বাক্ষর প্রোটোকলগুলি একটি ধারক বিন্যাস স্থাপন করতে পারে যা বার্তা এবং স্বাক্ষর উভয়ই অন্তর্ভুক্ত করে। সেক্ষেত্রে আপনার প্রথমে পাত্রে still এখনও এনক্রিপ্ট করা - বার্তাটি বের করা দরকার, অনেকটা সরল .zip সংরক্ষণাগার থেকে কোনও ফাইল আনজিপ করার মতো। সুতরাং বার্তাটি লুক থেকে লুকিয়ে থাকতে পারে এবং সরাসরি সেই ক্ষেত্রে ব্যবহার করা যায় না।

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

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

আমি চাবিটির স্বাক্ষরটি ডিক্রিপ্ট / পড়াতে আমার সফটওয়্যারটিতে আমার সর্বজনীন কীটি অন্তর্ভুক্ত করতে চাই। কীতে কী কী ডেটা পড়তে পারে তার আমি যত্নশীল নই, আমি কেবল যত্ন নিই যে আমিই কেবলমাত্র সেইগুলি যাচাই করতে সক্ষম am

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

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

আপনার কোডকে ক্লোন করা / পরিবর্তন করা থেকে রক্ষা করা আরও শক্ত এবং আপনি যদি ডিআরএম অঞ্চলে দৃ in়রূপে যান তবে আপনি যদি সেই পথে চলে যান।

এই পরিস্থিতিতে সাইন ইন দরকারী?

হ্যাঁ একেবারে. এটি অবশ্যই নিশ্চিত করতে সাহায্য করতে পারে যে যদি সর্বজনীন কীতে বিশ্বাস থাকে তবে বার্তাগুলি কেবলমাত্র আপনার দ্বারা স্বাক্ষরিত হয়েছিল। এটি যদি আপনার অ্যাপ্লিকেশন কোড / ইন্টিগ্রেটেড পাবলিক কী প্রমাণীকরণের জন্য সহায়ক হতে পারে তবে আপনি যে পরিবেশটি কোডটি চালানোর আশা করছেন তা পুরোপুরি নির্ভর করে।


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

সাইন ইন ফাংশনটিতে আমি কেবল যে ভিন্নতা সম্পর্কে অবগত রয়েছি তা হ'ল এনক্রিপশনের আগে বার্তাটির হ্যাশিং।
মরগান

4

আপনার দৃশ্যে, আপনি অসামান্য এনক্রিপশনের অর্থটি এনক্রিপ্ট করবেন না; আমি বরং এটি "এনকোড" বলতাম।

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


2

কার্যকরীভাবে, আপনি পাবলিক / প্রাইভেট কী এনক্রিপশন ব্যবহার করে নির্দিষ্ট কিছু প্রাপ্তি আপনার বার্তাটি পড়তে পারে make বার্তাটি রিসিভারের সার্বজনীন কী ব্যবহার করে এনক্রিপ্ট করা হয় এবং রিসিভারের ব্যক্তিগত কী ব্যবহার করে ডিক্রিপ্ট হয়

সাইন ইন করা আপনি রিসিভারকে জানাতে ব্যবহার করতে পারেন আপনি বার্তাটি তৈরি করেছেন এবং স্থানান্তরকালে এটি পরিবর্তন হয়নি। বার্তা স্বাক্ষর আপনার নিজস্ব ব্যক্তিগত কী ব্যবহার করে সম্পন্ন হয়েছে। প্রাপকটি আপনার সর্বজনীন কীটি ব্যবহার করতে পারেন যাচাই করে বার্তাটি কোনওভাবে ছাপিয়ে যায়নি।

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

ইন্টারনেটে প্রবন্ধের নিবন্ধগুলি খুঁজতে 'বব', 'অ্যালিস' এবং 'ম্যালরি' অনুসন্ধান করুন।


আপনি আমার ব্যবহারের ক্ষেত্রে মন্তব্য করতে পারেন? আমি এনক্রিপ্ট করতে একটি ব্যক্তিগত কী এবং যে কারও এবং প্রত্যেককে ডিক্রিপ্ট করার অনুমতি দিতে একটি পাবলিক কী ব্যবহার করতে চাই।
এমএমসিডোল

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

"রিসিভারের সর্বজনীন কী ব্যবহার করে বার্তাটি এনক্রিপ্ট করা হয়।" এই বাক্যটি কেবল কোনও অর্থবোধ করে না বা খুব কমপক্ষে তার আরও ব্যাখ্যা প্রয়োজন। "এনক্রিপ্ট করা তারপর এনক্রিপ্ট করা" ???
মার্টেন বোদেউয়েস

আপনি ট্রেন্ট ভুলে গেছেন! :)
দোজো

1

সফ্টওয়্যার লাইসেন্সিংয়ের জন্য সমাধানটি ব্যবহার করার প্রশ্নকারীদের অভিপ্রায় ছিল এমন সামগ্রীতে এই প্রশ্নের উত্তর দেওয়ার জন্য প্রয়োজনীয়তাগুলি হ'ল:

  1. কোনও তৃতীয় পক্ষ অ্যাপ্লিকেশনটি ডিসকম্পলিং থেকে লাইসেন্স কী তৈরি করতে পারে না
  2. সফ্টওয়্যার কী এর সামগ্রীগুলি সুরক্ষিত হওয়ার দরকার নেই
  3. সফ্টওয়্যার কী মানুষের পাঠযোগ্য নয়

একটি ডিজিটাল স্বাক্ষর এই সমস্যার সমাধান করবে কারণ কাঁচা ডেটা যে কীটি তৈরি করে তা একটি ব্যক্তিগত কীতে স্বাক্ষর করা যেতে পারে যা এটি মানব পাঠযোগ্য নয় তবে বিপরীত ইঞ্জিনিয়ারড হলে ডিকোড করা যেতে পারে। তবে ব্যক্তিগত কী নিরাপদ যার অর্থ কেউ আপনার সফ্টওয়্যার (যার মূল বিষয়) জন্য লাইসেন্স তৈরি করতে সক্ষম হবে না।

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

পাইথন পাইনাএসিএল ডকুমেন্টেশনে 'ডিজিটাল সিগনেচার' এর একটি উদাহরণ রয়েছে যা উদ্দেশ্যটি স্যুট করবে। http://pynacl.readthedocs.org/en/latest/signing/

এবং সি উদাহরণগুলিতে NaCl প্রকল্পের কারণ

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