terrylao / CryptoLib

FreePascal Crypt Library

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

CryptoLib

FreePascal Crypt Library 沿自 CryptoLib4Pascal: Crypto for Modern Object Pascal License

基本上修改了一些,以適應FreePascal。以及我自己的SSH Client 使用,具體改了哪些,我也記不起來。 實際應用上,在我的SSH Client 中正確和OpenSSHD 接上,並無錯誤。 呀,這套沒有RSA,你要用請自行IMPLEMENT。因為SSH 也沒在RSA 了。

Available Algorithms

Symmetric Encryption


Block Ciphers
  • AES (128, 192, and 256)

  • Rijndael

  • Blowfish

  • Speck

Stream Ciphers
  • ChaCha

  • (X)Salsa20

Block Cipher Modes Of Operation

  • ECB

  • CBC

  • CFB

  • CTR

  • CTS

  • OFB

  • SIC

Block Cipher Padding Schemes

  • ISO 10126-2

  • ISO 7816-4

  • Bit (ISO/IEC 9797-1)

  • PKCS#5

  • PKCS#7

  • TBC (Trailing Bit Complement)

  • ANSI X9.23

  • Zero

Asymmetric Cryptography


  • DSA

  • (DET)ECDSA (supported curves: NIST, X9.62, SEC2, Brainpool)

  • ECNR

  • ECSchnorr

  • EdDSA (Ed25519, Ed25519Blake2B)

Key Agreement/Exchange


  • DH

  • ECDH

  • ECDHC

  • X25519

Key Derivation Functions


  • HKDF

  • KDF1

  • KDF2

Password Hashing Schemes (Password Based Key Derivation Functions)

  • PBKDF2

  • Argon2 (2i, 2d and 2id variants)

  • Scrypt

MAC


  • HMAC (all supported hashes)

  • KMAC (KMAC128, KMAC256)

Hashes


  • MD2

  • MD4

  • MD5

  • SHA-1

  • SHA-2 (224, 256, 384, 512, 512-224, 512-256)

  • Gost3411

  • Gost3411-2012 (256, 512)

  • RIPEMD (128, 160, 256, 256, 320)

  • Tiger

  • WhirlPool

  • Blake2B (160, 256, 384, 512)

  • Blake2S (128, 160, 224, 256)

  • SHA-3 (224, 256, 384, 512)

  • Keccak (224, 256, 288, 384, 512)

XOF (Extendable Output Function)


  • Shake (Shake-128, Shake-256)

Other Useful Things


  • RNG wrappers for system RNG

  • ASN1 Parsing Utilities

  • Base Encoding and Decoding Utilities

Compile-Time Dependencies


Supported Compilers


  • FreePascal 3.2.0+

  • Delphi Tokyo+

Supported / Tested OSes


Tested OS boxes are checked

    • Windows XP+
    • Linux (Including Android and Raspberry PI)
    • Mac OS X
    • iOS 2.0+
    • (Oracle) Solaris
    • OpenBSD
    • FreeBSD
    • NetBSD
    • DragonFlyBSD

About

FreePascal Crypt Library


Languages

Language:Pascal 100.0%