Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

148 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

𝒂𝒓𝒌a𝒏𝒂

Something of an fs infra library (Intel AVX2 accelerated) for C++17


arkana::ark

arkana::ark: A useful infra library collection (header-only library)

  • intrinsics.h: Type conversion, Bit-manipulation, Multi-precision arithmetic helper
  • cpuid.h: CPU feature flag loader
  • uint128.h: Unsigned 128 bit integer and bitwise-, arithmetic-, and comparing- operators
  • xmm.h: Typed SSE/AVX integer vector operation wraper library (vu32x4, vu16x16, etc)
  • lutgen.h: Compile-time LUT generation helper
  • hexilit.h: Compile-time hexadecimal-integer parser
  • base64.h: Compile-time base64 decoder

arkana.lib

arkana::camellia: Camellia Encryption Algorithm (ECB-mode: RFC 3713 / CTR-mode: RFC 5528)

arkana::crc32: CRC-32 (ISO 3309)

arkana::sha2: SHA-1, SHA-2(SHA-256,SHA-224,SHA-512,SHA-384,SHA-512/224,SHA-512/256) (NIST FIPS PUB 180-4)


arkana-test

  • Tests for arkana.lib (using googletest)

Getting started

Visual Studio

  1. Include arkana.lib.vcxproj into your solution.
  2. Reference it from your project.

CMake

Do cmake.


MIT License Copyright (c) 2020-2022 ttsuki

About

High-speed C++ header-only Camellia cipher (ecb, ctr), CRC32 (0xEDB88320), SHA2(SHA256,SHA512) implementations (with Intel AVX2)

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Used by

Contributors

Languages