Telegram Group & Telegram Channel
# πŸ” Π‘ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ: ΠΎΠ±Π·ΠΎΡ€ ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹

Π¨ΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΠ΅ β€” основа ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ бСзопасности. ΠžΡ‚ мСссСндТСров ΠΈ банковских систСм Π΄ΠΎ VPN β€” всё дСрТится Π½Π° Π½Π°Π΄Ρ‘ΠΆΠ½Ρ‹Ρ… Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°Ρ… ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ.

БСгодня ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ дСсятки Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ², Π½ΠΎ срСди Π½ΠΈΡ… Π²Ρ‹Π΄Π΅Π»ΡΡŽΡ‚ΡΡ нСсколько Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ…, ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½Π½Ρ‹Ρ… ΠΈ ΡˆΠΈΡ€ΠΎΠΊΠΎ примСняСмых. Π”Π°Π²Π°ΠΉΡ‚Π΅ Ρ€Π°Π·Π±Π΅Ρ€Ρ‘ΠΌ ΠΈΡ… понятным языком.

---

## 1️⃣ AES (Advanced Encryption Standard)

AES β€” стандарт симмСтричного Π±Π»ΠΎΡ‡Π½ΠΎΠ³ΠΎ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ. ΠŸΡ€ΠΈΠ½ΡΡ‚ Π² 2001 Π³ΠΎΠ΄Ρƒ, Π·Π°ΠΌΠ΅Π½ΠΈΠ» DES. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΎΠ΄ΠΈΠ½ ΠΊΠ»ΡŽΡ‡ для ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ ΠΈ Π΄Π΅ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ.

- Π‘Π»ΠΎΠΊ Π΄Π°Π½Π½Ρ‹Ρ…: 128 Π±ΠΈΡ‚
- ΠšΠ»ΡŽΡ‡ΠΈ: 128, 192 ΠΈΠ»ΠΈ 256 Π±ΠΈΡ‚
- ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ Ρ€Π°ΡƒΠ½Π΄ΠΎΠ²: 10, 12, 14

### πŸ’‘ Π“Π΄Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ?

- HTTPS
- VPN (OpenVPN, WireGuard)
- ZIP-Π°Ρ€Ρ…ΠΈΠ²Ρ‹
- WhatsApp, Signal

### 🐍 ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Π½Π° Python (PyCryptodome):


from Crypto.Cipher import AES
from Crypto.Random import get_random_bytes
from Crypto.Util.Padding import pad, unpad

key = get_random_bytes(16) # 128-Π±ΠΈΡ‚Π½Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡
cipher = AES.new(key, AES.MODE_CBC)

data = b"Secret message"
padded = pad(data, AES.block_size)
encrypted = cipher.encrypt(padded)

print("Encrypted:", encrypted)

# Для Π΄Π΅ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ Π½ΡƒΠΆΠ΅Π½ IV
iv = cipher.iv
cipher_dec = AES.new(key, AES.MODE_CBC, iv)
decrypted = unpad(cipher_dec.decrypt(encrypted), AES.block_size)

print("Decrypted:", decrypted.decode())


2️⃣ RSA (Rivest–Shamir–Adleman)

RSA β€” Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ с асиммСтричными ΠΊΠ»ΡŽΡ‡Π°ΠΌΠΈ (Π΅ΡΡ‚ΡŒ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ ΠΈ Π·Π°ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡ΠΈ). ΠŸΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для бСзопасной ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹Ρ… подписСй.

- Π Π°Π·ΠΌΠ΅Ρ€ ΠΊΠ»ΡŽΡ‡Π΅ΠΉ: ΠΎΡ‚ 1024 Π΄ΠΎ 4096 Π±ΠΈΡ‚
- Основан Π½Π° слоТности Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ·Π°Ρ†ΠΈΠΈ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… чисСл

πŸ’‘ Π“Π΄Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ?

- TLS/SSL
- PGP/GPG
- Π­Π»Π΅ΠΊΡ‚Ρ€ΠΎΠ½Π½Ρ‹Π΅ подписи

### 🐍 ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Π½Π° Python (cryptography):


from cryptography.hazmat.primitives.asymmetric import rsa, padding
from cryptography.hazmat.primitives import hashes

# ГСнСрация ΠΊΠ»ΡŽΡ‡Π΅ΠΉ
private_key = rsa.generate_private_key(public_exponent=65537, key_size=2048)
public_key = private_key.public_key()

