Дипломдық ЖҰмыс 5B100200 «Ақпараттық қауіпсіздік жүйелері»


Сертификацияланған шифрлар



бет8/14
Дата19.01.2022
өлшемі1,11 Mb.
#129475
түріДиплом
1   ...   4   5   6   7   8   9   10   11   ...   14
Байланысты:
Дипломдық жұмыс Talgat

Сертификацияланған шифрлар

ChaCha20-Poly1305, XChaCha-Poly1305

Аутентификация тексерісімен шифрлау режимдері

GCM, CCM, EAX

Хабарламаларды аутентификациялау коды

Poly1305 MAC

Криптографиялық хэш-функция

SHA3 (SHAKE XOF-ты қоса алғанда), SHA-512 қысқартылған алгоритмі, BLAKE2

Ашық кілтті криптография

RSA және DSA-да кілттердің таза генерациялануы

Эллипстік қисықтар криптографиясы

NIST P-256, P-521

Төменде осы Python тілінде PyCryptodome кітапханасын қолданып, текстті AES-256 симметриялық шифрымен текстті шифрлайтын және дешифрлайтын программа көрсетілген:

Ол үшін алдымен кітапхананың өзін орнатамыз:




Pip install pycryptodomex

Одан кейін кодтың өзі орындалады. Программада PyCryptodome кітапханасын қолдану арқылы AES 256 биттік алгоритмін шифрлау және дешифрлау көрсетілген (13 сурет).

from Crypto.Cipher import AES
import time
import binascii, os

t0 = time.time()


def encrypt_AES_GCM(msg, secretKey):
aesCipher = AES.new(secretKey, AES.MODE_GCM)
ciphertext, authTag = aesCipher.encrypt_and_digest(msg)
return (ciphertext, aesCipher.nonce, authTag)

def decrypt_AES_GCM(encryptedMsg, secretKey):


(ciphertext, nonce, authTag) = encryptedMsg
aesCipher = AES.new(secretKey, AES.MODE_GCM, nonce)
plaintext = aesCipher.decrypt_and_verify(ciphertext, authTag)
return plaintext

secretKey = os.urandom(32)


print("Shifrlau kilti:", binascii.hexlify(secretKey))

msg = b'Bul habarlama AES-256-GCM algoritmimen shifrlandy'


encryptedMsg = encrypt_AES_GCM(msg, secretKey)
print("Shifrlengen habarlama", {
'shifrtext': binascii.hexlify(encryptedMsg[0]),
'aesIV': binascii.hexlify(encryptedMsg[1]),
'MAC': binascii.hexlify(encryptedMsg[2])
})

decryptedMsg = decrypt_AES_GCM(encryptedMsg, secretKey)


t1 = time.time()
total = t1 = t0
print("Deshifrlengen habarlama", decryptedMsg)
print("Uakit = ", total)



Достарыңызбен бөлісу:
1   ...   4   5   6   7   8   9   10   11   ...   14




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет