| AmirHossein | – Telegram
| AmirHossein |
591 subscribers
44 photos
8 videos
2 files
73 links
نوشته‌های یک برنامه‌نویس ناشی

🫂 @StartUnity
Download Telegram
#network
فصل یازدهم : اصطلاحات مربوط به انتقالات و امواج
بخش اول : انتقالات داده


نوع‌های مختلف انتقالات داده :
نوع‌های مختلف انتقالات داده از نظر قابلیت ارسال و دریافت داده‌ها را می‌توان به سه دسته زیر تقسیم کرد:
- Simplex :
در حالت Simplex، داده‌ها تنها به یک جهت انتقال می‌یابند، به این معنی که دستگاه یا سیستم تنها قادر به ارسال یا دریافت داده‌ها است و هیچ دوطرفه‌ای وجود ندارد.

یک مثال از ارتباط Simplex می‌تواند تلویزیون باشد، زیرا تلویزیون تنها می‌تواند اطلاعات را دریافت کند و نمی‌تواند اطلاعات را برای ارسال به دیگر دستگاه‌ها استفاده کند.

- Half-Duplex :
در حالت Half-Duplex، داده‌ها بین دو دستگاه به صورت دوطرفه انتقال می‌یابند، اما فقط یک دستگاه در هر لحظه می‌تواند ارسال داده کند و دیگری باید در حالت گوش دادن باشد.

یک مثال از ارتباط Half-Duplex می‌تواند استفاده از رادیوهای دستی باشد؛ زمانی که یک فرد دکمه Push-to-Talk را فشار داد، او می‌تواند اطلاعات را ارسال کند، اما زمانی که او دکمه را رها می‌کند، دیگری می‌تواند دریافت کند.

- Full-Duplex :

در حالت Full-Duplex، دو دستگاه قادر به همزمان ارسال و دریافت داده‌ها هستند، به این معنی که ارتباط دوطرفه است و هر دستگاه همزمان می‌تواند اطلاعات را ارسال و دریافت کند.

یک مثال از ارتباط Full-Duplex می‌تواند تلفن‌های همراه باشد؛ زیرا طرفین می‌توانند به صورت همزمان صحبت کرده و صدای همدیگر را دریافت کنند.
———
نرخ انتقال (Data Rate) :
نرخ انتقال یا Data Rate به میزان داده‌هایی اشاره دارد که یک شبکه یا اتصال می‌تواند در یک بازه زمانی خاص انتقال دهد. این میزان معمولاً به بیت در ثانیه (bps) یا بایت در ثانیه (Bps) اندازه‌گیری می‌شود و نشان‌دهنده حجم داده‌هایی است که در یک زمان معین از یک مکان به مکان دیگر منتقل می‌شود.

تأثیرات نرخ انتقال بر کیفیت انتقال داده عموماً به شرایط مختلف شبکه و نوع ارتباط بستگی دارد. افزایش نرخ انتقال می‌تواند به بهبود عملکرد و سرعت ارتباط منجر شود، اما در مواقعی ممکن است منابع شبکه را بیش از حد بارگیری کند و باعث افت کیفیت شود.

به عنوان مثال، در یک شبکه اینترنتی با نرخ انتقال بالا، وقتی یک ویدیو با کیفیت بالا را از یک سرویس استریمینگ تماشا می‌کنید، تأثیرات نرخ انتقال زیاد می‌تواند در تجربه شما به صورت مشخص مشاهده شود. اگر نرخ انتقال کافی نباشد، ممکن است ویدیو برای بارگیری موقتاً متوقف شود و بافرینگ رخ دهد، که منجر به تأخیر و اختلال در پخش تصویر می‌شود.

از طرفی، در یک شبکه با نرخ انتقال پایین‌تر، ممکن است ارسال و دریافت داده‌ها بیشتر زمان ببرد و سرعت عملکرد کلی شبکه کاهش یابد، که می‌تواند منجر به تأخیر و افت کیفیت در ارتباطات شود.
———
Modulation :
یک فرایند است که در آن ویژگی‌های سیگنال الکتریکی یا موج برای انتقال داده از یک دستگاه به دیگری، به طوری که بتواند برای انتقال بی‌سیم بهره‌ور باشد، تغییر می‌کند. در اصطلاحات فنی، این فرایند به عنوان تغییر مشخصات موج یا حالت موج شناخته می‌شود.

یک مثال ساده از Modulation در ارتباطات بی‌سیم، مانند ارسال یک فایل موسیقی از یک دستگاه به یک دستگاه دیگر از طریق بلوتوث است. در اینجا، فایل موسیقی به صورت داده‌های دیجیتال وجود دارد، اما برای انتقال بی‌سیم نیاز به تغییر حالت سیگنال داریم. Modulation در اینجا از طریق تبدیل داده‌های دیجیتال به سیگنال‌های رادیویی، که به صورت موج‌های الکترومغناطیسی منتقل می‌شوند، صورت می‌گیرد. به عبارت دیگر، اطلاعات دیجیتال از طریق Modulation به سیگنال‌هایی تبدیل می‌شوند که بتوانند برای انتقال بی‌سیم استفاده شوند.

