Giter Site home page Giter Site logo

rc5w32's Introduction

RC5

RC5 encryption algorithm (32bit word size)

It's modified overlap version - no restrictions on the multiples of the data size.

Standart version:

uint8_t data[32];
uint8_t encrypted[32];
uint8_t decrypted[32];
uint32_t key = 0xFFFF7777;
RC5w32* rc = RC5w32_Create(18, (const uint8_t*)&key, sizeof(key));
RC5w32_Encrypt(rc, data, encrypted, 32);
RC5w32_Decrypt(rc, encrypted, decrypted, 32);
int cmp = memcmp((char*)data, (char*)decrypted, 32);
assert(cmp == 0);
RC5w32_Destroy(rc);

Embedded version:

  • Dynamic memory is not allocated
  • Use RC5_EMBEDDED defenition
uint8_t data[32];
uint8_t encrypted[32];
uint8_t decrypted[32];
uint8_t rc_mem[RC5W32_MEM_SIZE(18)];
uint32_t key = 0xFFFF7777;

RC5w32 rc;
RC5w32_Init(&rc, 18, (const uint8_t*)&key, sizeof(key), rc_mem, sizeof(rc_mem));
RC5w32_Encrypt(&rc, data, encrypted, 32);
RC5w32_Decrypt(&rc, encrypted, decrypted, 32);
int cmp = memcmp((char*)data, (char*)decrypted, 32);
assert(cmp == 0);

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.