message = b"Secret message"

# Π¨ΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΠ΅
ciphertext = public_key.encrypt(
message,
padding.OAEP(mgf=padding.MGF1(algorithm=hashes.SHA256()), algorithm=hashes.SHA256(), label=None)
)

print("Encrypted:", ciphertext)

# Π”Π΅ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΠ΅
plaintext = private_key.decrypt(
ciphertext,
padding.OAEP(mgf=padding.MGF1(algorithm=hashes.SHA256()), algorithm=hashes.SHA256(), label=None)
)

print("Decrypted:", plaintext.decode())


3️⃣ ChaCha20 (с ΠΏΠΎΡ‚ΠΎΡ‡Π½ΠΎΠΉ схСмой Poly1305)

ChaCha20-Poly1305 β€” Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ ΠΏΠΎΡ‚ΠΎΡ‡Π½ΠΎΠ³ΠΎ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ с Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠ΅ΠΉ. БыстрСС AES Π½Π° ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… устройствах ΠΈ устойчив ΠΊ Π°Ρ‚Π°ΠΊΠ°ΠΌ Π½Π° ΠΏΠΎΠ±ΠΎΡ‡Π½Ρ‹Π΅ ΠΊΠ°Π½Π°Π»Ρ‹.

- ΠšΠ»ΡŽΡ‡: 256 Π±ΠΈΡ‚
- ΠŸΠΎΡ‚ΠΎΠΊΠΎΠ²Ρ‹ΠΉ ΡˆΠΈΡ„Ρ€ + аутСнтификация (AEAD)

### πŸ’‘ Π“Π΄Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ?

- TLS 1.3
- Google Chrome
- WhatsApp
- OpenSSH

### 🐍 ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Π½Π° Python (cryptography):


from cryptography.hazmat.primitives.ciphers.aead import ChaCha20Poly1305
import os

key = ChaCha20Poly1305.generate_key()
nonce = os.urandom(12)

chacha = ChaCha20Poly1305(key)
data = b"Secret message"

# Π¨ΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΠ΅
encrypted = chacha.encrypt(nonce, data, None)
print("Encrypted:", encrypted)

# Π”Π΅ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΠ΅
decrypted = chacha.decrypt(nonce, encrypted, None)
print("Decrypted:", decrypted.decode())



## πŸ† Как Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ?

| Π—Π°Π΄Π°Ρ‡Π° | Алгоритм |
|------------------------------|------------------|
| Π¨ΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»ΠΎΠ² | AES |
| БСзопасная ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° ΠΊΠ»ΡŽΡ‡Π° | RSA |
| БыстроС ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π² сСти | ChaCha20-Poly1305|
| Цифровая подпись | RSA, ECDSA |

✍️ Π’Ρ‹Π²ΠΎΠ΄

- Для симмСтричного ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ Π»ΡƒΡ‡ΡˆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ AES ΠΈΠ»ΠΈ ChaCha20.
- Для ΠΎΠ±ΠΌΠ΅Π½Π° ΠΊΠ»ΡŽΡ‡Π°ΠΌΠΈ ΠΈ подписСй β€” RSA ΠΈΠ»ΠΈ эллиптичСскиС Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ (ECDSA, ECDH).
- ВсС Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹Ρ… Ρ€Π΅ΠΆΠΈΠΌΠ°Ρ… ΠΈ с Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ°ΠΌΠΈ цСлостности (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, GCM, Poly1305).

Π‘ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ β€” это Π½Π΅ просто "ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΠ΅", Π° комплСксная систСма Π·Π°Ρ‰ΠΈΡ‚Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…. Π’Ρ‹Π±ΠΈΡ€Π°ΠΉΡ‚Π΅ подходящий инструмСнт ΠΏΠΎΠ΄ Π·Π°Π΄Π°Ρ‡Ρƒ!

πŸ‘‰ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅



tg-me.com/pro_python_code/1801
Create:
Last Update:

# πŸ” Π‘ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ: ΠΎΠ±Π·ΠΎΡ€ ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹

Π¨ΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΠ΅ β€” основа ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ бСзопасности. ΠžΡ‚ мСссСндТСров ΠΈ банковских систСм Π΄ΠΎ VPN β€” всё дСрТится Π½Π° Π½Π°Π΄Ρ‘ΠΆΠ½Ρ‹Ρ… Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°Ρ… ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ.