در مثال بلوتوث، داده‌های دیجیتال به صورت سیگنال‌های رادیویی با استفاده از Modulation تبدیل می‌شوند، سپس این سیگنال‌ها به دستگاه مقصد ارسال می‌شوند. در دستگاه مقصد، سیگنال‌های رادیویی دوباره به داده‌های دیجیتال با استفاده از Demodulation تبدیل می‌شوند تا فایل موسیقی را دریافت کنیم.

@AmirHDeveloper
.
🔥3
#network
فصل یازدهم : اصطلاحات مربوط به انتقالات و امواج
بخش دوم : امواج


فرکانس و طول موج :
فرکانس و طول موج دو مفهوم مهم در علم موج‌ها هستند که با یکدیگر ارتباط دارند.

1- فرکانس (Frequency) : فرکانس به تعداد دورهایی که یک موج در یک زمان مشخص (معمولاً یک ثانیه) انجام می‌دهد، اشاره دارد. واحد فرکانس هرتز (Hz) است که یک هرتز برابر با یک دور در یک ثانیه است. به عنوان مثال، اگر یک موج 10 دور در یک ثانیه انجام دهد، فرکانس آن 10 هرتز است.

2- طول موج (Wavelength) : طول موج به فاصله فیزیکی بین دو نقطه متوالی در یک موج است که به طول یک دوره از موج اشاره دارد. این فاصله معمولاً به واحد متر اندازه گرفته می‌شود. رابطه بین فرکانس و طول موج با سرعت انتشار موج در محیط مربوطه مشخص می‌شود.

مثال :
فرض کنید یک موج صوتی با فرکانس 1000 هرتز را در نظر بگیرید. اگر سرعت انتشار صوت در محیط معینی (مثلاً هوا) 340 متر بر ثانیه باشد، می‌توانیم طول موج را محاسبه کنیم.

برای این کار از رابطه زیر استفاده می‌کنیم :
Wavespeed = Frequency × Wavelength
Wavelength = Wavespeed ÷ Frequency

پس طول موج صوتی ما :
Wavelength
= 340ms ÷ 1000Hz = 0.34 m

بنابراین، موج صوتی با فرکانس 1000 هرتز دارای طول موجی برابر با 0.34 متر است.
———
انعکاس و شکست :
انعکاس
و شکست دو پدیده مهم در انتقال امواج هستند که در تغییر مسیر و رفتار امواج در محیط‌های مختلف تأثیرگذار هستند.

1- انعکاس (Reflection) : وقتی یک موج برخورد می‌کند، برخی از انرژی آن به سمت سطح برخورد می‌کند و بخشی از آن به سمت عقب باز می‌گردد. این پدیده به عنوان انعکاس شناخته می‌شود. مثالی از انعکاس موج صوتی از دیوار یا انعکاس نور از آینه است.

2- شکست (Refraction) : شکست به تغییر مسیر موج در محیطی با شاخص شکست مختلف در مقایسه با محیطی که از آن وارد شده است. وقتی یک موج از یک محیط به محیط دیگری با شاخص شکست متفاوت وارد می‌شود، مسیر آن تغییر می‌کند. به عنوان مثال، شکست نور از هوا به آب یا از آب به شیشه.

مثال :
فرض کنید یک موج صوتی از هوا به آب وارد شود. هنگامی که موج وارد آب می‌شود، سرعت آن کاهش می‌یابد زیرا سرعت انتشار صوت در آب بیشتر از هوا است. به علاوه، زاویه ورودی موج به سطح آب نیز تغییر می‌کند. این پدیده به عنوان شکست شناخته می‌شود. سپس، موج صوتی باز هم به سطح آب و هوا انعکاس می‌یابد. در اینجا نیز بخشی از انرژی موج به سمت سطح برخورد می‌کند و بخشی از آن به سمت عقب باز می‌گردد، که این پدیده انعکاس است.
———
Antenna :
آنتن
‌ها (Antennas) وسیله‌ای هستند که برای انتقال و دریافت امواج الکترومغناطیسی مانند امواج رادیویی، مایکروویو، یا سیگنال‌های وای‌فای استفاده می‌شود. این امواج برای ارتباطات بی‌سیم، مثل شبکه‌های موبایل، وای‌فای، بلوتوث، و غیره استفاده می‌شوند.

