পাবলিক কী তৈরি করতে আরএসএ প্রাইভেট কী ব্যবহার করবেন?


394

আমি আসলে এটি বুঝতে পারি না:

অনুসারে: http://www.madboa.com/geek/openssl/#key-rsa , আপনি একটি ব্যক্তিগত কী থেকে সর্বজনীন কী তৈরি করতে পারেন।

openssl genrsa -out mykey.pem 1024
openssl rsa -in mykey.pem -pubout > mykey.pub

আমার প্রাথমিক চিন্তা ছিল যে তারা একত্রে একটি জুটিতে উত্পন্ন হয়। আরএসএ ব্যক্তিগত কীতে যোগফল থাকে? না পাবলিক চাবি?


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

10
কেন্ট হ্যানসেন যে সমস্যাটি বর্ণনা করেছেন তা হ'ল সরাসরি প্লেইন টেক্সট ডেটাতে আরএসএ ব্যবহার করার কারণে, যা কোনও কারণে সুরক্ষার কারণে করা উচিত নয়। পরিবর্তে একটি ভাল-বিশ্লেষিত হাইব্রিড এনক্রিপশন স্কিম ব্যবহার করুন যেমন আরএসএ-কেইএম ( সরঞ্জাম.এইটিএফ.আর.এইচটিএমএল / আরএফসি 5990#appendix - A ), যেমন একটি এনট্রিপ্ট -এর-এইচএমএসি-র সাথে এনক্রিপ্ট-পরে-এইচএমএসি-র মতো একটি সত্যায়িত প্রতিসামগ্রী এনক্রিপশন প্রকল্প রয়েছে।
দাইরা হপউড

এটি সাহায্য করতে পারে: jason4zhu.blogspot.jp/2014/10/…
বিচারক


@ এই লিংকের মাধ্যমে SteffenUllrich এর উত্তর ব্যাখ্যা দিয়েছে কেন: security.stackexchange.com/questions/172274/...
bearzyj

উত্তর:


577
openssl genrsa -out mykey.pem 1024

আসলে একটি পাবলিক - প্রাইভেট কী জুড়ি উত্পাদন করবে। জোড়াটি জেনারেট হওয়া mykey.pemফাইলে সংরক্ষণ করা হয় ।

openssl rsa -in mykey.pem -pubout > mykey.pub

সর্বজনীন কীটি বের করে এটিকে মুদ্রণ করবে। এখানে এমন কোনও পৃষ্ঠার লিঙ্ক রয়েছে যা এটি আরও ভাল করে বর্ণনা করে।

সম্পাদনা: উদাহরণ বিভাগটি এখানে চেক করুন । একটি ব্যক্তিগত কী এর পাবলিক অংশটি কেবল আউটপুট করতে:

openssl rsa -in key.pem -pubout -out pubkey.pem

এসএসএইচ উদ্দেশ্যে একটি ব্যবহারযোগ্য পাবলিক কী পেতে, ssh-keygen ব্যবহার করুন :

ssh-keygen -y -f key.pem > key.pub

50
এটি বিভ্রান্তিকর যেহেতু টিউটোরিয়ালের প্রত্যেকেই বলছে যে ওপেনসেল জেনার্সা কমান্ডটি ব্যবহার করে আপনি ব্যক্তিগত কী তৈরি করবেন, কারণ তারা ভুলে যাচ্ছেন যে এটিও পাবলিক কী তৈরি করছে
জাইমে হাবলুটজেল

15
@ জাইম আপনি কি সত্যিই তাদের দোষ দিতে পারেন? অফিসিয়াল ডকুমেন্টেশন সর্বজনীন কী সম্পর্কে একেবারে কিছুই বলেছে। "বিবরণ: জেনার্সা কমান্ড একটি আরএসএ প্রাইভেট কী উত্পন্ন করে।" openssl.org/docs/apps/genrsa.html
ডেসপারটার

124
@ জাইম, কারণ এটি হয় না - জেনার্সা কেবল প্রাইভেট কী তৈরি করে, পাবলিক কী স্টোর হয় না। তবে আপনার যদি প্রাইভেট কী থাকে তবে আপনি এটি থেকে সর্বজনীন কী গণনা করতে পারবেন (প্রাপ্ত করতে পারেন) - যা উপরের ২ য় কমান্ডটি করে। এটি গণনা, নিষ্কাশন নয়, পাবলিক কী।
স্টিভায়ারে