БСгодня ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ дСсятки Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ², Π½ΠΎ срСди Π½ΠΈΡ… Π²Ρ‹Π΄Π΅Π»ΡΡŽΡ‚ΡΡ нСсколько Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ…, ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½Π½Ρ‹Ρ… ΠΈ ΡˆΠΈΡ€ΠΎΠΊΠΎ примСняСмых. Π”Π°Π²Π°ΠΉΡ‚Π΅ Ρ€Π°Π·Π±Π΅Ρ€Ρ‘ΠΌ ΠΈΡ… понятным языком.

---

## 1️⃣ AES (Advanced Encryption Standard)

AES β€” стандарт симмСтричного Π±Π»ΠΎΡ‡Π½ΠΎΠ³ΠΎ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ. ΠŸΡ€ΠΈΠ½ΡΡ‚ Π² 2001 Π³ΠΎΠ΄Ρƒ, Π·Π°ΠΌΠ΅Π½ΠΈΠ» DES. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΎΠ΄ΠΈΠ½ ΠΊΠ»ΡŽΡ‡ для ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ ΠΈ Π΄Π΅ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ.

- Π‘Π»ΠΎΠΊ Π΄Π°Π½Π½Ρ‹Ρ…: 128 Π±ΠΈΡ‚
- ΠšΠ»ΡŽΡ‡ΠΈ: 128, 192 ΠΈΠ»ΠΈ 256 Π±ΠΈΡ‚
- ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ Ρ€Π°ΡƒΠ½Π΄ΠΎΠ²: 10, 12, 14

### πŸ’‘ Π“Π΄Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ?

- HTTPS
- VPN (OpenVPN, WireGuard)
- ZIP-Π°Ρ€Ρ…ΠΈΠ²Ρ‹
- WhatsApp, Signal

### 🐍 ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Π½Π° Python (PyCryptodome):


from Crypto.Cipher import AES
from Crypto.Random import get_random_bytes
from Crypto.Util.Padding import pad, unpad

key = get_random_bytes(16) # 128-Π±ΠΈΡ‚Π½Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡
cipher = AES.new(key, AES.MODE_CBC)

data = b"Secret message"
padded = pad(data, AES.block_size)
encrypted = cipher.encrypt(padded)

print("Encrypted:", encrypted)

# Для Π΄Π΅ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ Π½ΡƒΠΆΠ΅Π½ IV
iv = cipher.iv
cipher_dec = AES.new(key, AES.MODE_CBC, iv)
decrypted = unpad(cipher_dec.decrypt(encrypted), AES.block_size)

print("Decrypted:", decrypted.decode())


2️⃣ RSA (Rivest–Shamir–Adleman)

RSA β€” Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ с асиммСтричными ΠΊΠ»ΡŽΡ‡Π°ΠΌΠΈ (Π΅ΡΡ‚ΡŒ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ ΠΈ Π·Π°ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡ΠΈ). ΠŸΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для бСзопасной ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹Ρ… подписСй.

- Π Π°Π·ΠΌΠ΅Ρ€ ΠΊΠ»ΡŽΡ‡Π΅ΠΉ: ΠΎΡ‚ 1024 Π΄ΠΎ 4096 Π±ΠΈΡ‚
- Основан Π½Π° слоТности Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ·Π°Ρ†ΠΈΠΈ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… чисСл

πŸ’‘ Π“Π΄Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ?

- TLS/SSL
- PGP/GPG
- Π­Π»Π΅ΠΊΡ‚Ρ€ΠΎΠ½Π½Ρ‹Π΅ подписи

### 🐍 ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Π½Π° Python (cryptography):


from cryptography.hazmat.primitives.asymmetric import rsa, padding
from cryptography.hazmat.primitives import hashes

# ГСнСрация ΠΊΠ»ΡŽΡ‡Π΅ΠΉ
private_key = rsa.generate_private_key(public_exponent=65537, key_size=2048)
public_key = private_key.public_key()

message = b"Secret message"

# Π¨ΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΠ΅
ciphertext = public_key.encrypt(
message,
padding.OAEP(mgf=padding.MGF1(algorithm=hashes.SHA256()), algorithm=hashes.SHA256(), label=None)
)

print("Encrypted:", ciphertext)

# Π”Π΅ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΠ΅
plaintext = private_key.decrypt(
ciphertext,
padding.OAEP(mgf=padding.MGF1(algorithm=hashes.SHA256()), algorithm=hashes.SHA256(), label=None)
)

print("Decrypted:", plaintext.decode())