نقش اصلی آنتن‌ها در انتقال امواج الکترومغناطیسی است. آنتن‌ها به دو صورت فعال و غیرفعال تولید می‌شوند. آنتن‌های فعال دارای قابلیت افزایش قدرت سیگنال و بهبود کارایی انتقال هستند، در حالی که آنتن‌های غیرفعال امواج را فقط دریافت و انتقال می‌کنند.

به عنوان مثال، یک آنتن در یک تلفن همراه نقش دریافت و ارسال سیگنال‌های موبایل را دارد. آنتن تلفن همراه دریافت سیگنال‌های از پایگاه‌های سلولی و ارسال سیگنال‌هایی که توسط گوشی تولید می‌شوند را انجام می‌دهد.

به طور کلی، آنتن‌ها نقش بسیار مهمی در برقراری ارتباطات بی‌سیم از جمله شبکه‌های موبایل، وای‌فای، بلوتوث و غیره دارند و بدون آنتن‌ها انتقال و دریافت امواج الکترومغناطیسی امکان‌پذیر نخواهد بود.

@AmirHDeveloper
.
🔥5
#network
فصل دوازدهم : سایر انتقالات
بخش اول : اتصالات خارجی


ISP (Internet Service Provider) :
ارائه دهنده خدمات اینترنت نقش بسیار مهمی در فرآیند اتصال به اینترنت دارد. آنها مسئول فراهم کردن اتصال به شبکه اینترنت برای مشترکین خود هستند و خدمات مختلفی از جمله اینترنت پرسرعت، تلفن و تلویزیون را ارائه می‌دهند. در واقع، ISP می‌توانند به عنوان پلی بین میان مشترکین خود و اینترنت عمل کنند.

یک ISP معمولاً یک زیرساخت بزرگ شبکه دارد که از طریق آن میلیون‌ها کاربر به اینترنت متصل می‌شوند. آنها از طریق اتصالات خارجی به دیگر ISP‌ها یا به مراکز داده بزرگ دسترسی دارند تا به اینترنت جهانی و اینترنت های دیگر متصل شوند.

برای مثال، فرض کنید شما یک مشترک هستید که می‌خواهید به اینترنت دسترسی پیدا کنید. شما با یک ISP تماس می‌گیرید و یک بسته از طریق یک اتصال فیبر نوری یا کابل مسی به شبکه آنها ارسال می‌شود. سپس، این ISP بسته شما را از طریق اتصالات خود به اینترنت جهانی یا دیگر ISP‌ها منتقل می‌کند تا شما به اینترنت دسترسی داشته باشید. در این فرآیند، ISP مسئول مدیریت شبکه، امنیت و پشتیبانی از مشترکان خود است.
———
P2P (Point-to-Point) Connection :
شبکه‌های P2P یا Peer-to-Peer شبکه‌هایی هستند که اجازه اتصال مستقیم بین دو دستگاه را بدون نیاز به سرور مرکزی فراهم می‌کنند. در این شبکه‌ها، دستگاه‌ها به عنوان همسایگان یا همتایان (peers) برای یکدیگر عمل می‌کنند و می‌توانند مستقیماً با یکدیگر ارتباط برقرار کنند تا فایل‌ها، منابع یا خدمات را به اشتراک بگذارند.

برای مثال، در یک شبکه P2P که برای به اشتراک گذاری فایل‌ها استفاده می‌شود، هر کاربر می‌تواند فایل‌های خود را به دسترس دیگر کاربران قرار دهد و همچنین از فایل‌های آن‌ها برای دانلود استفاده کند. این فرایند بدون نیاز به سرور مرکزی انجام می‌شود؛ به عبارت دیگر، هر دستگاه می‌تواند همزمان نقش فرستنده و گیرنده را ایفا کند.

در یک مثال دیگر، کاربران می‌توانند به صورت مستقیم از طریق اینترنت به یکدیگر متصل شوند تا فایل‌ها، اطلاعات یا سرویس‌ها را به اشتراک بگذارند. به عنوان مثال، در یک برنامه پیام‌رسان P2P، کاربران می‌توانند به صورت مستقیم با یکدیگر ارتباط برقرار کنند و پیام‌ها، فایل‌ها یا اطلاعات را به اشتراک بگذارند، بدون اینکه از یک سرور مرکزی استفاده کنند.
———
VPN Tunnel :
یک
VPN Tunnel (تونل شبکه خصوصی مجازی) یک ارتباط امن بین دو شبکه یا دو دستگاه است که از طریق اینترنت یا شبکه‌های عمومی دیگر ایجاد می‌شود. این تونل ارتباطی امن را بین دو نقطه فراهم می‌کند و به کاربران اجازه می‌دهد تا از اینترنت برای انتقال داده‌ها استفاده کنند، در حالی که اطلاعات آنها رمزنگاری شده و امنیت آنها تضمین شده است.

