فرق بین کلید خصوصی، عمومی و آدرس، همیشه یکی از بحثهایی است که تازهکاران ارز دیجیتال با آن روبرو هستند و به درستی نمیدانند که هرکدام چه هستند. البته این سه به طور کلی در مفهوم رمزنگاری کامپیوتری یا دیجیتال دخیل هستند و استفاده آنها در ارزهای دیجیتال تنها یک شاخه از کاربردهای رمزنگاری است.
در این مقاله خواهیم دید که هر کلید چگونه ساخته میشود و اینکه چه کاربردی دارد. اگر شما هم اطلاع دقیقی از فرق بین کلید خصوصی، کلید عمومی و آدرس ندارید، این مقاله از داموندمگ برای شما است.
رمزنگاری در دنیای ارزهای دیجیتال
هدف از رمزنگاری، همیشه پنهان کردن یک پیام پشت علائمی است که هرکسی نتواند با نگاه کردن به آن پی به مفهوم اصلی ببرد. برای مثال پیش از ظهور کامپیوترها به شکل امروزه، پنهان کردن پیام اصلی در یک متن، استفاده از کدگذاری مورس و غیره بسیار عادی بود. با آمدن کامپیوترها شیوه پنهان کردن پیام هم متفاوت شد. از آنجایی که زبان کامپیوترها دودویی است، یعنی تنها کاراکترهایی که کامپیوتر میشناسد صفر و یک هستند، رمزنگاری امروزی نیز از این دو عدد استفاده میکند و هرکسی نمیتواند پی به مفهوم پشت آن ببرد.
در دنیای ارزهای دیجیتالی رمزنگاری به سه روش صورت میگیرد:
1. رمزگذاری نامتقارن
رمزگذاری نامتقارن از دو کلید مجزا و در عین حال مرتبط استفاده میکند. یک کلید، کلید عمومی برای رمزگذاری و دیگری، کلید خصوصی است که برای رمزگشایی استفاده میشود. همانطور که در نام مشخص است، کلید خصوصی به صورت خصوصی در نظر گرفته شده است تا فقط گیرنده احراز هویت شده بتواند پیام را رمزگشایی کند. برای درک بهتر به مثال زیر توجه کنید:
تصور کنید که یک آژانس جاسوسی هستید و باید مکانیزمی طراحی کنید تا مأموران شما به صورت ایمن گزارشهای خود را ارسال کنند. در این حالت هیچ نیازی به ارتباط دوطرفه نیست. رمزگذاری نامتقارن به شما این امکان را میدهد که کلیدهای عمومی را برای مأموران ایجاد کنید تا اطلاعات خود را رمزگذاری کنند و یک کلید خصوصی در دفتر مرکزی داشته باشید که تنها راه رمزگشایی گزارشها است. این کار یک شکل غیرقابل نفوذ از ارتباط یک طرفه را فراهم میکند.
2. رمزگذاری متقارن
رمزگذاری متقارن نوعی رمزگذاری است که در آن تنها از یک کلید (کلید مخفی) برای رمزگذاری و رمزگشایی اطلاعات الکترونیکی استفاده میشود. طرفینی که از طریق رمزگذاری متقارن ارتباط برقرار میکنند باید کلید را مبادله کنند تا بتوان از آن در فرآیند رمزگشایی استفاده کرد. این روش رمزگذاری با رمزگذاری نامتقارن که در آن از یک جفت کلید، یکی عمومی و دیگری خصوصی، برای رمزگذاری و رمزگشایی پیامها استفاده میشود، متفاوت است.
با استفاده از الگوریتمهای رمزگذاری متقارن، دادهها به فرمی تبدیل میشوند که برای کسی که کلید مخفی رمزگشایی آن را ندارد قابل درک نیست. هنگامی که گیرنده مورد نظر که کلید را در اختیار دارد، پیام را دریافت کرد، الگوریتم به صورت معکوس عمل میکند تا پیام به شکل اصلی و قابل فهم خود برگردد.
کلید مخفی که فرستنده و گیرنده هر دو از آن استفاده میکنند میتواند یک رمز عبور،کد خاص یا رشته تصادفی از حروف و اعدادی باشد که توسط یک تولید کننده اعداد تصادفی (random number generator) تولید شدهاند.
3. هشینگ (Hashing)
از روش برای کدگذاری آدرس اکانت کاربران استفاده میشود تا با استفاده از آن بتوان تراکنشهای بین اکانتها را رمزگذاری کرد. در این روش برای اطمینان از ایمن بودن، تعدادی کاراکتر شامل اعداد و حروف تصادفی به مقدار ذخیره شده اولیه اضافه میشود. این کار برای کم کردن ریسک رمزگشایی استفاده میشود. SHA-1، SHA-2 و MD5 هشهای رمزنگاری محبوب هستند.
از آنجایی که رشته نهایی هش شده، به فرم اولیه نیست، در دست داشتن آن نمیتواند منجر به سرقت شود. برای مثال اگر یک هکر به پایگاه دادهای دست پیدا کند که اطلاعات به فرم اصلی خود در آن ذخیره شدهاند، به راحتی از عبارتی مانند «John’s wallet ID 34567» میتواند به کیف پول شخصی به نام جان دسترسی پیدا کند. حال اگر این هکر عبارت هش شده «a67b2» را به دست آورد، عملاً کاری از پیش نخواهد برد، مگر اینکه کلید گشایش آن را هم داشته باشد.
تولید کلید عمومی و خصوصی
حالا که با رمزنگاری آشنا شدیم، وقت آن رسیده که در مورد دو نوع کلید که چند بار هم از آنها نام بردیم صحبت کنیم، یعنی کلید خصوصی و عمومی.
کلید عمومی
در رمزنگاری، کلید عمومی یک مقدار عددی بزرگ است که برای رمزگذاری دادهها استفاده میشود. کلید را میتوان توسط یک برنامه نرمافزاری تولید کرد، اما بیشتر اوقات، توسط یک مرجع معتمد و تعیین شده ارائه میشود و از طریق یک مخزن یا دایرکتوری در دسترس عموم قرار میگیرد. همچنین این کلید برای بررسی مشروعیت امضای دیجیتال استفاده میشود.
کلیدهای عمومی از طریق یک مرجع احراز در دسترس هستند، که گواهیهای دیجیتالی صادر میکند، هویت مالک را ثابت میکند و حاوی کلید عمومی مالک است. کلیدهای عمومی با استفاده از یک الگوریتم نامتقارن ایجاد میشوند که آن را با یک کلید خصوصی مرتبط، جفت میکند. رایجترین الگوریتمهای مورد استفاده برای تولید کلیدهای عمومی عبارتند از: Rivest-Shamir-Adleman، رمزنگاری منحنی بیضی و الگوریتم امضای دیجیتال.
کلید خصوصی
کلید خصوصی یک شماره مخفی است که در رمزنگاری استفاده میشود و مشابه رمز عبور است. در بحث ارزهای دیجیتال نیز از کلید خصوصی برای امضای تراکنشها و اثبات مالکیت یک آدرس بلاک چین استفاده میشود. کلید خصوصی جنبه جداییناپذیر بیت کوین و آلتکوینها است و ساختار امنیتی آن به محافظت از کاربران در برابر سرقت و دسترسی غیرمجاز به وجوه کمک میکند.
ارز دیجیتال از طریق مجموعهای از کلیدها و آدرسهای دیجیتال کنترل میشود که نشاندهنده مالکیت و کنترل توکنهای مجازی است. هر کسی میتواند بیت کوین یا توکنهای دیگر را در هر آدرس عمومی واریز کند. اما حتی اگر یک کاربر توکنهایی را به آدرس خود واریز کرده باشد، نمیتواند آنها را بدون کلید خصوصی منحصر به فرد برداشت کند.
کلید عمومی از کلید خصوصی از طریق یک الگوریتم ریاضی پیچیده ایجاد میشود. با این حال، معکوس کردن فرآیند، یعنی تولید کلید خصوصی از کلید عمومی تقریباً غیرممکن است.
تفاوت کلید خصوصی و کلید عمومی چیست؟
برای آنکه به فرق بین کلید خصوصی، کلید عمومی و آدرس پی ببریم، ابتدا باید در مورد کلیدها صحبت کنیم. دیدیم که دو نوع کلید وجود دارد: کلید عمومی و کلید خصوصی. کلیدهای عمومی با شماره حساب قابل مقایسه هستند. آنها را میتوان آزادانه با همه به اشتراک گذاشت و هر کسی میتواند به طور بالقوه تراکنشهایی را برای آنها ارسال کند.
از طرف دیگر، کلیدهای خصوصی همانطور که از نامشان پیداست باید خصوصی نگه داشته شوند. میتوانید آنها را بهعنوان نوعی پین یا کد تأیید در نظر بگیرید که همراه با کلید عمومی مربوطه به شما امکان دسترسی به وجوه واقعی در بلاک چین را میدهد.
به هیچ عنوان نباید کلید خصوصی را با دیگران به اشتراک گذاشت، چرا که داشتن آن به معنی داشتن تمام داراییها است. بهترین کار این است که از کیف پولهای کاغذی یا سختافزاری برای نگهداری آنها استفاده کنید.
مکانیسم کلید خصوصی بسیار سریعتر از کلید عمومی است. به این دلیل که یک کلید خصوصی فقط به یک کلید نیاز دارد در حالی که کلید عمومی به دو کلید نیاز دارد.
آدرس در ارز دیجیتال
مانند یک آدرس در دنیای واقعی یا URL یک وب سایت، آدرس در بلاک چین به رشته متنی گفته میشود که برای شناسایی یک مکان یا کاربر خاص مورد استفاده قرار میگیرد. این رشته مکان یک کیف پول خاص را در بلاک چین مشخص میکند، که میتوان برای ارسال یا دریافت داراییهای دیجیتال از آن استفاده کرد.
به عنوان مثال، آدرس بیت کوین چیزی شبیه به زیر خواهد بود:
1CKa7k7RtaV4TRRcnjciVndBS8hNG1G9ip
و یک آدرس در شبکه اتریوم ممکن است به شکل زیر باشد:
0x77dce4813eC15650e57E1b999c197aad00bEc1c2
با توجه به ماهیت عمومی اکثر بلاک چینها، میتوان دید که بیشتر کیف پولها دارای چه مقدار و چه نوع داراییهای دیجیتالی هستند. اگرچه این در مورد بلاک چینهای خصوصی یا ارزهای دیجیتال متمرکز بر حریم خصوصی مانند مونرو صادق نیست.
تفاوت آدرس و کلیدها
به طور کلی میتوان گفت آدرس هش شده کلید عمومی است. کلید عمومی به خودی خود یک رشته بسیار طولانی شبیه به یک متن است. از روی کلید عمومی میتواند آدرسهای مختلفی ایجاد کرد، که از آنها برای ارسال دارایی به کیف پول مورد نظر استفاده میشود. بنابراین افرادی که چند کیف پول دارند، چندین آدرس میتوانند داشته باشند.
در مورد آدرس، تنها کلید عمومی است که مطرح میشود و کلید خصوصی ارتباطی با آن ندارد. همانطور که پیشتر هم گفتیم کلید خصوصی باید مخفی بماند و تنها در دسترس دارنده آن است نه شخص دیگر، اما آدرس برای عموم قابل رؤیت است و افراد مختلف از آن برای ارسال ارز دیجیتال استفاده میکنند.
مزایا و معایب رمزنگاری کلید خصوصی و عمومی
مزایا و معایبی که معرفی خواهیم کرد، از فرق بین کلید خصوصی، کلید عمومی و آدرس نشئت میگیرند.
- استفاده از فناوری رمزگذاری کلید خصوصی یک راه عالی برای هر کسب و کاری برای محافظت از اطلاعات مهم در برابر چشمان کنجکاو است. البته صرف نظر از اینکه روش رمزگذاری متقارن یا نامتقارن را انتخاب میکنید. هر دوی آنها مانند هر فناوری دیگری مزایا و معایب خود را دارند.
- رمزگذاری متقارن سریعتر و آسانتر انجام میشود. این سیستم یک معادله ریاضی منفرد و برگشتپذیر را برای رمزگذاری یا رمزگشایی یک فایل انجام میدهد. به همین دلیل است که این روش به منابع کامپیوتری کمتری نسبت به رمزگذاری نامتقارن نیاز دارد.
- در حالی که رمزگذاری کلید خصوصی سطح امنیتی بسیار بالاتری را فراهم میکند، هنوز هم دارای برخی از موانع است. مشکل اصلی مرتبط با این روش مشکل انتقال امن کلید است. در طی این انتقال ممکن است شخص ثالثی به کلید خصوصی دسترسی پیدا کند، که به معنی پی بردن به پیام است.
- یکی از معایب این است که اگر کلید خصوصی گم شود یا از دست برود، در این صورت دیگر امکان بازگشایی پیام وجود نخواهد داشت. در بحث ارز دیجیتال، در صورت گم شدن کلید خصوصی، صاحب کیف نمیتواند به کیف پول خود دسترسی داشته باشد.
سخن پایانی
فرق بین کلید خصوصی، کلید عمومی و آدرس بحثی مهم است. چنانچه از این تفاوت و کاربرد هریک از این سه مورد آگاه باشیم، به خوبی درک خواهیم کرد که چرا آنقدر برای حفظ و نگهداری آنها و امن نگه داشتن کلید خصوصی حساسیت وجود دارد. به هر حال این موضوع فراتر از ارزهای دیجیتال است و در یکی از شاخههای بسیار مهم علوم کامپیوتر یعنی رمزنگاری جای دارد.
به نظر شما توضیحاتی که در این مقاله ارائه کردیم، به اندازه کافی روشنگر بود تا تصویری کلی از فرق بین کلید خصوصی، کلید عمومی و آدرس ارائه کند؟