13
@ স্টেভেয়ার এটা আমার বুঝতে পেরেছিল যে আরএসএ কীগুলি কেবল দু'জন প্রকাশক ( eএবং dসাধারণ সাহিত্যে) ছিল। কেউই গণিতগতভাবে ব্যক্তিগত বা সরকারী নয়, সেগুলি হ'ল লেবেল যা নির্বিচারে সৃজনের পরে নির্ধারিত। তারা ঠিক তত সহজেই বিপরীতে নির্ধারিত হতে পারে। অপরটি থেকে একটি উত্পন্ন করা সমতুল্য সমস্যা। .pemবিন্যাস তথ্য আভা সহ রয়েছে উভয় এবং তাই উভয় কি, ডান বহিঃপ্রকাশ?
লিংক

13
@ স্টেভেয়ার বেশিরভাগ ক্ষেত্রেই ভুল। সার্বজনীন আরএসএ কী উপাদানগুলি (এন, ই) openssl genrsaকম্যান্ডের সাহায্যে তৈরি ব্যক্তিগত আরএসএ কী ফাইলটিতে এম্বেড করা হয় এবং এতে এম্বেড করা হয় । যদিও পৃথক পাবলিক কী ফাইল একই ধাপে তৈরি করা হয়নি। প্রাইভেট কী থেকে আলাদা পাবলিক কী ফাইলে সর্বজনীন কী বের করতে আপনি আপনার openssl rsa -in private.pem -pubout -out public.pemআদেশটি ব্যবহার করেন। আপনি যখন এই উপায়ে একটি সার্বজনিক কী তৈরি করেন তখন এটি ব্যক্তিগত কী ফাইল থেকে বের করা হয়, গণনা করা হয় না। আরও তথ্যের জন্য নীচে আমার উত্তর দেখুন।
Golem

273

লোকেরা এসএসএইচ পাবলিক কী সন্ধান করছে ...

আপনি যদি ওপেনএসএইচএইচ ব্যবহারের জন্য পাবলিক কীটি বের করার সন্ধান করছেন, আপনার কিছুটা আলাদাভাবে পাবলিক কীটি পেতে হবে

$ ssh-keygen -y -f mykey.pem > mykey.pub

এই সর্বজনীন কী বিন্যাসটি ওপেনএসএসএইচ-এর সাথে সামঞ্জস্যপূর্ণ। এতে সর্বজনীন কী যুক্ত করুন remote:~/.ssh/authorized_keysএবং আপনি যেতে ভাল হবেন


থেকে ডক্স SSH-KEYGEN(1)

ssh-keygen -y [-f input_keyfile]  

-y এই বিকল্পটি একটি ব্যক্তিগত ওপেনএসএসএইচ ফর্ম্যাট ফাইলটি পড়বে এবং স্ট্যান্ডআউটে একটি ওপেনএসএসএইচ পাবলিক কী প্রিন্ট করবে।


3
এটি একটি মোহন মত কাজ করে! এটি গিথুব নেয় এমন একটি ফর্ম্যাট তৈরি করে! গিথুব পিইএম ফর্ম্যাটটি নেয় না P পূর্ববর্তী উত্তর প্রস্তাবিত openssl rsa -in key.pem -pubout -out pubkey.pemহিসাবে প্রমাণ হিসাবে প্রমাণিত হয় নি যে এটি একটি পেম ফর্ম্যাট পাবলিক কী। সুতরাং আমি এই ত্রুটিটি পেয়েছি: "কীটি অবৈধ। এটি অবশ্যই 'ssh-rsa' বা 'ssh-dss' দিয়ে শুরু করা উচিত Check আপনি কীটির সর্বজনীন অর্ধেক অনুলিপি করছেন তা পরীক্ষা করুন"। তবে ssh-keygen -y [-f input_keyfile] গিথুব সঠিকভাবে ফর্ম্যাট তৈরি করে।
ডেভি

71

বেশিরভাগ সফটওয়্যারগুলিতে যেগুলি ওপেনসেল সহ আরএসএ প্রাইভেট কীগুলি উত্পন্ন করে, ব্যক্তিগত কীটি কোনও পিকেসিএস # 1 আরএসএপ্রাইভেটেকি অবজেক্ট বা এর কিছু বৈকল্পিক হিসাবে উপস্থাপিত হয় :

A.1.2 আরএসএ ব্যক্তিগত কী সিনট্যাক্স