برای ایجاد یک VPN Tunnel، یک نرم‌افزار یا دستگاه مخصوص برای ایجاد اتصال مشخص می‌شود، که به عنوان سرویس VPN Gateway شناخته می‌شود. این Gateway نقطه‌ای است که اتصال VPN را مدیریت می‌کند و از آنجا ترافیک رمزنگاری شده به و از دستگاه‌ها و شبکه‌های مقصد منتقل می‌شود.

وقتی که یک کاربر یا یک دستگاه از یک VPN Tunnel استفاده می‌کند، اطلاعات آنها به صورت رمزنگاری شده از دستگاهشان به Gateway VPN ارسال می‌شود. Gateway این اطلاعات را رمزگشایی کرده و آنها را به شبکه مقصد ارسال می‌کند. همچنین، ترافیک از سمت مقصد نیز از طریق VPN Tunnel به دستگاه فرستنده بازمی‌گردد و سپس به صورت رمزنگاری شده به دستگاه کاربر ارسال می‌شود.

با استفاده از یک VPN Tunnel، کاربران می‌توانند از امکانات اینترنت برای دسترسی به منابع و خدمات مختلف استفاده کنند، در حالی که اطلاعات آنها از طریق یک اتصال امن و رمزنگاری شده انتقال می‌یابد. این اتصال امن برای حفاظت از اطلاعات حساس و جلوگیری از دسترسی غیرمجاز به شبکه و داده‌ها بسیار مهم است.

@AmirHDeveloper
.
#network
فصل دوازدهم : سایر انتقالات
بخش دوم : ارتباطات
صوتی و تصویری
VoIP (Voice over IP) :
فناوری است که امکان انتقال صدا را از طریق شبکه اینترنت یا شبکه‌های دیگر ارائه می‌دهد. در این فناوری، صدا به دیتاهای دیجیتال تبدیل شده و برای انتقال از طریق پروتکل‌های اینترنتی مانند IP (Internet Protocol) استفاده می‌شود.

یک مثال ساده از VoIP می‌تواند مکالمه تلفنی با استفاده از برنامه‌هایی مانند Skype یا Microsoft Teams باشد. در این برنامه‌ها، صدا به صورت دیجیتال تبدیل شده و به صورت بسته‌های داده از طریق اینترنت ارسال می‌شود. در مقصد، این بسته‌ها دوباره بازسازی و صدا بازیابی می‌شود تا کاربران بتوانند به صورت صوتی با یکدیگر ارتباط برقرار کنند.

مزایای استفاده از VoIP شامل کاهش هزینه‌های مکالمات تلفنی، امکانات اضافی مانند تماس تصویری و چت گروهی، امنیت بالا، انعطاف‌پذیری بیشتر و قابلیت اتصال به شبکه اینترنت در هر کجا و هر زمان است. این فناوری به شرکت‌ها و افراد امکان می‌دهد تا از طریق اینترنت تماس بین‌المللی برقرار کنند و هزینه‌های مکالمات خود را کاهش دهند.

@AmirHDeveloper
.
بعد از ۵ ‌ماه بحث شبکه مون به پایان رسید.

روند کار به این صورت بود که هرچیزی یاد میگرفتم رو اینجا توضیح میدادم، به همین دلیل اگر ایرادی توی توضیحات وجود داشت ببخشید.

خیلی نشد تخصصی توضیح بدم چون مطالب واقعا زیاد بود و در همین حد هم ۵ ماه زمان برد.

خیلی ممنون تو این مدت با من همراه بودید.

اگر علاقه مند بودید میتونید تمامی مطالب رو با #network جست و جو کنید.

❤️
.
13
ایده برای مبحث جدید بدید
نظرهای خودم:

1- انواع دیتابیس ها، روابط، طراحی
احتمالا طولانی

2- انواع رمزنگاری ها
نسبتا طولانی

3- سیستم عامل ها از روشن شدن تا خاموش شدن
کوتاه

4- اِی‌سینک‌، مولتی ترد، و... + تفاوت ها
کوتاه

بین این ها یا چیزی که خودتون میخواید بگید تا شروع کنیم❤️
.
👍1
| AmirHossein |
کدوم؟
که اینطور
👍4
درود به همه

عیدتون مبارک باشه
ایشالا که سال خوبی رو در کنار خونواده داشته باشید ❤️
19
درود

من درحال حاضر سفر هستم
طبق نتایج وقتی برگشتم مبحث رمزنگاری هارو شروع میکنم

دسته بندی هایی که قراره توضیح داده بشه به صورت زیر هستن

اگر کمبودی داره بگید اضافه کنم