3️⃣ ChaCha20 (с ΠΏΠΎΡ‚ΠΎΡ‡Π½ΠΎΠΉ схСмой Poly1305)

ChaCha20-Poly1305 β€” Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ ΠΏΠΎΡ‚ΠΎΡ‡Π½ΠΎΠ³ΠΎ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ с Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠ΅ΠΉ. БыстрСС AES Π½Π° ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… устройствах ΠΈ устойчив ΠΊ Π°Ρ‚Π°ΠΊΠ°ΠΌ Π½Π° ΠΏΠΎΠ±ΠΎΡ‡Π½Ρ‹Π΅ ΠΊΠ°Π½Π°Π»Ρ‹.

- ΠšΠ»ΡŽΡ‡: 256 Π±ΠΈΡ‚
- ΠŸΠΎΡ‚ΠΎΠΊΠΎΠ²Ρ‹ΠΉ ΡˆΠΈΡ„Ρ€ + аутСнтификация (AEAD)

### πŸ’‘ Π“Π΄Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ?

- TLS 1.3
- Google Chrome
- WhatsApp
- OpenSSH

### 🐍 ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Π½Π° Python (cryptography):


from cryptography.hazmat.primitives.ciphers.aead import ChaCha20Poly1305
import os

key = ChaCha20Poly1305.generate_key()
nonce = os.urandom(12)

chacha = ChaCha20Poly1305(key)
data = b"Secret message"

# Π¨ΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΠ΅
encrypted = chacha.encrypt(nonce, data, None)
print("Encrypted:", encrypted)

# Π”Π΅ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΠ΅
decrypted = chacha.decrypt(nonce, encrypted, None)
print("Decrypted:", decrypted.decode())



## πŸ† Как Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ?

| Π—Π°Π΄Π°Ρ‡Π° | Алгоритм |
|------------------------------|------------------|
| Π¨ΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»ΠΎΠ² | AES |
| БСзопасная ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° ΠΊΠ»ΡŽΡ‡Π° | RSA |
| БыстроС ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π² сСти | ChaCha20-Poly1305|
| Цифровая подпись | RSA, ECDSA |

✍️ Π’Ρ‹Π²ΠΎΠ΄

- Для симмСтричного ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ Π»ΡƒΡ‡ΡˆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ AES ΠΈΠ»ΠΈ ChaCha20.
- Для ΠΎΠ±ΠΌΠ΅Π½Π° ΠΊΠ»ΡŽΡ‡Π°ΠΌΠΈ ΠΈ подписСй β€” RSA ΠΈΠ»ΠΈ эллиптичСскиС Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ (ECDSA, ECDH).
- ВсС Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹Ρ… Ρ€Π΅ΠΆΠΈΠΌΠ°Ρ… ΠΈ с Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ°ΠΌΠΈ цСлостности (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, GCM, Poly1305).

Π‘ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ β€” это Π½Π΅ просто "ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΠ΅", Π° комплСксная систСма Π·Π°Ρ‰ΠΈΡ‚Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…. Π’Ρ‹Π±ΠΈΡ€Π°ΠΉΡ‚Π΅ подходящий инструмСнт ΠΏΠΎΠ΄ Π·Π°Π΄Π°Ρ‡Ρƒ!

πŸ‘‰ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅

BY Python RU




Share with your friend now:
tg-me.com/pro_python_code/1801

View MORE
Open in Telegram


Python RU Telegram | DID YOU KNOW?

Date: |

Telegram today rolling out an update which brings with it several new features.The update also adds interactive emoji. When you send one of the select animated emoji in chat, you can now tap on it to initiate a full screen animation. The update also adds interactive emoji. When you send one of the select animated emoji in chat, you can now tap on it to initiate a full screen animation. This is then visible to you or anyone else who's also present in chat at the moment. The animations are also accompanied by vibrations. This is then visible to you or anyone else who's also present in chat at the moment. The animations are also accompanied by vibrations.

How Does Bitcoin Mining Work?

Bitcoin mining is the process of adding new transactions to the Bitcoin blockchain. It’s a tough job. People who choose to mine Bitcoin use a process called proof of work, deploying computers in a race to solve mathematical puzzles that verify transactions.To entice miners to keep racing to solve the puzzles and support the overall system, the Bitcoin code rewards miners with new Bitcoins. β€œThis is how new coins are created” and new transactions are added to the blockchain, says Okoro.

Python RU from sa


Telegram Python RU
FROM USA