একটি
আরএসএর ব্যক্তিগত কী ASN.1 টাইপ আরএসপ্রাইভেটকি দিয়ে উপস্থাপন করা উচিত :

  RSAPrivateKey ::= SEQUENCE {
      version           Version,
      modulus           INTEGER,  -- n
      publicExponent    INTEGER,  -- e
      privateExponent   INTEGER,  -- d
      prime1            INTEGER,  -- p
      prime2            INTEGER,  -- q
      exponent1         INTEGER,  -- d mod (p-1)
      exponent2         INTEGER,  -- d mod (q-1)
      coefficient       INTEGER,  -- (inverse of q) mod p
      otherPrimeInfos   OtherPrimeInfos OPTIONAL
  }

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


আপনি কি বোঝাতে চেয়েছেন যে একটি প্রাইভেট কী দেওয়া হয়েছে, জনসাধারণের কী তৈরি করার পক্ষে গণিতটি এটি সম্ভব? আরএসএর শক্তি কি এই নয় যে তার চাওয়াটি অন্যটিকে প্রদত্ত একটি কী উত্পন্ন করা গণনাগতভাবে অপ্রয়োজনীয়?
রাম

30
@ রম: না, আরএসএর শক্তি হ'ল জনসাধারণের কাছ থেকে প্রাইভেট কী তৈরি করা অসম্ভব। জনসাধারণের ফর্মটি ব্যক্তিগতভাবে তুচ্ছ বলে তৈরি করুন।
রাষ্ট্রপতি জেমস কে। পোলক

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

1
@ ক্যালমারিয়াস: কে বলে যে একটি কীতে একটি মডুলাস এবং উদ্দীপক থাকে? এটি সর্বনিম্ন বেসরকারী কী হবে তবে সাধারণত ব্যক্তিগত কীতে প্রধান উপাদানগুলির মতো অন্যান্য উপাদানও অন্তর্ভুক্ত থাকে। বিস্তারিত জানার জন্য উত্তর পড়ুন।
রাষ্ট্রপতি জেমস কে পোলক

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

34

নীচে আমার উত্তরটি কিছুটা দীর্ঘ, তবে আশা করি এটি এমন কিছু বিবরণ সরবরাহ করে যা পূর্ববর্তী উত্তরে অনুপস্থিত। আমি কিছু সম্পর্কিত বিবৃতি দিয়ে শুরু করব এবং অবশেষে প্রাথমিক প্রশ্নের উত্তর দেব।

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

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

ciphertext = ( plaintext^e ) mod n

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

plaintext = ( ciphertext^d ) mod n

ওপেনসেল ব্যবহার করে ব্যক্তিগত (ডি, এন) কী তৈরি করতে আপনি নিম্নলিখিত কমান্ডটি ব্যবহার করতে পারেন:

openssl genrsa -out private.pem 1024

ওপেনসেল ব্যবহার করে ব্যক্তিগত কী থেকে সর্বজনীন (ই, এন) কী তৈরি করতে আপনি নিম্নলিখিত কমান্ডটি ব্যবহার করতে পারেন:

openssl rsa -in private.pem -out public.pem -pubout

উপরের ওপেনসেল কমান্ড দ্বারা উত্পাদিত প্রাইভেট.পিএম প্রাইভেট আরএসএ কী এর বিষয়বস্তুগুলি ছড়িয়ে দিতে নিম্নলিখিতগুলি চালান (আউটপুট এখানে লেবেলে কাটা হয়েছে):

openssl rsa -in private.pem -text -noout | less

modulus         - n
privateExponent - d
publicExponent  - e
prime1          - p
prime2          - q
exponent1       - d mod (p-1)
exponent2       - d mod (q-1)
coefficient     - (q^-1) mod p

ব্যক্তিগত কীতে কেবল (এন, ডি) জুটি থাকা উচিত নয়? 6 টি অতিরিক্ত উপাদান কেন? এতে ই (সার্বজনীন এক্সপোজনার) রয়েছে যাতে জনসাধারণের আরএসএ কীটি প্রাইভেট.পিএম প্রাইভেট আরএসএ কী থেকে উত্পন্ন / আহরণ / উত্পন্ন করা যায়। বাকী 5 টি উপাদান ডিক্রিপশন প্রক্রিয়াটি গতি বাড়ানোর জন্য রয়েছে। এটি প্রমাণিত হয়েছে যে প্রাক 5 টি গণনা করে এবং 5 টি মান সংরক্ষণ করে এটি 4 এর ফ্যাক্টর দ্বারা আরএসএ ডিক্রিপশনকে গতিযুক্ত করা সম্ভব ry 5 টি উপাদান ছাড়াই ডিক্রিপশন কাজ করবে, তবে আপনি যদি সেগুলি কার্যকর করেন তবে তা দ্রুত সম্পন্ন করা যায়। গতি বাড়ানোর অ্যালগরিদমটি চীনা রেমেন্ডার উপপাদ্যের উপর ভিত্তি করে ।