1- AES
2- DES/3DES
3- RSA
4- ECC
5- Blowfish
6- Twofish
7- Serpent
8- IDEA
9- RC Algorithms
10- SHA Family
11- MD5
12- HMAC
13- PGP
14- Diffie-Hellman
15- DSA
3🔥2🗿1
درود به همه
سرفصل های مبحث رمزنگاری هارو با کمک یکی از دوستانم تغییر دادیم و یکم جامع ترش کردیم.
توی این مبحث با الگوریتم های رمزنگاری و هش و یک سری از آسیب پذیری ها آشنا میشیم.
سر فصل ها به شرح زیر هستن:

1- رمزنگاری چیست؟
2- هش چیست؟
3- رمزگذاری چیست؟
4- DES / 3DES
5- IDEA ( International Data Encryption Algorithm )
6- Blowfish
7- Twofish
8- ECC
9- PGP
10- RC Algorithms
11- AES
12- RSA
13- Digital signature
14- Known plaintext attack
15- Known ciphertext attack
16- Chosen plaintext attack
17- MITM
18- DH Key Exchange
19- Interlock protocol
20- CA ( Certificate Authority )
21- SSL/TLS
22- MD5/MD4
23- SHA ( Family )
24- HMAC
25- Rainbow table
26- Salt
27- Bcrypt

شاید فکر کنید خیلی طولانی میشه.
ولی باید بگم که درست فکر میکنید و طولانی میشه، اما خیالتون راحت باشه مثل مبحث شبکه 5 ماه زمان نمیبره(شاید).
امیدوارم چیز های جدیدی رو یاد بگیریم❤️

@AmirhDeveloper
.
8
خب من خستم😂
This media is not supported in your browser
VIEW IN TELEGRAM
توی این مدتی که نبودم یک پکیج برای ورژن 2 LaraGram رو توسعه دادم
این پکیج رو با اسم Laraquest توی گیت هاب منتشر کردم ترکیبی از اسم LaraGram و Request

کاربردش هم دریافت آپدیت ها و کار با API تلگرام هست

← تک تک متد هارو با ورودی هاشون ساپورت میکنه
← تک تگ آپدیت های تلگرام رو دریافت میکنه، همونطور که توی ویدئو میبینید هر آپدیتی رو که بنویسید زیر مجموعه هاش براتون لیست میشه
← 4 روش ارسال رکوئست داره (کامل نیستن)

بسیار هم سبک هست و استفاده ازش ساده س
حتی برای پروژه های خودتون هم میتونید استفاده کنید
البته هنوز ورژن آلفا هست و قابلیت هاش کامل نیست

لینکش رو زیر قرار میدم اگر دوست داشتید یک نگاهی بندازید و استار هم بدید❤️

🔰 https://github.com/laraXgram/Laraquest
🔰 @AmirhDeveloper
🔥6👍31
اونوقت بگید LaraGram بده!

امکان ساخت Conversation ها به همین سادگی.

- ولیدیت کردن پاسخ هر سوال
- نام گذاری برای هر سوال جهت پردازش راحت تر.
- ارسال سوال به صورت media
- ساخت Conversation با کیبورد
- مشخص کردن کامند جهت skip سوال
-‏ action جهت اجرا آنی پس از دریافت پاسخ
- مشخص کردن تعداد Attempt
- مشخص کردن Timeout بدون پاسخ ماندن
- مشحص کردن کامند لغو Conversation
- مشخص کردن عملیات پس از Conversation

همه این قابلیت ها تنها با متد های پیش ساخته با یک خط کد

البته که این قابلیت ها در ورژن 2 منتشر میشن😉

🔰 https://github.com/laraXgram/LaraGram
🔰 @AmirhDeveloper
🔥3
دلار در عرض چند ساعت از ۶۵ هزار تومن به ۷۲ هزار تومن رسید

ظاهرا خرید و فروش رو متوقف کردن تا بیشتر از این بالا نره

ایران زیبا نیست؟
اینایی که لفت میدن نمیدونن چه بحث خوبی رو قراره از دست بدن🚶‍♂️

همین یکی دو روزه شروع میکنم
12👍1🗿1
#crypto

رمزگذاری، هش و کدگذاری سه مفهوم کلیدی در امنیت سایبری و حفاظت از داده‌ها هستند که با وجود شباهت‌هایی که به نظر می‌رسند، کاربردها و اهداف متفاوتی دارند. در اینجا به توضیح هر کدام و دادن مثال‌هایی برای هر مورد می‌پردازیم:

———

1- رمزگذاری (Encrypting):
رمزگذاری فرایندی است که در آن اطلاعات یا داده‌های قابل فهم (plaintext) توسط یک الگوریتم رمزگذاری و کلید رمزگذاری به داده‌هایی غیرقابل فهم (ciphertext) تبدیل می‌شوند. هدف از رمزگذاری این است که تنها افرادی که دارای کلید مناسب هستند بتوانند داده‌ها را رمزگشایی کرده و مجدداً به شکل قابل فهم درآورند.

