رمزنگاری مقدماتی : رمزنگاری سخت افزاری و خطرات دولت ها

رمزنگاری مقدماتی به زبان ساده : رمزنگاری سخت افزاری ، درب های مخفی دولت ها در الگریتم های رمزنگاریدر این مقاله میخوایم به این بپردازیم که الگریتم های سخت افزار آیا توشون درب پشتی هست یا نه ، چرا باید هر کشوری الگریتم خودشو داشته باشه و رمزنگاری سخت افزاری چیه ..TPM : عکس 1چون محاسبات رمزنگاری خیلی سخته ، امدن توی کامپیوتر یه پردازشگر جدا براش در نظر گرفتن ، با این کار وقتی شما محاسبات و کار های رمزنگاری انجام میدید هیچ تاثیری روی سرعت و عملکرد سیستمتون نمیذاره ، از طرفی آمدن گفتن ما بیاییم یه جای امنی هم برای ذخیره کلید های رمزنگاری درنظر بگیریم ، آمدن یه چیپ سخت افزاری ساختن و اسمشو گذاشتن HSM ، بعد توی کار های مختلف ازش استفاده کردن ، مثلا توی دستگاه های POS ، یا فلش (توکن) های سخت افزاری که شما به سیستم میزنی و باهاش احراز هویت میکنی و... حالا امدن برای کامپیوتر یه HSM طراحی کردن به اسم TPM که توش سه تا بخش داره و دوتا کار انجام میده ، یکی محاسبات رمزنگاری ، دوم ذخیره کلید های متفاوت ، من یکم وارد جزئیات TPM میشم چون هم تو این مقاله هم بعدا خیلی باهاش کار داریم:TPM ساخته شده که پردازش های رمزنگاری رو انجام بده و بار این محاسبات سنگین ریاضی رو از دوش CPU برداره و در نهایت نتیجه رو به CPU گزارش بده ، درضمن کلید های خاصیم تو خودش نگه میدارهحافظه داخل هر TPM تمامی پسورد هارو داخل خودش نگه میداره و مثل RAM با قطع برق دیتا رو از دست نمیدهدر هر دستگاه ، اگر TPM نباشه و شما صرفا روی سیستم عاملتون رمز گذاشته باشید ، با خروج HDD/SSD و اتصال اون به کامپیوتر دیگه ، بدون پسورد میشه به اطلاعات دسترسی پیدا کرد ، ولی اگر TPM باشه ، ما HDD/SSD رو کامل رمز میکنیم و چون این کارو با TPM انجام میدیم ، برای باز شدن اون رمز باید حتما با همون TPM ای که رمز شده ، رمزش باز بشه ، یعنی اگر شما هارد رو برداری ببری یک سیستم دیگه چون TPM رو نبردی ، عملا رمز رو هم بدونی نمیتونی بازش کنی !تو کجاها HSM استفاده میشه ؟ دستگاه POS-ATM ، توی سرور یا حتی سیستم خودمون برای پردازش فرایند برقراری ارتباط SSL، برای امضا فایل های Zone بزرگ در سرور ها توی بحث DNS SEC ،برای توکن یا فلش های سخت افزاری که کلید عمومی توشه و ...اجزای حافظه TPM : EK : اگر به عکس 1 نگاه کنید ما یه EK داریم که از نوع حافظه ثابته ، یعنی یک کار بیشتر نداره و از اول ساخت اون TPM تا اخر عمرش دیتاش عوض نمیشه ، کلید به نظرتون چیه ؟ یک جفت کلید نامتقارن RSA که قابل دسترسی توسط نرم افزارم نیست و برای Attestation مورد استفاده قرار میگیره و اعتبار سنجی خود چیپ TPM که جلوتر میگم یعنی چیSRK : این بخش یه Wrapper هست اصطلاحا (وقتی میگیم Wrapper یعنی یه چیزی دور یه چیزی رو میپیچه و میپوشونه ، یعنی یه لایه اضافه تر، اینجا منظورمون رمز کردن کلید هاست) ، وظیفشم اینه که میاد از تمام کلید هایی که توی TPM ذخیره شدن محافظت میکنه ، یعنی اون هارو Encrypt میکنه با کلیدی که خود TPM داره و مطمئنه که کلید هایی که توی TPM ذخیره شده ، رمز شدن PCR : این بخش برای بحث Attestation و Secure Boot استفاده میشه ، درواقع میاد موقع فرایند بوت سیستم با گرفتن Hash اون Integrity یا صحت رو بررسی کنه و تمامی حالات رو توی خودش ذخیره میکنه که بعدا توی فرایند Attestation گزارش بفرسته یه جا ، حالا اینو توی Secure Boot جلوتر بررسی میکنم ولی بدونید تو این قسمت از TPM این فرایند انجام میشه AIK : این هم یه بخشه که یه کلید داره و برای فرایند Attestation استفاده میشه و موقع ارسال گزارش ، توسط کلید های این بخش ، گزارش امضا میشه که ثابت بشه از جای مطمئنی امده و تغییرم نکرده (امضای دیجیتال که یادتونه؟) (این موردم جلوتر بهش میرسیم)Storage Keys : این بخش هم برای ذخیره عمومی کلید های رمزنگاری که توسط سیستم عامل یا خود TPM ساخته میشن استفاده میشه ، درواقع کلید ها اینجا نگهداری میشن و بعدا توی هر فرایند رمزنگاری ای که نیاز باشه از این جا خونده میشن ، لازمه به یاداوریه که از این کلید ها توسط محافظ میشه ، توسط ؟ (SRK) مختصری درمورد نحوه کار کرد کامپیوتر و فرایند بوت سیستم عامل(بیشتر ویندوز) : ما توی کامپیوتر یک سری ورودی داریم و یک سری خروجی ، ورودی که از موس و کیبرد گرفته تا USB و... و خروجی هم میشه مانیتور و.. ، وقتی ما توی کامپیوتر یک ورودی ای رو میخوایم پردازش کنیم ، میبریمش روی RAM ، به RAM میگن حافظه اولیه ، CPU میاد و داده رو از توی RAM میخونه و پردازش میکنه ، اگر کارش تموم شد و خواست از بین ببردشون که هیچی ، اگر خواست ذخیرشون کنه میبرشون روی هارد (HDD/SSD) که بهش میگن حافظه ثانویه، داده هایی که توی حافظه ثانویه قرار میگیره میتونه رمز باشه ، ولی اگر داده ای روی حافظه اولیه بخواد توسط CPU پردازش بشه باید رمزگشایی بشه وگر نه CPU نمیفهمش ، اینو تو ذهنتون داشته باشید فرایند بوت ویندوز : وقتی ما دکمه روشن شدن کامپیوترمونو میزنیم ، برق که میاد توش میره تو مادر برد ، بعد ROM ما میاد و شروع میکنه به کار و قطعات رو شناسایی میکنه و برنامه Boot Manager رو اجرا میکنه که توی خودشه، و اون میاد از حافظه ثانویه دیتای سیستم عامل رو میخونه ، وقتی خوند میاد Windows Loader (Windows Boot Loader) رو اجرا میکنه (میره تو RAM توسط CPU) ، در نهایت هسته ویندوز کامل لود میشه، و درایور های مهم ویندوز هم بالا میان و در نهایت صفحه گرافیکی بالا میاد Computer Starts -> Firmware Load up (ROM) -> Boot Manager starts -> Windows loader starts - > Windows Kernel Begins -> Windows Critical Drivers Beginیه تیکه گفتم ROM ، این چی هست؟ وقتی کامپیوتر رو روشن میکنید یه برنامه ای باید باشه که سخت افزار هارو بشناسه و سیستم عامل رو بیاره بالا ، بهش میگن ROM ، خیلیا تو دسته حافظه اولیه درنظرش میگیرن ولی حافظه نیست ، یعنی هست ها ولی قابل خوندنه فقط ، به برنامه ای که روی ROM هست میگن Firmware ، زیاد اینجا واردش نمیشم؛ قدیم اسم برنامش BIOS بود ، صفحه آبی رنگی داشت معمولا و جدیدا یه چیز گرافیکی قشنگ ساختن به اسم UEFI ، اینکه تکنولوژی ها و ساختار هاشون فرق کرده جای بحث داره ولی خودتون سرچ بزنید و تفاوتشو بخونید ، اینجا بحث امنیتشو میخوایم بگیم ، از لحاظ امنیتی اگر کسی به کامپیوترتون دسترسی میگرفت و توی BIOS میگفت بجای سیستم عامل اصلی بیا این رو اجرا کن ، راحت اجرا میکرد ، حالا آمدن این مشکلو تو UEFI حل کردن حالا که این دانش رو دارید بریم سراغ نکات امنیتی و استفاده از این هاSecure Boot :وقتی ما میخوایم امنیت رو بررسی کنیم همیشه اول از لایه سخت افزاری شروع میکنیم، بعد میریم سراغ لایه مجازی ساز (اگر باشه، مثلا تو سرور هست) بعد میرسیم به سیستم عامل و ...این یعنی چی؟ یعنی هرچی شما موفق تر باشی در گرفتن کنترل از بالاسری، پایینیا عملا هیچکاری نمیتونن بکنن، یعنی اگر شما دسترسی فیزیکی بگیری به یه کامپیوتری، عملا همه چی بر فناست، حالا اگر سرور باشه و شما مجازی سازو بزنی که باز همین سناریو، در غیر این صورت اگر سیستم عامل به صورت معمولی نصب باشه شما دیگه درگیر سیستم عامل میشی(هسته و درایورا و..) که نمیخوایم زیاد به این بحث بپردازیماگر سیستم شما موقع فرایند بوت، بجای سیستم عامل اصلی سیستم عامل دیگه ای لود کنه چه اتفاقی پیش میاد؟ قبل ادامه اگر نمیدونید BIOS یا UEFI چیه سرچ کنید و درباره تفاوتاشون بخونید، توی BIOS ما این مشکل رو داشتیم که اجازه میداد برای بوت شما سیستم عامل دیگه ای انتخاب کنی بجز سیستم عامل اصلی، ولی توی UEFI امدن امن ترش کردن و گفتن ما اگر کاربر تنظیماتو بزاره رو حالت امن نمیزاریم که سیستم عامل دیگه ای انتخاب کنه، و موقع فرایند بوت میاد از بوت لودر، هسته سیستم عامل و درایوراش و ... هش میگیره و مقایسه میکنه با دیتابیس خودش، اگر منطبق بود اجازه میده که سیستم عامل به کارش ادامه بده، اگر نبود ارور میده و وقتی هم که چک کرد میاد یه گزارش میفرسته به یه سروری و میگه که سیستم عامل سالم و اوکی بود یا نهعکس 2به این فرایندی که گفتم میگن Secure Boot که قابلیتیه که توسط UFEI معرفی شده و فقط هم برای ویندوز کار میکنه و دیسترو های معتبر و تایید شده از لینوکس که محدودن و نه هیچ سیستم عامل دیگه ای، حتی Dual Boot هم بزنید و هردو سیستم عامل معتبر نباشن کار نمیکنه (اکثر مواقع بیشتر با ویندوز اوکیه) !به فرایند گزارش فرستادنه هم میگن Attestation و برای سازمان های بزرگ با پنل MDM که نیاز نیست بدونید چیه، مدیریت میشه لازم به یاداوری که کل این فرایند با TPM انجام میده و مثلا قسمت PCR و AIK ای که گفتم بالا تر توی این فرایند با UEFI درگیره و CPU میاد مقادیرو چک میکنه و... ولی نیاز نیست وارد جزئیات بشیم چون شما قراره دید داشته باشید، در سری پیشرفته اگر وقت شد عمیق تر واردش میشیمHardware Encryption : این قسمت چیز زیاد پیچیده ای نداره، برای ذخیره کردن اطلاعات روی هارد به صورت امن ما دوتا راه داریم، یا دیتا رو امن ذخیره کنیم، یا کل دیسک رو رمز کنیم؛ طبیعتا ایده اول سریعه ولی برای یه فایله، ولی دومی زمان بیشتری نیاز داره ولی کلا دیگه از اون به بعد راحت تر و امن تر میتونید فایل هارو ذخیره کنیدبرای رمزکردن یک فایل که توی قسمت متقارن AES crypt رو معرفی کردم، اما برای هارد دیسک ما باید کل Hard رو رمز کنیم، به این کار میگن Full Disk Encryption اگر ما این کارو نکنیم روی هاردمون و فکر کنیم پسورد سیستم عامل کافیه، اگر یکی هارد رو دربیاره و بزنه سیستم خودش کار تمومه، اما یکی از برنامه هایی که برامون FDE انجام میده در ویندوز اسمش BitLocker هست که پایین تر معرفیش میکنم، همونطور که از اسمش پیداست میاد و تک به تک بیت های حافظه رو رمز میکنه و بسیار هم گودرتمنده ?لازم به ذکره که موقع FDE، سیستم عامل از HSM ما استفاده میکنه (همون TPM) و بدون اون TPM اگر ما هاردو برداریم ببریم یه جا دیگه، حتی اگر پسورد رو هم بدونیم نمیتونیم بازش کنیم یه مفهوم دیگه هم هست به اسم Self Encrypting Drives که این ها هاردهایی هستن که خودشون خودشونو قفل میکنن، عملیات رمزنگاری و رمزگشایی توسط یه چپ توی خود هارد انجام میشه، همینارو بدونید کفایت میکنهنکته : ما یه حوزه جدا داریم به اسم Trusted Computing و این کلا اساس و پایش TPM هست، اگر خواستید توی این زمینه بیشتر کار کنید به بنده پیام بدیدمعرفی ابزار :ابزار های زیادی برای بحث رمزنگاری دیسک هست که من اینجا یه سری رو معرفی و توضیح میدم : رمزنگاری سمت ویندوز(BitLocker) : همونطور که بالاتر گفتم BitLocker یک ابزار full disk encryption هست و برای رمزنگاری کل حافظه میتونه استفاده بشه (چه Internal چه External) ، کارکردن باهاش راحته و تو نت سرچ کنید آموزشش هست ، فقط چند تا نکته بگم : این ابزار مختص ویندوزه و روی بقیه دستگاه ها جواب گو نیست (یعنی اصلا دیتا رو نمیتونید ببینید چه برسه به اینکه بخواید رمز کنید و از ابزار استفاده کنیداز چندین مکانیزم احراز هویت استفاده میکنه ، پسورد ، USB و..میتونه از کل دیسک محافظت کنه ، یعنی کل دیسک رمز میشهباهاش میشه درایو C که ویندوز روشه رو هم رمز کرد که موقع بوت میاد و از این درایو محافظت میکنه و قبل لود سیستم عامل پسورد میگیره ازتون که ویژگی خیلی عالی برای محافظت از سیستم عامل و دورشم نمیشه زد !اخرش بهتون کلید ریکاوری میده که اگر رمزتون رو گم کردید بدبخت نشیدرمزنگاری کراس پلتفورم(VeraCrypt) : این ابزار بسیار خفنه و برای هر سه سیستم عامل ویندوز ، مک و لینوکس قابل استفادس ، رمزنگاری امنی داره و دقیقا مثل BitLocker عه ، و دقیقا مثل همون از چند تا مکانیزم احراز استفاده میکنه ، و دوتا قابلیت جالبم داره : مثل Bitlocker قابلیت کلید ریکاوری داره که اگر رمز یادتون رفت بیچاره نشید قابلیت ساخت Hidden Volume داره که خیلی تو بحث اختفا بدرد میخوره که انشالله در مقاله مربوطه بهش میپردازم :)ابزار رمزنگاری سمت کلود و کلاینت(cryptomator) : یه ابزار هست به اسم cryptomator که هم رایگانه هم هم کراس پلتفرمه هم بسیار قویه و ایده جالبی داره ، وقتی شما دیتا تون رو توی کلود میخواید به صورت امن ذخیره کنید ولی به Cloud Provider اطمینان ندارید یا دوست ندارید کلید دست اون ها باشه یا احتمال میدید کلید لیک بشه ، میایید و از این ابزار استفاده میکنید ، با این ابزار میایید و یه مکان توی کامپیوتر شما یا توی کلود شما (بیشتر افراد برای کلود استفاده میکنن) انتخاب میکنید و اونجا این ابزار یه پوشه میسازه و خودش صداش میزنه Vault و میاد از شما پسورد میخواد ، حالا وقتی شما میخواید داخل اون پوشه فایل قرار بدید میاد و با پسورد شما اون رو رمز میکنه ، اینطوری فایل هم در مسیر و هم موقع ذخیره شدن امنه و کل فرایند رمزنگاری و ذخیره کلید توی کامپیوتر شما اتفاق افتاده :) https://cryptomator.org/ Memory Protection : اگر خاطرتون باشه گفتم بالاتر که توی Memory دیتا نباید رمز شده باشه ، یعنی شما هر نوع دیتایی رو بخوای بدی به CPU برای پردازش ، راه نداره که جز Plain Text باشه ، یعنی شما باج افزار های قدیمی که از کلید Symmetric استفاده میکردنم ریورز کنی میرسی به اینکه در نهایت این کلید تو مموری هست، حالا اینتل آمده یه تکنولوژی معرفی کرده به اسم SGX که یه حافظه است داخل CPU و توش دیتاها به صورت امن ذخیره میشه تا اگر یه برنامه ای API های SGX استفاده کرد بتونه دیتاش رو امن ذخیره کنه ، یه آسیب پذیری ای کشف شده به نام SGAxe که برمبنای CacheOut هست که اونم بر مبنای Meltdown هست ، کاری به این اسما ندارم ، فقط خواستم SGX رو معرفی کنم و بگم براش حمله هم آمده و بحث رمزنگاری داخل خود CPU چقد مهمه ، اهمیت این SGX بخاطر اینه که اگر ما تا لایه CPU نتونیم بریم جلو ، به دیتاهای SGX نمیتونیم برسیم ! و این SGX چون تو لایه سخت افزاره خیلی امنه و میدونید که لایه های پایین (سیستم عامل و نرم افزار و ..) اگر مورد نفوذ واقع بشن ، باز دیتا توی SGX ذخیره شده و محفوظه https://cacheoutattack.com/ حالا وقتش رسیده برسیم به تکنولوژی های جدید Intel و AMD که وظیفه محافظت از مموری رو دارن: مکانیزم کاری یکیه ، من مال AMD رو توضیح میدم :عکس 3توی عکس 3 ما یه ساختار داریم که به این صورته که ما یه پردازشگر داخل خود CPU داریم جدا برای رمزکردن دیتای داخل مموری ، از اونور ما یه سری کنترلر داریم که CPU وقتی میخواد داده ای بریزه توی رم میفرستش به این کنترلر ها که خیلی ساده میان و داده رو رمز میکنن با الگریتم AES و ذخیره میکنن توی RAM ، موقع خوندن هم دیتا به همین صورت باز میشه و در اختیار CPU قرار میگیره ، کلیدیم که باهاش رمز میکنن توی هر بار روشن شدن کامپیوتر به صورت رندوم توسط همون پردازشگری که جدا توی CPU مختص رمزنگاری گذاشته شده که اشاره کردم ساخته میشه ؛ این تکنولوژی برای AMD اسمش SME هست و برای INTEL اسمش TME هست یک سری نشتی بین TPM و CPU هم ممکنه رخ بده که برای جلوگیری از این ، ماکروسافت امده با همکاری چندین شرکت سازنده پردازشگر ، یه پردازشگر ساخته به اسم Pluton که که وظیفش اینه که بیاد توی راه (Bus) ای که بین TPM و CPU هست قرار بگیره و اگر اونجا قراره حمله ای اتفاق بیفته جلوشو بگیرهتو این قسمت ها اگر زیاد نحوه کارکرد مکانیزم هارو درک نکردید مشکلی نیست ، صرفا میخواستم با مفاهیم آشنا بشید تا حدودی و اسامی به گوشتون خورده باشه که بعدا اگر جایی شنیدید یا مقاله ای راجبش نوشته شد براتون نا آشنا نباشه و پیش زمینه داشته باشید، درک کامل و کشف آسیب پذیری از اینا کار رمزنگارای حرفه ایه ;) کلید ریکاوری و بکدور : چیزی که اگر توی دنیای امنیت باشید میدونید اینه که ما یه مفهومی داریم به نام بکدور و این مفهوم هم غیرقانونی میتونه استفاده بشه هم قانونی ، وقتی دولت استفاده میکنه میشه قانونی (مثلا ماکروسافت توی ویندوز بکدور میزاره که موقعی که اپدیت خواست نصب بشه روی هسته بتونه کارشو انجام بده) یا وقتی مهاجم یه سایتی رو میزنه بکدور میزاره که اگر راه نفوذشو بستن بتونه مجدد دسترسی بگیره ، ما توی بحث رمزنگاری هم همین موردو داریم ، توی الگریتم ها توسط دولت ها بکدور گذاشته میشه که بتونن اگر یک موقع نیاز داشتن یک Cipher Text رو بدون کلید باز کنن (کاربر های نظامی و سیاسی و امنیت ملی داره) از همین رو توی مطلب بعدی اشاره میکنم که برای چرا برای بحث نظامی و امنیت ملی باید هر کشور الگریتم خودشو طراحی کنه، ولی بدونید که اگر الگریتمی ساخته میشه توسط دولت(مثل SHA1-SHA2 و..) (و نه توسط عموم مثل SHA3) احتمال 99 درصد حتما یه روشی دولت گذاشته توش یا داره که بتونه در زمانی که نیاز بود اون الگریتم رو بشکنه ، بهش Recovery Agent میگن، Key Escrow میگن، Backdoor هم میگن ، حالا اینکه دولت آمریکا امده یه زمان یه چیپ براش طراحی کرده و شکست خورده بماند، و این هم بماند که ساخت الگریتم به شیوه ای که با یه کلید دیگه بجز کلیدی که باید ، بتونه باز بشه هم باعث ضعف الگریتم ممکنه بشه و طراحی اون الگریتم باید خیلی اصولی باشه ، که بجز کار کردن با یک جفت کلید متقارن یا نامتقارن ، با یک کلید هم به صورت بی قید و شرط باز بشه ! فکر کنید که Privacy هم به خطر میفته دیگه ! اول مقاله گفتم که هکر ها هم میتونن با رمزنگاری کارایی که کردن رو مخفی کنن و امن بمونن ، حالا دولت ها آمدن گفتن که نه ما میخوایم امکان ریکاوری بزاریم برای کاربر ها که اگر کلیدشون یادشون رفت بتونن به محتوا بازم دسترسی بگیرن .. اگر میگید Recovery که چیز خوبیه باید بهتون بگم که این مورد بهانه ایه که اگر کاربر رمزشو فراموش کرد قابلیتی داشته باشه که بتونه متنشو باز کنه ، ولی درواقع با این موضوع امدن و مکانیزم بکدور خودشونو پیاده سازی کردن :)الگریتم های نظامی و تجاری :توی بحث الگریتم های رمزنگاری ما دونوع الگریتم رمزنگاری داریم :الگریتم های رمزنگاری استاندارد : چیز هایی که تا الان راجبش صحبت کردیمالگریتم های رمزنگاری نظامی : این ها عموما کاربرد نظامی دارن و در دسترس عموم نیستنتا حالا صحبت کردیم که دولت ها هر کدوم توی الگریتم های خودشون یک بکدور میگذارند و چراییشم گفتیم ، و از این جهت هر کشور باید به فکر ساخت الگریتم رمزنگاری خودش باشه که از دیتاش محافظت کنه دربرابر سایر کشور های دیگه ! یعنی این حرفی که میزنم برای تمام کشور ها بدون استثنا صادقه حساس ترین صنایع هم برای هر کشور صنایع نظامی اونه ، فرض کنید موشک میخواید شلیک کنید یا اصلا بشنوید کجا و کی میخواد شلیک بشه یا حتی مکالمه های برج مراقبت رو اگر شما بشنوید با هواپیما های جنگی خیلی ممکنه به ضرر اون کشور تموم بشه سر همین آمدن یه سری الگریتم هایی ساختن مختص موارد نظامی و حساس و این هارو برای استفاده های نظامی قرار دادن ، این الگریتم ها ذاتشون رو هیچکس نمیدونه ، لزوما عالی و فوق امن نیستن ( و صد در صد توشون مشکل هست) ولی چون مخفین و به شدت ازشون محافظت میشه امکان بررسی این ها وجود نداره توی الگریتم های استاندارد سرعت یا ( Performance) براشون خیلی مهمه (Bulk Data Transfer ای که گفتم اگر یادتون باشه) ولی تو این ها مهم نیست ، چون نه حجم دیتای زیادی میخواد ردو بدل بشه ، نه سرعت مهم تر از امنیته ، در اینجا امنیت کلا زورش میچربه به سرعت و کارایی از طرفی برای رمزکردن یا رمزگشایی با این الگریتم ها حتما از دستگاه های سخت افزاری هم استفاده میکنن و این باعث میشه اگر سخت افزار نباشه هیچ تحلیلی نتونه صورت بگیره و به این طریق بسیار از نشت الگریتم جلوگیری میکنن ، ایرانم یک سری الگریتم رمزنگاری خاص خودشو داره مثل فجر 1 ، فجر 2 ، میثاق 1 و..این مفاهیمی که گفتم شاید درکش نکرده باشید ، اگر بعد دوبار خوندن مقاله باز ابهام بود ، راحت باشید و بپرسید :)در مقاله بعدی سراغ ریاضیات مختص رمزنگاری و شرح کارکرد الگریتم های RSA و DH میریم ، هرسوالی بود در خدمتم، یاعلی :)