হ্যাঁ, প্রাইভেট.পিএম আরএসএ প্রাইভেট কীটিতে আসলে এই 8 টি মান রয়েছে; আপনি পূর্ববর্তী কমান্ডটি চালানোর সময় এগুলির কোনওটিই ফ্লাইতে উত্পন্ন হয় না। নিম্নলিখিত কমান্ডগুলি চালনার চেষ্টা করুন এবং আউটপুট তুলনা করুন:

# Convert the key from PEM to DER (binary) format
openssl rsa -in private.pem -outform der -out private.der

# Print private.der private key contents as binary stream
xxd -p private.der

# Now compare the output of the above command with output 
# of the earlier openssl command that outputs private key
# components. If you stare at both outputs long enough
# you should be able to confirm that all components are
# indeed lurking somewhere in the binary stream
openssl rsa -in private.pem -text -noout | less

আরএসএ প্রাইভেট কীটির এই কাঠামোটিকে পিকেসিএস # 1 ভি 1.5 বিকল্প হিসাবে ( দ্বিতীয় ) উপস্থাপন হিসাবে সুপারিশ করেছে । পিকেসিএস # 1 ভি 2.0 স্ট্যান্ডার্ড বিকল্প উপস্থাপনা থেকে সম্পূর্ণভাবে ই এবং ডি এক্সপেনটারকে বাদ দেয়। পিকেসিএস # 1 ভি 2.1 এবং ভি 2.2 আরও বেশি সিআরটি-সম্পর্কিত উপাদানগুলি অন্তর্ভুক্ত করে বিকল্প উপস্থাপনায় আরও পরিবর্তনের প্রস্তাব দেয়।

পাবলিক.পেমের সামগ্রিক সামগ্রীগুলি দেখতে পাবলিক আরএসএ কী নীচেরটি চালান (আউটপুট এখানে লেবেলে ছাঁটা হয়েছে):

openssl rsa -in public.pem -text -pubin -noout

Modulus             - n
Exponent (public)   - e

এখানে কোন বিস্ময় নেই। প্রতিশ্রুতি অনুসারে এটি ঠিক (এন, ই) জুটি।

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


আপনি লিখেছেন "ব্যক্তিগত কী থেকে সর্বজনীন (d, n) কী উত্পন্ন করতে ..."। এটি "(ই, এন)" হওয়া উচিত নয়? যদিও দুর্দান্ত উত্তরের জন্য আপনাকে ধন্যবাদ!
ইল্যাকটিক

আপনি v1.5-এ 'বাহ্যিক' সিনট্যাক্সকে পরবর্তী সংস্করণগুলিতে শব্দার্থবিদ্যার সাথে তুলনা করছেন; 2.0 # 11.1.2 এবং 2.1 এবং 2.2 # A.1.2 দেখুন এবং আপনি এন, ই, ডি এখনও উপস্থিত দেখতে পাবেন, (যেমনটি জেমস
পোকের

1
আশ্চর্যজনক ব্যাখ্যা। ধন্যবাদ
ফ্রান্সিসকো অ্যালবার্ট

1
দেখে মনে হচ্ছে সর্বজনীন ঘোষক eসর্বদা 65537 0x010001। এটি সম্ভবত জনসাধারণের ঘৃণ্য বাছাইয়ের জন্য একটি ত্রুটিযুক্ত এবং সম্ভবত ম্যান পৃষ্ঠাতে এবং প্রায় প্রতিটি জায়গাতেই genrsaএটি ব্যাখ্যা করা হয়েছে to generate the private key। জনসাধারণ হ'ল স্পষ্টতই স্পষ্ট।
শ্যাম্পু

আমি কি কেবল (এন, ডি) থেকে (এন, ই) গণনা করতে পারি ?
ফ্লাইক

21

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

ওপেনএসএল আরএসএ-টেক্সট-ইন মাইকি.পিএম

RSAPrivateKey ::= SEQUENCE {
  version           Version,
  modulus           INTEGER,  -- n
  publicExponent    INTEGER,  -- e
  privateExponent   INTEGER,  -- d
  prime1            INTEGER,  -- p
  prime2            INTEGER,  -- q
  exponent1         INTEGER,  -- d mod (p-1)
  exponent2         INTEGER,  -- d mod (q-1)
  coefficient       INTEGER,  -- (inverse of q) mod p
  otherPrimeInfos   OtherPrimeInfos OPTIONAL
}