مثال:
فرض کنید که می‌خواهید پیام "سلام" را با استفاده از رمزگذاری AES رمزگذاری کنید. با استفاده از کلید خصوصی، پیام "سلام" به سری از کاراکترهای تصادفی مانند "5G7f9X1" تبدیل می‌شود که بدون داشتن کلید، خوانده نمی‌شود.

———

2- هش (Hashing):
هش کردن فرآیندی است که یک داده با حجم دلخواه را به یک خروجی ثابت و کوتاه‌تر تبدیل می‌کند که به آن هش گفته می‌شود. هش‌ها نباید قابل برگشت به حالت اصلی باشند و در صورتی که دو داده متفاوت حتی اندکی با هم تفاوت داشته باشند، هش‌های کاملاً متفاوتی تولید می‌کنند.

مثال:
اگر متن "سلام" را با استفاده از الگوریتم SHA-256 هش کنید، خروجی می‌تواند شکلی مانند "3a7bd3e2360a0d3dfffb33ef4f6a6513a3da9660" داشته باشد. اگر حتی یک کاراکتر در متن تغییر کند، مثلاً "سلام!"، هش کاملاً متفاوت خواهد بود.

———

3- کدگذاری (Encoding):
کدگذاری فرایندی است که داده‌ها را از یک فرمت به فرمت دیگر تبدیل می‌کند، معمولاً برای انتقال یا ذخیره‌سازی راحت‌تر. کدگذاری قابل برگشت است و هدف آن مخفی کردن اطلاعات نیست بلکه سازگاری فرمت‌ها است.

مثال:
اگر تصویری را به فرمت Base64 کدگذاری کنید، می‌توانید آن را به صورت رشته‌ای از کاراکترهای ASCII در متن HTML یا ایمیل قرار دهید. این کدگذاری برای سهولت استفاده از داده‌ها در زمینه‌های مختلف است و می‌توان آن را به سادگی به حالت اصلی بازگرداند.

———

این سه مفهوم هر کدام کاربردهای خاص خود را دارند و برای حفاظت و مدیریت اطلاعات در محیط‌های مختلف فناوری اطلاعات به کار می‌روند.

@AmirhDeveloper
🔥63
#crypto
رمزنگاری DES / 3DES:

توضیح چند مفهوم پیش نیاز:

1- ساختار فایستل (Feistel Structure):
ساختار فایستل روشی است برای ساختن یک الگوریتم رمزنگاری بلوکی. این ساختار از یک تابع خاص به نام تابع فایستل استفاده می‌کند که به ترکیب داده‌های ورودی با کلیدهای رمزنگاری کمک می‌کند. در این ساختار، داده‌ها به دو نیم تقسیم می‌شوند. در هر مرحله یا دور از رمزنگاری:

1- نیمه سمت راست به تابع فایستل فرستاده می‌شود که با یک کلید خاص ترکیب می‌شود.
2- خروجی تابع فایستل با نیمه سمت چپ داده‌ها از طریق عملیات XOR مخلوط می‌شود.
3- نیمه‌ها سپس برای دور بعدی جابجا می‌شوند.
———
S-Box (Substitution Box):

‏S-Box یک جزء مهم در بسیاری از الگوریتم‌های رمزنگاری است و عملکردی شبیه به جعبه جایگزینی دارد. وظیفه S-Box جایگزینی بخش‌هایی از داده‌ها با داده‌های دیگر بر اساس یک جدول ثابت است. این فرایند به عنوان بخشی از تابع فایستل اتفاق می‌افتد:

وقتی داده‌ها از S-Box عبور می‌کنند، بخش‌هایی از داده‌ها به طور کامل تغییر می‌یابند.
این تغییر باعث می‌شود که حملات رمزنگاری که بر اساس تحلیل الگوهای متداول انجام می‌شوند، دشوارتر شود.
———
Initial Permutation (IP):
‏Initial Permutation (IP) یا جدول جایگزینی اولیه یکی از اولین مراحل فرآیند رمزنگاری است. این مرحله یک تغییر ساده ولی مهم در ترتیب بیت‌های بلوک ورودی داده‌ها ایجاد می‌کند. ترتیب دقیق این جابجایی بر اساس یک جدول ثابت و از پیش تعریف شده انجام می‌شود که به همین نام، جدول جایگزینی اولیه نامیده می‌شود.
———
توضیحات DES/3DES:

DES (Data Encryption Standard):
‏DES
یک الگوریتم رمزنگاری بلوکی است که توسط موسسه ملی استانداردها و فناوری (NIST) در دهه 1970 تصویب شد. این الگوریتم بلوک‌هایی از داده‌ها را به اندازه 64 بیت رمزنگاری می‌کند و از یک کلید 56 بیتی استفاده می‌کند (با 8 بیت برای تأیید صحت که در عمل استفاده نمی‌شوند).

‏DES از یک ساختار فایستل استفاده می‌کند که شامل 16 دور تکرار شده است. هر دور شامل توابع گسترش، جایگزینی و جمع می‌باشد. فرمول اصلی برای ترکیب بلوک‌های داده با کلیدها در DES به صورت زیر است:

1- ابتدا داده‌ها از طریق یک جدول جایگزینی اولیه IP عبور داده می‌شوند.
2- داده‌ها به دو نیمه تقسیم می‌شوند و در طی 16 دور، با کلیدهایی که از کلید اصلی تولید شده‌اند، ترکیب می‌شوند.
3- در هر دور، نیمه راست توسط تابع فایستل تحت تأثیر قرار می‌گیرد که شامل گسترش، جایگزینی با استفاده از جدول S-Box و یک جمع XOR با کلید دور است.
4- نتایج هر دور دوباره مبادله می‌شوند و سپس دور بعدی آغاز می‌شود.
5- پس از 16 دور، دو نیمه مبادله شده و از طریق جدول جایگزینی نهایی IP^-1 عبور داده می‌شوند تا خروجی نهایی تولید شود.

کاربردها:
‏DES
در دهه 1970 و 1980 برای محافظت از اطلاعات حساس دولتی و تجاری استفاده می‌شد، اما به دلیل طول کلید نسبتاً کوتاه و آسیب‌پذیری‌های امنیتی که در آن زمان کشف شدند، به تدریج کنار گذاشته شد.

------

3DES (Triple DES):
‏3DES
یک تکامل از DES است که با هدف افزایش امنیت رمزنگاری DES توسعه یافت. این الگوریتم با استفاده از سه دوره DES با سه کلید مجزا یا دو کلید مجزا (که یکی از آن‌ها دوبار استفاده می‌شود)، داده‌ها را رمزنگاری می‌کند.

فرآیند رمزنگاری در 3DES شامل اعمال سه بار الگوریتم DES است:
1- رمزنگاری با کلید اول
2- رمزگشایی با کلید دوم (این بخش به عملکرد امنیتی کمک می‌کند)
3- رمزنگاری مجدد با کلید سوم

‏3DES در بسیاری از سیستم‌های مالی مانند ATM‌ها و پرداخت‌های نقطه فروش استفاده می‌شود. با این حال، به دلیل کند بودن نسبت به الگوریتم‌های مدرن‌تر و محدودیت‌های امنیتی، استفاده از آن در حال کاهش است و جایگزین‌هایی مانند AES توصیه می‌شوند.

------

تفاوت‌ها:
‏DES تنها از یک کلید 56 بیتی استفاده می‌کند، در حالی که 3DES می‌تواند از کلیدهایی با طول مجموع 168 بیت (در حالت سه کلیدی) استفاده کند.

‏3DES به دلیل استفاده از چندین دور DES، مقاومت بیشتری در برابر حملات دارد.

‏DES سریع‌تر است زیرا تنها یک دور رمزنگاری انجام می‌دهد، در حالی که 3DES به دلیل انجام سه دور رمزنگاری، کندتر است.(صرف نظر از امنیت بیشتر 3DES)

@AmirhDeveloper
.
1🔥1
#crypto

IDEA (International Data Encryption Algorithm) :

‏IDEA، یک الگوریتم رمزنگاری بلوکی می‌باشد که ابتدا در سال 1991 توسط Xuejia Lai و James Massey از مؤسسه فناوری فدرال سوئیس به منظور جایگزینی برای DES (Data Encryption Standard) معرفی شد. IDEA از یک کلید 128 بیتی استفاده می‌کند و داده‌ها را در بلوک‌های 64 بیتی رمزنگاری می‌کند.

———

عملکرد الگوریتم:
‏IDEA بر اساس چندین مرحله مختلف عمل می‌کند. الگوریتم از 8.5 دور تکراری استفاده می‌کند، که هر کدام شامل چندین مرحله مختلف می‌باشد.

الگوریتم IDEA شامل 8 دور کامل است. در هر دور، چهار زیر بلوک داده (هر کدام 16 بیت) از طریق یک سری ترکیب‌های مشخص از عملیات‌های جمع، ضرب و XOR با کلیدهای مختلف مرتبط می‌شوند. هر دور شامل استفاده از چندین کلید کوچک‌تر است که از کلید اصلی 128 بیتی مشتق می‌شوند.

پس از اتمام 8 دور کامل، یک نیم دور دیگر انجام می‌شود، که به آن "نیم دور نهایی" گفته می‌شود. در این نیم دور، داده‌ها دوباره تحت تأثیر ترکیب‌هایی از جمع و ضرب قرار می‌گیرند، اما به جای تکرار کامل پردازش‌های قبلی، تنها برخی از عملیات‌ها اعمال می‌شوند تا خروجی نهایی رمزنگاری شده را تولید کنند.

