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



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

Сурет 11 Java тілінде BigInteger және BigDecimal кластарын қолданып, қарапайым амалдарды орындау

Программа қарапайым көбейту мен алу амалдарын орындады, нәтижесі төменде (12 – сурет):





Сурет 12 Программа нәтижесі

      1. Python-ның үлкен сандармен жұмыс жасауға арналған кітапханалары

Python – 1991 жылы 20 ақпанда нидерландия программисті Гвидо ван Россум ойлап тапқан программисттердің жоғары өнімділігіне және кодтық жеңіл оқылуына негізделген ортақ қолданыстағы жоғары деңгейлі программалау тілі. Python ядросының синтаксисі минималданған. Оған қоса бұл тілдің екі версиясында (2.х, 3.х) стандартты кітапханалары үлкен көлемдегі пайдалы фунциялармен қамтылған.

Қазіргі таңда Python тілінің жылдан-жылға қарқынды дамуының арқасында, бұл тілде криптография, оның ішінде үлкен сандармен жұмыс жасауға арналған көптеген кітапханалар бар. Оларға Numpy, Crypto, Pycrypto, SageMath, PyCryptodome және т.б. кітапханалар жатады [15].

2.2.4 Crypto++, libgcrypt, PyСryptodome криптографиялық кітапханалары

Crypto++ (CryptoPP, libcrypto++ және libcryptopp) – 1995 жылы қытайдың компьютер инженері Вэй Дай С++ тілінде криптографиялық алгоритмдермен және схемалармен ашық бастапқы кодпен жазылған кітапхана. Бұл кітапхана 1995 жылы шыққанымен, 32-разрядты және 64-разрядты архитектурадағы басты көптеген Windows, Apple, Linux, Android, Solaris сияқты операциондық жүйелер мен платформаларды қолдайтын болған.

Crypto++ кітапханасына AES шифрына ұқсайтын Camellia блоктық шифры, SHA-ға ұқсайтын Whilpool хэш-функциялары қосылған. Оған қоса, Crypto++ кітапханасының кейінгі бөлімдерінде генерация, жай сандарды тексеру, полиномалармен орындалатын операциялар сияқты теория-сандық операциялармен жұмыс жасауға арналған примитивтер қолжетімді болды.

FIPS 140-2 терминологиясында Crypto++ кітапханасы көпчипті автономды модуль ретінде классификацияланады. Бұл кітапхана бекітілген криптографиялық алгоритмдерден тұрғандықтан, кітапхананың 32-битті және 64 битті версиялары FIPS 140-2-нің 1 бөліміндегі барлық қауіпсіздік талаптарына сай.

Кесте 4

Crypto++-тің алгоритмдері мен жүзеге асырулары



Примитив немесе операция

Алгоритмдер немесе жүзеге асырулар

Кездейсоқ сандар генераторы

LCG, KDF2, Blum Blum Shub, ANSI X9.17, Mersenne Twister, RDRAND және RDSEED

Жылдам ағымдық шифрлар

ChaCha8/12/20, HC-128 и HC-256, Panama, Rabbit, Salsa20, SOSEMANUK, XSalsa20

AES және AES candidates

Rijndael (AES selection), RC6, MARS, Twofish, Serpent, CAST-256

Блоктық шифрлар

ARIA, Blowfish, Camellia, CHAM, HIGHT, IDEA, Kalyna (128/256/512), LEA, RC5, SEED, SHACAL-2, Simon және Speck (64/128), SIMECK, Skipjack, SM4, TEA, Threefish (256/512/1024), XTEA

Блоктық шифрдың әдістері

ECB, CBC, CTS, CFB, OFB, CTR

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

CCM, GCM, EAX

Блоктық шифрлардың толтырылу схемасы

PKCS#5, PKCS#7, Zeros, One and zeros, W3C Padding

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

VMAC, HMAC, CMAC, CBC-MAC, DMAC, Two-Track-MAC

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

BLAKE2 (BLAKE2b және BLAKE2s), Keccak, SHA-1, SHA-2 (SHA-224, SHA-256, SHA-384, және SHA-512), SHA3, Tiger, WHIRLPOOL, RIPEMD(RIPEMD-128, RIPEMD-160, RIPEMD-256, және RIPEMD-320)

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

