تاریخ بروز رسانی :
۱۷
مرداد
۱۴۰۳
کلید عمومی و کلید خصوصی چیست؟ آشنایی با مفهوم رمزنگاری در دنیای کریپتوکارنسی
زمان مطالعه :
5 دقیقهفهرست
در دنیای مالی و تراکنشهای پولی همیشه دو طرف فرستنده و گیرنده وجود دارد. مثلا فرض کنید میخواهید چکی صادر کنید در وجه یک فروشنده ماشین. در ابتدا مبلغ را تعیین میکنید، شماره حساب فروشنده را مینویسید و در آخر چک را امضا میکنید. در دنیای ارزهای دیجیتال هم به همین صورت است و شما به آدرس و امضایی برای تراکنش نیاز دارید.
کلید خصوصی و کلید عمومی چیست و چه کاربردی در رمزنگاری ارزهای دیجیتال دارد؟ چرا باید تفاوت این دو را بدانیم؟ در این مقاله گرد هم آمدهایم تا به این سؤالات جواب دهیم تا خوانندگان این مقاله یک قدم دیگر به حرفهای شدن در دنیای کریپتوکارنسی نزدیک شوند.
اگر به کریپتوکارنسی (cryptocurrency) علاقهمند هستید پیشنهاد میکنم این مقاله از بلاگ پول نو را با دقت بخوانید.
شاید بهتر باشد اطلاعات بیشتری راجع به بلاک چین و داستان آن بدانید: بلاک چین چیست به زبان ساده.
رمزنگاری چیست؟
پروسه رمزنگاری داستان مفصلی دارد که جای آن در این مقاله نیست ولی برای دانستن مفهوم کلید عمومی و کلید خصوصی لازم است اندکی از رمزنگاری بدانیم. شاید فکر کنید رمزنگاری پدیدهای متاخر است ولی چنین نیست! از دوران باستان پادشاهان برای فرستادن پیامهای مهم و حیاتی به سرزمینهای دوردست یا شرح استراتژیهای جنگ از رمزنگاری استفاده میکردند. بسیاری از این پیامهای رمزنگاری شده همچنان سر به مهر است و اطلاعی از محتوای آنها نداریم!
پس از آن نیز در جنگ جهانی دوم به بعد از رمزنگاری به شیوهای دیگر استفاده شد. آلمان نازی از دستگاهی به نام انیگما Enigma machine برای رمزگذاری پیامها استفاده میکرد که با شکسته شدن رمز آن به دست متفقین، تاثیر مهمی روی نتیجه جنگ ایجاد شد و متفقین این تاثیر مهم را مدیون شخصی به نام آلن تورینگ هستند.
به این دستگاهها Bombe machines میگفتند و با آن رمز پیامهای کدگذاری شده را میشکستند. اینجا انگلستان است؛ یکی از اتاقهای رمزگشایی. شکستن رمزها اکثرا به دست زنان انجام میشد.
رمزنگاری متقارن و نامتقارن چیست؟
در دنیای ارزهای دیجیتال رمزنگاری برای حفظ امنیت دادهها و داراییها انجام میشود و به طور کلی به دو دسته رمزنگاری متقارن و نامتقارن تقسیم میشود.
رمزنگاری متقارن
پسورد یا کلیدی یکسان برای هر دو طرف تراکنش وجود دارد که با آن رمز نگاری و رمزگشایی صورت میگیرد.
رمزنگاری نامتقارن
دو کلید متفاوت برای دو طرف تراکنش وجود دارد ولی این دو کلید به هم مرتبطاند.
برای رمزنگاری، عبارات و دادهها به صورتی دیگر درمیآیند که در نگاه اول امکان تشخیص آن وجود ندارد و فقط با گشودن آن رمز است که میتوانیم به محتوای پیام دسترسی پیدا کنیم. مثلا فرض کنید یک پیام متنی ساده به نام «Cool» دریافت می کنیم و آن را با یک کلید رمزگذاری میکنیم، مثل «۳۲۳vjhqwhdj». پیام ما “Cool” با این کلید رمزگذاری شده است، و اکنون “X5xJCSycg14=” را میخواند که به نظر میرسد دادهای تصادفی و بیمعنی است. با این حال، میتوانیم «Cool» را با رمزگشایی آن با همان کلید بازیابی کنیم.
کلیدهای خصوصی و عمومی هم به همین ترتیب ساخته میشوند و اطلاعات داراییهای ما را حفظ میکنند.
کلید خصوصی چیست؟
کلید خصوصی یا Private Key به نوعی کلید ورود و دسترسی به والت شماست؛ این کلید علاوه بر امکان دسترسی، مالکیت شما بر داراییهای آن والت را هم تضمین میکند. بهترین کیف پولهای ارز دیجیتال نرمافزارهایی هستند که این کلید خصوصی را در اختیار شما میگذارند و شما میتوانید با استفاده از آنها ارز دیجیتال را در شبکه بلاک چین خرج کنید.
کلید خصوصی در واقع نوعی رمزنگاریست. و بلاک چینها هم از انواع مختلفی از رمزنگاری استفاده میکنند. هدف اصلی استفاده از کلیدهای خصوصی و عمومی این است که ثابت کند معامله را مالک اصلی ارز، انجام داده است. وقتی شما صاحب تعداد معینی ارز دیجیتال هستید، چیزی که در واقع مالک آن هستید یک کلید خصوصی است.
با کلید خصوصی که به شما داده میشود، حق خواهید داشت رمز ارز مربوط به آن را خرج کنید. کارکرد کلید خصوصی مانند کلید ورود به خانه، مغازه، محل کار یا هر مکان دیگری در حریم خصوصی شماست و وظیفه شماست که آن را از دسترسی غیرمجاز (به ویژه در رابطه با کیف پولهای کاغذی) دور نگه دارید.
به هر کلید خصوصی ممکن است یک یا چند کلید عمومی اختصاص داده شود. همه چیز به موقعیت بستگی دارد. به خاطر داشته باشید که امکان بازیابی کلید عمومی از کلید خصوصی در صورت گم شدن وجود دارد. در ادامه رابطه این دو نوع کلید را بهتر درک خواهیم کرد.
چگونه از کلید خصوصی محافظت کنیم؟
بخشی از کلید خصوصی که به شمای کاربر مربوط میشود، همان ۱۲ یا هر تعداد کلمهای است که والت در ابتدای ساختن حساب، در اختیار شما قرار میدهد. باید از این ترتیب کلمات، مثل بچه خود مراقبت کنید! کلید خصوصی به نوعی به مثابه کلید گاو صندوق شماست. همانطور که رمز و کلید گاو صندوق خود را به بهترین شکل محافظت میکنید، باید چنین کاری را در قبال کلید خصوصی کیف پول خود هم انجام دهید.
برای این کار بایداین کلمات را روی برگه کاغذی یادداشت و آن را در جایی مطمئن قرار دهید. آن را در اختیار کسی نگذارید و به هیچ وجه به دیگران برای فاش کردن رمز چند کلمهای خود، اطمینان نکنید. اگر شخصی بخواهد برای شما ارز دیجیتال بفرستد، آدرس های کیف پول شما برایش کافی خواهد بود. همانطور هم که اشاره کردیم، آدرس کیف پول شما، از کلید عمومیتان استخراج میشود که افشا شدن آن برای دیگران، مشکلی پیش نخواهد آورد.
کلید عمومی چیست؟
کلید عمومی یا Public Key کلیدیست که از کلید خصوصی برگرفته میشود و در ادامه، آدرس بلاکچینی شما هم از کلید عمومی استخراج میشود. از کلیدهای عمومی برای تبدیل پیام به فرمت غیرقابل خواندن استفاده میشود. رمزگشایی آن با استفاده از یک کلید خصوصی متفاوت اما مطابق با آن انجام میشود. کلیدهای عمومی و خصوصی برای فعال کردن ارتباط امن جفت شدهاند. میتوانیم کلید عمومی را به شماره کارت بانکی تشبیه کنیم که برای دریافت پول میتوانیم آن را برای دیگران ارسال کنیم.
کلید عمومی میتواند پیامها را رمزگذاری کند و به افراد دیگر ارسال شود تا آنها پیام را با استفاده از کلید عمومی شما رمزگذاری کنند و سپس شما با استفاده از کلید خصوصی خود، رمز را باز کنید.
پس کلید عمومی مانند همان شماره حسابی است که روی چک نوشته میشود و میتواند در معرض دید بقیه قرار بگیرد. ولی کلید خصوصی بیشتر شبیه به رمز عبوریست که با آن میتوانیم به حسابمان دسترسی پیدا کنیم و همچنین نشان دهیم که ما، صاحب اصلی حساب هستیم.
برای اینکه از نحوه رمزنگاری کلید عمومی بیشتر سر در بیاورید ویکی پدیای کلید عمومی را بخوانید.
چگونه کلید عمومی و کلید خصوصی تولید میشوند؟
هر آدرس یا در واقع هر والت، کلید خصوصی مخصوص به خود را دارد. این کلید با انواع مختلفی از کدگذاری میتواند ساخته شود، مثل کدهای باینری (صفر و یکی) و هگزادسیمال (هگز). این انواع کدگذاری، همه برای تولید یک کلید خصوصی یکسان به کار گرفته میشوند. در واقع یک کلید خصوصی، با تمام این سیستمهای کدگذاری، قابل نمایش است.
شاید نمایش کلید خصوصی به این اشکال کمی عجیب و غریب به نطر برسد. از طرفی هم از آنجایی که شما برای دسترسی دوباره به والت خود، نیاز به کلید خصوصی دارید و به خاطر سپردن یا حفاظت از این کدها کار بسیار دشواریست، والتها راه سادهتری را پیش روی ما قرار میدهند. در کیف پولی مثل کیف پول متامسک و خیلی از کیف پولهای دیگر، آن ۱۲ کلمه ابتدایی، در واقع شکلی دیگر از کلید خصوصی شما هستند. والتها برای این کار را برای ما سادهتر کنند، با نوعی کدگذاری، کلید خصوصی را به ترتیب خاصی از چندین کلمه تبدیل میکند.
کلید عمومی از روی کلید خصوصی استخراج میشود. طی تابعی به نام «تابع دریچهای (Trapdoor Function)»، از روی کلید خصوصی، یک یا چند کلید عمومی استخراج میشود. اما چرا دریچهای؟ چون مثل دریچهای که تنها به یک سمت باز میشود، کلید عمومی هم تنها از روی کلید خصوصی ساخته میشود. و نمیتوان این مسیر را به صورت برعکس طی کرد تا از روی کلید عمومی به کلید خصوصی رسید.
کلید خصوصی و کلید عمومی در ارزهای دیجیتال چه کاربردی دارند؟
کلیدهای عمومی و خصوصی اجزای یکپارچه و جدایی ناپذیر ارزهای دیجیتال هستند که در شبکههای بلاک چین ساخته شدهاند. این دو خود بخشی از یک حوزه بزرگتر رمزنگاری به نام رمزنگاری نامتقارن هستند که پیشتر به آن اشاره کردیم.
وقتی شخصی برای شما ارز دیجیتالی را از طریق شبکه بلاک چین ارسال میکند، در واقع آنها را به نسخه هش شده کلید خصوصی شما ارسال میکند. این کلید عمومی است. نوع دیگر، کلید خصوصی، باید از بقیه پنهان باشد. نکته بسیار مهم برای درک بهتر رابطه بین آنها این است که از کلید خصوصی برای استخراج کلید عمومی استفاده میشود.
کلید خصوصی طولانیتر از کلید عمومی است و برای تولید امضا برای هر تراکنش بلاک چین ارسال شده توسط کاربر استفاده میشود. هدف از امضا تایید ایجاد معامله توسط صاحب دارایی و عدم امکان دستکاری آن پس از ایجاد است.
بهعبارت ساده، شما از یک کلید خصوصی برای امضای ارزهای دیجیتال خود در حین ارسال آنها به دیگران استفاده میکنید. همانطور که گفتیم برای استخراج کلید عمومی از کلید خصوصی استفاده میشود. کلید عمومی، همراه با اطلاعات شبکه و یک چک لیست، با یک تابع هش تبدیل میشود تا آدرسی برای دیگران قابل مشاهده باشد. شما برای دریافت ارز دیجیتال این آدرس را در اختیار دیگران قرار میدهید.
امضای دیجیتال چیست؟
برای اینکه بفهمیم جعل در ایجاد تراکنشها به وجود نیاید و مطمئن باشیم که هر تراکنش را، واقعا خود فرستنده ایجاد کرده است، با مفهومی به نام «امضای دیجیتال» سر و کار داریم. امضای دیجیتال، مقداریست رمزگذاریشده، که از ترکیب دادههای هششده با کلید خصوصی فرستنده ایجاد، و از طریق کلید عمومی او نیز، رمزگشایی میشود.
فرض کنید شخص A قرار است پیام (تراکنشی) را برای شخص B بفرستد. برای اینکه از این پیام در مسیر ارسال سوءاستفاده نشود و نتوان آن را دستکاری کرد، آن را «رمزنگاری» میکنیم. این فرایند به صورت خودکار و بهوسیله کلید عمومی گیرنده صورت میگیرد. بعد از رمزنگاری پیام، به وسیله کلید خصوصی فرستنده، بر روی آن امضای دیجیتال زده میشود.
حالا پیامی در اختیار داریم که رمزنگاری شده و مطمئنیم که کسی به غیر از فرستنده و گیرنده نمیتوانند آن را رمزگشایی کنند. و دوم هم اینکه مطمئنیم فرستنده آن را ارسال کرده است، چون امضای او بر روی پیام وجود دارد.
زمانی که پیام به شخص B میرسد، او با استفاده از کلید عمومی فرستنده اطمینان حاصل میکند که امضای پیام معتبر است یا خیر. و در نهایت هم شخص B با استفاده از کلید خصوصیاش، پیام را رمزگشایی کرده میتواند آن را بخواند.
تفاوت کلید خصوصی و کلید عمومی
بگذارید با یک مثال بسیار ساده این موضوع را بهصورت کامل خدمت شما توضیح دهم. فرض کنید که به یک بانک مراجعه کردهاید و در این بانک یک حساب بازکردهاید. روی کارت بانکی شما یک عدد بهعنوان شماره حساب قرار خواهد گرفت. این شماره همان کلید عمومی است که تا اینجا دربارهاش صحبت میکردیم. یعنی اگر شما قصد دارید تا از فرد دیگری مقداری ارز دیجیتال دریافت کنید باید اول از همه کلید عمومی خودتان را در اختیار آن فرد قرار دهید تا از طریق کلید عمومی برایتان ارز دیجیتال بفرستد.
با همان مثال قبلی اگر بخواهیم کلید خصوصی را توضیح دهیم، باید بگوییم که رمز کارت شما همان کلید خصوصی است. یعنی شما برای اینکه بتوانید از رمز ارزهایی که از طریق آدرس عمومی برای شما ارسال میشود را استفاده کنید باید به کلید خصوصی خود دسترسی داشته باشید. در حقیقت همانطور که اگر کسی به رمز کارت شما دسترسی داشته باشد میتواند به پولهای شما دسترسی داشته باشد، اگر هم کسی به کلید خصوصی شما دسترسی داشته باشد میتواند به تمامی ارزهای دیجیتال شما دسترسی داشته باشد و از آنها استفاده کند.
روشهای بازیابی کلید خصوصی و کلید عمومی
از کلید عمومی که برای دریافت ارز دیجیتال از دیگران استفاده میشود. کلید خصوصی هم که مالکیت شما بر کیف پول خود را اثبات میکند. با این وجود بدانید و آگاه باشید! در صورتی که کلید عمومی شما از دست برود یا آن را گم کنید، میتوانید دوباره از طریق کیف پولتان به آن درسترسی داشته باشید.
اما! اگر کلید خصوصی یا رمز چندکلمهای خود را از دست دادید، کیف پول شما به هیچ وجه قابل بازگردانی نخواهد بود! باید به این نکته خوب توجه کرد و همانگونه که در بخش «چگونه از کلید خصوصی محافظت کنیم؟» اشاره کردیم، باید به خوبی از این رمز مراقبت کرد. ترجیح بر این است که حتما یک نسخه کلاسیک، آفلاین و کاغذی از آن را در جایی نگهداری کنید که همیشه به آن دسترسی داشته باشید. اینگونه تا حد بسیار زیادی از امنیت کلید خصوصی خود مطمئن خواهید بود.
مزایای کلید عمومی و کلید خصوصی
دنیای رمزارزها و رمزارزنگاری، به نوعی روی مفهوم کلید خصوصی و کلید عمومی استوار است. امنیت تراکنشها در دنیای بلاکچین و امنیت کیف پول ارزدیجیتال مدیون این مفهوم است. با استفاده از کلیدهای خصوصی و عمومی، میتوانیم تراکنشهای ایجاد کنیم که هیچکسی جز فرستنده در آن دخالت نکند. از طرفی هم کلید خصوصی و کلید عمومی باعث میشوند داراییهای فرستادهشده، به شخصی جز گیرنده آن، فرستاده نشوند.
معایب کلید عمومی و کلید خصوصی
شاید بتوان معایب کلید عمومی و کلید خصوصی را به سهلانگاری برخی از کاربران ارتباط داد! باید به خوبی دانست که کلید خصوصی چیزی نیست که در اختیار دیگران قرار داد. با کلید عمومی این کار امکانپذیر نیست، اما از طریق دسترسی به کلید خصوصی، میتوان یک والت را به طور کامل خالی کرد. امینت شاید یکی از معایب کلید عمومی و کلید خصوصی باشد اما اگر حواستان به کلید خصوصیتان باشد، اتفاقی برای کیف پول و داراییهای آن نخواهد افتاد.
یک نکته دیگر که باید حواستان به آن باشد، این است که در کیف پولهای حضانتکننده (Custodial)، کیف پولها به کلید خصوصی شما دسترسی دارند. در این مواقع صرفا با اعتمادی که به حضانتکننده دارید، میتوانید از در امان بودن داراییهای خود مطمئن باشید! بیشتر کیف پولهای صرافی همینگونه هستند. در حالی که برخی از کیف پولهای موبایل هم چنین قابلیتی دارند. کیف پول صرافی و کیف پول شخصی
نسخه پشتیبان چیست؟
حالا تکلیف نسخه پشتیبان چه میشود؟ عبارات امنیتی (Seed phrase) عباراتی هستند که به شما امکان بازگردانی کلید خصوصیتان را میدهند و در تمامی کیف پولها از جمله کیف پول موبایل یا کیف پول دسکتاپ، قابل دسترسی هستند. برای همین است که باید از آن مواظبت کنید و در جایی نگه دارید که بتوانید در صورت گم کردن رمز عبور کیف پول خود از آن استفاده کنید.
بسته به نحوه عملکرد، از دست دادن یک کیف پول سخت افزاری یا حذف یک برنامه کیف پول نرم افزاری با از دست دادن یک دارایی در صورتی که از محتویات، کلید خصوصی نسخه پشتیبان تهیه کرده باشید، یکسان نیست. تمام داراییهای شما و دیگران در بلاک چین ثبت شده است و تا زمانی که بتوانید کلید خصوصی را به هر طریقی بازیابی کنید، ارزهای دیجیتال شما ایمن هستند. تنها کاری که باید انجام دهید این است که یک کیف پول فیزیکی یا نرمافزار جدید بسازید و پس از انتقال کلیدهای خصوصی به آن، مدیریت مجدد داراییهای خود را آغاز کنید.
سخن آخر با خوانندگان مقاله
داستان رمزنگاری، تاریخچه جالب آن و رمزنگاری خلاقانه بیت کوین داستانی طولانی است ولی ما این داستان را برای شما روایت خواهیم کرد. این مقاله فقط یک مقدمه برای این داستان بود.
شما میتوانید از بخش پایینی مقالات نظرات خودتان را برای ما ارسال کنید. ما همین جا هستیم تا اگر نکتهای در مقاله از قلم افتاده بود شما آن را به ما گوشزد کنید تا مقالهای کاملتر داشته باشیم. در آخرین جمله هم آرزو میکنم که این مقاله بتواند به شما کمک کند.
چنانچه به مشاوره رایگان علاقهمندید، پرسشها و نظرات خود را درباره این مقاله یا موضوعات مختلف حوزه بلاکچین و ارزهای دیجیتال مطرح کنید. برای پاسخگویی آمادهایم!
نظر بدهید
4
عالی بود
ممنون از اینکه مطالعه کردین.
سلام حساب کاربری و رمز عبور دارم اما برای انتقال ارز دیجیتال زمز عبور تراکنش را فراموش کردم کمک کنید
سلام حسن عزیز
متوجه سوالتون نشدم. دارین درباره کیف پولتون صحبت میکنین یا صرافیتون؟ برای انتقال رمزارز نیازی به رمز عبور ندارین. همین که وارد کیف پول یا حساب کاربریتون در صرافی بشین میتونین انتقالتون رو انجام بدین. اگر منظورتون شناسه تراکنش هست اون رو باید از کیف پولتون و اکسپلورر شبکهتون در بیارین. اگر با صرافی پول نو انتقال انجام دادین با پشتیبانی ما تماس بگیرین تا کارشناسان ما راهنماییتون کنن.