———

مراحل:

1- داده‌های ورودی 64 بیتی به چهار بخش 16 بیتی تقسیم می‌شوند.

2- هر بخش با یکی از کلیدهای جزئی ترکیب می‌شود (از طریق ضرب، جمع، یا XOR) برای تولید خروجی.

3- کلیدهای جزئی از کلید اصلی 128 بیتی با استفاده از یک الگوریتم تولید کلید جداگانه استخراج می‌شوند.

4- فرآیند فوق برای هر دور تکرار می‌شود، با استفاده از کلیدهای جدید در هر دور.

5- پس از اتمام دورها، یک تبدیل نهایی انجام شده و خروجی رمزنگاری شده تولید می‌گردد.

———

کاربردها:
به کار رفته در برنامه‌های مختلف مانند PGP (Pretty Good Privacy) برای رمزنگاری ایمیل‌ها و داده‌ها.

استفاده در برخی از سیستم‌های پرداخت برای تأمین امنیت تراکنش‌ها.

استفاده برای رمزنگاری داده‌های ارسالی از طریق شبکه‌های خصوصی مجازی (VPN).

———

‏IDEA همچنین به دلیل ساختار متقارن خود که به همان اندازه در رمزگشایی مؤثر است، مورد توجه قرار گرفته است. با این حال، با پیشرفت‌هایی در حوزه رمزنگاری، الگوریتم‌های جدیدتر مانند AES (Advanced Encryption Standard) جایگاه بیشتری در کاربردهای صنعتی پیدا کرده‌اند.

@AmirhDeveloper
.
#crypto

Blowfish:

الگوریتم Blowfish یک الگوریتم رمزنگاری متقارن کلیدی است که توسط بروس اشنایر در سال 1993 طراحی شد. این الگوریتم برای جایگزینی DES و IDEA طراحی شده و معمولاً برای رمزگذاری اطلاعات در محیط‌هایی که نیاز به رمزنگاری قوی و کارآمد دارند، مورد استفاده قرار می‌گیرد.

ویژگی‌های کلیدی:
طول کلید می‌تواند بین 32 بیت تا 448 بیت باشد.
از بلوک‌های داده 64 بیتی استفاده می‌کند.
رمزنگاری سریع در پلتفرم‌هایی با منابع محدود.
مقاومت بالا در برابر حملات رمزنگاری، به جز برخی نقاط ضعف در کلیدهای بسیار طولانی.

فرآیند رمزنگاری:
از یک شبکه فایستل استفاده می‌کند که شامل 16 دور تکرار می‌شود. داده‌ها به دو نیمه تقسیم شده و سپس با استفاده از کلیدهای تولید شده از یک ماتریس S-box و کلید اصلی پردازش می‌شوند.

1- داده‌های ورودی که به صورت بلوک‌های 64 بیتی هستند، به دو نیمه تقسیم می‌شوند، نیمه چپ (L) و نیمه راست (R).
2- در هر دور تابع F به نیمه L اعمال میشود و نتیجه با نیمه R، ‏XOR میشود.
سپس L و R جابه‌جا می‌شوند. در دور بعدی، عملیات روی R جدید (که L قبلی است) انجام می‌شود.

‏a,b,c,d هر کدام از نیمه چپ (L) برداشته می‌شوند.
‏از مقادیر بخش‌های a,b,c,d به عنوان اندیس‌ها برای دسترسی به جداول S-box استفاده می‌شود و مقادیر جدول به صورت زیر ترکیب می‌شوند:

F(L) = ((S1[a] + S2[b] mod 2^32) XOR S3[c]) + S4[d] mod 2^32

این تابع برای محاسبه نتیجه‌ای استفاده می‌شود که با R ترکیب خواهد شد.

4- پس از 16 دور، L و R نهایی جابه‌جا می‌شوند.
دو نیمه با هم ترکیب شده و خروجی نهایی رمزنگاری شده را تشکیل می‌دهند.

کاربردها:
1- از آن برای رمزگذاری فایل‌های فردی یا کل دیسک استفاده می‌شود.
2- به عنوان یک انتخاب برای ایجاد ارتباطات محافظت‌شده در نرم‌افزارهای مختلف.
3- امن‌سازی تراکنش‌ها در سیستم‌های پرداخت الکترونیکی.

به دلیل سادگی و کارایی بالا در دستگاه‌هایی با قدرت پردازشی کمتر، همچنان محبوب است، اما در برخی کاربردهای جدیدتر توسط الگوریتم‌هایی مانند AES که امنیت بالاتری دارند جایگزین شده است.

@AmirhDeveloper
.
🔥1