RSA, DSA, ElGamal, Nyberg-Rueppel (NR), Rabin-Williams (RW), LUC, LUCELG, DLIES, ESIGN, curve25519

Ашық кілтті жүйелердің толтырылу схемалары

PKCS#1 v2.0, OAEP, PSS, PSSR, IEEE P1363, EMSA2 және EMSA5

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

ECDSA, ECNR, ECIES, ECDH, ECMQV

Crypto++ 5.6.1 версиясынан бастап, бұл кітапхана компиляцияға тек авторлық құқықтармен қолжетімді файлдар және ашық бастапқы кодтардан тұрады.


Libgcrypt – төмен деңгейдегі криптографиялық механизмдерге жоғары деңгейлі механизмдерді ұсынатын кітапхана. Кітапхана GNUPG жобасының аясында жазылып, LGPL лицензиясымен тарайды.
Кесте 5

Libgcrypt-тің алгоритмдері мен жүзеге асырулары




Операциялар мен притивтер

Алгоритмдер немесе жүзеге асырулар

Симметриялық шифрлар

AES (128, 192, 256 бит), DES, 3DES, IDEA, CAST5, Blowfish, Twofish (128, 256 бит), Ron's Cipher 2/RC2 (40, 128 бит), ARCfour/RC4, SEED, Serpent (128, 192, 256 бит), Camellia (128, 192, 256 бит), Salsa20, Salsa20/12, ChaCha20, ГОСТ 28147-89

Шифрлау режимдері

ECB, CFB, CBC, OFB, CTR, AES-Wrap (RFC 3394), CCM, GCM, Stream, OCB, EAX, XTS

Ашық кілтті алгоритмдері

RSA, ElGamal, DSA, ECDSA, EdDSA, DH, EDH, ECDH

Хештеу алгоритмдері

MD2, MD4, MD5, SHA-1, SHA-224, SHA-256, SHA-384, SHA-512, SHA3-224, SHA3-256, SHA3-384, SHA3-512, SHAKE128, SHAKE256, RIPEMD-160, TIGER/192, TIGER1, TIGER2, Whirlpool, CRC-24, CRC-32, CRC-32, ГОСТ Р 34.11-94, ГОСТ Р 34.11- 2012, SM3, BLAKE2b (128, 160, 224, 256 бит), BLAKE2s (160, 256, 384, 512 Bits)

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

HMAC – барлық хэштеу алгоритмдеріне қолданылады, CMAC – барлық шифрлау алгоритмдеріне қолданылады, GMAC – шифрлеудің кейбір алгоритмдеріне қолданылады, Poly1305

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

NIST (P-256, P-384, P-521), SECG (secp256k1), ECC Brainpool/RFC 5639 (P256r1, P384r1, P512r1), Бернштейн (Curve25519), ГОСТ Р (RFC 5832, RFC 7091)

PyCryptodome – төмен деңгейдегі криптографиялық примитивтердегі Python-ның автономды кітапханасы. Бұл кітапхана Python 2.6, Python 2.7, Python 3.4 және басқада жаңа вирсияларын, оған қоса PyPy-ды қолдайды.

PyCryptodome кітапханасының орнатылуы, оның қай пакетте болу керектігіне байланысты. PyCryptodome кітапханасы келесідей қолданылуы мүмкін:



  1. PyCrypto кітапханасының орнына толық ауыстырылу. Бұл жағдайда барлық модулдер Crypto пакетімен орнатылады. Оған қоса, PyCrypto мен PyCryptodome бір уақытта орнатпаған жөн.Орнатылу командасы:

pip install pycryptodome

  1. Ескі PyCrypto тәуелсіз кітапхана. Бұл жағдайда барлық модулдер Cryptodome пакетімен орнатылады. Ал PyCrypto мен PyCryptodome бірге орнатыла алады. Орнатылу командасы:

pip install pycryptodomex

Кесте 6


PyCryptodome кітапханасының PyCrypto++ кітапханасымен қосымша алынған алгоритмдері мен жүзеге асырулары

Примитив немесе операция

Алгоритмдер немесе жүзеге асырулар

Жылдам ағымдық шифрлар

XChaCha20

AES және AES candidates

Intel платформасындағы AES-тің жылдамдатылған түрі



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




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

    Басты бет