পাবলিক কী (মডুলাস এবং পাবলিক এক্সপোনেন্ট) গণনা করার জন্য পর্যাপ্ত ডেটা রয়েছে, যা এটি openssl rsa -in mykey.pem -puboutকরে


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

2
প্রাইভেট কীটিও উদ্ভূত হয়, প্রাইভেটএক্সপোঞ্জিন্ট ক্ষেত্রটি দেখুন। আপনি ক্ষেত্রগুলি ওপেনএসএল আরএসএ-টেক্সট-ইন মাইকি.পিএম ব্যবহার করে দেখতে পারেন
Uxio

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

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

1
@ মার্টেনবোডওয়েস: উত্তরটি সঠিক। যা উদ্ধৃত হয়েছে তা প্রাইভেট কী-এর জন্য সঞ্চিত মান হিসাবে সম্পর্কিত আরএফসি থেকে নেওয়া হয়েছে। মান দুটি যেটি / কেবল সর্বজনীন কী এনক্রিপশন জন্য ব্যবহৃত হয় তা পরিবর্তন করে না যে এটি ব্যক্তিগত কী ডেটা। আমি গত দুটি দিনে এই সমস্ত জিনিস শিখেছি, প্রশ্ন জিজ্ঞাসা করে নয়, প্রাসঙ্গিক মানটি দেখে এবং পড়ে reading আমি এখন ASN.1, DER, PEM, এবং RSA (আরএসএ সম্পর্কে সম্ভবত সবকটিই জানি না) সম্পর্কে সমস্ত কিছুই বুঝতে পারি।
এলাস্টায়ারজি

8

এখানে এই কোডটিতে প্রথমে আমরা আরএসএ কী তৈরি করছি যা বেসরকারী তবে এটির সাথে এর পাবলিক কীটি রয়েছে তাই আপনার আসল পাবলিক কীটি পেতে আমরা কেবল এটি করি

openssl rsa -in mykey.pem -pubout > mykey.pub

আশা করি আপনি আরও তথ্যের জন্য এটি পরীক্ষা করে দেখুন


6

প্রথমত আরএসএ কী প্রজন্মের একটি দ্রুত পুনরুদ্ধার।

  1. এলোমেলোভাবে উপযুক্ত আকারের দুটি এলোমেলো সম্ভাব্য প্রাইমগুলি বেছে নিন (পি এবং কিউ)।
  2. মডিউলাস (এন) উত্পাদন করতে দুটি প্রাইমকে একসাথে গুণান।
  3. সর্বজনীন ঘোষক বাছুন (ঙ)।
  4. বেসরকারী ব্যয়কারী (ডি) উত্পাদন করতে প্রাইমস এবং পাবলিক এক্সপোনেন্টের সাথে কিছু গণিত করুন।

সর্বজনীন কীটি মডিউলাস এবং সর্বজনীন ঘোষককে নিয়ে গঠিত।

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

যাহোক:

  1. ব্যবহারিক ব্যক্তিগত কী ফর্ম্যাটগুলি প্রায় সর্বদা n এবং d এর চেয়ে বেশি সঞ্চয় করে।
  2. ই সাধারণত এলোমেলোভাবে বাছাই করা হয় না, মুষ্টিমেয় কিছু পরিচিত মান ব্যবহৃত হয়। ই যদি একটি সুপরিচিত মানগুলির মধ্যে হয় এবং আপনি d জানেন তবে d পরীক্ষা করা এবং ত্রুটি করে ই খুঁজে বের করা সহজ।

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


1
Use the following commands:

1. openssl req -x509 -nodes -days 365 -sha256 -newkey rsa:2048 -keyout mycert.pem -out mycert.pem

Loading 'screen' into random state - done
Generating a 2048 bit RSA private key
.............+++
..................................................................................................................................................................+++
writing new private key to 'mycert.pem'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.

2. If you check there will be a file created by the name : mycert.pem

3. openssl rsa -in mycert.pem -pubout > mykey.txt
writing RSA key

4. If you check the same file location a new public key : mykey.txt will be created.

1
এটা বোকামি; যখন আপনি এটি চান এটি কী-পিয়ার হয় তখন অকেজো শংসাপত্র তৈরি করতে অতিরিক্ত প্রচেষ্টার দরকার হয় না। অন্য কোনও কিউর জন্য যেখানে আপনি সার্টিফিকেট চান এটির উত্তর হতে পারে।
dave_thompson_085
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.